AI 写的代码终究是你的代码
AI-Written Code Is Still *Your* Code. Are You OK with That?
随着 Coding agents 将软件编写成本推向零,我们往往只关注了‘写’的效率,却忽略了‘理解’这一被长期忽视的关键环节。过去,编写代码的过程迫使我们理解它;而现在,AI 代劳让理解变得可选。但这并不意味着责任可以转移。当你构建软件时,你不仅拥有知识产权,更要承担质量、安全、调试和维护的全部责任。在 AI 时代,人类对生成代码的理解正成为新的瓶颈。我们面临的不再是‘能否构建’,而是‘是否愿意拥有’。这不应是代码交付后的意外发现,而应是构建前的清醒抉择。
我们从未需要将理解自己的代码视为与编写它分开的成本,因为编写过程本身在很大程度上就迫使我们去理解它。
HN 评论区
89- Retr0id
> 显而易见,AI 简直就是一座复杂度制造工厂。
> 最近我一直在思考,在 AI 时代,如果我们把“让软件对人类保持可理解性”作为首要设计目标,软件会变成什么样。
我同意,我也一直在想类似的问题。但我不觉得关于“可理解且结构良好的代码应该长什么样”有什么“新”东西。原则和以前一样。
很多由 Agent 生成的代码,看起来就像你给一个热情过头的人类喂了太多兴奋剂,然后让他走最短路径去达成目标。这可能是因为 LLM 还不够“聪明”,无法做得更好,但我认为这也是一个激励机制的问题。你如何在基准测试和无监督训练中奖励“人类可读性”?
- phoghed
> 当你构建软件时,你拥有它
不,我恰恰没有。我的公司拥有它,那个混蛋随时可能二话不说就把我裁掉。
- nasretdinov
有趣的是,从我有记忆起,在任何足够大型且成熟的项目中,主要问题一直是“我们是否想支持它”(而不是“我们能否写出它”)。
现在,变得“大型”本质上已经不再是问题了,但这仍然只占软件工程长期工作的 10-20% 左右。我很感激能把一些苦差事交给 LLM 去做,但本质上,大型项目拖慢开发速度的原因从来都不是无法快速编写大量代码。
- delijati
我们将回到原点,关于“如果我们把让软件对人类保持可理解性作为首要设计目标,软件会变成什么样”这个问题,也许我们会发明一种伪编程语言来获得确定性结果 ;)
- eterm
是的,我完全没问题。AI 让我实现了以前只能梦想的个人抱负规模。
我从来不是那种能轻易坐下来把脑海中的想法直接转化为代码行的人。我见过几个有天赋的人能做到这一点,AI 可能会让他们感到沮丧,因为对他们来说,编码从来不是瓶颈;但对我来说,我总是陷入分析瘫痪,光是写下项目的第一行代码就让人望而生畏。
有了 AI,我能够构建我一直想要的整个程序生态系统。
代码并不完美,但我有足够的理解力去修复架构错误,并引导 AI 找到足够好的解决方案。