你的AI编码工具必须降低维护成本否则得不偿失
你需要的是能降低维护成本的AI
我直截了当地说吧:你用来写代码的AI编程代理,必须降低你的维护成本。而且不是降低一点点。你现在写代码快了一倍?那你最好祈祷维护成本也减半。效率提高了三倍?那维护成本也得降到三分之一。否则,你就完蛋了。你在用暂时的速度提升换取永久的枷锁。
哦,你想知道为什么?当然可以。我们开车兜一圈。在黑暗的沙漠公路上……
生产力由维护成本决定
你写的每一行代码都需要维护:修bug、清理代码、升级依赖项等等。我说的不是新功能或改进,只是纯粹的维护。你每花一个月写代码,接下来一年里就要花一定时间维护这些代码,之后每一年也是如此,永无止境,只要代码还存在。
假设你问一群,比如50个开发者,这些维护成本是多少。运用“群体智慧”的方法,你能得到一个相当准确的回答。¹
¹ 欢迎你自己做群体智慧调查!但事实证明,具体数字对我在这里要论证的总体观点并不重要。
你的群体可能会告诉你,你每花一个月写代码,就要……
* 第一年花10天维护; * 之后每年花5天维护。
如果你特别钻牛角尖,可以花几个小时做个电子表格,模拟这些估算值如何影响长期生产力。就像这样一个表格。
新项目的第一个月是辉煌的。你把所有时间都花在构建花哨的新功能上。
第二个月就没那么辉煌了。一小部分时间——不多,就一点点——被用来修复第一个月留下的bug和清理设计失误。第三个月,又多了一点点。第四个月,第五个月,第六个月……
最终,辉煌荡然无存。根据我们群体的维护估算,两年半后你将把超过一半的时间花在维护上。十年后,你几乎什么都干不了。
把群体的维护估算减半,你就能多出三年才达到50%这个节点。翻倍的话,不到一年就低于50%了。
结论很明确。如果你想要一个高效的团队,就必须关注他们的维护成本。
所有模型都是错的
这些数字你信吗?我是信的。在我作为咨询顾问的职业生涯中,我专门研究晚期创业公司,它们全都遇到了上面图表中显示的问题。大约在5到9年的时间点,他们发现团队不再高效,然后就来找我。
他们的团队其实不像图表显示的那么糟。也许他们的维护成本更低。或者……更可能的是,我觉得……他们的维护成本就是那么糟,只是他们用其他方式掩盖了问题罢了。他们可能:
* 决定不修复所有bug,也不升级所有依赖; * 团队变慢时就加人……然后继续加,因为永远不够; * 彻底废弃一切,从头重写。
精确的维护数字可以讨论,但整体模型感觉是对的。如果你经验丰富,你会知道这张图是真的。你见过生产力如何随时间流逝而消融。你也有伤疤。
这和AI有什么关系?
关系大了去了。
假设你的团队刚开始使用Rock Lobster——最新最棒的代理式编码框架——它让你的代码产出翻倍!!呜呼!但代码更难懂了,团队被拉取请求淹没了,你也许大概可能有点点不怎么看代码就直接点了批准按钮。真的,完全不看。我是说,你在无聊的会议中偶尔扫一眼,那肯定够了吧,对吧?LGTM,赶紧把这破事搞定!
于是你现在一个月能干出两个月的工作,假设每个“月”的产出的维护成本翻倍了。那么下个月的维护成本就是原来的四倍。
哦。
大约在你开始使用Rock Lobster五个月后,你的生产力回落到了起点;又过了几个月,情况比从来没用过Rock Lobster还要糟糕。
我不是说你的AI让维护成本翻倍,也不是说生产力翻倍。这只是个极端的例子。但即使你的AI生成的代码和人类手写代码一样易于维护,生产力提升也不会持久。
你想什么时候退房都行²
² 但你永远无法离开。
代理很贵,而且只会越来越贵。一旦你的代理变得不划算,你可能会决定省点钱,回到老方法写代码。像个穴居人一样,用你的手指。
哈!上当了吧!当你停止使用代理,所有生产力提升都消失了……但增加的那些维护成本并不会消失!只要那些代码还在,你的生产力就会比从未碰过代理时更低。
归途
只有LLM降低了你的维护成本,并且降低的幅度恰好与代码增加的速度成反比,数学才成立。如果你的产出翻倍,维护这些产出的成本也翻倍,2乘以2等于维护成本翻了四倍。如果你的产出翻倍,维护成本保持不变,2乘以1等于维护成本还是翻了一倍。
相反,你必须反比于生产力提升来降低维护成本。如果你产出两倍的代码,就需要代码的维护成本减半。三倍代码,维护成本降到三分之一。
这就是成功的秘诀:享受所有好处,却没有被锁定的风险。
我们能杀死这头野兽吗?
我不知道。我阅读了所有最优质的新闻来源,都说编码代理会增加维护成本。有些人说它们帮助他们更好地理解大型系统。但大幅降低维护成本——达到我们需要的程度?没有。恰恰相反。
这是个问题。模型并非对现实的完美描述,但总体信息是正确的。你需要的是能降低维护成本的AI,且降低的幅度要与新代码带来的速度提升成比例。没有这一点,你就完蛋了。你在用暂时的速度提升换取永久的枷锁。
所以,没错,去追求编码速度的提升吧。但花同样多的时间去追求维护成本的降低。否则,你也会被困在加州旅馆。
多么好的地方。
多么漂亮的脸庞。
尽管看起来像,但这并不是一篇反AI的咆哮。还有其他杠杆可以拉动,比如让维护本身更高效的AI,即使它不能让代码更易维护。我鼓励你复制这个电子表格,并尝试模型中的所有杠杆。看看当你把假设改成符合你的实际情况时会发生什么。