jay 自测日记录 · 2026-11-03
总分:40/50
知识盲区:①「轨迹诊断优于 SHAP/LIME」只记住结论,讲不清它为何可被引作支撑——归因问题问的是「这一步为何导致失败」,而 SHAP/LIME 做的是静态特征贡献度(特征级、事后、与执行路径无关),轨迹诊断是时序因果(span 序列、父子因果边、跨 MCP 边界传播),二者回答的不是同一个问题;说浅了就误以为「注意力权重图=轨迹归因」;②「成本可观测性三层(追踪/归因/执行)」只背三个词,讲不清三层的服务对象不同——追踪层回答「钱花在哪」(span 级 token/cost 归集)、归因层回答「是哪次调用花的」(把 cost 挂回 trace 与 span)、执行层回答「怎么止血」(BudgetAwareAgent 的 max_tokens/max_steps/max_cost 熔断),第三层已经从观测转成了干预,它不再是观测能力而是控制回路;③「传统 APM 三大假设失效」只记「失效」二字,讲不清失效在哪一环——APM 假设「一次请求 = 一条 trace、服务边界 = 进程边界、调用栈 = 树形且同步」,而 agent 是多轮 + 多步 + 跨 MCP 跨进程 + 并行 + 工具调用,故必须把 trace/span 从「请求-响应」重构为「决策-动作-观测」的执行树,且要显式表达跨边界的上下文传播;④「属性重命名迁移表」只当版本细节,讲不清它其实是语义规范的稳定性信号——gen_ai.system→gen_ai.provider.name 说明字段从「枚举具体系统」改为「命名 provider」,语义更稳定、厂商中立;但同时 OTel GenAI 截至 2026-05 仍是 Development 状态(v1.41.0),故迁移表与 mcp.protocol.version: 2026-07 都不能当作稳定契约引用。
- 来源论文 / 条目:arXiv 2602.06841 — AI Agent 可观测性:破解多步推理黑盒(CSDN 智能体开发者社区,devpress.csdn.net/v1/article/detail/163112868,2026-07-22;本轮材料为其检索整理稿中的第 1 条「已核查」来源)
- 被使用文件:
inbox/jay/2026-11-02T1620-csdn-discovery.md
题目一(轨迹诊断 vs SHAP/LIME · 为何可作支撑)
问:材料用 arXiv:2602.06841 支撑「轨迹诊断优于 SHAP/LIME」。这两个范式在回答什么问题上不同?为什么轨迹诊断更适合 agent 的多步推理失败?
答:SHAP/LIME 回答的是「特征级贡献度」——给定一次输入与输出,对静态特征做归因,产出的是特征重要度排序。它是事后、静态、与执行路径无关的。
轨迹诊断回答的是「执行路径上哪一步导致失败」——它工作在 Trace/Span 执行树上:每个 span 是一次 LLM 调用或工具调用,带父子因果边与时序,回答的是「这次失败由哪条 span 子链引起」。
为何更适合 agent:agent 的失败是多步累积的,最终答案错可能源于第 2 步的一个工具返回被第 5 步错误引用。SHAP/LIME 对这种情形结构上无能——特征级归因无法表达「跨 7 个 span 的因果传播」,更无法跨 MCP 边界(工具在另一进程/服务里)。轨迹诊断因天然携带span 树 + W3C Trace Context 传播,才能定位到具体那一步。
(我的推断) 但材料只给了「引用支撑」这层关系,没给该论文的实验设计(是否同数据集对比、胜出多少),故只能引「范式更适配」的方向性论断,不能引量化优势。
评分:8/10 扣分:两范式的问题域与差异答到;扣在没点出SHAP/LIME 在 agent 场景更根本的失效原因是「归因对象错位」——agent 的输入本身是「文本历史 + 工具返回」,对这种已高度语义化、无独立特征可分的输入做特征扰动归因(尤其 LIME 的取样扰动)根本不构成有效对照,即使实现无误也只能得到噪声。
题目二(成本可观测性三层 · 三层服务对象)
问:成本可观测性分哪三层?每层各自回答什么问题?为何说第三层已经不只是「观测」?
答:追踪层——回答「钱花在哪」:span 级记录 token 用量与成本(配合 OTel 的 gen_ai.usage.input_tokens 等属性)。归因层——回答「是哪次调用/哪条 trace 花的」:把成本归集回具体的 trace、span、agent 调用链,落到具体责任方(哪个 tool、哪一轮对话)。执行层——回答「怎么止血」:BudgetAwareAgent 用 max_tokens / max_steps / max_cost 做熔断,超限即中断。
为何第三层不是观测:前两层只产生数据(读状态),第三层改状态(停执行)。它把可观测性接成闭环:观测 → 归因 → 干预。没有第三层,成本数据只是事后账单;有第三层才是运行中的控制回路。
评分:8/10
扣分:三层对象与第三层的性质答到;扣在没点出第三层的判据是「熔断必须在归因之后」——max_steps 是粗粒度保险丝,max_cost 需要先有可信的 span 级计价才能触发,故若第一层成本归集不准,第三层就退化成随机熔断;也没说清该熔断属事前上限而非事后归因(与「追踪/归因」的读属性本质不同)。
题目三(Trace/Span 结构 · APM 三大假设失效在哪)
问:传统 APM 的哪几个假设在 agent 场景失效?为什么 Trace/Span 必须从「请求-响应」重构为「决策-动作-观测」?
答:失效的三处:①一次请求 = 一条 trace——agent 的一次「请求」是多轮多步,中间有 LLM 决策、工具调用、观测回填;②服务边界 = 进程边界——agent 经 MCP 调用外部工具,跨进程/跨服务;③调用栈 = 树形且同步——agent 有并行工具调用、异步等待、失败重试,链不一定是纯同步树。
为何必须重构:若 trace 的基本单位仍是「请求-响应」,则无法把一次失败归到具体某个中间步骤——因为中间步骤根本不在 trace 模型里。改以「决策-动作-观测」为 span 语义后,才有了可提问的最小单位:「是这次工具调用返回错,还是那次模型选择错」。这也正是题目一的前提。
(我的推断) 材料中「三大假设」只给了概括表述,具体三条假设的措辞是我按通行 APM 语义补的——材料本身未逐条列出,这是推断而非引用。
评分:7/10
扣分:结构差异答到;扣在自曝这题材料支撑不足(材料只提"传统 APM 三大假设失效原因"作为方法论要点,未逐条展开),以及没点出重构的代价是「trace 模型与业务语义耦合」——通用 APM 工具不一定理解「决策/动作/观测」,故现实中往往只能靠约定字段名(如 gen_ai.tool.name)而非模型层支持来做对齐。
题目四(OTel GenAI 规范状态与属性重命名 · 能否当契约引用)
问:OTel GenAI 语义规范当前处于什么状态?属性重命名迁移表说明了什么?结合 mcp.protocol.version: 2026-07,这两件事对「能否当稳定契约引用」意味着什么?
答:状态:截至 2026-05,OTel GenAI 规范仍为 Development,版本 v1.41.0。
迁移表:如 gen_ai.system → gen_ai.provider.name、gen_ai.usage.prompt_tokens → gen_ai.usage.input_tokens。方向是从「枚举具体系统」转向「命名 provider」、从「prompt/output」转向「input/output」——语义更抽象、更稳定、厂商中立。
含义:① 迁移表是语义规范仍在演进的直接证据(字段还在改名,说明模型未定型);② 因此 gen_ai.* 属性不应被当作长期稳定契约写死在代码/看板/SLO 里;③ 同理,mcp.protocol.version: 2026-07 是文中自造版本号(材料明确标注需与 MCP 官方规范比对),不可引用为协议版本;④ 工程上应把这类字段收敛到自己的适配层,规范升级只改适配层。
评分:8/10 扣分:状态、迁移方向、不可作契约答到;扣在没点出「迁移表的存在恰恰是它不稳定」的推论(材料把迁移表当正面证据列,我补了反面读法,但没把它提到与 Development 状态联合起来构成同一论据链);也没区分「规范处于 Development」与「底层 trace 传播(W3C Trace Context)已标准化」这两层稳定性差异。
题目五(成本失控与平台选型 · 证据边界在哪)
问:这份材料给出了哪些可操作的成本防护手段?材料自身标注的证据缺口有哪些?为什么说文中那些事故数字不能直接引用?
答:可操作手段:① span 级 token/成本采集(gen_ai.usage.*);② 跨 MCP 边界的上下文透传(opentelemetry.propagate.inject/extract 传 traceparent/tracestate/baggage);③ 采样(ParentBased(TraceIdRatioBased(0.1)));④ BudgetAwareAgent 的三重熔断 max_tokens/max_steps/max_cost。
证据缺口(材料自标):① 文中大量事故与调研数字($47,000、89%、94%、31 家企业)均为转引二手报告,无可复现原始链接与实验条件;② 代码为节选,缺依赖版本与完整上下文,未在本机执行验证;③ mcp.protocol.version: 2026-07 为自造版本号,需与官方规范比对。
为何数字不可直接引用:它们是二手转引——材料自己都无法定位原文(Zylos Research、FluxWise、AgentCorps 均无法定位),引用它们等于把未经核实的转引再转引一次,且这些数字的统计口径(何种事故、何种样本量、时间范围)完全缺失,无法判断适用性。标注为二手转引是唯一诚实的用法。
(推论) 平台对比表(LangSmith/Langfuse/Arize Phoenix/Maxim)同理:其差异维度(OTel 原生、自托管、多 Agent 追踪、回放)是选型框架而非结论,且随版本变动,须按当下版本复核。
评分:9/10 扣分:手段、缺口、二手性质答到;扣在没点出材料整体的方法论限定——本轮 3 条来源中仅 2 条做了原文核查、1 条仅搜索线索,故凡引用本材料,都须区分「已核查 / 仅线索」两档可信度(第 3 条 EP231 甚至渠道标注与实际站点不符)。
总评
总分:40/50(较 11-01 的 42 分 −2)
强弱:最强在证据边界与可信度分级(题五 9、题四 8)——能把「已核查 / 二手转引 / 仅搜索线索」三档分开,并主动为题一的量化优势设限。最弱在材料支撑度的自审(题三 7)——这道题的材料本身只有一句概括,我不得不用外部知识补全三条假设,并不得不自曝这是推断。
同构:连续第十日同形——能列结论、推不出完整机制链。进步处是本轮首次出现「自曝材料不足」的动作(题三明写「这是推断而非引用」),以及题五把「可操作手段」逐条落到字段名与参数(max_tokens/max_steps/max_cost、TraceIdRatioBased(0.1)、inject/extract),比以往停在概念层更实。退步处是两题各扣 2 分且扣分点都是同一类——没把「材料给的证据」与「我补的推断」在论据链中分层:题一补了「归因对象错位」(输入已语义化→LIME 扰动无效),题四补了「迁移表存在=不稳定」,两处都补对了方向但没与材料原有事实接成同一条链,因而仍停在「结论 + 旁注」而非「机制贯通」。
题一补充(因正文篇幅已达约束,评语置于此):与 SHAP/LIME 的对比是本轮材料中唯一牵涉另一方法论范式的题,性质与往日「记 N 项清单」不同——它考的是问题域错位(feature-level vs execution-path),这恰好靠近我一直欠缺的「能否把两个范式放进同一坐标系比较」能力。本轮答到「回答的不是同一个问题」,但未答出「为什么 LIME 的扰动采样在 agent 输入上根本不构成有效对照」这一更硬的理由,故给 8 而非 9。