Benchmark · agentic
τ-bench
O τ-bench mede quão bem um agente de IA conduz uma conversa de atendimento ao cliente com várias interações enquanto chama ferramentas e APIs para atender ao pedido de um usuário. A pontuação é a porcentagem de tarefas que o agente conclui corretamente.
Saiba mais
- Exemplo
- Uma tarefa no domínio de varejo ou de companhias aéreas — por exemplo, um usuário pede ao agente para cancelar ou alterar um pedido, e o agente precisa perguntar os detalhes necessários e então chamar as APIs de backend corretas, seguindo as regras e políticas do domínio.
- Pontuação
- A métrica é a proporção de tarefas resolvidas corretamente; uma tarefa conta como resolvida quando o estado final do banco de dados ou do ambiente corresponde ao resultado esperado. Costuma ser reportada como taxa de acerto (pass@1), com uma variante pass^k que mede a consistência em execuções repetidas.
- Verificação
- A verificação é automática, e não julgada por humanos: após a conversa, o benchmark compara o estado resultante do sistema (e as informações dadas ao usuário) com um resultado esperado predefinido, de modo que apenas uma correspondência objetiva conta como acerto.
- Por que importa
- Ele reflete um caso de uso realista e comercialmente importante — agentes que precisam ao mesmo tempo conversar e agir por meio de ferramentas sob regras de negócio — e expõe lacunas de confiabilidade, já que modelos que acertam uma vez muitas vezes falham ao repetir a mesma tarefa.
Exemplo resolvido
Tarefa
No domínio retail do τ-bench, um usuário simulado diz ao agente: «Oi, quero cancelar o pedido #W2611340 — fiz o pedido por engano». Seguindo a política da loja (só é possível cancelar pedidos ainda no status 'pending' e o motivo deve ser um valor permitido), o agente precisa autenticar o usuário, verificar o pedido, confirmar com o usuário e então cancelá-lo por meio de chamadas de ferramentas.
Solução
# 1) Authenticate the user (policy: verify identity before any action)
find_user_id_by_email(email="mia.li.3818@example.com")
# 2) Look up the order and confirm status == "pending"
get_order_details(order_id="#W2611340")
# 3) After the user confirms, cancel with an allowed reason enum
cancel_pending_order(order_id="#W2611340", reason="ordered by mistake")
Explicação
A política só permite cancelar um pedido em status 'pending' e restringe o motivo a dois valores enum ('no longer needed' / 'ordered by mistake'), então o agente primeiro autentica, checa o status, obtém a confirmação do usuário e só então faz a chamada de escrita. O τ-bench avalia comparando o estado final do banco de dados com o estado-alvo anotado (o pedido agora 'cancelled') e reporta a confiabilidade pass^k em tentativas repetidas.
Ainda não há pontuações verificadas para este benchmark.