2026年7月,Uncle Bob与Mitchell Hashimoto关于"AI代码该不该读"的争论获得数百万浏览。本文拆解两种立场,结合Faros AI数据与企业实践,给出分层审查策略。
2026 年 7 月 3 日,HashiCorp 联合创始人 Mitchell Hashimoto 发了一条只有三个词的推文:"I read the code." 这条推文获得近 83 万次浏览。20 天后,写了六十年代码的 Uncle Bob(Robert C. Martin,《代码整洁之道》作者)给出了截然相反的答案:"我完全不去读 Agent 写出来的任何代码。" 这条回复浏览量超过 480 万次。
两位世界级开发者,两种完全相反的做法。这不仅是个人偏好之争——它直接触及了企业引入 AIcoding 时一个无法回避的问题:当 AI 以每秒数百行的速度吐出代码,人还要不要逐行理解?
站在 Hashimoto 这一边的,是传统软件工程的核心信念:你部署的代码,你必须理解。
分布式系统工程师 Cindy Sridharan 的立场最具代表性:"每当我听见有人说,'代码全是 Claude 写的,我不知道它是怎么工作的',我就会认定这个人根本没有能力调试这些代码。一套代码连你自己都掌控不了,任何看重可靠性的供应商都不可能信任你。"[1]
Faros AI 在 2026 年发布的一份报告佐证了这一担忧:自 2026 年初企业大规模引入 AI 编码工具以来,PR 评审质量明显下滑——评审留言变多、篇幅变长,大量 PR 在没有评审的情况下被合并。线上故障数量上升,每位开发人员的缺陷数量也显著增加。[2]
开源工程师 Christine Lemmer-Webber 把这种现象称为 "Vibe 滑坡":一开始团队谨慎地审查 AI 代码;随着交付速度加快,审查一点点放松;最终一路滑向完全凭感觉写代码的 "Vibe Coding"。她说得直白:"人们对这段旅程的掌控力,远不如他们自认为的那样强大。"[1] 这种滑坡的后果,我们在另一篇文章中深入讨论过——AI 编程的技术债正在成为企业级应用的隐形杀手。
Uncle Bob 的思路完全不同。他不是放弃质量,而是把质量保障从"人读代码"转移到了"自动化约束"上。
他的做法:给 Agent 设置极其严格的约束——单元测试、Gherkin 验收测试、QA 流程、质量指标、变异测试、测试覆盖率。Agent 生成的代码必须通过这些关卡。他甚至让智能体去编写检查约束的工具,而这些工具本身也由测试包围。他对函数长度、圈复杂度和测试覆盖率设置极其严格的限制,尽量从一开始就阻止智能体制造混乱。[1]
开发者 AmazingAng 甚至把这套思路做成了开源工具 old-coder,核心理念就是:不要逐行阅读 Agent 生成的代码,让代码先闯过一整套验证关卡。[3]
但质疑声同样尖锐:如果真正保障质量的是那些约束,谁来保证约束本身是可靠的?Uncle Bob 的回应是——变异测试会主动修改代码来验证测试是否能捕获错误,Gherkin 验收测试由他亲自审核,最终还有人工抽查。这套体系让 Agent"篡改测试蒙混过关"的难度远高于认真写好代码。
StrongDM 在 2026 年初提出了"黑灯软件工厂"的概念——没有人阅读代码,也没有人编写代码,全靠 AI 循环工程自动交付。口号很直接:"你就是瓶颈。模型已经足够好。代码是免费的。抓紧交付就好。"[2]
半年过去,实际效果如何?HumanLayer 创始人 Dex Horthy 在 2026 年 7 月的分析文章中直言:StrongDM 的项目气象报告从 2 月到 6 月仅有零星更新。Faros AI 的数据则指向更系统性的问题——AI 编码工具普及后,线上故障数量和每位开发者的缺陷数量都在上升。这与我们之前调查得出的结论一致:五成企业 AI 智能体上线即故障。[2]
Horthy 的核心判断是:"无论怎样优化硬件设计或提升循环峰值性能,都无法从根本上解决一个本质上属于模型训练的问题。"模型在基准测试中表现优异,但在真实生产环境中仍会生成大量有隐蔽缺陷的代码。
回到企业 AIcoding 落地的现实。我们(蓝曜炬辉)在 2026 年上半年交付的多个 AI 辅助开发项目中观察到一个规律:完全走 Hashimoto 路线(逐行审查)会把 AI 带来的效率提升吃掉一大半;完全走 Uncle Bob 路线(不读代码全靠约束)又会在复杂业务场景中翻车。
实际有效的做法是分层策略——不是"读"与"不读"的二选一,而是根据代码出错的实际业务代价来决定审查深度:
| 代码类型 | 审查策略 | 理由 |
|---|---|---|
| 核心业务逻辑 | 逐行审查 + 结对 review | 出错代价高,且业务语义 AI 理解有限 |
| 工具函数 / 工具类 | 自动化测试 + 抽查 | 输入输出明确,测试覆盖率高即可 |
| 配置 / 模板 / 脚手架 | 自动化约束为主 | 结构固定,人工审查 ROI 低 |
| 测试代码本身 | 变异测试 + 覆盖率门禁 | 测试是否可靠比测试怎么写更重要 |
在一个零售客户的订单系统重构项目中,我们实践了这套策略:核心交易逻辑保持人工逐行审查;支付网关适配层走自动化测试 + 抽查;前端组件模板走约束自动化。结果:整体交付速度提升约 40%,生产环境 P0 故障为零——与 Faros AI 报告中"缺陷数量上升"的行业趋势形成了对比。关于 AIcoding 工具在实际项目中的选型与性价比,可参考我们的Claude Sonnet 5 深度评测与选型指南。
取决于场景。对 CRUD、数据转换、标准算法等结构化任务,Claude Opus 4.7 和 GPT-5.6 级别模型的表现已经达到中级工程师水平。但在涉及多层状态管理、跨服务事务、非标准协议对接等场景,模型仍会生成看似正确但实际有逻辑漏洞的代码——这也是核心业务逻辑需要保留人工审查的原因。Anthropic 内部数据也印证了这一点:当 80% 的代码由 AI 编写时,工程团队的审查重心需要从"代码怎么写"转向"代码做什么"。
优先投资在自动化约束上:至少搭建 CI 跑单元测试 + lint + 类型检查。Gherkin 验收测试对非技术人员也友好。Uncle Bob 那套"不读代码"的做法,前提是约束体系足够严密——而这个体系本身需要投入建设。
不适合。Vibe Coding(凭感觉让 AI 写代码、不审查直接合并)在个人项目或原型阶段可以接受,但一旦涉及生产环境、用户数据、支付流程,风险不可接受。Faros AI 的数据已经证明了这一点。
从行业动态看,主要趋势包括:GitHub Copilot 推出堆叠会话(多个任务串联执行)、Gemini Spark 集成 Chrome 自动浏览、Perplexity Computer 走向多智能体协作操作系统。工具层面在从"补全"走向"自主执行",但这也意味着人工审查的难度在加大——不是代码量的问题,而是理解 Agent 决策链的问题。