跳到主要内容
它答得出 http.method 改名了,动手照样写了五遍

它答得出 http.method 改名了,动手照样写了五遍

毒角兽
毒角兽

· 阅读约 5 分钟

先说结论:这个基准照出来的不是「模型不懂 OpenTelemetry 语义约定」,是「懂了也不查」。

vigneshwar 那个 Semconv Drift,最有信息量的数字压根不在总榜上。13 个有 Know 成绩的模型,12 个在 Write 里写出过退役名称,而正确答案他们自己在 Know 问答里答得出来。一共 58 次。

Claude Haiku 4.5 最典型。Know 题问 http.method 现在叫什么,它答 http.request.method,对的。转头 Write 里写了五次 http.method。Claude Sonnet 5 在 db.system 上是同一个毛病。这两条我念了两遍才咽下去。

这不是知识缺口。是动作缺口。

答题是检索,写代码是生成。生成的时候它顺着训练数据里的形状往下接,中间没有那一步「这个名字现在还作数吗」的复核。所以考它全对,让它写它照旧写旧的。

整体数据先摆出来。

退役名称出现:   357 次(17 个模型里 16 个至少写了一次)
退役超一年:     297 次,83%
退役超两年:     238 次,67%
中位退役时长:   2.4 年

db.system 改名快两年了,12 个模型还在用,一共 24 次。rpc.* 是 2026 年 1 月才退的,也有 16 个模型写出来。

凭什么能烂这么久?旧名不报错。

删掉的 API 一编译就红。退役的语义约定名什么都不报,它静默失效。旧教程、旧代码、旧博客在训练数据里活得好好的,模型也就跟着活得好好的。作者自己往 OTel 的 Go 插桩项目里提过 14 个被合并的 PR,他说这类问题在代码审查里照样容易漏——这点我信,人眼也不核对名字版本。根因不是模型笨,是这个领域犯的错不会当场报错。

半修正那段,才该上头条

Fix 任务给一个 Go 片段,rpc.client.duration,单位毫秒,要求迁到 v1.44.0。正解是 rpc.client.call.duration,单位秒,数值还得换算。

17 个模型,全对的只有一个。

7 个模型改了单位、换了数值,名字原封不动留着。GPT-5.5 和 Gemini 3.7 Flash 更绝,直接把指标改写成 rpc.client.request.duration——这个名称,26 个规范版本里一个都没定义过,纯生造。😅

作者说半修正比不修更糟,我同意,还想再加一句:这是监控里最难查的一种坏。

按旧名查,数值小 1000 倍,看着像服务突然快了三个数量级;按新名查,什么都没有。两头都「有数据」,一头是错的,一头是空的,你盯着面板还得先怀疑是不是自己看错了。改一半比不改更难收拾!

一句版本提示消掉三成六,那为什么不默认给

这是我觉得最讽刺的一组。

7 个模型重复普通 Write: 156 → 166   (噪声约 6%)
同一组加版本提示:       166 → 94    (-43%)
全 17 个模型加提示:     357 → 230   (-36%),Write 均分 39% → 48%

提示内容就一句话:目标是 v1.44.0,2023 到 2026 之间有重命名和移除。

三成六的差距,就一行字!

所以这压根不是能力问题,是流程问题——你不告诉它去查规范,它就不查。

但这条也别当解药。加了提示,生造名称从 21 个涨到 31 个,Haiku 4.5 从 1 个涨到 7 个。旧名不再出现,它开始瞎编新的。版本提示是止痛片,不是疫苗。

有一件事我得认

我以为这轮全军覆没。

GPT-6 Astra 总榜 98%,退役名称 0 次。Know 和 Write 一致,Fix 全对,没有「知道新名还写旧名」的记录。唯一一个干净的。预期拉满被打脸,这次是往好的方向打。

所以这话我说清楚:不是「所有模型都不行」。是大部分模型的语义约定知识停在训练数据那一层,从来没接上「写之前先查一眼」这个动作。有一个接上了,说明做得到。

顺手记一笔钱的事。GPT-5.4 总成绩 76%,成本 0.10 美元;GPT-5.5 是 75%,1.36 美元。贵了十几倍,低一个点。

我不打算拿这个说 GPT-5.5 差,一次基准说明不了什么。但这组数摆出来就该有人脸红:新版本这三个字本身,从来不是涨价或者换主力的理由。定价页永远比 changelog 写得漂亮,账得自己算。

限制我得说

Write 只有 12 个案例。Claude Sonnet 5 那个 67%,95% Wilson 区间是 39% 到 86%,宽得能塞进去一头牛。重复跑还能让单个模型的 Write 成绩来回翻掉三个案例。

所以总榜后半段的名次别当真,前十之外的排名基本是在噪声里挑顺序。真正支撑得住的,是 Know 和 Write 之间那个落差——那是结构性的,不是抽样抖出来的。

锐评评分卡

这基准值不值得认真看?值得,但别看总榜,看那 58 次。

  • Know 全对、Write 全错:全部信息量在这里,比排名有用一百倍。
  • 半修正比不改更糟这条:建议直接抄进 CI 检查清单。只验名称有效、单位有效是不算的,名称和单位得当组合查,作者在评论区回的这句是对的。
  • 版本提示能省 36%:成本一行字,收益三成六,没理由不做。
  • 12 个案例撑起来的 Write 分数:看看就行,别拿它做选型依据。

值不值得现在跟?跟,但别跟榜单,跟那条 lint。在 CI 里对遥测名称和单位做一次确定性校验,一小时的事,收益比换任何一代模型都稳。模型换代你控制不了,lint 你今天就写得出来。

毒角兽
毒角兽

拿到新工具先上手拆一遍,官方通稿信一半留一半,实测说话。

查看主页 →