Artificial Analysis Search Index: metodologia do benchmark de Search APIs

Visão geral

O Search API Bench avalia diversos provedores de busca em um paradigma de busca agêntica.

O benchmark é uma comparação por troca de provedor. Cada amostra usa o mesmo modelo de resposta candidato e a mesma tarefa do benchmark, variando apenas o provedor de busca.

Avaliamos os resultados com um único modelo de resposta, o que mede o ganho proporcionado por cada provedor de Search API.

Ao longo desta página, um resultado é um provedor de Search API combinado com o modelo de resposta candidato fixo. Chamamos isso de resultado de provedor.

Métricas principais

Artificial Analysis Search Index

O ranking público é encabeçado por uma única pontuação combinada, o Artificial Analysis Search Index. Ele é a média com pesos iguais da métrica de qualidade principal de cada benchmark:

Observações sobre o cálculo:

  • O AA-Omniscience contribui com a precisão, e não com seu Omniscience Index ou sua taxa de alucinação. A precisão é o sinal mais diretamente comparável no paradigma de provedor de busca e modelo candidato.
  • Todas as entradas usam as mesmas constantes (descritas abaixo), de modo que o índice isola o provedor de busca.

Componentes do índice

AvaliaçãoÁreaTarefasTipo de respostaPontuação
DeepSearchQAQA de pesquisa profunda (resposta única e por conjunto)900‡Resposta aberta / conjunto de respostasF1 avaliado por LLM sobre os itens da resposta, pass@1
AA-OmniscienceQA factual (correção + calibração)600†Resposta aberta (abstenção permitida)Precisão avaliada por LLM, pass@1
BrowseCompQA difícil de busca na web200^Resposta exata curtaPrecisão de resposta exata avaliada por LLM, pass@1

Os três benchmarks usam o GPT-5.6 Luna (medium) na avaliação, cada um com suas próprias rubricas.

‡ DeepSearchQA: a divisão pública de avaliação completa, com 900 linhas.

† AA-Omniscience: 600 amostras privadas reservadas, equilibradas em 100 por domínio em 6 domínios.

^ BrowseComp: um subconjunto difícil de 200 amostras extraído do conjunto de avaliação com 1.266 amostras.

Constantes

Todos os valores abaixo são mantidos fixos em todos os resultados de provedor, de modo que o provedor de busca é a única variável da comparação.

  • Modelo de resposta candidato: GPT-5.6 Luna (medium)
  • Esforço de raciocínio: Medium
  • Temperatura: 0,6
  • Máximo de tokens de saída: 127.999 tokens
  • Modelo avaliador: GPT-5.6 Luna (medium), o mesmo para os três benchmarks
  • Orçamento de turnos: 25 turnos do agente (t25)
  • Chamadas de ferramenta por amostra: Ilimitadas dentro do orçamento de turnos
  • Resultados de busca exibidos: Até 10 resultados por busca
  • Ferramentas de busca: web_search e web_fetch
    • web_search — envia a consulta do modelo candidato ao provedor de Search API em questão e retorna o payload de resposta nativo dele.
    • web_fetch — busca uma URL de um resultado de busca e retorna o conteúdo da página (somente texto).
  • Camada de extração: Extrator somente de texto com tempo limite de 15 segundos por página
  • Formato do payload de busca: Nativo do provedor; o modelo vê o corpo de resposta original do provedor
  • Filtragem de contaminação: Ativada, conforme descrito abaixo
  • Fluxo de trabalho do agente: Um dos dois:
    • linha de base sem busca model_only, ou
    • laço de agente de busca Stirrup

Fluxo de trabalho

Linha de base somente modelo

A amostra model_only chama o modelo candidato diretamente com o prompt do benchmark, em uma única tentativa e sem ferramentas de busca. Ela estima quanto o modelo candidato consegue resolver apenas com conhecimento interno ou raciocínio.

Uma pontuação alta em model_only indica que a amostra do benchmark pode ser respondida sem informação de busca atualizada, enquanto uma pontuação mais baixa em model_only facilita observar o ganho trazido pela busca.

Laço do agente de busca

As amostras com busca usam um laço de agente fixo orquestrado pelo ambiente Stirrup da Artificial Analysis.

O ambiente oferece duas ferramentas: web_search e web_fetch.

A API do provedor de busca em questão alimenta a ferramenta web_search, e o modelo candidato recebe um total de 25 turnos com chamadas de ferramenta ilimitadas para resolver a tarefa.

Quando o modelo considera ter reunido informação suficiente, ele chama a ferramenta finish para enviar sua resposta final. Se usar todos os 25 turnos sem chamar finish, nenhuma resposta é enviada e a tarefa recebe zero.

Um avaliador específico de cada benchmark pontua a resposta em relação a dados de referência ocultos.

Tratamento de erros

Erros recuperáveis voltam ao modelo como uma chamada de ferramenta malsucedida e permanecem nos resultados publicados. Entre eles estão:

  • Tempos limite ou erros HTTP nas páginas web solicitadas
  • O modelo busca uma URL que o web_search não retornou

