SDK для TypeScript и Python, который предоставляет AI-агентам более 1000 приложений с настроенной аутентификацией, пользовательские сессии и песочницу для выполнения действий.
apple-aiml-research/ToolSandbox
Бенчмарк с сохранением состояния для оценки того, как LLM-агенты используют инструменты в диалоге; включает симулятор пользователя и оценку по этапам.
- Звёзды
- 288
- Форки
- 33
- Открытые issues
- 3
- Последний коммит
- в прошлом месяце
Что это?
ToolSandbox — бенчмарк для оценки того, как большие языковые модели используют инструменты. Его выпустили вместе с исследовательской работой Apple. В отличие от бенчмарков, которые проверяют REST API без сохранения состояния с помощью одного запроса, ToolSandbox запускает инструменты в постоянном состоянии мира (настройки, контакты, сообщения и напоминания), поэтому вызов инструмента может повлиять на результаты последующих вызовов.
В фреймворк входят симулятор пользователя, который ведёт с агентом многошаговый диалог, и набор инструментов на Python с неявными зависимостями. Например, перед отправкой сообщения может потребоваться включить сотовую связь. Сценарии задаются на Python как расширения базового состояния устройства. Для проверки устойчивости в них можно добавлять отвлекающие инструменты, переименовывать инструменты или удалять их описания.
Оценка проводится по этапам: в каждом сценарии задаётся DAG обязательных промежуточных и конечных состояний, а система проверяет, достигла ли последовательность действий этих состояний в допустимом порядке, вместо того чтобы требовать единственную точную последовательность вызовов. В проект входят CLI `tool_sandbox` и поддержка моделей OpenAI, Anthropic, Google Gemini, Cohere и моделей с открытым исходным кодом, запускаемых через vLLM.
Ключевые возможности
- 01Выполнение инструментов с сохранением состояния в постоянном мире, включающем настройки, контакты, сообщения и напоминания.
- 02Встроенный симулятор пользователя для многошаговой диалоговой оценки в режиме on-policy.
- 03Оценка по DAG этапов, допускающая любой допустимый порядок промежуточных шагов.
- 04Расширение сценариев: добавление отвлекающих инструментов, переименование инструментов и удаление подсказок типов.
- 05Поддержка моделей OpenAI, Anthropic, Gemini, Cohere и моделей с открытым исходным кодом, запускаемых через vLLM.
Сценарии использования
- Сравнение того, как разные LLM справляются с многошаговым использованием инструментов, зависящим от состояния.
- Проверка того, распознаёт ли агент ситуации, когда ему не хватает инструментов или информации для выполнения задачи.
- Создание регрессионных тестов для поведения агента при вызове инструментов в диалогах.
Быстрый старт
- 1
Создайте conda-окружение с Python 3.9
conda create -n ToolSandbox python=3.9 - 2
Активируйте окружение
conda activate ToolSandbox - 3
Установите проект и его зависимости для разработки из корня репозитория
pip install '.[dev]' - 4
Запустите один сценарий, используя GPT-4o и в качестве симулятора пользователя, и в качестве агента (замените заполнители ключей 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
Что важно знать
- Лицензия не указана в метаданных достаточно ясно, поэтому условия повторного использования неизвестны.
- Для запуска сценариев с размещёнными моделями нужны платные ключи API, а для сценариев поиска также требуется ключ RapidAPI.
- Вызовы инструментов выполняются непосредственно на хост-машине, без песочницы.
Темы
Частые вопросы
- Что такое ToolSandbox?
- Бенчмарк с сохранением состояния для оценки того, как LLM-агенты используют инструменты в диалоге; включает симулятор пользователя и оценку по этапам. ToolSandbox — бенчмарк для оценки того, как большие языковые модели используют инструменты. Его выпустили вместе с исследовательской работой Apple. В отличие от бенчмарков, которые проверяют REST API без сохранения состояния с помощью одного запроса, ToolSandbox запускает инструменты в постоянном состоянии мира (настройки, контакты, сообщения и напоминания), поэтому вызов инструмента может повлиять на результаты последующих вызовов.
- ToolSandbox можно использовать бесплатно? Какая у него лицензия?
- ToolSandbox распространяется с открытым исходным кодом под лицензией Other. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- ToolSandbox всё ещё поддерживается?
- Обновлялся за последние 6 месяцев. Последний коммит в ToolSandbox — 11 сент. 2026 г..
- Для чего можно использовать ToolSandbox?
- Сравнение того, как разные LLM справляются с многошаговым использованием инструментов, зависящим от состояния. Проверка того, распознаёт ли агент ситуации, когда ему не хватает инструментов или информации для выполнения задачи. Создание регрессионных тестов для поведения агента при вызове инструментов в диалогах.
- Как установить ToolSandbox?
- Создайте conda-окружение с Python 3.9: conda create -n ToolSandbox python=3.9 Активируйте окружение: conda activate ToolSandbox Установите проект и его зависимости для разработки из корня репозитория: pip install '.[dev]' Запустите один сценарий, используя GPT-4o и в качестве симулятора пользователя, и в качестве агента (замените заполнители ключей 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
- Где скачать ToolSandbox?
- Исходный код и инструкции по установке — на GitHub: https://github.com/apple-aiml-research/ToolSandbox
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Минималистичная библиотека Python для создания AI-агентов, которые записывают свои действия на Python и выполняют их.
Настраиваемый фреймворк для оценки LLM, VLM и AIGC-моделей на бенчмарках, нагрузочного тестирования производительности инференса и просмотра результатов на дашборде.
Система памяти для агентов: сохраняет, извлекает и анализирует воспоминания, помогая ИИ-агентам учиться со временем, а не просто воспроизводить историю чата.
Python-фреймворк для создания MCP-серверов, клиентов и интерактивных приложений, связывающих LLM с инструментами и данными.
Стандартный Python API для одноагентных сред обучения с подкреплением и набор эталонных сред, форк OpenAI Gym.