Repolode
apple-aiml-research

apple-aiml-research/ToolSandbox

Benchmark conversacional com estado para avaliar como agentes LLM usam ferramentas, com simulador de usuário integrado e pontuação baseada em marcos.

Estrelas
288
Forks
33
Issues abertas
3
Último commit
mês passado

O que é?

ToolSandbox é um benchmark de avaliação do uso de ferramentas por modelos de linguagem grandes, lançado junto com um artigo de pesquisa da Apple. Diferentemente de benchmarks que testam APIs REST sem estado com um único prompt, ele executa ferramentas sobre um estado persistente do mundo (configurações, contatos, mensagens e lembretes), de modo que uma chamada de ferramenta pode alterar os resultados de chamadas posteriores.

O framework inclui um simulador de usuário que mantém uma conversa com o agente ao longo de vários turnos e um conjunto de ferramentas Python com dependências implícitas entre si, como a necessidade de ativar o serviço celular antes de enviar uma mensagem. Os cenários são definidos em Python como extensões de um estado-base do dispositivo, e as ferramentas podem receber ferramentas distratoras, ter seus nomes alterados ou ficar sem descrições para testar a robustez.

A avaliação é baseada em marcos: cada cenário define um DAG de estados intermediários e finais obrigatórios, e a pontuação verifica se uma trajetória chega a eles em uma ordem válida, em vez de exigir uma sequência exata de chamadas. O projeto oferece uma CLI `tool_sandbox` e oferece suporte a modelos da OpenAI, Anthropic, Google Gemini, Cohere e modelos open source servidos pelo vLLM.

Recursos principais

  • 01Execução de ferramentas com estado sobre um estado persistente do mundo, com configurações, contatos, mensagens e lembretes.
  • 02Simulador de usuário integrado para avaliação conversacional on-policy com vários turnos.
  • 03Pontuação baseada em um DAG de marcos que aceita qualquer ordem válida das etapas intermediárias.
  • 04Variações de cenários, como ferramentas distratoras, nomes de ferramentas alterados e dicas de tipo removidas.
  • 05Compatibilidade com modelos da OpenAI, Anthropic, Gemini, Cohere e modelos open source hospedados no vLLM.

Casos de uso

  • Comparar como diferentes LLMs lidam com o uso de ferramentas em várias etapas com dependências de estado.
  • Testar se um agente percebe quando não dispõe das ferramentas ou informações necessárias para concluir uma tarefa.
  • Criar testes de regressão para o comportamento de chamada de ferramentas de um agente em contextos conversacionais.

Início rápido

  1. 1

    Crie um ambiente conda com Python 3.9

    conda create -n ToolSandbox python=3.9
  2. 2

    Ative o ambiente

    conda activate ToolSandbox
  3. 3

    Instale o projeto e suas dependências de desenvolvimento a partir da raiz do repositório

    pip install '.[dev]'
  4. 4

    Execute um único cenário usando GPT-4o como simulador de usuário e agente (substitua os espaços reservados das chaves de API)

    env OPENAI_API_KEY=<YOUR_OPENAI_API_KEY> RAPID_API_KEY=<YOUR_RAPID_API_KEY> tool_sandbox --user GPT_4_o_2024_05_13 --agent GPT_4_o_2024_05_13

Antes de usar

  • A licença não está claramente especificada nos metadados, então os termos de reutilização não estão claros.
  • A execução de cenários com modelos hospedados exige chaves de API pagas, e os cenários de busca também precisam de uma chave da RapidAPI.
  • As chamadas de ferramentas são executadas diretamente na máquina host, sem um sandbox.

Tópicos

Perguntas frequentes

O que é ToolSandbox?
Benchmark conversacional com estado para avaliar como agentes LLM usam ferramentas, com simulador de usuário integrado e pontuação baseada em marcos. ToolSandbox é um benchmark de avaliação do uso de ferramentas por modelos de linguagem grandes, lançado junto com um artigo de pesquisa da Apple. Diferentemente de benchmarks que testam APIs REST sem estado com um único prompt, ele executa ferramentas sobre um estado persistente do mundo (configurações, contatos, mensagens e lembretes), de modo que uma chamada de ferramenta pode alterar os resultados de chamadas posteriores.
ToolSandbox é gratuito? Qual é a licença?
ToolSandbox é open source sob a licença Other. Confira os termos da licença antes de usá-lo em produtos comerciais.
ToolSandbox ainda é mantido?
Atualizado nos últimos 6 meses. O último commit de ToolSandbox foi em 11 de set. de 2026.
Para que posso usar ToolSandbox?
Comparar como diferentes LLMs lidam com o uso de ferramentas em várias etapas com dependências de estado. Testar se um agente percebe quando não dispõe das ferramentas ou informações necessárias para concluir uma tarefa. Criar testes de regressão para o comportamento de chamada de ferramentas de um agente em contextos conversacionais.
Como instalar ToolSandbox?
Crie um ambiente conda com Python 3.9: conda create -n ToolSandbox python=3.9 Ative o ambiente: conda activate ToolSandbox Instale o projeto e suas dependências de desenvolvimento a partir da raiz do repositório: pip install '.[dev]' Execute um único cenário usando GPT-4o como simulador de usuário e agente (substitua os espaços reservados das chaves de API): env OPENAI_API_KEY=<YOUR_OPENAI_API_KEY> RAPID_API_KEY=<YOUR_RAPID_API_KEY> tool_sandbox --user GPT_4_o_2024_05_13 --agent GPT_4_o_2024_05_13
Onde consigo ToolSandbox?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/apple-aiml-research/ToolSandbox

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados