一个AI研究助手,12版提示词迭代、2个技能、1个MCP数据源、手选工具权限,这些全部散落在云控制台的若干页面上。换台电脑、换个账号,一切就剩截图。这个开发者问了同一个问题——我们把代码交给Git,依赖交给lockfile,基础设施交给Terraform,为什么AI Agent的配置要困在别人控制台里?
于是有了OpenAgentPack,一个Apache-2.0协议的开源工具,还在beta阶段。它的思路直白:用一个agents.yaml文件把模型、指令、工具、技能、MCP服务器、环境变量全都声明出来;密钥等敏感信息留在.env里引用,YAML可以干干净净地提交到Git。接着,一套类似Terraform的工作流把这些声明推送到云端。
安装只需要一行:npm install -g @openagentpack/cli,要求Node.js 22以上。然后mkdir新目录,执行agents init,向导会生成一份初始的agents.yaml;agents validate做离线检查,零API调用;agents plan预览创建/更新/删除的变化;agents apply -y按依赖顺序执行。整个过程就像管理基础设施代码。
一份最简的声明可以长这样:agent下定义一个assistant,选用qwen3.7-max模型,指令、环境、内置工具(bash、read、glob、grep)全部写清。更复杂的配置可以塞进多个MCP服务器、自定义技能文件以及不同环境的差异。所有凭据引用都以${VAR_NAME}的形式指向.env,文件本身不会泄露任何密钥。
三个设计点让作者觉得“对味”:
- plan是真正的三路diff。它把用户声明的配置、本地状态文件(记录远程ID和内容哈希)、远程实际存在的资源三者对齐。改动一个字段,plan就只显示一次更新;谁偷偷在控制台手动改了东西,立刻标记为drift。这跟Terraform的plan一样直接,不用猜“到底哪里不一致”。
- 离线校验先拦住低级错误。validate在一次API调用都没发出之前就揪出了一个缩进错误。便宜的地方先炸,省得在云端排错。
- 验收测试内置。
agents playground会从同一份声明启动一个本地WebUI,跑真实的会话。作者把标准的研究任务重新跑了一遍,对比迁移前后的输出——结构不变、严谨性不变。加上--provider参数还能在bailian、qoder、ark、claude之间切换,同一场景跨后端做基准测试。
“Agents as code”这个说法,作者自己对照的是十年前的“infrastructure as code”——事后看是明牌,没用过的时候可能觉得多余,一旦上手就再也回不去。提示词、工作流和人的判断,应该以一个你真正拥有的形式存在,而不是绑在某个云平台的网页上。
仓库地址是github.com/modelstudioai/OpenAgentPack。如果用Bailian provider,需要一个DASHSCOPE_API_KEY,去阿里云模型Studio免费创建即可。
当然,这还只是beta。YAML声明能覆盖多少Agent平台?复杂权限模型、状态、多Agent协作这些进阶需求,声明式能不能接得住?但从代码版本化到配置版本化的路径,已经有人走出了第一步。
热门跟贴