到底要不要人工审阅 AI 生成的代码,我是这么看的:
- 在 agentic coding 时代,自动化测试变得尤为重要。所有能被自动验证的行为都应该被验证。AI 写单元测试很容易,但对于更复杂的集成测试,仍然需要人去搭建——这些工作很多是一次性的,但也有些需要跟着项目迭代。
- AI code review 能搞定 90% 过往需肉眼检查的内容(语法、注释、边界条件、logging、etc),当然前提是团队提供了严格的代码规范。这并不难。
- 仍然需要人把关的那 10%,是「架构设计」。AI 能写出完全符合代码规范,但是架构一团糟的代码。而「设计」往往项目甚至单个功能相关的,很难被规范化。这里人类的经验就很重要了。
- 如何让人从 AI 生成的巨量代码中快速提炼出架构设计?好的做法是让 AI 往 commit message 里加入「修改了哪些代码」的总结,并提炼出架构图。很多 AI code review 产品已经是这么做的了。人不再需要去看代码,看总结就行了。
- 很多场合下,的确没有必要人工 review:比如一次性脚本、使用成熟框架(Django, React)的项目等等。对于那些复杂且会长久维护的项目,人类 review 是必要的,但并不等于人要去读每一行代码。
- 最好维护一个包含设计选择、代码结构的文档,让 AI 实时更新。这对于人和 AI 都有极大帮助,能减少很多不必要的 turns 和上下文开销。