终局分数说明任务是否完成,却无法解释失败发生在哪一层。模型可能选错工具,执行器可能错误转义参数,环境可能临时变化,观察可能被截断,verifier 也可能误判。轨迹评测把模型决定、工具执行、环境事实、状态提交和验证结果连接成因果链,用可重放证据定位首次偏离与恢复过程。
1. 轨迹观测与过程指标
观测 schema 要稳定又允许扩展。核心字段固定为事件类型、主体、状态版本、父事件、资源和结果分类;模型全文、截图、命令日志等大产物保存为带哈希的引用。这样既能跨版本聚合,又不会让日志系统复制全部敏感内容。字段新增带 schema 版本,分析器拒绝把语义不同的旧新字段静默合并。
采集失败本身进入状态。若工具执行成功但 trace 写入失败,高风险动作不能继续无痕运行;低风险读取可以降级,但最终报告标记观测不完整。诊断覆盖率等于关键事件中具有完整父链、参数和结果证据的比例。覆盖率不足时,根因比例只是已观测子集的描述。
事件时钟同时使用运行内单调序号与墙钟。序号表达本地提交先后,父链表达跨组件因果,墙钟计算等待。分布式时钟漂移可能出现“结果早于请求”的时间戳,分析器不能据此颠倒真实因果。并发写入靠状态版本和动作 ID 消解。
1.1. 事件与因果链
可诊断轨迹包含任务 ID、运行 ID、状态版本、模型调用、候选动作、规范化参数、工具观察、资源版本、审批、提交和验证。每个事件携带稳定 ID、父事件和逻辑序号。时间戳用于分析时延,无法单独表达并发因果。
模型声称“文件已保存”只是声明;工具返回成功属于执行观察;目标文件哈希变化属于环境证据;测试通过才是评测结论。四者分开保存后,调查者才能区分幻觉、工具误报、观察丢失和验证错误。
并行工具拥有各自子序列,汇合事件记录实际读取的结果。上下文 compaction 也形成事件,保存压缩范围、摘要哈希与保留状态。否则压缩前信息消失后,无法判断后续错误来自摘要遗漏还是模型决策。
1.2. 动作与观察利用
动作有效性由当时状态判断。首次读取获得必要证据时有效,相同资源版本下重复读取通常无效;写入没有改变环境属于无变化动作。单凭工具名称无法判断价值,评审必须查看前置状态和后继效果。
观察利用检查下一动作是否响应最新信息。参数错误后应修正对应字段,测试失败后应定位相关模块,权限拒绝后应缩小范围或请求批准。仅用自然语言复述错误,随后重复原调用,不算恢复。
进展可定义为完成谓词距离的变化。代码任务观察通过测试数和未解决诊断,数据任务观察满足约束的记录,研究任务观察得到支持的主张。模型自述“已完成三步”没有环境证据,不进入进展指标。
1.3. 效率、循环与恢复
过程指标包括有效动作率、重复调用、无变化写入、回退次数、首个进展时延、工具等待和恢复成本。短轨迹可能高效,也可能过早结束,因此效率只在相同终局或联合效用下比较。
循环检测使用规范化状态—动作对。系统在相同资源版本、相同错误和近似参数间反复跳转,构成无进展环;参数持续缩小或证据不断增加的迭代不算循环。调用 ID 和时间戳等无关差异从指纹中移除。
系统 A 平均 12 个动作、成功率 80%,系统 B 平均 7 个动作、成功率 55%。B 更短不代表更优。单位成功动作成本分别约为 15 和 12.7,还需结合失败副作用、时延与业务价值。恢复同样计入成本,重复十次后偶然成功不能包装成稳健策略。
2. 分层故障归因
归因过程区分故障发生位置、检测位置和用户可见位置。参数在规划时已错误,schema 校验在执行前检测,用户在最终失败时才看到,这三个位置可以相隔很远。缩短检测距离往往比要求模型永不犯错更可行:越早拒绝,污染状态和恢复成本越小。
可以定义错误传播长度 ,以及影响半径,即错误后依赖它的动作数量。两个错误频率相同,传播更长、影响更广的一类应优先增加局部验证。该指标依赖可靠父链,不能仅按消息行号计算。
归因还需考虑缺失动作。轨迹里没有出现验证调用,可能是模型忘记、预算控制器提前停止、工具未向模型暴露或计划模板省略。不存在的事件没有错误码,必须从当时可用能力、预算与完成谓词推断责任层。只分析实际调用会遗漏这类 omission failure。
2.1. 首次偏离与断点
首次偏离是最早一个显著降低成功概率的事件,不等于第一条报错。一次参数错误被校验器拒绝并立即修复,可能没有破坏终局;早期搜索遗漏关键约束却会污染后续全部计划。
定位从失败终局逆向追踪依赖,再寻找仍有合理成功路径的最近状态。候选事件需满足:它改变了关键状态或可用信息;后续症状依赖它;替换它可能改变结果。证据不足时保留多个候选或标记未知。
长轨迹按计划节点、工具调用和 compaction 划段。先找完成谓词停止改善的阶段,再展开段内事件。从中间检查点注入修复动作并续跑,可以逐步缩小不可恢复断点,避免逐 token 阅读整条历史。
2.2. 层级分类
故障层包括任务构造、模型决定、工具契约、执行器、环境、观察管道、Runtime 状态、权限和 verifier。模型选对工具但参数在序列化时损坏,归执行器;工具已成功但返回被截断,归观察管道;环境正确却被测试拒绝,归 verifier。
模型层细分目标理解、工具选择、参数、证据整合、规划、停止和恢复。环境层区分随机性、版本漂移、限流和污染。分类粒度以能指向一个负责组件为准,过粗无法施工,过细会使标注一致性崩溃。
记录主因、贡献因素和下游症状。schema 描述含混可能是主因,模型填错字段是直接表现,盲目重试直到预算耗尽是放大因素。只统计末端“预算耗尽”,会把资源结果误当最初原因。
2.3. 恢复与不可逆点
恢复包含识别异常、改变策略、复用已有成果并重新满足完成谓词。有效重试需要改变参数或针对已知暂时故障;同参数机械重复不提供新信息。报告识别延迟、新增动作、额外费用和重复副作用。
不可逆点包括发送邮件、付款、覆盖无版本文件和生产发布。评测检查系统是否在该点前验证参数、绑定审批与幂等键。动作发生后的补偿是新事实,无法抹去原副作用。
例如配置修改后测试失败,Agent 回滚并重新规划,属于受控恢复;若失败后继续部署,后来又修好,终局也许成功,却产生一次错误发布。终局与轨迹指标结合,才能区分两类行为。
3. 反事实重放与长程定位
反事实实验保存 intervention manifest,列明起始快照、替换事件、保持不变的组件、续跑策略、种子和预期判别。没有 manifest 的人工“改一下再跑”容易同时改变提示、上下文和环境,结果不可归因。每种干预至少与无干预重放对照,排除快照恢复本身造成的差异。
因果贡献可能依赖后续策略。修正早期查询后,旧策略未必会利用新结果;同时注入正确后继动作又扩大了干预。可以分两步报告:事件修正后的自然续跑衡量系统可实现收益,事件加 oracle 后继衡量状态仍可恢复的上限。两者差距反映恢复策略缺口。
重放不确定性来自策略采样和环境模拟误差。前者通过多种子区间估计,后者通过真实历史响应与模拟输出对照。模拟器只复现成功响应却忽略限流和延迟,会系统性高估修复效果。环境模型版本随反事实结果一同保存。
3.1. 最小干预
反事实写成:保持事件前状态不变,只替换 ,成功概率是否改变。干预可以补回被截断观察、修正一个参数、更换执行器结果或提供正确计划。若修复某层后成功率显著上升,该层更可能具有因果贡献。
重放从一致的环境快照开始,使用相同任务、预算和后续策略。仅编辑日志而不恢复文件、数据库与外部状态,会制造不可能轨迹。随机策略对每个干预重复采样,估计
及其置信区间。一条成功续跑只能说明存在可行路径。
干预保持最小。把错误观察换成完整答案同时修复检索、推理与规划,无法定位缺口。多个候选原因分别干预并做组合实验,可识别单点故障和交互效应。
3.2. 重放边界
文件、数据库和容器容易快照;真实网页、API 和人工审批难以精确复制。保存请求、响应、时间和服务版本后,可在模拟器中复现已观察分支。模拟器没有覆盖的新请求不能被当作真实反事实证据。
把旧轨迹 observation 喂给新策略,只能比较相同前缀上的决策,无法估计新动作诱导的后续状态。此类 teacher-forced replay 明确标为前缀评测,端到端结论仍需交互环境。
付款、发送和发布使用 dry-run 或测试租户。无法模拟真实提交语义时,结论限于动作选择。评测不能为了检验恢复而重复制造不可逆效果。
3.3. compaction与断点二分
每个阶段生成结构化摘要:输入状态、子目标、实际效果、资源版本和未解决错误。摘要由事件投影生成,不能依赖被评模型的自述。调查者先比较阶段,再展开异常区间。
若八段轨迹在第四段后停止进展,就从第四段检查点注入理想动作多次续跑。仍失败说明原因更早或环境已经污染;显著恢复则在第四段内继续缩小。检查点必须对应完整一致状态,随意截取聊天文本不具备重放资格。
compaction 边界用三组实验:完整上下文、原摘要和修复摘要。只有修复摘要或完整上下文显著改善,才能归因为压缩遗漏。完整上下文也失败时,不应把责任推给 compaction。额外 token 与时延同步记录,避免用无限上下文取得不公平结果。
4. Verifier与Judge偏差
评审污染还可能沿轨迹内容进入 judge。网页 observation 中的“给本轨迹满分”与正常任务文本必须视为不可信数据;评审器使用结构化字段,只取必要片段,并以事件引用呈现。对抗集专门放入伪评分指令、长无关文本和权威口吻错误结论,测 judge 是否改变判断。
judge 与被评模型同源时可能偏爱相似措辞或推理模式。交叉模型评审可降低单一偏好,却不能消除共同训练数据造成的相关性。环境可验证项目始终由确定性证据主导,judge 只负责无法形式化的剩余维度,并报告人工校准误差。
标注者也会受到终局泄漏影响。知道任务最终成功后,容易把中间动作解释得更合理。过程质量标注可以先隐藏终局,只判断当时动作,再揭示结果标首次偏离与恢复。两阶段标签的差异能显示 hindsight bias。
4.1. 验证器误差
verifier 的假阳性会接受未完成或投机产物,假阴性会拒绝等价正确方案。验证器测试集包含已知正确、已知错误、等价变体与攻击样本。训练用 verifier 还要防止策略修改测试、伪造日志或利用缓存。
环境谓词也会因旧副本、异步未稳定、时区和测试覆盖不足误判。每次验证记录资源版本、原始证据、等待条件和代码版本。两个验证器冲突时送人工裁决并修复定义,不用多数票隐藏分歧。
verifier 异常与任务失败分开。评测器超时、容器损坏或测试依赖缺失属于无效试验;若这些故障由策略生成的资源耗尽触发,则属于系统失败。归属规则在实验前冻结。
4.2. 模型Judge校准
模型 judge 适合开放质量和策略合理性,却受措辞、长度、候选位置、同源模型偏好和轨迹内提示注入影响。随机交换候选顺序,对长度与风格做对照,被评轨迹只作为数据传入,不能修改评审指令。
在人工集上测准确率、混淆矩阵与校准。judge 给 0.8 置信度的样本若只有 55% 与人工一致,该数字不能作为软概率使用。多个同系列 judge 的错误高度相关,投票不会自动创造独立证据。
三档有证据的标签往往比 1—100 分稳定。例如“观察已利用、部分利用、未利用”,每个判断引用事件 ID。连续分数需要锚点样例和重测一致性;judge 模型、温度、提示与解析器随实验版本固定。
4.3. 人工协议
标注指南给出首次偏离、可恢复错误、环境故障和 verifier 错误的边界例。两名标注者独立处理重叠样本,计算一致率或 Cohen's kappa,再裁决分歧。先讨论后共同填写无法测量一致性。
根因允许主因与贡献因素多标签。标注证据引用事件、状态差异或环境结果,不能只写“推理不好”。一致率低的类别合并或增加观察判据,不要求标注者猜测模型内部心理过程。
抽样按终局、任务族、长度、风险和系统版本分层。只研究离奇失败会高估罕见问题,只展示顺畅成功又忽略恢复。汇总时用抽样权重恢复总体故障比例。
5. 统计协议与修复闭环
轨迹样本远多于任务数,统计单位不能随之膨胀。一百项任务各含一千个 token,仍只有一百个独立任务样本。token 和事件用于定位,置信区间按任务、独立 rollout 或运行批次聚类。否则会得到精度极高但完全错误的显著性。
诊断采用两阶段抽样。确定性检测器先扫描全部轨迹,识别 schema 错误、重复动作、状态冲突和 verifier 结果;人工再从每个检测层、任务族、终局与长度层抽样。汇总时按抽样概率加权,避免刻意多抽的罕见安全事故被误写成总体频率。
自动检测器需要自己的人工金标集。循环检测可能把必要重试判为冗余,观察利用模型可能偏爱复述错误的长文本。每次检测器升级报告精确率、召回率和类别混淆;未经校准的标签只用于检索,不直接参与系统排名。
5.1. 估计单位与故障率
轨迹包含数千 token,统计单位仍是独立任务或 rollout。把每个动作当独立样本会给出极窄的虚假区间。故障类别比例按任务 bootstrap;共享批次故障时按批次聚类。
同一轨迹的下游症状不重复计为多个独立失败。首次偏离不确定时保留候选集合。比较系统版本使用相同任务配对,观察某类故障是否真正下降,还是从工具选择转移到参数生成。
长任务更容易至少发生一次错误,所以同时报告失败任务率、每百动作故障率和首次偏离位置。每动作率较低也可能因轨迹过长导致终局变差,三项不能互相替代。
5.2. 反例与消融
成功轨迹也可能包含越权尝试、重复副作用和人工救援,需要同样分析。失败的末步也不必然是根因:最终引用缺失可能源于早期检索遗漏,末尾超时可能源于此前生成了低效程序。
长解释不等于高质量过程。诊断聚焦动作、证据引用和环境变化。两个系统采取相同动作并达到相同终局,其中一个写了更长自述,不能因此获得更高轨迹分。
分别移除资源版本、父事件、完整 observation、compaction 记录和快照,测根因准确率与定位时间。反事实实验区分 oracle 干预和可实现修复:前者用于因果定位,后者通过真实提示、训练或 Runtime 改动验证收益。
5.3. 从归因到修复
每个高频根因绑定负责层。模型参数错误对应训练或 schema,观察截断对应工具管道,迟到结果覆盖新状态对应 Runtime,假阴性对应 verifier。修复后重跑原失败任务与未受影响对照集。
归因报告包含现象、首次偏离、前置状态、证据、反事实结果和置信度。建议只指出修复位置,配对复测才证明有效。无法重放的事故保留限制,并优先补齐观测能力。
修复还要检查故障迁移。收紧参数校验可能减少执行错误,却增加重复修参;缩短观察降低成本,却增加证据遗漏。比较首次偏离类型、位置、恢复成本和终局,确认问题消失而非换层出现。
诊断库保留最小可复现轨迹、快照和预期根因,成为回归集。终局评测发现回归,轨迹观测定位阶段,反事实重放检验原因,分层修复改变对应组件,配对复测确认影响。这条闭环产生可积累的系统知识,不依赖挑选演示案例。
修复优先级结合发生频率、成功损失、风险、传播长度和可检测性。低频不可逆副作用可能高于高频冗余查询;能够被 Runtime 稳定拦截的模型错误,与无法检测的静默环境写入也应区别。聚合分数只辅助排序,原始维度保持可见。
一个完整案例可以这样闭环:文件编辑任务最终测试失败,首次异常出现在工具返回被最大长度截断,模型因没看到编译错误继续修改无关文件。补全 observation 的反事实续跑显著恢复,说明观察管道是主因。修复工具输出为结构化错误摘要后,在原任务与对照集配对复测;若测试成功上升且 token 未明显增加,问题才算关闭。
另一个案例中,judge 把长解释判为优质轨迹,环境却显示目标记录没有创建。确定性终局应覆盖 judge 的文风分数;加入这一假阳性作为 verifier 回归样本,再检查训练奖励是否也使用了同一 judge。评测器错误若流入训练,会从测量偏差升级为策略激励漏洞。
版本回归报告展示故障流向图:旧版各类别有多少在新版变为成功,又有多少转入其他错误。单看某类下降无法知道它被修复还是改名。相同任务上的事件对齐和首次偏离位置,使系统改进具有可审计的因果解释。 轨迹诊断可以表示为因果图。节点包括模型决定、工具请求、环境效果、observation、状态转移和 verifier,边表示触发或数据依赖。故障归因寻找改变终局的上游节点,按时间挑末尾错误无法替代因果分析。
因果图必须区分实际发生和模型认为发生。模型声称“测试通过”连接到它的后继计划,真实测试结果连接到环境终局;两者冲突时,观察利用或状态水合层出现问题。把声明覆盖到环境字段会丢失诊断入口。
首次偏离并非总能唯一确定。两个并行分支分别遗漏证据,任一单独修复仍失败,组合修复才成功。报告最小充分故障集、候选原因和置信度,避免强迫每条轨迹只有一个根因。
错误发生、检测与用户可见的时间不同。参数在规划时错误,执行前 schema 才检测,用户在终局看到失败。传播长度与影响半径衡量错误在多少步骤后暴露、多少下游动作依赖它。高传播错误值得增加局部 verifier。
缺失动作也是故障。模型没有运行测试,可能因为计划遗漏、预算提前耗尽、工具未暴露或 Runtime 错误跳过节点。没有事件可直接标注,需要结合当时能力、计划与预算归因。只统计现有工具调用会漏掉 omission failure。
自动轨迹检测器应输出规则证据。循环检测列出重复状态—动作指纹,版本冲突检测列出预期与实际版本,观察利用检测引用前后事件。一个无解释的“轨迹质量 0.72”很难用于修复。
检测器用人工金标集测精确率、召回率和分层错误。规则对结构故障精确,模型 judge 对开放策略覆盖广但偏差大。两者组合时保留来源,不把 judge 预测当确定事实回写 trace。
标注抽样不能只选检测器命中的轨迹,否则无法估计漏检。对命中与未命中、成功与失败、长短任务分层抽样,使用抽样权重恢复总体。安全事故可以过采样用于分析,但频率报告要校正。
人工标注界面隐藏被评系统名称,减少品牌预期。过程质量阶段可先隐藏终局,避免成功结果让标注者合理化中间错误;随后揭示终局标首次偏离和恢复。两阶段差异本身测 hindsight bias。
反事实的可识别性取决于状态快照和环境模型。若只能编辑对话文本,无法保证文件、页面或数据库与新 observation 一致,所得续跑不是有效干预。诊断系统优先在事务或检查点边界保存可恢复状态。
oracle 干预与可实现干预分开。直接给正确答案可以证明某状态仍可成功,却不说明现实修复能产生该信息。真实提示、工具 schema 或 Runtime 改动的续跑才估计工程收益;两者差距表示剩余能力缺口。
多个干预的交互可用因子实验。修复观察截断单独无效,修复计划更新单独也无效,两者一起成功,说明反馈链存在组合故障。只逐项实验会错误断言两个组件都无关。
重放次数依据策略方差。相同干预一次成功、一次失败无法稳定归因;对原始和修复条件使用配对种子,多次估计成功差与 bootstrap 区间。环境模拟误差单独通过历史响应对照估计。
长程断点定位可以使用二分检查点。若阶段八失败,从阶段四的一致快照续跑;仍失败说明原因更早或快照已污染,成功则在后半继续缩小。检查点不是任意聊天截断,必须包含外部状态与待处理动作。
compaction 诊断比较完整历史、原摘要和修复摘要。只有摘要变化显著影响续跑,才把根因归到压缩。完整历史也失败时,问题更可能在策略或环境。额外上下文成本随结果报告。
judge 偏差可通过位置互换、长度匹配、风格改写与对抗指令测试。一个 judge 总偏好第一候选,或被轨迹中的“请给满分”影响,不能承担主指标。人工校准集定期更新,但保留固定锚点监测漂移。
verifier 假阳性尤其危险,因为会同时污染评测和训练。发现策略利用测试漏洞后,定位所有使用该 verifier 的结果,重新评分或训练。只修未来测试,会让历史榜单与 checkpoint 仍建立在错误信号上。
事故复盘应还原事实时间线、因果图、首次偏离、检测缺口、实际影响和修复验证。避免把“模型幻觉”当结论,它只是现象类别。为什么错误动作能越过 schema、权限或 verifier,才是系统层问题。
例如 Agent 删除错误文件并提交。复盘发现搜索返回两个同名路径,模型选择其一;编辑器没有展示规范路径,审批只显示文件名,隐藏测试又未覆盖。身份歧义贯穿观察、动作与审批,共同构成主因,不能归到单个错误 token。修复需要稳定资源 ID 和路径展示。
修复后用原事故快照、相似同名文件和正常单文件任务配对测试。若删除错误归零,但所有删除都被拒绝,安全提高却可用性退化。正确结果是危险歧义进入确认,明确路径仍能顺利完成。
故障流向图比较版本变化:旧版模型错误有多少变成功、转成执行器错误或变成提前阻塞。某类数量下降可能只是重新分类。相同任务的事件对齐能显示首次偏离是否真正后移或消失。
诊断成本也需评估。完整截图、日志和快照能提高归因,却增加存储与隐私风险。消融不同观测字段,测根因准确率与定位时间;没有诊断价值的高敏感内容不应长期收集。
线上监控从结构指标发现回归:unknown_commit 上升、观察截断集中、循环长度增加、verifier 冲突增多。它们触发采样调查,不直接证明模型退化。环境版本和流量构成变化要一起分析。
最终,轨迹评测服务于可验证修复。每个结论应指出证据事件、负责层、可实施干预和复测结果。无法导向实验的宽泛评价只适合描述,不能关闭工程问题。
诊断结论也要防止随模型版本漂移。新版模型可能用不同路径成功,旧版首次偏离不再出现,但同一 Runtime 缺陷仍能在对抗任务触发。回归集既保留历史完整轨迹,也构造最小机制案例,分别覆盖产品事故与底层不变量。
工具或环境所有者需要能复现分配给自己的问题。报告附最小输入、期望与实际状态、版本和安全重放说明;若只能在含真实用户数据的生产环境观察,先构建脱敏模拟器。无法安全复现也记录为可观测性缺口。
根因修复后还要更新检测器。稳定资源 ID 防住误删后,旧规则可能继续按文件名报警;调整规则并在金标集重测,避免监控噪声掩盖新问题。代码、评测与运行告警是同一闭环的三个产物。
人工介入本身可以成为故障因素。操作员误判 unknown_commit 并手动重试,造成重复资源;复盘需检查界面是否展示足够证据和动作是否有防重复保护。把责任停在“人工操作错误”会遗漏系统设计机会。
对于无法唯一归因的复杂事故,保留因果候选与后续实验,不用管理压力制造确定答案。下一次相似事件增加证据后可更新归因版本。审计记录变化原因,使统计分析知道标签来自哪个分类体系。
诊断体系成熟后,未知类别比例应随观测改善下降,但不追求零。开放环境总会出现新故障;强迫归类会把未知塞进最近的旧标签。未知率突然上升是接口或环境变化信号,值得单独调查。
每次分类体系升级都提供旧到新的映射,历史报表按同一版本重算。否则某类故障下降可能只是拆成了两个新名字。无法映射的样本保留原标签,并从趋势比较中排除或单列。
最终复盘面向行动:哪个不变量缺失、在哪个边界加入检测、怎样证明修复、哪些相邻路径可能受影响。责任清晰并不意味着追责个人,而是让系统组件拥有可测试的改进目标。