跳到主要内容

可观测与成本度量

OTel GenAI tracing 标准、成本三层度量与 benchmark 饱和的识别

核心要点

  • OTel GenAI 标准化 agent tracing 的 span 与属性
  • tracing 以 trace→run/observation 树组织
  • 成本度量分 per-call / per-step / per-run 三层
  • benchmark 饱和:52 个中 27 个超 80%
  • 数据污染让分数虚高,需抗污染评测

本文讲 agent 的运行可观测与评测可信度。各 benchmark 本身见 02-SWE-bench家族03-终端与长horizon评测

agent 怎么追踪每一步?

核心问题:agent 跑完一个任务,怎么看清它每一步推理、调了什么工具、花了多少 token?

用结构化 tracing 记录每一步,OpenTelemetry GenAI 语义约定是当前最权威的标准化方案[1]。它把 agent 运行拆成标准 span 类型。

OTel GenAI 定义约八类 span(模型侧:推理/嵌入/检索/执行工具;agent 侧:创建 agent/调用 agent/调用 workflow),每类带标准属性(gen_ai.operation.namegen_ai.provider.name)和 token 计量属性(input_tokensoutput_tokenscache_read.input_tokensreasoning.output_tokens)。LangSmith 以 Project→Trace→Run 树组织,Langfuse 以 Trace→Observation→Session 组织并支持 session replay 调试多轮 agent。可借鉴的判断:agent 难调试的根因是过程不透明,结构化 tracing 是把黑箱打开的前提

成本怎么度量?

核心问题:一次 agent 任务到底花了多少钱,怎么算清?

成本度量分 per-call、per-step、per-run 三层,难点在缓存/推理 token 的差价和多模型混用。三层粒度对应不同决策。

  • per-call:单次 LLM 调用,token × 单价。
  • per-step:一个 think-call-observe 循环的成本。
  • per-run / per-trace:整次任务的总成本。

复杂性来自 cached token 与 reasoning token 定价不同(02-上下文工程/05-token-经济学 讲降本,本文讲度量),以及一次任务跨多个模型。可借鉴的原则:成本要按 trace 聚合到 run 级,只看单次调用会低估 agent 的真实开销。

benchmark 为什么会失去区分度?

核心问题:模型分数越刷越高,为什么反而更难判断谁更强?

benchmark 饱和:分数逼近上限后失去区分度,52 个 benchmark 中已有 27 个在某模型族上超过 80%[2]。Ouroboros 分析指出,benchmark 分数提升与泛化推理能力的对应关系并不明确。

更深的问题是"自指循环":旧 benchmark 饱和后不断出新的,但新 benchmark 是否真测到了能力提升存疑——仍未突破的基准里 60% 是新出的。可借鉴的判断:单看 benchmark 分数会误判进展,接近饱和的 benchmark 已无区分力,要换更难或抗污染的评测(如 02-SWE-bench家族 的 Pro)。

数据污染让分数虚高多少?

核心问题:测试集泄漏到训练集,对分数的影响能量化吗?

能——抗污染缓解后,模型在 HumanEval 上性能平均下降约 39.4%,实测污染率 1%–45%[3]。这是独立于饱和的另一根隐患。

污染的本质是测试样本被模型在训练时见过,"解题"退化成"回忆"。检测方法包括 n-gram 重叠、成员推断、perplexity 比较。这驱动评测从 static 走向 dynamic,但动态基准的标准化本身仍是开放问题。可借鉴的原则:报告 agent 能力时要声明 benchmark 的抗污染性,否则高分可能只是污染的产物(02-SWE-bench家族 的 Pro 用私有仓库正是为此)。

Takeaway

知识点核心结论
tracing 标准OTel GenAI 定义约八类 span + token 属性,打开黑箱
成本度量per-call/step/run 三层,按 trace 聚合到 run
benchmark 饱和52 个中 27 个超 80%,饱和即失区分力
自指循环分数提升 ≠ 推理能力泛化,需更难/抗污染评测
数据污染缓解后 HumanEval 降约 39.4%,需声明抗污染性

参考资料

  1. OpenTelemetry. GenAI Semantic Conventions. 2025. https://opentelemetry.io/docs/specs/semconv/gen-ai/
  2. The Ouroboros of Benchmarking: Reasoning Evaluation in an Era of Saturation. arXiv:2511.01365, 2025. https://arxiv.org/abs/2511.01365
  3. Xu et al. Benchmark Data Contamination of Large Language Models: A Survey. arXiv:2406.04244, 2024. https://arxiv.org/abs/2406.04244

延伸阅读