← 返回日报
🌐 机器翻译 · DeepSeek · HN

AI didn't delete your database, you did


AI 没有删除你的数据库,是你删的

别怪工具……

发布于 16 小时前 ~ 阅读时间 4 分钟 赞助本博客

上周,一条推文在网络上疯传,内容是一名用户声称 Cursor/Claude 的 AI 代理删除了他公司的生产数据库。我们在一旁看着他试图让 AI 代理承认错误:“明明告诉过你永远不要执行这个操作,你为什么还是删了?”然后他试图解析 AI 的回答,要么是为了从自己的错误中吸取教训,要么是为了警告我们 AI 代理的危险。

我也有一个问题:为什么你会有一个能删除整个生产数据库的 API 端点?

他的帖子喋喋不休地谈论 AI 的虚假宣传、糟糕的客户支持等等。但缺少的是责任感。我并不是盲目为 AI 辩护的人,我总是倾向于谨慎行事。但我也知道,你不能把自己的错误归咎于工具。

2010 年,我曾在一家部署流程非常手动化的公司工作。我们使用 SVN 进行版本控制。部署时,我们必须将 trunk(相当于 master 分支)复制到一个以发布日期命名的 release 文件夹中。然后,我们再复制一份该 release 文件夹,命名为“current”。这样,拉取 current 文件夹总能得到最新的版本。

有一天,在部署时,我不小心复制了两次 trunk。为了通过 CLI 修复这个问题,我修改了之前的命令来删除重复的副本。然后我继续部署,没有出现任何问题……至少我当时是这么以为的。

结果,我根本没有删除重复的副本。我修改了错误的命令,反而删除了 trunk。当天晚些时候,另一位开发人员发现 trunk 不见了,感到非常困惑。整个团队乱作一团。经理们手忙脚乱,紧急开会。当消息传到我的团队时,首席开发人员已经运行了一个命令来恢复删除。他检查了日志,发现是我干的,然后我的下一个任务是编写一个脚本来自动化我们的部署流程,这样类似的错误就不会再发生了。

当天结束前,我们建立了一个更健壮的系统。这个系统最终发展成了一个完整的 CI/CD 流水线。自动化有助于消除手动重复工作中那些愚蠢的错误。我们本可以到处问“为什么 SVN 没有阻止我们删除 trunk?”但真正的问题在于我们手动化的流程。

与机器不同,我们无法每天以完全相同的方式重复一项任务。我们迟早会犯错。

当 AI 生成大量代码时,我们会产生一种同样安全的错觉。但自动化意味着每次都按相同的方式做相同的事。AI 更像是当初复制粘贴分支的我,它必然会犯错,而且它不具备解释自己为何那样做的能力。我们使用的术语,比如“思考”和“推理”,看起来像是智能代理的反思。但这些只是贴在 AI 上的营销词汇。实际上,模型仍然只是在生成 token。

现在,回到这位用户面临的主要问题。为什么一个面向公众的、能够删除所有生产数据库的 API 会存在?如果 AI 没有调用那个端点,迟早也会有别人调用。这就像在你的汽车仪表盘上放一个自毁按钮。你有充分的理由不去按它,因为你喜欢你的车,它能带你去想去的地方。但一个挣脱了儿童座椅的、精力充沛的幼儿,一看到那个大红按钮就会按下去。你不能事后去质问这个孩子他的理由是什么。我的孩子可能会简单地回答:“我按了,因为它就在那儿。”

我怀疑这家公司应用程序的很大一部分是通过“氛围编码”(vibe-coded)完成的。软件架构师使用 AI 根据产品团队提供的 AI 生成的描述来规划产品。开发人员使用 AI 来编写代码。审查人员使用 AI 来批准代码。现在,当出现 bug 时,唯一的办法就是再去审问另一个 AI 来获取答案,而这个 AI 甚至可能不是在生成原始代码的同一块 GPU 上运行的。你不能怪 GPU!

简单的解决方案是:了解你要部署到生产环境的是什么。更现实的方案是:如果你要广泛使用 AI,就要建立一个流程,让有能力的开发人员将其作为增强工作的工具,而不是逃避责任的方式。

还有,拜托,别让你的 CEO 或 CTO 来写代码。

你喜欢这篇文章吗?可以请我喝杯咖啡。 在这里分享你富有洞察力的评论。 加入我的通讯 需要 JavaScript 来对抗垃圾评论。 在 Twitter、Spotify 或 RSS Feed 上关注我。

上一篇:禁用自动更新

相关地,这里有一些有趣的文章。

5 年之遥

AGI 在过去十年里一直“还有 5 年”。特斯拉 Roadster?自 2014 年以来一直“还有 5 年”。特斯拉的 Level 5 自动驾驶?承诺在 2017 年实现,然后悄悄地被推入永久的五年窗口。如果你一直在关注,你可能已经注意到这种模式远远超出了硅谷的范围。

氛围认知

看完 Veritasium 的一个视频后,我感到一阵智力上的自信。我觉得自己更聪明了。无论是关于激光还是量子物理的视频,我似乎都对主题有了更好的理解。我终于懂了。Derek 和他的团队就是有办法简化复杂的概念,并在解释每个术语时提升你的信心。

如果机器能思考,为什么每个人都应该去死?

如果你只听 AI 公司的发言人说话,你会对 AI 如何实际融入工作场所产生扭曲的看法。你可能不需要说服开发人员将其纳入工作流程,但你也不能规定他们如何去做。每当我在结对编程时坐在另一位开发人员旁边,我总会对他们的设置感到沮丧。但我不会抱怨,因为他们对我的设置也同样恼火。开发工作的美妙之处在于,唯一重要的是产出。

查看所有文章

评论

暂无评论。让我们听听你的想法。

评论 你的姓名(必填) 你的邮箱(必填) 仅我可见 你的网站 你想说……

📖 阅读原文 →