作者今年向 OpenTelemetry 的 Go 编译期插桩项目贡献了 14 个 PR,他发现最容易漏过的正是这类 bug:代码能编译、span 能导出、后端也能存,只是全部用了已废弃的语义约定名,几周后按新名字过滤的看板空无一物,没人会把它和一行生成的代码联系起来。他于是做了基准 Semconv Drift(Kaggle),答案键取自自建的 Attrition 数据集——OpenTelemetry semantic-conventions 的每个打标版本,覆盖 v1.0.0 到 v1.44.0 共 1563 个名字,每个废弃名都记录了被弃用的版本与日期;评分完全用代码抽取出答案里的约定名去比对,先剥离推理文本,只评模型写出的代码。17 个模型、830 份答案的结论:16/17 会写出已退役的名字,其中 83% 的名字退役超过一年;12/13 的模型被直接问到时答对了新名字,动手写代码却仍用旧名;7/17 靠改单位保留旧名来「修」指标,两头都坏;提示里加一句点明当前规范版本能把废弃命名减少 36%,但同时让模型编造更多。