昨天(4 月 15 日),OpenAI 发布了 Agents SDK 的重大更新。这不是一次小修小补 --- 而是把 Agent 开发从"能跑"推向"能用于生产"的关键一步。
核心变化:Agent 终于有了自己的工作空间
之前用 Agents SDK 写 Agent,最大的痛点是什么?Agent 没有一个像样的执行环境。它能调 API、能生成文本,但要让它真正"干活" --- 读写文件、跑代码、装依赖 --- 你得自己搭一套基础设施。
这次更新直接解决了这个问题。新版 SDK 原生支持沙箱执行,Agent 可以在受控环境中完成完整的工作流:
- 文件系统工具:类似 Codex 的文件读写和 apply patch 能力
- Shell 工具:在沙箱中执行命令
- 可配置记忆:跨步骤保持上下文
- Manifest 抽象:声明式描述 Agent 的工作空间(输入文件、输出目录、存储挂载)
沙箱提供商方面,内置支持 E2B、Modal、Vercel、Cloudflare、Daytona、Runloop 等,也可以接入自己的沙箱。
为什么这很重要
过去一年,Agent 框架的竞争格局大致分三类:
- 模型无关框架(LangChain、CrewAI 等):灵活,但无法充分利用特定模型的能力
- 模型提供商 SDK(之前的 Agents SDK):贴近模型,但执行层太薄
- 托管 Agent API(Assistants API 等):部署简单,但限制了数据和运行环境的控制权
这次更新的思路很清晰:把 harness(执行框架)做厚,但保持开放。你用 OpenAI 的模型获得最佳性能,同时执行环境可以自己选择和控制。
这个方向是对的。Agent 的瓶颈早就不是模型能力,而是工程基础设施。一个 Agent 如果不能安全地读文件、跑测试、写代码,那它就只是一个高级聊天机器人。
几个值得关注的设计决策
Manifest 抽象是这次更新中最有意思的设计。它让你用声明式的方式描述 Agent 需要什么:挂载哪些本地文件、输出写到哪里、从 S3/GCS/R2 拉什么数据。从本地原型到生产部署,工作空间的描述是一致的。
安全模型也值得注意。SDK 明确将 harness 和 compute 分离 --- Agent 生成的代码在沙箱中执行,凭证不会暴露在模型可触达的环境中。这是假设 prompt injection 和数据外泄一定会发生的防御姿态,比"相信模型不会作恶"务实得多。
另外,SDK 现在原生集成了 MCP(Model Context Protocol)、AgentSkills、AGENTS.md 等社区标准。这些"原语"正在成为 Agent 生态的基础设施层,OpenAI 选择拥抱而非重造,是明智的。
冷静看几个问题
锁定效应 。虽然沙箱可以自选,但 harness 本身是为 OpenAI 模型优化的。文档里说得很直白:"aligning execution with the way those models perform best"。用其他模型?可以,但你拿不到最佳性能。在多模型并行使用越来越普遍的今天 --- 像 OfoxAI(ofox.ai)这样的聚合平台上,开发者经常在 GPT、Claude、Gemini 之间切换 --- 框架的模型绑定是一个需要权衡的因素。
复杂度转移。沙箱执行解决了安全问题,但也引入了新的复杂度:环境配置、文件同步、状态持久化。对于简单的 Agent 场景,这可能是过度工程。
与 Codex 的关系。新 SDK 的文件系统工具"Codex-like",但 Codex 本身是一个完整的产品。SDK 和 Codex 之间的边界在哪里?什么时候该用 SDK 自建,什么时候该直接用 Codex?OpenAI 还没给出清晰的答案。
结论
OpenAI Agents SDK 这次更新的方向是对的:Agent 需要的不只是更强的模型,还需要更好的执行基础设施。沙箱执行、文件系统工具、Manifest 抽象 --- 这些都是把 Agent 从 demo 推向生产的必要组件。
但"对的方向"不等于"唯一的方向"。Agent 框架的竞争才刚开始,最终胜出的不一定是功能最全的,而是开发者体验最好的。
参考:OpenAI - The next evolution of the Agents SDK(2026-04-15)