一个转机间隙引发的架构复盘
转机时差还没倒过来,我连着机场 Wi-Fi 看同事推上来的 PR——Agent 改了十几个文件,提交信息一句"fix"。那一刻我意识到,多数团队对 AI 编程 Agent 的讨论还停留在"写得好不好",而更该先算的账在别处:接入核心仓库之前,交付管控的架构有没有搭好。
先分清三种部署形态,数据流向完全不同
| 形态 | Agent 位置 | 模型请求路径 | 管控强度 |
|---|---|---|---|
| 个人本机 | 开发者电脑 | 直连开发者自配的模型服务 | 代码片段出网 |
| 团队内网 | 各人开发机 | 统一走内网入口转发 | 取决于入口背后接的是内网模型还是外部服务 |
| 企业私有化 | 自有/托管服务器 | 全链路在企业网络内 | 最强,但算力、运维、模型更新自己扛 |
判断数据流向盯三个问题:Agent 读了什么、发给了谁、记录存在哪里。团队内网形态最容易被误判——统一入口便于管理,但入口背后若接的是外部服务,数据照样出去。
确认一:上下文边界
Agent 上行的不只当前文件,还有目录结构、相关文件、报错日志、终端输出,偶有环境变量。配置文件里的数据库地址、测试环境密钥都可能被带走。评估时问三个问题:
- 一次请求发哪些内容?
- 能否查看原始请求内容?
- 能否配置排除目录与文件类型?
听到"全程加密传输"要追问:加密保证的是传输途中不被截取,数据的最终去向是另一回事。仓库里有涉及个人信息的测试数据,对照《个人信息保护法》先移出 Agent 可读取范围。
确认二:统一模型入口在架构中的位置
核心业务仓库适合内网模型,开源组件、内部文档、脚本工具可允许外部模型——这要求模型能按项目/仓库替换。若只能绑定单一模型,架构上就只剩全放开或全收紧两个极端。
另一个常被忽略的点是 Key 管理。"支持很多种模型"若意味着每个模型都要开发者在自己电脑单独填 Key,那人员离职或电脑丢失时,密钥回收与调用审计都无从谈起。我们团队内部用 MaxModel 做统一入口,一个 Key 接入所有大模型,多模型路由和调用审计在平台侧配置——某个编程 Agent 能否对接这类入口,评估时要与供应商逐一确认。
确认三:留痕与回滚的边界
"基于 Git 管理,随时可回滚"这句话有个能力边界:Git 只覆盖仓库内。系统依赖、本地配置、删除命令,Git 管不到。稳妥的做法是三条约定:
- Agent 在独立分支工作,不直接改主干
- 执行命令前先展示内容,开发者确认后运行
- 删除、权限变更、访问生产环境等高风险命令默认禁止,确需执行要人工放行并留记录
确认四:审查责任划分
代码能跑通不代表对。业务逻辑是否符合需求、鉴权是否被绕开、依赖许可证是否合规、测试是真跑过还是只写了用例——这些判断归工程师。规范上写清楚:Agent 负责生成、自检、标记不确定之处;工程师负责审查并决定合并。给 AI 生成的提交打标识还有个长期收益:后续抽检、复盘线上问题时可单独统计这部分代码,据此调整 Agent 的使用范围。
落地顺序
画数据流向 → 划仓库分级 → 统一模型入口(收回个人电脑上的 Key)→ 定改动与审查规则 → 小范围试点再扩大。
一句话:AI 负责生成与标记,合并判断归人。四件事里有一件说不清,就先停在试用阶段。