Vibes Don't Maintain:AI 生成的代码为何难以维护

自从 ChatGPT 走红以来,许多管理者认为软件工程师即将失业。我的一位朋友用 Claude Code 零代码生成了一个餐厅管理 App,界面整洁且功能看似完备。然而,当我深入检查时,发现它缺乏响应式布局、登录验证、错误处理以及多语言支持等关键要素。这只是一个完美的点击原型,而非可维护的生产系统。软件的核心价值往往在于那些从未在演示中出现的“安全带”和“安全气囊”,即应对异常和灾难的代码。AI 让执行变得廉价,却无法替代工程师对系统全貌的理解和规划。如果输入只是对理想路径的模糊描述,输出也只会是脆弱的理想路径。真正能幸存下来的不是代码本身,而是记录设计意图、决策过程和规范的文档。
软件大部分是安全带,演示中展示的顺利路径只是代码库中最小的一部分。
HN 评论区
42- erelong
我懂你的意思,但这似乎有点言过其实:当应用出问题时,他们会请 AI 来维护(效果参差不齐),而且一开始他们就可以让 AI 进行检查,提前发现一些可能需要的东西。
我觉得更具讽刺意味的是,无论是专业人士还是业余爱好者,都缺乏一套可以遵循的模板(无论是否使用 AI),比如可能出现的各类问题清单……其中很多问题本可以通过模板或清单(辅以 AI 协助)来处理。
- DonsDiscountGas
观点不错,但到了这个阶段,如果餐厅老板能用非技术语言清晰表达需求,我敢打赌 Claude 或 Codex 能做得很好。这说起来容易做起来难,但绝非火箭科学:
* 做一个给员工排班的应用。
* 需要处理多用户,并智能地协调编辑冲突。
* 需要同时适应英语和西班牙语使用者。
* 需要身份验证。
* 需要 99.9% 的可靠性。
这已经能解决大部分问题了。当然,餐厅老板可能需要进行迭代,但这不是一直以来的常态吗?现在的迭代并不需要雇佣外部帮助。
- Vishal_Max
这已经不完全正确了,但我确实同意一点:AI 无法可靠地一次性或在几天内构建整个应用,而且你完全可以期待开发者自己也会犯同样的错误,即使是大型团队也会犯错,遗漏边缘情况。
- BubbleRings
> "……或者那些从未在生产环境中执行过的部分,因为它们是为了应对某人坐下来想象的最坏情况而存在的。"
说得真好。
> "这是代码本该做什么的记录……写在某个地方,人类或智能体可以读回来。我们的是 git 里的 markdown 文件……"
我不断感到惊讶的是,我认识的许多相当懂技术的人,虽然在使用 AI 做实实在在的工作,却从未接触过 markdown。
如果你就是其中之一,请允许我提个建议:
停下。在你完成以下步骤之前,别再向 ChatGPT 或 Claude 提问了:
- 在你的 Windows 或 Mac 机器上安装 Typora。
- 使用 Typora(或其他支持 markdown 的编辑器,不过 Typora 就很好了)写一个长达一整页的 .md(markdown 文本)文件。至少要用到一级标题、二级标题和下划线格式。
- 让这一页文件成为一个复杂的 AI 请求。比如“研究 x,将其与 y 进行比较,猜测未来会发生什么,这里是我的一些观点和猜测,请简短回复,并提供参考文献”。
把这个 .md 文件交给你喜欢的 AI。(如果能用拖拽功能或让 AI 指向文件所在的目录,那就更棒了。)看看结果。修改一下你的 .md 文件,再交给 AI,看看不同的结果。
在我看来,如果你用键盘工作,并且过去 8 个月一直在使用 AI,那你应该在 4 个月前就完成上述操作了。在你做到之前,你将很难理解如何有效地利用 AI 进行工作。
- fk202611
我只能读懂基础级别的代码,所以我和这篇文章的作者处境一样。我用 AI 构建了一个诊断应用。通过最初的提示词,我让它生成了诊断结果。然而,当我要求 AI 进行修改时,有时其他部分就会出错。每次发生这种情况,我都得让 AI 重新检查代码。