Avaliação de uso de ferramentas e function calling
Como anotar e avaliar as chamadas de ferramentas e o function calling de um agente em diversos formatos de trace (OpenAI, Anthropic, ReAct, LangChain) com as avaliações por turno do Potato.
Quando um agente chama ferramentas, uma busca, uma calculadora, uma API, um banco de dados, cada chamada é uma decisão que você pode avaliar: esta era a ferramenta certa? os argumentos estavam corretos? o resultado foi usado adequadamente? A avaliação de uso de ferramentas transforma essas decisões em rótulos por etapa ao longo do trace de um agente.
Este é o complemento por julgamento humano dos benchmarks automatizados de function calling: uma chamada pode ser sintaticamente válida e ainda assim estar errada para a tarefa.
O que avaliar em cada chamada de ferramenta
- Seleção da ferramenta: era a ferramenta apropriada, ou deveria ter usado outra (ou nenhuma)?
- Argumentos: os parâmetros estavam corretos e completos?
- Necessidade: a chamada era necessária, ou redundante?
- Tratamento do resultado: o agente interpretou e usou a saída corretamente?
Lendo traces de qualquer framework
O Potato converte 13 formatos de trace em uma visão de etapas comum, então você consegue avaliar o uso de ferramentas independentemente de como o agente foi construído: chamadas de ferramentas/funções da OpenAI e da Anthropic, traces de pensamento-ação-observação do ReAct, LangChain, LangFuse e mais. Veja Anotação agêntica.
Configuração da avaliação por etapa
Anexe uma avaliação a cada etapa (cada chamada de ferramenta) com um acompanhamento condicional para as falhas:
annotation_schemes:
- annotation_type: per_turn_rating
name: tool_call_correctness
description: "For each tool call, judge whether it was the right call."
target: agentic_steps
rating_type: radio
labels: ["Correct", "Wrong tool", "Wrong arguments", "Unnecessary"]
- annotation_type: text
name: notes
description: "If not correct, what should it have done?"
label_requirement:
required: falseConsiderações de qualidade
- Mostre a saída da ferramenta, não só a chamada, senão os anotadores não conseguem julgar o tratamento do resultado.
- Formate o JSON dos argumentos e das respostas para que fiquem legíveis (o Potato faz isso na exibição do trace do agente).
- Distinga "ferramenta errada" de "ferramenta certa, argumentos errados", pois apontam para correções diferentes no modelo.