SDK de TypeScript y Python que ofrece a los agentes de IA más de 1000 toolkits de apps con autenticación previa, sesiones por usuario y un sandbox para ejecutar acciones.
apple-aiml-research/ToolSandbox
Benchmark conversacional con estado para evaluar cómo los agentes LLM usan herramientas, con simulador de usuario integrado y puntuación basada en hitos.
- Estrellas
- 288
- Forks
- 33
- Issues abiertos
- 3
- Último commit
- el mes pasado
¿Qué es?
ToolSandbox es un benchmark de evaluación del uso de herramientas por parte de modelos de lenguaje grandes, publicado junto con un artículo de investigación de Apple. A diferencia de los benchmarks que prueban APIs REST sin estado con un único prompt, ejecuta las herramientas sobre un estado persistente del entorno (ajustes, contactos, mensajes y recordatorios), de modo que una llamada a una herramienta puede cambiar los resultados de llamadas posteriores.
El framework incluye un simulador de usuario que mantiene una conversación de varios turnos con el agente y un conjunto de herramientas de Python con dependencias implícitas entre ellas, como tener que activar el servicio celular antes de enviar un mensaje. Los escenarios se definen en Python como extensiones de un estado base del dispositivo, y las herramientas pueden complementarse con distractores, cambiar de nombre o perder sus descripciones para poner a prueba la robustez.
La evaluación se basa en hitos: cada escenario define un DAG de estados intermedios y finales requeridos, y la puntuación comprueba si una trayectoria los alcanza en un orden válido, en vez de exigir una secuencia exacta de llamadas. El proyecto ofrece una CLI llamada `tool_sandbox` y admite modelos de OpenAI, Anthropic, Google Gemini, Cohere y modelos de código abierto servidos mediante vLLM.
Funciones clave
- 01Ejecución de herramientas con estado sobre un entorno persistente con ajustes, contactos, mensajes y recordatorios.
- 02Simulador de usuario integrado para la evaluación conversacional de varios turnos on-policy.
- 03Puntuación basada en un DAG de hitos que admite cualquier orden válido de los pasos intermedios.
- 04Ampliaciones de escenarios, como herramientas distractoras, herramientas renombradas y eliminación de sugerencias de tipos.
- 05Admite modelos de OpenAI, Anthropic, Gemini, Cohere y modelos de código abierto alojados en vLLM.
Casos de uso
- Comparar cómo distintos LLM gestionan el uso de herramientas en varios pasos con dependencias de estado.
- Probar si un agente reconoce cuándo no cuenta con las herramientas o la información necesarias para completar una tarea.
- Crear pruebas de regresión para el comportamiento de llamada a herramientas de un agente en entornos conversacionales.
Inicio rápido
- 1
Crea un entorno conda con Python 3.9
conda create -n ToolSandbox python=3.9 - 2
Activa el entorno
conda activate ToolSandbox - 3
Instala el proyecto y sus dependencias de desarrollo desde la raíz del repositorio
pip install '.[dev]' - 4
Ejecuta un único escenario con GPT-4o como simulador de usuario y agente (sustituye los marcadores de posición de las claves 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 usarlo
- La licencia no se especifica claramente en los metadatos, por lo que las condiciones de reutilización no están claras.
- Ejecutar escenarios con modelos alojados requiere claves de API de pago; los escenarios de búsqueda también necesitan una clave de RapidAPI.
- Las llamadas a herramientas se ejecutan directamente en la máquina anfitriona, sin un entorno aislado.
Temas
Preguntas frecuentes
- ¿Qué es ToolSandbox?
- Benchmark conversacional con estado para evaluar cómo los agentes LLM usan herramientas, con simulador de usuario integrado y puntuación basada en hitos. ToolSandbox es un benchmark de evaluación del uso de herramientas por parte de modelos de lenguaje grandes, publicado junto con un artículo de investigación de Apple. A diferencia de los benchmarks que prueban APIs REST sin estado con un único prompt, ejecuta las herramientas sobre un estado persistente del entorno (ajustes, contactos, mensajes y recordatorios), de modo que una llamada a una herramienta puede cambiar los resultados de llamadas posteriores.
- ¿ToolSandbox es gratuito? ¿Qué licencia tiene?
- ToolSandbox es open source bajo la licencia Other. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿ToolSandbox sigue mantenido?
- Actualizado en los últimos 6 meses. El último commit de ToolSandbox fue el 11 sept 2026.
- ¿Para qué puedo usar ToolSandbox?
- Comparar cómo distintos LLM gestionan el uso de herramientas en varios pasos con dependencias de estado. Probar si un agente reconoce cuándo no cuenta con las herramientas o la información necesarias para completar una tarea. Crear pruebas de regresión para el comportamiento de llamada a herramientas de un agente en entornos conversacionales.
- ¿Cómo se instala ToolSandbox?
- Crea un entorno conda con Python 3.9: conda create -n ToolSandbox python=3.9 Activa el entorno: conda activate ToolSandbox Instala el proyecto y sus dependencias de desarrollo desde la raíz del repositorio: pip install '.[dev]' Ejecuta un único escenario con GPT-4o como simulador de usuario y agente (sustituye los marcadores de posición de las claves 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
- ¿Dónde consigo ToolSandbox?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/apple-aiml-research/ToolSandbox
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Una biblioteca mínima de Python para crear agentes de IA que escriben y ejecutan sus acciones como código Python.
Framework personalizable para evaluar LLM, VLM y modelos AIGC con benchmarks, además de pruebas de estrés del rendimiento de inferencia y paneles de resultados.
Sistema de memoria para agentes que almacena, recupera y analiza recuerdos para que los agentes de IA aprendan con el tiempo, en lugar de limitarse a repetir el historial del chat.
Framework de Python para crear servidores y clientes MCP, además de apps interactivas que conectan LLMs con herramientas y datos.
Una API estándar de Python para entornos de aprendizaje por refuerzo de un solo agente, junto con entornos de referencia; es una bifurcación de Gym de OpenAI.