SDKs para TypeScript e Python que dão a agentes de IA acesso a mais de 1.000 toolkits de apps pré-autenticados, sessões por usuário e um sandbox para executar ações.
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
Crie um ambiente conda com Python 3.9
conda create -n ToolSandbox python=3.9 - 2
Ative o ambiente
conda activate ToolSandbox - 3
Instale o projeto e suas dependências de desenvolvimento a partir da raiz do repositório
pip install '.[dev]' - 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
Uma biblioteca Python minimalista para criar agentes de IA que escrevem e executam suas ações como código Python.
Framework personalizável para avaliar LLMs, VLMs e modelos de AIGC em benchmarks, testar o desempenho de inferência sob carga e visualizar resultados em dashboards.
Sistema de memória para agentes que armazena, recupera e reflete sobre memórias para que agentes de IA aprendam com o tempo, em vez de apenas reproduzir o histórico de conversas.
Framework Python para criar servidores MCP, clientes e apps interativos que conectam LLMs a ferramentas e dados.
Uma API Python padrão para ambientes de aprendizado por reforço com agente único, além de um conjunto de ambientes de referência, derivado do Gym da OpenAI.