Agent 工程纪律
通过强制执行工程工作流来约束 coding agent 行为的方法论,核心是让 Agent 少猜、少自信胡写、少写完再补测试。
#type / concept
#status / evergreen
#tech / ai
[!info] related notes
- 所属 MOC: Coding Agent MOC
- 前置概念: Autonomous Coding Agent
- 并列概念: Skills 是什么,为什么重要
- 关系笔记: Superpowers 工作流与核心技能, AI 编码时代的 TDD
- 相关资源: Superpowers
Agent 工程纪律
一句话定义
Agent 工程纪律是通过强制执行系统化的开发工作流来约束 coding agent 行为的方法论,目标是把 Agent 从”会写代码的聊天机器人”变成”按工程流程工作的开发协作者”。
为什么需要
普通 coding agent 的默认行为是拿到需求直接写代码。这种模式在简单任务上能用,但在真实项目中容易产生 8 类失败模式:
| 失败模式 | 典型表现 | 后果 |
|---|---|---|
| 没问清楚就写 | 需求有歧义直接假设 | 做出来不是用户要的 |
| 计划太粗 | ”加个功能”一步到位 | 多文件改动出错难定位 |
| 直接在 main 上改 | 不开分支 | 出问题难回滚 |
| 写完才补测试 | 先实现后测试 | 测试只是验证实现而非定义行为 |
| 猜 bug 原因 | ”可能是 X,改改看” | 引入新问题 |
| 上下文污染 | 长会话里连续改 | 早期决策被后期上下文覆盖 |
| 自己写自己验 | 写完自己说”测试通过” | 需求偏差无人发现 |
| 声称完成但没验证 | ”做完了”但没跑测试 | 实际没完成 |
纪律机制
每种失败模式对应一种强制约束:
没问清楚就写 → 先澄清需求,一次一个问题
计划太粗 → 写详细计划,具体到文件和代码
直接在 main 上改 → 开隔离分支/worktree
写完才补测试 → 先写失败测试(TDD)
猜 bug 原因 → 系统化调查,找根因再修
上下文污染 → 每个任务用干净的子 Agent
自己写自己验 → 实现者和审查者分离
声称完成但没验证 → 完成前必须跑测试验证
为什么在 AI 时代更重要
AI 很会写”像对的代码”,但不一定真的对。这让工程纪律从” nice to have”升级成必要约束:
- TDD 变成可执行规格和自动验收器
- 设计文档变成防止需求偏离的锚点
- 代码审查变成防止幻觉代码的最后一道关
- 隔离分支变成限制错误影响范围的沙箱
与传统工程实践的关系
Agent 工程纪律不是发明新方法,而是把已有的工程实践(TDD、code review、设计文档、分支管理)强制化、自动化。
传统场景下这些实践靠团队文化和个人习惯维持;在 Agent 场景下,它们需要被编码成 Agent 必须遵守的规则,因为 Agent 没有”职业素养”来主动坚持。
最小记忆方式
Agent 工程纪律 = 把优秀工程师的自觉行为固化成 Agent 的强制流程。