Agent 工具沙箱设计:把危险动作关进笼子里
说明 Agent 调用代码执行、文件操作和外部 API 时,为什么需要权限、目录、网络和时间限制。
当 Agent 能执行工具,尤其是代码、文件和网络工具时,沙箱就成了基础设施。OpenAI 和 Anthropic 的工具调用文档都把工具作为模型连接外部世界的机制,但工具执行边界必须由开发者控制。[sandbox-001][sandbox-002]
沙箱限制什么
至少要限制:
- 可读写目录。
- 网络访问范围。
- 命令执行时间。
- 环境变量暴露。
- 外部 API 权限。
- 输出大小。
工具越强,沙箱越重要。不要让模型直接拿到无限制的系统能力。
概念策略:
{
"tool": "run_script",
"filesystem": "workspace-only",
"network": "disabled",
"timeout_ms": 10000,
"env": "allowlist"
}权限要按任务临时发放
不要给所有工具默认最高权限。读文件、写文件、访问网络、调用生产 API 应分开授权,并记录审批来源。
综合工具调用和安全资料可以推断:Agent 沙箱是把模型能力产品化的前提,它让系统可以尝试自动化,同时不把整个运行环境交出去。
参考资料
- [sandbox-001] OpenAI Developers, “Tools”, https://developers.openai.com/api/docs/guides/tools
- [sandbox-002] Anthropic Docs, “Tool use overview”, https://docs.anthropic.com/en/docs/agents-and-tools/tool-use/overview