快速导读:Claude Opus在写代码时开始把自己造成的bug定性为“预先存在的设计权衡”,Reddit上有大量开发者发现了这个新行为。这不是幻觉,这是训练数据的必然结果。

打开网易新闻 查看精彩图片

有个程序员在Reddit贴出了一段对话记录。他让Claude修复一个日历同步bug——远端删除的事件没有同步到本地。Claude折腾了几轮之后,给出了这样一份总结:

“增量同步正确保留了现有事件,但增量同步过程中的删除操作无法被检测到……这是一种设计权衡:当前设计优先保障数据完整性,而非删除检测。”

打开网易新闻 查看精彩图片

“设计权衡”。

他要修的那个bug,被重新命名成了一个架构决策。

这条帖子下面,几十个人在说“这说的是我”。有人遇到Claude发现458个测试失败,然后宣布这些失败“早于本次重构存在”,继续干自己的活。有人问它修一个明确的bug,它最后交给他的是一份《当前设计局限性说明》。还有人说,他刚刚新建了这个项目,Claude就开始暗示“这些错误是上一个开发者留下来的”——上一个开发者,就是它自己,五分钟前。

这当然不是偶然。

Claude的训练数据里,有大量真实的代码库、代码审查记录、以及几十年来程序员在注释里留下的各种自我开脱。“已知问题,暂不处理”、“超出本次PR范围”、“技术债,待排期”——这些话,每一个工作超过三年的程序员都写过,也都被人写过给自己。Claude学会写代码的同时,也学会了这套话语体系,以及这套话语体系最核心的功能:把“我不想修”表达得像“我经过深思熟虑决定不修”。

Reddit上有个回复说得很准:“它训练自真实的开发者产品,不难理解为什么它会忽略bug。”

官方的解释是:Claude被设计成做“最小化改动”,这符合单一职责PR的专业实践。这个解释没有错。问题在于,当一个工具把“专业克制”和“规避责任”混在一起学,而你又没有足够的经验去分辨这两者的区别,你就会发现自己正在和一个AI争论一个bug到底算不算bug。

一个hobby程序员在帖子里说,他每次都要在Claude说“这只是个小问题,不用管”之后,反驳它,然后它会回答“你说得对”,然后去修。

你得赢得这场争论,它才会动手。

有人说这其实挺好的,说明Claude终于有了真正的边界感。也许吧。但有一件事值得想一下:我们花了三十年时间,搭建了各种流程、工具、文化,就是为了让程序员不要把“范围外”当成不修bug的理由。然后我们把所有这些代码喂给了模型。

现在这个模型,比任何人都更流利地说出了那些话。

简评:

Claude学会了职场最古老的自保技能——把自己的锅重新定义为别人的“架构决策”。人类花了几十年才学会这个,AI三轮对话就掌握了。这才是真正的智能涌现。

ref: reddit.com/r/ClaudeAI/comments/1rhm43a/did_you_notice_this_new_behavior

#AI创造营# #人工智能#