Vercel 开源了 Open Agents,一个用来搭建企业自有编程 Agent 平台的参考实现。
CEO Guillermo Rauch 说:现成的编程 Agent 在大型代码仓库上表现不行,也不了解你公司的知识体系和内部流程,所以 Stripe、Spotify、Block 这些公司都在造自己的 AI 软件工厂。
Open Agents 绑定了 Vercel 自家的 Fluid、Workflow、Sandbox 和 AI Gateway 这套底座。但不管怎么说,Open Agents 给了一个可以直接 fork 的起点。
架构分三层:前端负责会话和认证,Agent 作为持久化工作流运行在 Vercel 上,沙箱提供隔离的代码执行环境。一个关键设计是 Agent 不跑在沙箱里面,而是从外部通过工具调用(文件读写、Shell 命令、搜索等)操作沙箱。这样 Agent 的生命周期、沙箱的生命周期、模型的选择,三件事互不绑定,各自演进。
功能上已经比较完整:支持对话驱动的编程 Agent、沙箱快照恢复、仓库克隆和分支操作、自动提交和发 PR、会话分享,甚至还有语音输入。
对于正在考虑自建编程 Agent 的技术团队,这省了从零搭架子的功夫。对于没有这个需求的开发者,这个项目的架构设计本身也值得看看,尤其是 Agent 和执行环境分离这个思路,几乎是当前所有 Agent 框架都在趋同的方向。
对比下 Anthropic 的 Managed Agents。
Vercel 的 Open Agents 是开源参考实现,给你一套可以 fork 的代码,自己部署、自己改。Anthropic 的 Managed Agents 是全托管服务,你通过 API 定义 Agent 的行为,基础设施全部由 Anthropic 运行,连沙箱、状态管理、错误恢复都不用操心。
有意思的是,两者在架构核心上达成了同一个共识:Agent 和执行环境必须分离。Vercel 的文档里专门强调"the agent is not the sandbox",Agent 从外部通过工具调用操作沙箱。Anthropic 的工程博客用了一个更形象的说法,把 Agent 拆成"大脑"和"手",大脑(模型和调度循环)不住在容器里,通过接口远程操控沙箱。
Anthropic 的工程博客还解释了为什么要这么做:早期他们把所有东西塞进一个容器,结果容器变成了"宠物"(Pet),挂了就什么都丢了,调试还得钻进去看,而容器里又有用户数据,安全上也过不去。拆开之后,容器变成了"牲口"(Cattle),坏了就换一个,会话日志(Session)独立存储在外面,随时可以恢复。
除了架构哲学,两者的差异很明显:
模型锁定方面,Open Agents 不绑定模型,你可以接任何 LLM。Managed Agents 只能用 Claude 系列模型,但换来的是 Anthropic 在 harness 层面做的 prompt caching、上下文压缩、自动恢复这些优化,这些东西自己搭很难做好。
成本结构方面,Open Agents 的成本是你自己的基础设施费用加上模型 API 调用费。Managed Agents 是三层计费:模型 token 费 + 每小时 0.08 美元的运行时费(按毫秒计,空闲不收费)+ 网页搜索每千次 10 美元。
控制权方面,Open Agents 给你完整源码,怎么改都行,但搭建和维护是你的事。Managed Agents 上手快(有人说 30 分钟就能跑起来),但你被限制在 Anthropic 提供的 API 能力范围内。
点击图片查看原图