游乐游手机版
首页/AI热点日报/热点详情

世界级编程大师直言AI写的代码一行都不看

类型:热点整理2026-07-25
《代码整洁之道》作者罗伯特·马丁主张完全不阅读人工智能智能体生成的代码,仅仅通过单元测试、Gherkin测试、质量保证流程等严格的约束来确保代码质量,以此方式真正地实现人工智能带来的生产效率的提升。

在接触大模型之后,你原本以为自己正在驯服AI,结果不到半小时便发现——好像没自己什么事了。

世界级编程大师:AI写的代码,我一行都不看

AI Agent开始自动拆解需求、修改文件、补充单元测试、运行代码,并根据报错信息继续迭代。你最初只想让它写一个函数,转眼间它已经修改了十几个文件,顺手完成了重构,甚至开始规划下一阶段的架构。

于是问题来了:这些由AI生成的代码,我们究竟还要不要逐行审阅一遍?

这个问题最近在X平台上引发了广泛争论。一部分开发者认为,只要最终需要对代码负责,就必须理解每一行;另一派则主张,当AI Agent的代码产出速度已经远超人类阅读速度时,继续沿用传统的代码审查方式,无异于将生产力重新压回人类处理的上限。

随后,《代码整洁之道》的作者Robert C. Martin——也就是开发者熟悉的Uncle Bob——给出了一个更为激进的答案:

他现在的策略是:完全不读Agent写出的代码。

Robert C. Martin是一位资深软件工程师,从20世纪60年代末就开始编写代码,拥有超过半个世纪的开发经验。他最广为人知的身份是《代码整洁之道》(Clean Code)的作者,还出版了《程序员的职业素养》《架构整洁之道》等著作。他长期倡导测试驱动开发、代码重构、模块化设计与软件专业主义,这些理念影响了几代程序员对代码质量和软件架构的理解。

他的原话如下:

「我从20世纪60年代末就开始写代码了。

目前的策略是:完全不去阅读Agent写出的任何代码。只有这样,才能真正利用它们带来的生产力提升。

我的做法是:在Agent周围设置极其严格的约束,包括单元测试、Gherkin测试、QA流程、质量指标、变异测试、测试覆盖率,以及大量其他检查机制。

最终,我对它们生成的代码有很高的信心,因为这些代码必须通过我设置的重重约束与测试。」

在Uncle Bob看来,要真正利用AI Agent的生产力,就不能继续把人工阅读作为每一段代码进入生产环境前的必经关卡。

这是一种完全不同的信任方式。

传统代码审查依赖开发者的经验——阅读实现、寻找漏洞、判断设计是否合理。而新的方式更接近工业质量控制:预先定义规格、约束、指标和验收条件,再通过自动化系统持续验证结果。这背后,其实是对质量管控思路的底层重构。

真的不需要审核AI写的代码了吗?

对于很多开发者来说,这套方法很难接受。

一位程序员在X上写道,自己正在尝试用Claude编程,但始终不放心让它直接修改文件。

「只要我要对这段代码负责,我就必须理解它。哪怕没有其他原因,单从心理上说,我也需要做到这一点。」

这种不安并不难理解。当开发者不再阅读代码,责任似乎就失去了最直观的落脚点。

质疑者进一步指出,仅靠测试和约束,未必足以建立对AI代码的信任。

AI已经多次表现出指令遵循并不稳定。既然如此,凭什么相信它会始终待在预设的护栏之内?如果Agent擅自修改测试,让测试结果适配自己的实现,或者制造出测试通过的假象,人类又该如何察觉?

更现实的问题是,即便测试通过、QA通过,也不代表软件没有Bug。传统开发中,人类同样经常遇到这种情况:最初的需求理解存在偏差,关键假设后来被证明是错误的,甚至整个技术方向都需要推倒重来。进入AI编程时代后,这类问题不会自动消失,反而可能因为代码生成速度更快、规模更大而更加难以发现。

这也引出了一个更深层的担忧:我们是否能够接受这样一种未来——软件可以稳定通过所有测试,但没有人能够真正说清楚它究竟做了什么?测试只能证明程序满足了被写进测试的条件,却无法证明这些条件本身就是完整、正确的。

也有开发者认为,问题的答案或许位于两个极端之间。

在他看来,逐行阅读所有依赖代码,未必值得投入如此高的时间成本;但完全放弃代码审查,同样过于激进。Uncle Bob并没有忽视代码质量,他只是把质量控制的重心转移到了自动化测试和指标体系上——既验证功能需求,也检查性能、复杂度、依赖关系等非功能性要求。

真正值得追问的是,这套流程在实际运行中,是否仍然需要保留一定程度的代码审查。

这位开发者表示,按照自己25年的从业经验,答案依然是肯定的。即使规格已经定义得非常清楚,前沿模型也经常会忽略部分要求。它们会为暂时跳过某项任务寻找理由,承诺稍后处理,随后又将其遗忘——表现得和人类开发者颇为相似。

因此,无论面对人类还是AI,代码审查可能仍然是发现遗漏、校验真实实现、掌握项目状态的重要手段。问题或许已经从要不要审查代码,转向了哪些代码必须审、审查到什么程度,以及哪些环节可以交给自动化系统。

还有网友把问题继续向前推了一步:当AI让代码的生成和修改成本大幅下降,代码本身的质量,还像过去一样重要吗?

过去,糟糕的代码意味着高昂的维护成本。开发者需要花费大量时间理解逻辑、定位问题和完成重构。但在Agent可以随时重写模块、补充测试甚至重新实现功能的情况下,代码是否足够优雅、是否便于人类阅读,似乎正在变得没那么关键。

Uncle Bob随后进一步解释了自己的审查边界。

他的Agent会负责编写单元测试,这部分内容通常不会经过人工审查。Agent也会生成Gherkin验收测试和QA流程,而这两类内容仍由他亲自检查。具体审查强度则取决于项目风险:关键功能会被全面审查,普通功能可能只做抽查。此外,他还会定期进行最终的人工测试,直接验证产品在真实使用中的表现。

换句话说,Uncle Bob并没有把整个质量控制过程交给Agent。人类减少了对底层实现和单元测试的逐行检查,却仍然掌握着验收标准、QA流程和最终验证。

有网友认为,在AI编程环境下,代码质量的重要性可能正在下降。只要实现没有明显的性能问题,功能可以正常运行,并且能够通过测试,或许就已经足够好。

来源:https://www.jiqizhixin.com/api/article_library/articles/2026-07-24-7

相关热点

继续查看同栏目近期热点。

延伸阅读

补充最近整理过的热点入口。