Opus 5 发布一周:数据说它更准,体感说它更烦——这其实是同一件事
Opus 5 发布一周:数据说它更准,体感说它更烦——这其实是同一件事
Claude Opus 5 是 7 月 24 日发布的($5/$25 每百万 token,Artificial Analysis 智能指数 61,压过 Fable 5 的 60 和 GPT-5.6 Sol 的 59)。蜜月期一周,社区进入实测定论期——而这次的定论罕见地分裂成了两半。
数据侧,CodeRabbit 的 code review 基准给出一句冷静的判词:「精确率专家,适合与召回型模型搭配使用」。体感侧,ChatPRD 创始人、How I AI 播客主持 Claire Vo 的开场白是:「我讨厌和它共事——然而在盲测里,我把它排在了所有模型之上,包括 Fable 和我心爱的 GPT-5.6。」
「更准」和「更烦」,看起来是两条新闻。把数字摆开之后你会发现,它们是同一件事。
数据线:史上最准,同时更漏、更吵
先看 CodeRabbit 的方法论,因为它比多数厂商评测扎实:96 个错误模式全部来自真实开源 PR 的已验证 issue(不是合成 bug),每个配置跑 3 次,对照当前生产模型组合的 3 次运行。
结果是一组教科书级的 trade-off:
- 可执行评论精确率 39.3%,对比基线 35.2%——CodeRabbit 有史以来测到的最高值
- 已知 bug 召回率 55.2%,对比基线 61.1%——更准的同时,漏掉的真 bug 更多了
- nitpick(低价值挑剔评论)约 92 条,对比基线 23 条——翻了 4 倍
- 全流(含所有评论类别)精确率 28.6%,低于基线的 32.8%
更有意思的是档位实验:把 reasoning effort 降到默认档,发现的问题总数反而最多,但全流精确率跌到 26.4%、nitpick 冲到 110 条。CodeRabbit 的结论值得抄在本子上:「更多推理并不稳定地产出更好的 review。选择 effort 档位,本质是在两种失败模式之间做选择。」
(诚实的脚注:这是 CodeRabbit 的 harness 跑出来的 CodeRabbit 的数字,而它是卖 code review 的——「搭配另一个模型」的结论恰好通向它的产品形态。上周我们在 benchmark 那篇里说过:看分先看谁测的。这份数据的价值在方法论透明,不在数字普适。)
体感线:neurotic AF,和一个赢了盲测的「讨厌鬼」
Vo 给这个模型贡献了两个可能会留在行业词典里的词。
一个是 「neurotic AF」(神经质爆表):「它太胆小、太爱道歉、太害怕了。」标志性案例:一个一行就能解决的 merge 冲突,模型拒绝碰——理由是那个分支属于别人,怕干扰对方的本地工作。她还做了个人格对照实验:问模型觉得自己测试通过了没,Opus 5 答「希望通过了」——她的形容是「一个悲伤的、自我贬低的、需要治愈内心小孩的神经质小 agent」,而对照组 GPT-5.6 Sol「全是松弛感」。
另一个是 「Claudeslop」:指模型语言里的絮叨和不知所云的堆砌——啰嗦作为一种品类,第一次有了专名。
然后是反转。她的 How I AI 盲测(7 个模型、多任务、录播现场揭晓,她自己事先不知道分数)里,Opus 5 拿了第一,前端设计和原型任务尤其突出。她的总结是一句会被反复引用的话:「我最讨厌的同事,干出了最好的活。」(脚注:这是她个人的盲测结果,完整榜单只在她的视频里,无独立复现。)
Every 的 Dan Shipper 给出了同款体验加一个关键补充:他的团队起初发现模型「和指令吵架、活干一半就停」,但删掉为旧模型调教的全部工作流、从零开始写提示词之后,表现「戏剧性变好」。这个细节先记住,实用指南里要用。
把两条线拧在一起:五个现象,一个旋钮
现在把两边的证据并排放:
- 精确率史上最高(数据)
- 已知 bug 召回率下降(数据)
- nitpick 翻 4 倍(数据)
- 胆小、爱道歉、「希望通过了」(体感)
- 拒绝碰别人的分支(体感)
这五件事是同一个训练取向的五次显影:这个模型被调成了「宁可不做,也不做错」。 精确率高,因为它只说有把握的话;召回率降,因为没把握的它宁可沉默——漏报是「不做错」的直接代价;nitpick 多,因为不确定性总要有出口,不敢下重注的判断就以小挑剔的形式渗出来;道歉和自我怀疑是同一姿态在语言层的投影;拒改 merge 冲突是它在行动层的投影——把「谨慎」执行到了连所有权都要避嫌的程度。
所以「数据说更准」和「体感说更烦」不矛盾,它们是同一个旋钮的读数和噪音。理解了这一点,一周以来所有看似打架的评价就自动归位了:盲测第一(产出质量是旋钮的正面)和「讨厌和它共事」(交互摩擦是旋钮的反面)本来就该同时成立。人类同事里这种人你也见过。
实用指南:按失败模式选档,而不是按「越高越好」
落到日常使用,五条:
-
把 effort 档位当成失败模式选择器。 要终审把关、误报成本高(比如自动阻塞 PR 的 CI 检查),用 x-high——它漏的多但说出来的准;要初扫铺网、宁可错杀(比如陌生代码库的第一遍安全巡检),用默认档——吵,但覆盖广。「两种失败模式」这个框架比「更贵=更好」有用得多。
-
搭配,别单打。 CodeRabbit 的「精确率专家配召回型模型」建议剥掉产品私心后依然成立:让广撒网的模型先生成候选,让 Opus 5 做验证和裁决,是把它的旋钮位置用在刀刃上。
-
删掉你为上一代模型调的提示词。 Dan Shipper 团队的经验是本周最值钱的一条实操:为旧模型人格写的防御性指令(「不要偷懒」「务必主动」),对一个本来就过度谨慎的模型是反向用力。从零写,明确授权比催促有效。
-
把所有权写进上下文。 「这个分支是我的,你有权修改」一句话就能解掉 merge 冲突式拒绝。它不是能力问题,是权限想象力问题——把权限说死,它就动了。
-
成本上留意场景分化。 $5/$25 的定价配上 1M 默认上下文和 per-turn 可调 effort,长会话的成本结构和上一代很不一样,可以用本站的 LLM API 价格计算器按自己的缓存命中率和吞吐算一遍再定主力模型。
尾声
上周我们在 benchmark 那篇的自保清单里写过一条:自建 20 个私有任务,别信排行榜。Vo 的盲测就是这个建议的完成态——她带着「我讨厌它」的全部主观情绪走进评测,出来的结果依然是第一名。情绪没有污染测量,因为测量被设计得先于情绪。
这大概是 Opus 5 这一周留下的最有普遍性的东西:模型的「人格」是交互界面,模型的产出是交付物,两者可以背离,而且会越来越经常背离。学会分开评价它们的人,会比等一个「既好用又好相处」的模型的人,先拿到生产力。
讨厌的同事,活好。先学会共事,再谈喜欢。