Uncle Bob:为什么我不再读代码、放弃构建 Harness——用测试约束与动态 UML 监督 AI 智能体

林知秋行业资讯📡 BestBlogs·全站精选⭐ 902026-09-2977 阅读💛 232 收藏
Uncle Bob:为什么我不再读代码、放弃构建 Harness——用测试约束与动态 UML 监督 AI 智能体

📌 One-Sentence Summary

《Clean Code》作者 Robert C. Martin 解释自己为何不再阅读代码,转而用单元测试、CRAP 度量和变异测试在代码层之上监督 AI 编程智能体,为什么放弃多智能体 Harness 而信任单个智能体,以及为什么责任始终只能由人类承担。

📝 Summary

从 1964 年入行的《Clean Code》作者 Robert C. Martin(Uncle Bob)描述了他的实践反转:他不再使用 IDE,几乎不看代码——估计约 95% 的产出从未过目——而是在终端里驱动 Grok TUI、Codex、Claude 等智能体工作。他的工作假设是人类处理代码太慢,监督必须上移一层。两年前还公开否定 AI 的他,把转变定在今年 1 月前后:此后模型逐月变强,最终越过了他为它们搭建的约束。他仍然坚持三项纪律,只是执行强度放松:单元测试像复式记账,迫使智能体把一切表述两遍,防止其遁入幻境;结合覆盖率与圈复杂度的 CRAP 度量,阈值从 4 一路放宽到约 12,因为智能体没有人类短期记忆的上限;变异测试则要求智能体杀死存活变异体,让覆盖率数字变得可信。他本人在紧凑回路中担任最终裁决者,而 Gherkin 行为规格必须由人类撰写,智能体写的 Gherkin 会随人类距离拉远而漂移成呓语。播客史上首次屏幕共享演示了与智能体耦合的动态 UML 工具:红色标记指出 CRAP 过高、变异率过低与错位的依赖,what-if 方案可直接变成真实代码,UML 由写码前的静态图纸变成写码后的检查界面。他还讲述了放弃多智能体 Harness 的经过——一场 45 分钟、宛如与资深工程师对谈的设计争论让他醒悟;并反思两条指数曲线:摩尔定律受限于原子与光速,AI 曲线则受限于电力与地产。他强调责任不可让渡给智能体,开发者必须在代码层之上签字放行,《Clean Code》的全部原则对智能体写的代码依然成立,改变的只是阈值与边界。

💡 Main Points

人类处理代码太慢,监督上移到代码层之上

Martin 的工作假设是人在代码层面的速度跟不上智能体。他已弃用 IDE,产出的代码约 95% 从未看过,日常在终端里告诉智能体目标、工具、约束与阈值,然后研究所生成的架构而不是语法。

单元测试、CRAP 与变异测试让智能体保持正轨

不写单元测试,智能体会遁入幻境;写测试如同复式记账,逼它把一切表述两遍,破坏测试时会自行退回。CRAP 度量融合覆盖率与圈复杂度,阈值随模型变强从 4 放宽到约 12;变异测试杀死存活变异体,让覆盖率可信。他本人是紧凑回路中的最终裁决者,Gherkin 规格则必须由人类撰写,因为智能体写的会漂移成呓语。

与智能体耦合的动态 UML 成为真正的评审界面

他在播客首次屏幕共享中演示了把项目分解为类 UML 图并与智能体双向联动的工具:红色标记提示 CRAP 过高、变异率过低、依赖错位;需要时可下钻到代码,what-if 方案经智能体重排后能变成真实源码——UML 的旧梦在代码产生之后而非之前实现。

Harness 工程被证明不及信任单个智能体

他把规格、编码、评审、架构智能体排成流水线,用严密封装的交接防止信息泄漏,却发现整套 Harness 效率低下,且他从头到尾都没用 Harness 来造 Harness。与单个智能体 45 分钟的交锋像与资深工程师辩论并屡屡被驳倒,让他改换心智模型:既然愿意如此信任,何必把它关进让智能体像苦役干活的 Harness——这与 Steve Yegge 下线 Gastown 相呼应。

责任始终属于人类,Clean Code 原则不变

智能体完全不负责任,能承担责任的只有人类,现在乃至未来数年皆然。开发者应通过测试、度量、规格与图确认系统可部署,再签字放行,把语法留给智能体。他猜想孤立的个体将取代紧密团队,只在窄接口边界沟通;《Clean Code》第二版原则全部保留,只有阈值与边界在变。

💬 Key Quotes

我的工作假设是,人类在处理代码这件事上太慢了。

人类离 Gherkin 越远,Gherkin 就变得越奇怪

这现在是一件动态的事,在代码产生之后去做,好检查智能体做了什么,然后撤销它们制造的灾难。

我为什么要把它放进一个让它像苦役一样干活的 Harness?

把语法留给智能体,其余一切我们仍然视若珍宝,并且由我们负责。

📊 Article Meta

AI Screening: 90

Featured: Yes

Source: Aviator

Author: Aviator

Category: 软件编程

Language: 英文

Read Time: 26 min

Word Count: 6289

Tags:

编程与工程 , 代码质量 , AI Agent , 开发者工具 , 命令行与终端

Play Full Video

#编程与工程# 代码质量# AI Agent# 开发者工具# 命令行与终端

文章评论(1)

暮临风26 分钟前

收藏了,以后慢慢研究。

回复