ARTICLE · 1083263
AI Coding,正在产生更多负债

“代码不是资产,代码是负债”,这是软件工程里一个很早就有的观点。
道理也简单。代码写出来不是就完事了,以后要有人看、有人改、有人维护,出了问题还得查,最后不用了,还得有人敢删。
所以代码这东西,从来不是越多越好。
到了 AI Coding 时代,这个问题变得凸显出来。
代码一直都是负债。以前制造负债速度慢,现在开始“量大管饱”了。
而且我说的不是 AI 写的代码质量差。
恰恰相反。
现在 AI 写出来的代码质量已经相当不错。测试、静态检查、Code Review、质量扫描再跟上,很多问题都能被发现。
真正麻烦的是:
我们拥有了源源不断生产“质量不错的代码”的能力。
以前做一个功能很贵。
一个需求提出来,研发一评估:三天。那就再想想。一周?那就先别做了。
很多需求最后消失了,不一定是我们多有智慧,纯粹是因为做不起。
现在好了。
“这个功能能不能加一下?”——能。“这里是不是再做一个配置?”——可以。“顺便再做个管理页面?”——没问题。
接口、页面、测试、文档,一套带走。
量大管饱。
代码多了,负债也增加了。
更麻烦的是:
感觉AI可以“包治百病”。
客户说需要一个功能,我们就做一个功能。业务说流程这里卡住了,我们就加一个流程。两个系统配合不好,再做一个中间系统。数据不一致,再做一个同步服务。
每一个问题都有答案,而且 AI 很快就能把答案写出来。
于是,我们反而少问了一句:
为什么会有这个问题?

我们看到的需求、故障、流程卡点,很多时候只是露出水面的那一小块。
真正需要做的,也许不是马上解决它,而是:
看清问题背后的运行方式
这个问题是怎么产生的?
为什么以前没有,现在有了?
是缺一个功能,还是流程本身就不合理?
是系统能力不够,还是原来的边界就划错了?
一层一层往回找,有时候会发现:
真正需要改变的,根本不是代码。
改一下流程,问题没了。
重新划一下边界,问题没了。
把已有能力重新组合一下,也解决了。
甚至把问题重新想一遍,会发现:
原来的问题根本就不成立。
所以我现在越来越觉得,AI Coding 的第一层,是写得更快。
再高一点,是写得更少。
最高一层,一行都不写就解决问题。
《孙子兵法》讲“不战而屈人之兵”。
Coding其实也一样。
以前我们最骄傲的是:
这么难的问题,我终于把它写出来了。
AI 时代,也许更值得骄傲的是:
解决这个问题,我一行代码都没写。
不是为了少写代码而少写代码。
而是看清了问题背后的运行方式以后,发现有些代码从一开始就不需要存在。
AI 已经很会写代码了。
接下来,可能轮到我们学习怎么让AI写得更少。
延伸阅读
Eric Lee — Source Code Is A Liability, Not An Asset(2009)https://saintgimp.org/2009/03/11/source-code-is-a-liability-not-an-asset/
Marcel Weiher — Code is not an asset(2008)https://blog.metaobject.com/2008/08/code-is-not-asset.html