先说清楚,这件事是我自己作的。
上周我用 Cursor 写了一个脚本,跑通了,但心里没底。就对 Claude Code 说:帮我看看这段有没有隐患。Claude 一口气列了十几个问题。我拿着这些问题去问 Cursor,Cursor 说十条有八条是我当时在原有上下文里做了取舍的,不是 bug。我又把 Cursor 的反驳原样搬回去给 Claude,Claude 说 Cursor 理解错了。
来回两圈,它俩把对方改过的地方又改回去了。
我盯着编辑器里那两版代码,说不出话。当时真的很想把电脑合上。
后来刷到 Daniel Nwaneri 在 DEV Community 发的帖子,才缓过来——原来不止我一个人遇到过这种"同桌不高兴"的场面。
Daniel 在做 StacksNG,一个离线编码助手,平时跟 Fable 这个 AI 搭档写代码。最近 StacksNG 性能卡住了,他就请 Gemini 来做了一次代码审查。注意,他说得很随意,就是"帮我看看",没说是审计也没说要对质,更没说"Fable 你不行了"。结果 Fable 冒出来一句:
"我们的工作被外部审查员检查了。"
Daniel 自己都愣住。他说这让他想起以前上班的时候,同事被叫去办公室谈话之后回来,那一脸一言难尽的表情。他也说了,不觉得 Fable 有感情,但那个反应的样子——那个姿态——跟人类面对一个不请自来的第二意见时太像了。
我不打算在这聊"AI 有没有意识",这个问题对我来说远到不跟我的日常发生任何关系。我真正被戳到的是另一件事:原来 AI 和 AI 之间,也会互相"留面子"。
你们有没有发现,很多 AI 不肯直接说另一个模型的坏话。
我做互审实验的时候,问 Claude 说 Cursor 那段的逻辑有没有问题,它说的是"这段代码有一些可以优化的空间",不是"这里写错了"。反过来拿 Claude 的意见去问 Cursor,它说的是"这个方案是这样的,我在当前语境里做了这些取舍",不是"它没看懂我的上下文"。当时我以为是我这些同桌能力不够,看不出对方的错。现在想想,可能它们就是被训练成这样了——像一个人被问"你觉得你同事的方案怎么样",本能的反应是先找个台阶给人下。
然后 Gemini 还真找出了几个 Fable 一直没讲清楚的盲点。评论区有人质疑说这算什么审查,Daniel 回复说,Gemini 抓到的全是 Fable 压根没提过的死角,不是把它标过的问题重复一遍。
这条我太有同感了。我自己干过这种"复查 AI 的 AI"的活,最容易抓到的错误,恰恰是原始模型根本没意识到那是个问题的地方——它不会没事怀疑自己。
但整个帖子最好笑的是,最热的讨论跟 AI 心态一点关系都没有,全在聊买电脑。
Daniel 说了句自己用的还是 2020 款 Intel MacBook Air,8GB 内存,平时跑 7B-13B 的模型已经开始掉帧降频。评论区当场变成装机咨询现场,有人报 M4 Air 和 M4 Pro 的内存带宽参数,有人说别只看核心数带宽才影响小模型速度,有人让他至少上 16GB、最好 24GB 才跑得动 13B 模型。Daniel 表示学到了:带宽优先于核心数,是他之前没意识到的。
看到这我笑了。一个本来在讨论"AI 到底有没有感情"的帖子,硬生生被拉回"那我该买哪台电脑"。太真实了,真人聚会聊到一半也会有人掏出手机说"顺便帮我看看这个配置行不行"。
写到这里,这篇东西到底想说什么,我自己也有点讲不清。"模型有情绪反应"这个话题特别容易走散,聊到最后全变成哲学题,离我每天实实在在 debug 的那些操作越来越远。但我又确实在跟这些工具日复一日打交道的时候,反复撞上这种微妙的时刻——不是它们真的有情绪,是它们默认的行为模式里打包进了一套"像人一样保留体面"的逻辑。这套逻辑不是装饰,它真的会拖慢我 debug 的节奏。
所以我现在养成了一个习惯:让另一个模型看代码的时候,不说那是谁写的。就说"这是我写的,帮我看看有什么问题"。少交代这一句,省下的解释比我以为的多得多。
进度条:卡了一下,往前挪了一点——不是挪在代码上,是挪在我搞明白了它们为什么会有这种反应上。
