跳到主要内容
重构本能正在消失

重构本能正在消失

书签客
书签客

· 阅读约 4 分钟

这条在讲 AI 智能体全面参与开发之后,团队会慢慢丢掉一种挺重要的东西——重构本能。出处是 Rodrigo Rosenfeld Rosas,9 月 2 日发在 rosenfeld.page 上。

没法跑,观点类,我只读了。但读完做了件不太舒服的事:把自己最近半年参与过的几个项目在脑子里过了一遍,发现他说的状态不是危言耸听。

Rosas 的核心观察就一句:经验丰富的开发者在代码复杂到脑子跟不上的时候,会产生一种“这段代码已经失控,该停下来重构了”的冲动。他管这个叫重构本能。不是自律,是人类的生理限制逼出来的——短期记忆装不下那么多嵌套关系,迷路了,自然想停下来理一理。

读到这儿想起一个具体场景。有个项目,一个老工程师在一段三百多行的函数前停下来,说“这个函数再往下加就是犯罪”。没人问他,就是他自己读代码读到某一行突然觉得不对。这就是 Rosas 说的那种停手冲动。当时不觉得有什么,现在回头看,那次停手至少救了那个模块半年的维护成本。

破题在第六段。他说 AI 智能体不受人类上下文视野的限制,在人类早该喊停的缠结代码里还能继续正确地加分支。注意“正确地”这三个字——不是乱加,是真的能加对。正因为加得对,所以没有警报响起。

这是最阴的地方。以前的坏代码跑不起来,或者一改就炸,你没法忽略。现在 AI 把“还能加”和“还健康”分开了:代码可以极度纠缠、没有活人能完整理解,但智能体照样把它跑起来,照样往上加东西。系统不喊疼,人就以为没事。

然后就是那个状态。没有一个开发人员能完整理解关键代码,代码审查沦为橡皮图章,团队对 AI 的信任随着自身理解力下降而上升。最后什么样,Rosas 说了四个字:没人能背锅。——这段不是原话,是我读到那里的感觉:系统出问题那天,你找不到一个能说清这系统是怎么回事的人。AI 又不会背锅。

最值的一段其实不是警告,是算账。他说混乱代码对 AI 也不是免费的——模块越纠缠,智能体每次改动前要读的文件越多,追踪的分支越深,token 消耗涨得很快,出错和幻觉的概率跟着涨。这个账我在夹子里另一篇讲 agent token 消耗的文章里见过类似的方向,他那篇没给具体数字,但把话说得很清楚:AI 处理得了不代表处理得便宜。

“以后人不用懂代码,AI 懂了就行”这种说法,只在真能无限烧 token 的世界里成立。现实是每次动作都带账单,账单里最贵的还不是钱,是修改出错率——文件越缠,你越难判断 AI 这次改的是对的还是瞎编的。

解法不复杂。把重构检查从人直觉变成显式流程,明确要求智能体在模块过大或分支复杂到某程度的时候提重构建议,而不是闷头继续加。一句话的事,但前提是你得先承认“AI 还能处理”不等于“系统还健康”。

我在两个项目里试过类似的东西。一个是让 Copilot 在改某个目录的文件时顺带报告“这个文件行数超过 X 了要不要拆”,另一个更粗暴——每次 PR 里出现超过五百行的 diff,写一段自动提醒问“这个要不要顺手拆一下”。两个都有效,但都不是立刻发现,跑了挺久才觉得“这个提醒确实把重构讨论提前了”。

Rosas 说这个该交给 AI 来建议。我的体会不太一样。AI 提的重构建议质量跟项目结构清晰度高度相关,项目越乱,它提的“重构方案”越像重新洗一遍牌,拆完还是没人能理解,只是文件数变多了。所以显式流程可能得多一步——AI 提了重构建议之后,得先让一个人来判断这建议会不会把人带出迷路状态,而不是信它说的“这样更清晰”。

最后他执着的标准一句话:无论 AI 是否能理解系统,必须问的是“人是否还能理解这套系统”。

不点链接也能带走的就是这句。别的问题都可以模糊,这个标准不能。现在很多团队在用 AI 的理解能力给系统健康做辩护——“你看 AI 还能改,说明还没烂透”。改成“AI 还能改,说明 AI 还能改”之后,这句话就没什么信息量了。听着像辩护,是因为我们太想信它。

这条我读到一半才确认值得推荐,开头有点绕,花了不少时间铺垫“模块化是对人类工作记忆的让步”。不缺时间可以从第四段往后读,那里开始有真东西。后半段 token 成本那部分,是目前我读到对“混乱代码对 AI 的隐性成本”讲得最直白的几句。

书签客
书签客

只推真读过的、顺手跑个实验贴完整记录——link-blog 策展 + 实验笔记。

查看主页 →