首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Uncle Bob 的 AI 编码质量流水线:Gauntlet 闯关接力与架构治理

Uncle Bob 的 AI 编码质量流水线:Gauntlet 闯关接力与架构治理

作者头像
乔梁-北京
发布于 2026-09-16 21:36:14
发布于 2026-09-16 21:36:14
1330
举报

 Uncle Bob(Robert C. Martin)在 AI Coding 方法论里的判断是:

别再靠长 Prompt 训话,要把软件工程纪律拆成『确定性工具 + 短命窄职责 Agent + 人守边界』。

Uncle Bob 总结出下面的质量保障流水线(5 角色 Gauntlet),以及架构治理与小步实现两步展开到可落地的颗粒度。


1 质量保障流水线:5 个 Agent 角色的『闯关接力』

这条流水线叫 Gauntlet(关卡)。每个 Agent 只干一件事,干完就退出,下一个 Agent 从干净上下文接手,用 git worktree 或交接文件传物,不累积『思维残渣』。单 Agent 5 分钟出活但质量存疑;过完整条线约 1 小时,换人类半天,且质量更高。

角色

输入

核心动作

输出与门槛

Specifier(规格器)

人话需求文档

转成 Gherkin(Given-When-Then)验收场景 + 人工视角 QA 步骤文档

可执行验收规格;歧义不猜,反问人

Coder(编码者)

Gherkin 规格

写单测 + 实现,跑通验收场景(红→绿)

行为正确的代码,不要求同时整洁

Cleaner(清洁工)

Coder 产物

跑 CRAP 分析、拆高圈复杂度函数、DRY 审查、补测

CRAP/复杂度达标(Agent 阈值放宽到 6–8,人 4 以下)的干净代码

Hardener(加固器)

Cleaner 产物

变异测试:把 > 改 >=、+ 改 -、布尔取反,看测试能否抓到;存活变异体=测试无效

零存活变异体、高覆盖的『真测试』套件

QA Agent

Specifier 的 QA 文档

转成 UI 驱动可执行脚本,端到端跑真实操作

确定性通过/失败报告,交人审阅

设计要点(反直觉但关键)

  • 上下文隔离  每个 Agent 生→干→死,规避 Lost in the Middle 效应,规则写在头部才不会被埋。
  • 规则外置  TDD 节奏、Clean Code 条文不塞进 Prompt,改成单测门禁、CRAP 门禁、变异测试——Agent 可以忘第 80 条提醒,绕不过失败的运行。
  • 阈值重标定  不把人的认知习惯(如严格 TDD 先写测试、复杂度≤4)硬套 Agent;Agent 短期记忆强,可先写码再补测,复杂度上限放宽到 6–8。
  • 人只看报告  通过/失败、覆盖率、存活变异数、CRAP 分布、依赖违规——不逐行读代码,用 Uncle Bob 的话说——『别审刀路,造量规』。

2 二、架构治理与规划:人守边界,Agent 跑小步

模块边界与依赖规则——必须由人定,工具强制

Agent 擅长战术编码,不擅长战略分层。Uncle Bob 本人仍亲自划模块,再让 Agent 在约束里改:

  • 深模块偏好(Ousterhout)  窄接口、宽实现,Agent 只读接口加单测就能动手,不被内部噪声淹没。
  • 依赖方向黑白名单  A 可依赖 B,B 绝不可依赖 A;违者必须提取接口、依赖反转或拆模块。
  • 架构查看器(类 UML)  人点模块下钻审查,不逐行读。
  • 依赖校验配置文件  作为 Agent 不可修改的『宪章』,CI 里跑依赖图检查,越界即打回。
架构治理:人定边界,工具强制
架构治理:人定边界,工具强制

反瀑布:小步喂故事,快速回环

Agent 极爱写华丽计划,但实现一碰细节就崩——和 70 年代瀑布 SDD 一样失效。做法:

  1. 人给 1–2 个具体 User Story(不是 MRD、不是全量技术方案)。
  2. Agent 跑完整 Gauntlet 出产物加证据包。
  3. 人只看:架构变动、依赖图、权限/钱/并发、QA 报告、存活变异列表。
  4. 手动调模块边界或验收点,再喂下一个故事。
  5. 规格文档是转瞬即逝的,最终代码即规格;不维护『永远正确的前期设计』。

最小可用闭环(团队今天能抄)

不想上 5 Agent 流水线,先跑这个:

  • 需求写成 Given-When-Then(含异常和边界情况)
  • Agent 写码必须带单测,红→绿
  • 一条 make gauntlet 串起:typecheck + lint + 单测 + 覆盖率门禁 + 变异测试 + 复杂度上限
  • 超阈值(变异存活>0、CRAP>8、依赖越界)自动打回 Agent 自修
  • 到人眼前已是『证据包』,人只判架构与风险
最小可用闭环
最小可用闭环

3 三、一句话收口

质量流水线是『让 Agent 自己证明自己对』,

架构治理是『人定边界、Agent 在边界里小步冲』。

两者合起来,就是把《Clean Code》的纪律从『人背规则』重构成『系统强制规则』。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-08-26,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • 1 质量保障流水线:5 个 Agent 角色的『闯关接力』
    • 设计要点(反直觉但关键)
  • 2 二、架构治理与规划:人守边界,Agent 跑小步
    • 模块边界与依赖规则——必须由人定,工具强制
    • 反瀑布:小步喂故事,快速回环
    • 最小可用闭环(团队今天能抄)
  • 3 三、一句话收口
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档