为 AI 智能体提供 1000 多个预认证应用工具包、按用户划分的会话与沙箱的 TypeScript/Python SDK。
apple-aiml-research/ToolSandbox
一个有状态、多轮对话式的基准测试,用于评估大模型agent的工具调用能力,内置用户模拟器。
- Star
- 288
- Fork
- 33
- 未关闭 Issue
- 3
- 最近提交
- 上个月
这是什么?
ToolSandbox 是一个用于评估大语言模型工具调用能力的基准测试框架,随一篇 Apple 研究论文发布。与只针对无状态 REST 接口、单轮提示的评测不同,它让工具运行在持久化的世界状态之上,包括设置、联系人、消息和提醒等数据库,因此一次工具调用可能影响后续调用的结果。
框架内置用户模拟器,可以与 agent 进行多轮对话;工具以 Python 函数实现,工具之间存在隐含依赖,例如发消息前需要先开启蜂窝网络。场景通过 Python 在基础设备状态上扩展定义,还可以对工具进行干扰、重命名或删除参数说明等增强,以测试模型的鲁棒性。
评估采用里程碑机制:每个场景定义一组必须达到的中间与最终状态(以有向无环图表示),评分时检查轨迹是否按合法顺序达成这些状态,而不要求调用序列完全一致。项目提供 `tool_sandbox` 命令行工具,支持 OpenAI、Anthropic、Google Gemini、Cohere 的模型,也支持通过 vLLM 部署的开源模型。
核心功能
- 01基于持久化世界状态(设置、联系人、消息、提醒)执行有状态的工具调用。
- 02内置用户模拟器,支持多轮对话式评测。
- 03采用里程碑有向无环图评分,接受中间步骤的任意合法顺序。
- 04支持干扰工具、工具重命名、移除类型提示等场景增强。
- 05支持 OpenAI、Anthropic、Gemini、Cohere 及通过 vLLM 部署的开源模型。
适用场景
- 比较不同大模型在有状态依赖下的多步工具调用表现。
- 测试 agent 在缺少工具或信息时能否识别并停止,而非编造调用。
- 为对话式 agent 的工具调用行为搭建回归测试。
快速上手
- 1
使用 Python 3.9 创建 conda 虚拟环境
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 是什么?
- 一个有状态、多轮对话式的基准测试,用于评估大模型agent的工具调用能力,内置用户模拟器。 ToolSandbox 是一个用于评估大语言模型工具调用能力的基准测试框架,随一篇 Apple 研究论文发布。与只针对无状态 REST 接口、单轮提示的评测不同,它让工具运行在持久化的世界状态之上,包括设置、联系人、消息和提醒等数据库,因此一次工具调用可能影响后续调用的结果。
- ToolSandbox 可以免费使用吗?用的什么许可证?
- ToolSandbox 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
- ToolSandbox 还在维护吗?
- 半年内有更新。ToolSandbox 最近一次提交是在 2026年9月11日。
- ToolSandbox 适合用来做什么?
- 比较不同大模型在有状态依赖下的多步工具调用表现。 测试 agent 在缺少工具或信息时能否识别并停止,而非编造调用。 为对话式 agent 的工具调用行为搭建回归测试。
- ToolSandbox 怎么安装和运行?
- 使用 Python 3.9 创建 conda 虚拟环境: 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
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
一个极简的 Python 智能体库,让 AI 智能体以代码形式编写并执行动作。
一个可定制的大模型评测框架,覆盖 LLM、VLM 和 AIGC 模型的基准评测与推理性能压测。
面向 AI 智能体的记忆系统,支持存储、检索与反思记忆,让智能体随时间学习而非仅回放对话历史。
用 Python 构建 MCP 服务端、客户端和交互式应用的框架,让 LLM 连接工具与数据。
用于单智能体强化学习的标准 Python API,并附带一组参考环境,是 OpenAI Gym 的维护分支。