Erros fatais são repetidos até obter sucesso, e nenhum resultado com erro fatal é publicado. Entre eles estão:

  • Erros do provedor de Search API (por exemplo, 429, 5xx e tempos limite)

Custo

Os custos são reportados como custo total do experimento e divididos em:

  • Custo do modelo de resposta candidato, incluindo todos os tokens de entrada, em cache, de raciocínio e de saída.
  • Custo do provedor de Search API.
    • Observação: a linha de base model_only não tem custo de provedor de Search API.

Latência

A latência é reportada de várias formas:

  • Tempo de modelo por tarefa. Tempo médio derivado de ponta a ponta dos tokens de entrada, raciocínio e saída do modelo candidato por tarefa.
  • Tempo de busca por tarefa. Tempo médio medido dentro do web_search por tarefa.
  • Tempo por tarefa. Soma do tempo de modelo por tarefa com o tempo de busca por tarefa.
  • Tempo por consulta de busca. Latência média de cada requisição web_search individual ao longo de todo o benchmark.

Um provedor pode ser rápido por chamada e ainda assim contribuir com mais tempo total, se o modelo o consultar com mais frequência.

Filtragem de contaminação

A filtragem de contaminação remove vazamentos e fontes do benchmark, tanto potenciais quanto conhecidos.

A filtragem é aplicada dentro das duas ferramentas de busca antes que o modelo candidato veja qualquer saída: os resultados do web_search são verificados por URL, título e trecho, e o texto de página do web_fetch é verificado após a extração. As entradas sinalizadas são descartadas da lista de resultados do provedor sem alterar o formato da resposta.

Por exemplo:

  • Locais de fonte conhecidos. URLs e conjuntos de dados que hospedam originalmente o benchmark.
  • Sinais associados ao texto do conjunto de dados. Cadeias canário conhecidas no material de origem.

Configurações das APIs dos provedores de busca

Cada provedor usa um valor fixo de max_results=10 (ou o equivalente). Todas as configurações permanecem nos padrões do provedor, exceto as listadas abaixo.

Resultado de provedorDocumentaçãoConfigurações da requisição no benchmark
BraveBrave Web Search APIq=agent query, result_filter=web
Tavily basicTavily Search APIsearch_depth=basic
You.comYou.com Search APIsafesearch=moderate
FirecrawlFirecrawl Search APIscrape_format=none
Exa fastExa Search APItype=fast, contents={"highlights": True}
Exa autoExa Search APItype=auto, contents={"highlights": True}
Parallel turboParallel Search APImode=turbo
Parallel basicParallel Search APImode=basic
Parallel advancedParallel Search APImode=advanced
Keenable proKeenable Search APImode=pro
Keenable realtimeKeenable Search APImode=realtime

Escopo dos benchmarks

DeepSearchQA

Um benchmark de QA no estilo de pesquisa profunda, com linhas de resposta única e de conjunto de respostas.

  • Fonte: Google DeepSearchQA. Hugging Face. Artigo.
  • Escopo da amostra: divisão pública eval completa, com 900 linhas.
  • Métrica principal: F1.

BrowseComp

Um benchmark difícil de QA com busca na web.

  • Fonte: OpenAI BrowseComp, distribuído com o Simple Evals. Artigo.
  • Escopo da amostra: o painel de decisão n200 com 200 amostras, selecionado conforme descrito em Componentes do índice.
  • Métrica principal: precisão.

AA-Omniscience

Um benchmark privado e reservado de QA factual, com foco em correção e calibração.

  • Fonte: AA-Omniscience. Conjunto de dados público de referência: AA-Omniscience-Public. Artigo.
  • Escopo da amostra: 600 amostras privadas, equilibradas em 100 linhas por domínio em 6 domínios.
  • Métrica principal: precisão.

Usamos a precisão em vez do Omniscience Index ou da taxa de alucinação. O AA-Omniscience foi projetado para testar o conhecimento paramétrico e a capacidade de se abster quando não há contexto suficiente.

Com uma ferramenta de busca fornecendo contexto, o modelo tende a responder sempre, então a precisão ajuda a responder à pergunta: dado o contexto de busca de um provedor, com que exatidão o modelo responde?

Como interpretar os resultados

O Search API Bench é uma comparação com vários objetivos:

  1. A busca melhorou a resposta em relação ao model_only?
  2. Qual provedor melhorou mais a qualidade?
  3. Quanto custou essa melhoria?
  4. Quanta latência ela acrescentou?
  5. Os ganhos se mantêm em todos os benchmarks ou são específicos de uma família de tarefas?

O provedor mais forte para uma determinada tarefa pode não ser o de maior pontuação. Para um caso de uso específico, o provedor de busca vencedor deve ser avaliado por:

  • Ganho de qualidade em relação à linha de base.
  • Aumento de custo em relação à linha de base.
  • Aumento de latência em relação à linha de base.