AutoDev 08:给复杂 Agent 装一只可以搬走的行李箱¶
简单 Agent 出差时带一只双肩包:提示词和配置。AutoDev 出门像剧组转场:Node.js、Git、 Provider CLI、编译后的控制器、脚本、配置、Skills,以及“千万别落在酒店”的运行约定。
如果每台机器现场拼装,排查问题很快会变成考古。于是我们使用 Guest Image 固定环境。
镜像装工具,配置决定任务¶
Dockerfile 安装依赖、构建 TypeScript,并把 AutoDev 代码与脚本放入约定位置。
agent-compose.yml 通过 build 描述如何构建,通过 image 指定运行产物。镜像负责
“这个程序靠什么运行”,项目配置负责“这次为哪个仓库、按什么策略运行”。
把两者混在一起会产生一种昂贵爱好:每改一个标签 Allowlist 就重新做镜像。
四类东西,四种安放方法¶
- 程序和固定工具进入 Image;
- 目标仓库由 Git Workspace 提供;
- 可公开运行配置通过普通环境变量或配置文件注入;
- 凭据通过
secret: true注入,持久状态写入/stateVolume。
这种布局让 Sandbox 可以随运行销毁,而任务状态不会跟着失忆;镜像可以升级,而目标仓库 不必烤进镜像;Secret 可以轮换,而不会出现在 Git 历史里。
Skills 属于能力包,不是秘密抽屉¶
Skills 可以随运行环境提供给 Agent,封装稳定工作流和专业知识。但 Skill 内容也应接受 代码审查与版本管理,不应藏入凭据,也不应绕过 Publisher 边界。一个写得很专业的 Skill 仍然只是能力说明,不是特别通行证。
镜像标签应可追溯,平台与 Guest/Runtime SDK 版本要兼容。否则同一份工作流今天成功、 明天失败,最后只能归因于一句在工程界广为流传的咒语:“环境可能有点不一样。”
下一篇,我们讨论怎样证明它哪里不一样,以及失败时应该留下什么。