Agentes baseados em modelos de linguagem costumam usar ferramentas, como buscas ou cálculos, de forma indiscriminada, mesmo quando o próprio modelo conseguiria responder diretamente. Segundo o resumo do trabalho, cada chamada desnecessária desperdiça taxas de API e tempo de resposta. Até então, de acordo com os autores, nenhum benchmark estudava de forma sistemática quando uma chamada de ferramenta é realmente necessária.
O que os pesquisadores criaram
Os autores propõem o When2Tool, um benchmark com 18 ambientes, sendo 15 de uma etapa (single-hop) e 3 de várias etapas (multi-hop). Os ambientes cobrem três categorias de necessidade de ferramenta: escala computacional, limites de conhecimento e confiabilidade da execução. Cada uma tem níveis de dificuldade controlados, o que cria uma fronteira clara entre tarefas que exigem ferramenta e tarefas que não exigem.
Por que as soluções simples falham
Os autores avaliaram duas famílias de linhas de base que não exigem treinamento. A primeira, chamada Prompt-only, altera o prompt para desencorajar chamadas desnecessárias. Segundo eles, ela suprime chamadas necessárias junto com as desnecessárias. A segunda, Reason-then-Act, pede que o modelo raciocine sobre a necessidade da ferramenta antes de agir, mas ainda causa, nas tarefas difíceis, uma perda de acurácia desproporcional.
O achado central: o modelo já sabe
Para entender essas falhas, a equipe analisou os estados internos (hidden states) dos modelos. Eles encontraram que a necessidade de ferramenta pode ser decodificada de forma linear a partir da representação anterior à geração, com AUROC entre 0,89 e 0,96 em seis modelos. Segundo o texto, esse desempenho supera bastante o raciocínio que o próprio modelo verbaliza. A conclusão dos autores é que os modelos já sabem quando ferramentas são necessárias, mas não usam esse conhecimento durante a geração.
Probe&Prefill
Com base nisso, a proposta é o Probe&Prefill: uma sonda linear leve lê esse sinal interno e preenche o início da resposta do modelo com uma frase de direcionamento. Segundo os autores, em todos os modelos testados, o método reduziu as chamadas de ferramenta em 38%, com perda de apenas 1,7% de acurácia. A melhor linha de base, com acurácia comparável, reduziu apenas 6% das chamadas, ou obteve redução semelhante com perda de acurácia 5 vezes maior.
Para o leitor, o ponto prático é que a economia de chamadas desnecessárias pode vir de uma leitura do estado interno do modelo, e não apenas de instruções no prompt. O código foi divulgado pelos autores no GitHub.
Este texto foi produzido com apoio de inteligência artificial a partir das fontes acima e revisado segundo a nossa política editorial. Encontrou um erro? Peça uma correção.