跳到正文
Hacker News· dxs·· 13 小时前AI 评分30

为什么“氛围编程”做出来的应用难以维护

Vibes Don't Maintain

AI 导读

一位餐厅老板用 Claude Code 零代码搭出任务管理 Web 应用,界面整洁、数据可持久化,但缺少响应式布局、登录、设置、错误状态与并发编辑处理,本质只是可点击原型。作者指出软件大部分代码是应对故障的“安全带”,而 AI 只让执行变便宜,不会替你想清楚要执行什么,聊天记录丢失后连维护线索都不剩。

正文 · AI 翻译

自从 ChatGPT 火起来之后,总有人跑来对我说类似“你们这行很快就要失业了”的话。

这些人大多是管理者。他们知道这话有挑衅意味,也想看看我会怎么反应——一部分是想试探这是不是真的会成为现实。他们的共同点是,没有一个人真正清楚软件开发到底是什么。不是从外面看起来的样子,而是它本质上是什么。

上周,我经历了一次迄今为止最好的此类对话。


我有个朋友开了一家餐厅。他告诉我,他用 Claude Code 为餐厅做了一个应用——一个用来管理员工任务和流程的 Web 应用。他很自豪,他也完全有理由自豪。他从未写过一行代码,却在屏幕上做出了一个能实现他所描述功能的东西。

我看了一下。做得不错。布局干净,流程合理,数据在页面刷新之间能保留,用起来像个能跑的系统。

然后我开始挑毛病。没有响应式布局——在他员工实际会用的手机上就崩了。没有深色模式 🏴‍☠️。没有登录,所以不知道谁做了什么。没有设置。没有翻译,而厨房里有一半人不会说这个应用所用的语言。没有错误状态。没有处理空数据、重复数据、两人同时编辑同一内容的情况。数据“持久化”的方式只能扛过一次刷新,仅此而已。

它只是个点击原型。一个原型。一个完全够用的概念验证,适合用来进行第一轮关于想法是否成立的讨论——这本身是真实且有价值的东西。

然后他问我能不能帮他托管并做运维。


这是人们对软件最大的误解,而且这跟 AI 毫无关系。

人们看到的是表面。他们看到的是能工作的部分。他们看不到出错时才会运行的部分,看不到为了防止出错而存在的部分,也看不到那些在生产环境中从未执行过一次、只为某人坐下来设想过的最坏情况而存在的部分。

你车里的安全带和安全气囊,运气好的话,从未起过作用。但这不代表它们没用。你系安全带不是因为法律规定,也不是因为车会滴滴叫。你系安全带是因为你明白有一天你可能会需要它。软件大部分都是安全带。快乐路径——演示所展示的东西——只是代码库中最小的一部分。

我的朋友,可以理解,看不到这一点。他的理解是,应用 100% 按预期工作,所以 90% 的工作已经完成。剩下的就是托管。而我不该把它搞复杂。


接下来这个版本会这样发展。

原型几乎免费、几乎瞬间就做出来了。他认定产品已经完成。他甚至可能把它推到用户面前——他的员工开始在实际排班、实际任务、实际日程中使用它。

然后出了问题。数据库文件损坏了。一次依赖更新弄坏了某个东西。有人在公开互联网上发现了这个应用并四处看了看。一个没人记录过的边缘情况触发了。或者我个人最喜欢的:夏令时,排班表里的每个班次都差了一个小时。

一切都炸了。

他不知道他造了什么。他不知道为什么要那样造——推理过程存在于一个已经消失的聊天会话里。他不知道该找什么,也不知道从哪里开始找。没有规格说明,没有测试,没有文档,没有提交信息来解释任何东西的意图。

到那时他有两个选择。找人来修,并准备好把所有的钱都交给对方,因为接手的第一周纯粹是考古。或者跑路出国。

这就是“氛围感不维护”在实践中的含义。氛围感把他带到了演示。从那以后什么都没有延续下来。


这一切都不是“别用 AI”。我们每天都在用。但两件事同时成立。

第一:如果你的背景是烤面包,AI 不会让你成为软件工程师,就像你家里的烤箱不会让你成为厨师一样。它让执行变便宜了。它对于知道该执行什么、或者执行失败时该怎么办毫无帮助。

第二:垃圾进,垃圾出。如果输入是对快乐路径长什么样的松散描述,输出就是一条快乐路径。AI 不会替你发明安全带。它不知道你会需要它们,因为你也不知道。

在热潮中幸存下来的不是代码。而是代码本该做什么的记录——故事、规格、决策——写在人类或代理能读回来的某个地方。我们的是 git 里的 markdown 文件,和 bacon-tracker 放在一起。我的朋友有一段他再也找不到的聊天记录。

那份记录才是你付钱买的东西。不是那个点击假人。

他的请求里还藏着第二个问题,在所有这些“你会失业”的对话里也有:如果这个工具真的能做我的工作,那我到底还在这里干什么?但那是另一天的事了。


第二天我给他打了电话。我告诉他我给自己买了一个 Thermomix——带 AI 的那个——并计划下周开一家餐厅。

他笑了。然后他沉默了一秒。

我希望他懂了。但以我对他的了解,我觉得他没懂。

来源:Hacker News · roll.bybacon.com