CodexQA

行业与实践研究与基准测试

TraceTrial 附录:分类、适配器、证据与归因

CodexQA 团队阅读约 36 分钟

附录给出七组件分类、95 项任务的契约、四个 Harness 的适配边界、Trace IR,以及分层裁决和失败归因规则。

本文目录

附录

附录 A 基准分类法与任务套件

A.1 Harness 可靠性分类法

该分类法将 ETCLOVG 分解(Li et al., 2026)适配到 95 项任务发布版中可观察的 harness 职责。当 harness 居中调解某一属性、一项任务能够在可比条件下对其进行检验、且其结果能够对照执行证据加以核验时,该属性即属于本基准。七个主要组成部分为 DH = {C, E, G, L, O, T, V}, (11) 每项任务贡献一个主要组成部分和一个机制级属性。次级标签描述交互关系,而不在组成部分合计中重复计入观察结果。表 11 定义各项职责及其范围。表 11:TraceTrial-Bench harness 可靠性分类法的七个组成部分。组成部分 Harness 职责 最终任务套件中的代表性属性 Context (C) 管理提供给模型的信息,并在上下文缩减、轮次、会话和智能体边界之间保留与任务相关的内容。截断披露、滚动压缩保真、跨轮事实保留、会话恢复保真、持久记忆行为,以及子智能体上下文隔离。Execution (E) 执行所请求的动作,并返回进程状态、输出和失败信息,而不改变或隐瞒其操作含义。退出码保真、标准错误捕获、超时行为、shell 状态持久化、后台进程监管、超时传播、陈旧产物处理,以及 PTY 终止。Governance (G) 一致地应用权限、安全策略和环境限制,同时保持声明行为与强制执行行为之间的清晰关系。执行治理、审批与护栏一致性、网络限制、破坏性动作控制,以及密钥或凭据脱敏。Lifecycle (L) 跨轮次、会话、委派工作、恢复操作和资源边界协调状态与控制流。模型调用预算、已提交状态与已确认状态、子智能体结果聚合、待处理子项处理、工作流交接、目标修订,以及会话恢复。Observability (O) 为模型或操作者暴露充分且准确的信息,以便识别失败、区分其来源,并重建重要的执行事件。工具错误转达、harness 错误与拒绝通知、事件来源、诊断状态,以及可审计的完成信息。Tools (T) 通过稳定的面向模型接口暴露外部能力,并忠实地传输工具定义、参数、结果和交互请求。工具可用性、命名与注册、参数传输、结构化结果保真、技能结果转达、动态工具发现,以及结构化的用户澄清通道。Verification (V) 支持基于证据确认执行进展与完成情况,并区分已验证结果与缺乏支持的成功声称。声称与执行的一致性、可引用的完成回执、未完成工作的披露,以及所报告数值与所产生产物之间的一致性。归属遵循被测试的职责:工具声明和参数传输属于 Tools;进程结果属于 Execution;子上下文属于 Context;子完成属于 Lifecycle。Verification 关注 harness 对检查进展的支持,而独立 oracle 属于测量装置。组成部分与属性计数见表 16。

A.2 任务设计与基准总体

每项任务将一种 harness 机制与一项实际交付物相耦合。例子包括超大输出、被掩盖的退出失败、待处理作业、会话交接,以及结构化澄清。私有或一次性取值使正确交付依赖于预期的交互;测试恢复的任务提供一条有界的恢复路径。任务包固定提示或轮次序列、初始工作区、工具、预算、必需输出、验证器,以及两份评分表。跨 harness 适配器在保留原生执行行为的同时保持这一契约(附录 B)。目标能力缺失可以是一项被测量的结果;改变任务语义的适配器则构成另一种比较。发布总体是 lean95.manifest 中的 95 条唯一路径。表 12 中的构建分组描述任务来源,且不接受单独的评分权重。表 12:最终 95 项任务发布版中所代表的构建分组。构建分组 任务 设计目的 障碍与归因案例 暴露由 harness 造成的障碍、可用的恢复路径,以及这些障碍对任务完成可能产生的影响。共享机制比较案例 检验在各 harness 之间广泛可用的机制,从而使比较聚焦于实现质量上的差异。能力缺口案例 考察各 harness 在是否为澄清、委派、审批、上下文处理或生命周期控制提供可用路径方面存在差异的情形。侧面平衡补充 改善覆盖不足的机制与执行表面的代表性,尤其是面向编码和面向终端的场景。合计

lean95.manifest。该协议区分任务构建与执行及评测:Authored →Audited →Cross-harness eligible →Executed →Apparatus valid →Measured →Attributable。(12)

A.3 任务卡、Oracle 与硬门控

任务卡概括由任务文件所定义的契约、执行条件和验证来源。所有已发布的包都提供提示、轮次说明、运行时配置、工作区、可执行验证器,以及分开的 Harness 与 Agent 评分表。表 13 给出规范化的文档字段;归档的任务包仍具权威性。表 13:已发布基准任务的规范化任务卡字段。字段 主要来源 内容 任务身份 task.yaml、发布清单 任务 ID、标题、已发布路径,以及任务修订。场景与目标 task.yaml 应用领域、主要场景、目标组成部分,以及机制级属性。对智能体可见的契约 prompt.md、turns.json 用户指令、任务目标、操作规则、工作边界,以及预期响应。对话协议 turns.json、runtime/execution.json 单轮、固定多轮或由模拟器驱动的交互,包括任何会话边界或重放条件。初始状态 workspace/、模拟器配置 执行开始时可用的文件、目录、服务、记录和受控状态。

字段 主要来源 内容 可用接口 task.yaml、运行时配置、工具清单 原生工具、任务专用工具、业务服务、进程控制,以及任务所要求的其他接口。目标压力 task.yaml、isolation.yaml、模拟器配置 用于检验目标行为的受控条件,例如截断、超时、待处理工作、状态恢复、schema 冲突或策略拒绝。里程碑与限制 提示、轮次安排、模拟器、验证器 必需的中间状态,以及会绕过或使预期任务路径失效的动作。交付物 expected_outputs、提示、验证器 必需的文件或响应,连同其路径、格式、schema 和完整性条件。资源预算 task.yaml、已解析的运行配置 最大用户输入轮次、工具调用和墙钟时间,连同任何任务专用限制。执行契约 runtime/execution.json、探针 执行模式、运行时要求、进程行为,以及运行期间必须收集的证据。Oracle 与验证 私有真值、模拟器状态、轨迹证据、score.py 权威事实、预期状态、准则定义,以及可执行验证器入口点。对智能体可见的输入与私有真值、模拟器状态和验证器逻辑相互分离。例如,C1-escalation-export-001 要求一次完整的工单导出,以及针对同一快照的有界恢复请求,以获得十二条升级代码。私有账本记录已签发的代码和请求。验证器将它们与已交付的工具结果及最终 JSON 映射相比较。这将任务成功绑定到被测试的信息通道,而不依赖 Agent 对其自身动作的叙述。Oracle 来源。Oracle 可以是真值文件、受保护的夹具、模拟器账本、进程结果或可执行条件。表 14 列出这些形式。表 14:TraceTrial-Bench 所使用的主要 oracle 来源。Oracle 来源 示例 评测作用 私有结构化真值 标识符、代码、回执、映射、预期哈希 支持在必需取值与最终交付物之间进行精确比较。模拟器状态与账本 已接受的请求、已签发的取值、状态转换、调用计数 独立于对模型可见的结果,记录到达受控服务的内容。工作区与产物状态 文件内容、数据库行、清单、输出 schema 判定必需变更是否发生,以及受保护输入是否保持不变。执行状态 退出状态、标准输出、标准错误、信号、超时、进程状态 确立命令与长时间运行操作的实际结果。轨迹与探针证据 调用—结果身份、消息投递、会话边界、子项完成、策略决策 判定 harness 向模型交付了什么,以及执行事件如何被表示。里程碑与禁止事件。一份正确的最终产物仍可能违反交互契约,例如重复一次性操作或读取私有状态。必需动作、顺序约束和被禁止的捷径被编码在提示、轮次安排、评分表和验证器中。这些检查保持 Agent 动作、由 harness 调解的行为与收集失败之间的区分。

表 16:lean95.manifest 中的主要组成部分覆盖。组成部分 任务 占比 属性 Context 15.8% Execution 28.4% Governance 9.5% Lifecycle 20.0% Observability 7.4% Tools 17.9% Verification 1.1% 合计

95 100.0% 准入与硬门控。普通准则测量各项单独要求;运行器硬门控可以覆盖执行时验证器结果;装置检查评估证据是否可用。表 15 记录这些运行器记录。表 15:运行器级准入与硬门控策略,有别于本分析所使用的最终分数聚合。条件 证据 处理 装置准入失败 缺失或不一致的运行身份、执行记录、必需轨迹、oracle 证据或验证器结果 在评分之前不予准入。该协议状态并不是对本报告所分析的已定稿归档的额外排除。任务专用禁止事件 工作区状态、模拟器记录、进程证据或规范化轨迹 相关任务准则失败。除非某项显式策略赋予其硬门控地位,否则该事件不会覆盖全部分数。模拟器证据完整性 私有模拟器清单及其完整性结果 对于本可评分的、由模拟器支撑的运行,完整性失败会触发分数归零门控。若因装置失败而无法确立完整性,则该运行无效,且不应用分数覆盖。非模拟器工具调用上限 任务级 max_tool_calls 与一份完整的结构化轨迹 若轨迹证明已超过该限制,且没有网关阻止额外调用生效,则有效分数被设为零。模拟器请求上限 不可变的任务限制与模拟器侧请求计数 超出限制的请求在能够影响业务状态之前被拒绝。超出部分被记录为预算违规,且不会通过第二次分数归零门控再次计分。墙钟与对话限制 已解析的调用超时、轮次安排和执行状态 这些限制在执行期间强制实施。由此产生的终止状态作为运行证据予以保留。验证与修订。任务验证覆盖结构一致性、oracle 与验证器行为、触发可达性、预算内可解性,以及可能绕过目标机制的捷径。跨 harness 评审检查同一任务契约和可观察效应。验证资产概述如下。

A.4 基准覆盖

分类法覆盖。表 16 将每项任务在其主要组成部分下计数一次。场景与执行覆盖。表 17 概括任务表面与交互形式。原生执行是指在基准容器内使用 harness 的原生接口。它并不意味着在 Docker 之外执行。L3 标签描述任务压力,而非模型推理强度。

表 17:95 项已发布任务的场景与执行覆盖。侧面 类别 任务 占比 场景表面 Workflow

59 62.1% Terminal 23.2% Coding 14.7% 对话形式 单轮 48.4% 固定多轮 47.4% 模拟器驱动 4.2% 执行模式 Native

93 97.9% Docker 2.1% 表 18:任务元数据、oracle、探针与验证覆盖。产物或声明 任务 占比 可执行验证器与两份评分表

95 100.0% 结构化 expected_outputs 字段

83 87.4% 私有 truth.json

66 69.5% 显式 oracle.json 20.0% 隔离说明

68 71.6% 业务模拟器声明 46.3% 执行探针声明

73 76.8% 安全探针声明 3.2% 专用 selftest.py

57 60.0% Oracle 与证据覆盖。表 18 中的产物类别相互重叠,并反映任务专用的 oracle 与证据要求。评分表包含 783 条 Harness 准则和 556 条 Agent 准则:合计 909 条程序化规则和 430 条语义量规。这一压力任务总体及其评分程序的更广泛限制汇总于第 6 节。

附录 B Harness 配置与跨 Harness 适配器

B.1 Harness 选择与配置

这四种 harness 支持重复的模型—工具交互、可配置的模型访问、隔离的任务执行,以及可观察的原生活动。表 19 标明所配置的包与接口。已解析的配置随每次运行一并保留。表 19:TraceTrial-Bench 中使用的 Harness 版本与受控执行路径。Harness 版本 受控执行路径 Dockerfile OpenClaw 2026.6.9 带有隔离回环 Gateway 的原生 OpenClaw 运行时 docker/harnessbench/openclaw .Dockerfile Codex 0.145.0 经由回环 LiteLLM 网关的原生 Codex CLI docker/harnessbench/codex.Do ckerfile Claude Code 2.1.220 经由回环 LiteLLM 网关的原生 Claude Code CLI docker/harnessbench/claudeco de.Dockerfile DeepSeek Harness 0.1.0-rc.6 带有原生 JSON-RPC 智能体运行时的官方 SDK docker/harnessbench/deepseek .Dockerfile Codex 与 Claude Code 使用本地 LiteLLM 网关。OpenClaw 使用其原生 Gateway。DeepSeek Harness 使用其 SDK 与 JSON-RPC 运行时。Docker 隔离任务工作区与服务,而原生 harness 接口控制执行。除非任务声明会话边界,多轮任务通过同一原生会话继续。

模型注册表将报告别名绑定到提供方端点。适配器记录已解析的配置,并保留原生默认值,除非任务、测量要求或兼容性条件要求覆盖。报告分组与选定的执行总体定义于第 4.1 节。配置边界。共同的任务契约、初始状态和外部限制由基准控制。系统指令、上下文策略、内置工具、权限和会话行为保持原生。网关与适配器提供传输与观察;它们不得解决任务、修复模型决策,或补足缺失的原生能力。

B.2 原生能力发现与 Harness 画像

能力画像区分文档化支持、对模型的暴露、在一次运行中的行使,以及对照外部状态加以验证的行为。仅凭静态配置或缺少一次工具调用,并不能确立可用性。表 20 列出适配器收集契约:A 表示正式运行支持,T 表示任务专用支持。表 20:被评测 harness 的面向测量的能力契约。能力或证据契约 OpenClaw Codex Claude Code DeepSeek Harness 原生工具调用与相关联的工具结果

带有显式完整性状态的提供方边界工具清单

终端完成、超时、进程容纳,以及后台进程证据

原生上下文压缩边界观察

任务范围的业务工具、服务模拟器和 MCP 接口 T T T T 原生子项委派与子生命周期观察 T T T T 异步子项分派、子项返回边界,以及推送式完成 T T T T 审批、策略、主体谱系和受管路径证据 T T T T 原生证据路径。OpenClaw 将 Gateway 结果与会话 JSONL 及原生父子关系相结合。Codex 将 JSONL 执行事件与线程恢复及会话记录相结合。Claude Code 将 stream-JSON 与会话归档及原生工具调用标识符相结合。DeepSeek Harness 跨轮次使用持久的 JSON-RPC 通知。任务专用契约使得在运行时暴露压缩、权限和异步子项返回之处能够对其进行观察。

B.3 适配器边界与规范化

适配器启动所选 harness,通过原生扩展暴露共同的任务工具,收集源记录,并将其规范化为 Trace IR。由基准监管的超时、探针和容器事件保持与原生 harness 动作可区分。多轮任务使用原生会话延续。表 21 概括事件族,表 22 标明其原生输入。附录 C.3 提供详细 schema。表 21:由跨 harness 适配器产生的主要事件类型。事件类型 规范化含义 model_input 一个对模型可见的输入或请求表面,包括在能够安全观察时的可用消息和工具定义。tool_inventory 在提供方请求边界处暴露的结构化工具,连同来源、可见性和完整性信息。assistant_delta 流式助手输出的一个原生片段。assistant_message 由 harness 产生的一条完整或终结性助手消息。tool 一次原生工具调用及其相关联的结果,包括在可用时的标识符、参数、状态、输出和错误信息。

事件类型 规范化含义 token_usage 原生或提供方级别的输入、输出、推理和缓存 token 计数,不可用字段与零保持区分。context_compaction 一个原生上下文压缩边界,以及在 harness 暴露时的替换摘要。subagent_lifecycle 子智能体的创建、启动、返回、完成或失败,连同父子身份信息。policy_event 与一次被尝试的动作相关联的原生审批、拒绝、权限、沙箱或策略决策。native_session_archive 已归档的原生会话或通知流的位置、身份和完整性状态。run_started、run_finished 和 run_failed 记录进程状态、但不被当作模型或 harness 动作的基准生命周期事件。表 22:原生证据来源及其适配器映射。Harness 原生证据来源 适配器映射 OpenClaw 由 Gateway 支撑的 CLI 输出与会话 JSONL 记录 解析结构化 CLI 结果,并从绑定到该运行的会话中恢复缺失的轨迹信息。父会话与子会话通过原生会话标识符保持关联。Codex 原生 exec JSONL 流与会话归档 映射命令执行、MCP 调用、协作事件、助手消息和使用记录。原生线程标识符被保留,用于延续和子会话发现。Claude Code 原生 stream-JSON 输出与会话归档 通过原生标识符匹配工具调用与结果,去除重复的流记录,并保留消息、推理输出、使用量、压缩和子智能体证据。DeepSeek Harness SDK 结果与持久 JSON-RPC 通知 从增量通知重建对模型可见的序列,并跨轮次保留工具交互、压缩、子智能体谱系、使用量和策略事件。规范化规则。下列规则在允许共同表示的同时保留源含义。1. 原生内容予以保留。提示、助手消息、工具参数、工具输出、错误和压缩摘要不为语义一致性而被改写。秘密取值可以被脱敏,但其周围记录及其结构保持不变。2. 工具调用与结果以保守方式匹配。只要原生工具调用标识符可用,即加以使用。没有可观察结果的调用仍留在轨迹中,并带有缺失结果,而不是被移除或被赋予成功结果。未匹配的结果也作为不完整证据予以保留。3. 原生标识符保持可恢复。会话、消息、工具调用和子智能体标识符以其原生形式保留。若某个 harness 跨对话轮次复用同一工具调用标识符,合并后的轨迹会分配一个以轮次为范围的规范化标识符,并将原始值存储为 native_tool_call_id。4. 事件顺序遵循最强的可用原生顺序。流顺序、原生序号和会话记录顺序优先于适配器观察时间戳。最终轨迹获得一个连续序号以供检查。源序号和时间戳仍附着在导入的事件上。5. 不同主体不被压平。由主智能体执行的动作和由子智能体执行的动作保留各自身份。父子关系被显式记录,子动作不会仅仅因为二者出现在同一会话归档中就被重新归给父级。6. 未知和损坏的记录保持可见。一条有效但未被识别的原生事件作为通用原生事件或原始事件予以保留。若某个流包含格式错误的结构化输出,受影响的记录被保留,且结构化轨迹状态被降级。适配器不会静默丢弃解析失败。

  1. 没有证据时不重建缺失信息。适配器不生成隐藏推理、被省略的工具结果、审批决策或丢失的上下文。原生压缩事件只记录 harness 所暴露的摘要和边界,但不会恢复被压缩过程移除的消息。8. 装置证据保持分离。进程超时、容器强制执行、提供方请求记录和任务工具传输日志按其实际来源标注。它们可以支持评测或归因,但不会被转换成原生 harness 事件。对于 Codex 命令事件,规范化只移除被评测执行器所添加的固定外层 shell 包装。由 Agent 提供的管道、重定向和嵌套包装保持不变,且完整的原生命令仍然可用。任务工具传输可以改变其封套,但不改变参数、响应、状态效应或错误含义。

B.4 语义等价与资格

本小节定义前瞻性比较要求。它并不对第 5 节中的归档结果引入额外过滤器。等价路径保留任务目标、信息、动作机会、状态效应和评测条件,同时使由 harness 控制的差异保持可观察。1. 目标等价。模型收到相同的任务目标、必需交付物、约束和成功条件。原生输入接口所要求的格式变化不得增加、删除或澄清任务信息。2. 初始状态等价。工作区、文件、服务记录、凭据、环境变量和被模拟的外部状态从同一任务说明初始化。Harness 专用配置文件可以不同,但不得包含任务答案或额外的解题信息。3. 任务工具等价。由基准提供的工具必须表示相同的任务级操作。即使 harness 使用不同的传输机制,其必需输入、返回信息、错误和对外部状态的效应也必须保持等价。4. 动作效应等价。同一有效任务动作必须产生相同的外部可观察状态变化。适配器不得代替模型执行操作、自动重复失败的操作,或把被拒绝的操作转换成成功的操作。5. 观察等价。工具结果、错误、完成信号和服务响应必须保留任务环境所返回的信息。Harness 专用的呈现可以不同,但适配器在信息到达模型之前不得对其进行摘要、扩展或修复。6. 生命周期等价。轮次限制、墙钟限制、模型调用限制、进程边界和会话重置规则必须遵循同一任务说明。原生延续、压缩、后台进程或子智能体机制不得被更强的、由基准控制的替代方案所替换。7. 策略等价。受管路径、审批要求、被禁止的动作和任务专用访问限制必须适用于相同操作。基准安全兜底可以防止损害,但不能被计为 harness 自身强制执行了该策略的证据。8. 证据等价。任务 oracle 所要求的证据必须以可比强度可被观察。结构化原生事件不能被适配器生成的、声称该事件大概发生了的陈述所替换。当某个 harness 暴露较弱证据时,受影响的比较受到限制或被标记为不可比。成对资格。令 Rt 为实施并观察任务 t 所需的能力,Ch 为该 harness 的测量契约,St,h 为语义等价,Ot,h 为所需的观察路径。则 Et,h = I [Rt ⊆Ch ∧St,h ∧Ot,h] , (13) 当缺失本身就是被测试的行为时,目标能力不必存在。若测试无法被实施或观察,则该对为不受支持;若适配后的路径改变其语义,则为不可比。

运行级有效性。对于一个合格对,令 At,h,r 表示装置健康状况,It,h,r 表示来源与归档完整性。协议准入为 Vt,h,r = Et,h ∧At,h,r ∧It,h,r。(14) 准入关注证据完整性,而非任务成功。绕过测量通道的模型动作被单独标注,但它不会抹除已定稿的零分。全网格报告策略规定于第 4.3 节。收集器或归档失败可以使一次观察失去定论。当观察路径本身完好时,harness 超时或事件缺席仍然可测。表 23 概括这些协议区分。表 23:资格与有效性结果的处理。状态 含义 统计处理 Eligible 存在一条语义上有效且可测量的原生执行路径。纳入跨 harness 合格总体。Unsupported 基准缺少有效的实施或观察路径;这有别于目标能力缺席。处于前瞻性协议总体之外;不是对当前归档的额外过滤。Non-comparable 一条可能的适配器路径会改变任务语义、原生行为或证据强度。报告该协议限制;当前分析保留其所声明的全网格。Measurement bypass 某项 Agent 动作掩盖了目标 Harness 属性。保留原始裁决并标注受影响的准则;只调整可选的归因集合。Apparatus-invalid 基准无法按说明执行、收集或验证该运行。不予协议准入;不推断存在 Harness 缺陷。本研究不应用新的归档排除。Measured failure 该对合格,装置有效,且所观察的行为未能满足一条或多条准则。在适用分母中作为失败纳入。匹配比较。对于使用基于协议的准入的前瞻性研究,两个 harness 的匹配总体为 Dh1,h2 = (t, m, r) | Et,h1 = Et,h2 = 1, Vt,h1,r = Vt,h2,r = 1

。(15) 本研究则在其固定归档中保留全部已定稿单元,每个 harness 有 855 个模型—任务单元。每个模型—任务单元贡献一次选定执行。

附录 C 证据获取与 Trace IR

C.1 证据来源与获取架构

收集流水线保留原生 harness 记录、提供方边界元数据、任务工具账本、环境状态和装置记录。表 24 规定其产生者、可见性和用途。运行器捕获初始工作区,在执行期间收集观察,并归档最终工作区与源记录以供离线评测。表 24:为每次基准运行收集的证据层。证据层 产生者 模型可见性 示例与主要用途 原生 harness 证据 Harness 运行时 混合 助手消息、原生工具调用与结果、会话记录、压缩事件、子智能体事件、策略决策,以及原生使用报告。用于重建 harness 行为。

证据层 产生者 模型可见性 示例与主要用途 提供方边界证据 请求记录器 混合 对模型可见的工具声明、请求计数、数值化计时观察,以及提供方使用字段。用于确认请求表面并导出可比的效率测量。任务工具证据 任务工具与服务模拟器 响应可见,传输记录仅观察者可见 工具请求、返回值、错误、已提交的操作,以及服务状态转换。用于验证由模型发起的动作的效应。环境状态证据 工作区与任务环境 取决于任务权限 基线与最终文件、工作区差异、输出产物,以及最终外部服务状态。用于判定是否产生了必需结果。装置证据 基准运行器与容器运行时 不可见 进程状态、退出码、超时、镜像身份、资源限制、归档状态、清理状态,以及收集器健康状况。用于判定该运行是否被正确测量。可见性与权威性。任务工具账本确立某项服务收到、产生或提交了什么。只有相关联的、面向模型的记录才能确立模型通过 harness 收到了什么。同样,工作区或模拟器快照确立外部状态,而助手消息记录的是关于该状态的一项声称。仅观察者可见的记录,包括私有真值和装置日志,不被当作对 Agent 可用的信息。提供方记录器保留结构化工具声明和数值化请求元数据,而不是完整提示或对话内容。一份完整清单支持关于该请求边界处结构化工具表面的声称;但它并不描述每一种可能的原生动作接口。原生轨迹只包含已暴露的推理或助手内容,而不重建隐藏推理。产物与部分收集。运行归档将规范化事件存储在 events.json 中,将派生概览存储在 summary.json 中,并存储原生记录、工作区变更,以及适用的服务或探针证据。根目录 result.json 索引执行产物,最终评分权威性规定于第 4.2 节。出错或超时之后,已收集的记录仍然可用,格式错误或不受支持的原生记录作为原始证据予以保留。缺失事件从不以合成方式补全一条轨迹。

C.2 轨迹重建与来源优先序

重建解析原生记录,将其绑定到运行和会话,关联交换,合并已恢复的轮次,并保留受支持的顺序。原生身份和显式关系优先于文本相似度或时间戳接近程度。调用、轮次与主体。工具调用与结果按原生调用标识符匹配。重复导出只有在身份与语义内容一致时才被合并。未匹配的调用或结果保持不完整。多轮事件保留 conversation_turn、source_event_seq 和 source_event_timesta mp。若后续轮次为另一次调用复用某个标识符,规范化标识符变为以轮次为范围,而 native_tool_call_id 保留源值。子会话保留其自身主体以及一种带类型的父关系。生成、返回和完成记录确立跨会话依赖,而局部事件顺序在每个主体内部予以保留。后台作业通过已暴露的作业或进程标识符加以关联。外部完成与向父级或模型的投递是彼此不同的观察。上下文与排序。持久化历史并不必然是活跃的模型上下文。在可用时,原生模型输入记录确立某一步所投递的消息,而压缩记录只确立实际暴露的边界和摘要。时间戳可以描述创建、观察或导出,且不能单独确立跨会话因果性。最终的连续 seq 索引是一种呈现顺序,而不是更强的因果声称。按声称划分的优先序。表 25 为每个问题标明首选来源。较低优先序的冲突观察仍留在归档中:例如,一条原生成功消息与模拟器的失败事务描述的是不同边界,并可能揭示投递问题。含糊的会话绑定则需要完整性复核。

表 25:轨迹重建期间使用的、按声称划分的来源优先序。声称 首选证据 回退与限制 工具可用性 完整的、对模型可见的提供方边界清单 一次被观察到的原生调用只证明在场。它不能确立其他工具缺席。对模型可见的上下文 原生模型输入或请求表面记录 持久化的会话历史可以支持重建,但它不能证明每条消息都保持活跃。原生工具调用 带有稳定标识符的原生工具调用事件 一次任务服务请求证明某项操作到达了该服务,但它未必能识别负责的主体。工具结果投递 包含该结果的原生工具结果或后续模型输入记录 一次服务响应证明该服务产生了结果,但并不能证明模型收到了它。外部状态变化 模拟器账本、权威服务状态或最终工作区 工具输出和助手文本描述所声称的效应,但不会覆盖权威状态。压缩、子智能体或策略事件 绑定到正确会话或主体的带类型原生事件 助手文本可以支持解释,但不能创造缺失的原生事件。模型请求计数 完整的提供方请求序列 按调用的原生使用量可以提供派生计数。轮次级或运行级聚合则不能。Token 使用量 完整的按请求提供方使用量 当提供方证据不完整时使用原生按调用使用量。运行聚合仍被标注为聚合证据。计时 提供方边界的请求与响应观察 仅当其范围和覆盖已知时才使用原生 CLI 流计时。进程完成与超时 进程监管者与容器生命周期 一条 harness 消息可以解释停止条件,但不会覆盖所观察的进程状态。装置有效性 容器生命周期、归档清单、完整性检查和收集器状态 Harness 输出不能确立测量装置已正确完成。仅当请求覆盖完整时,提供方使用量才替换原生聚合。计时与 token 数量在合并之前必须覆盖相同请求。

C.3 Trace IR 模式与事件词典

Trace IR 将公共封套与事件专用载荷分开。表 26 和表 27 定义必需字段与核心事件。可选身份和取值仅在有原生证据支持时才被填充。表 26:Trace IR 事件封套中的公共字段。字段 类型 定义 schema_version integer Trace IR schema 版本。当前发布版使用版本 1。seq positive integer 最终重建轨迹中的连续事件位置。timestamp string 写入规范化事件时指定的 UTC 时间戳。这是观察时间戳,而不是原生执行时间戳。run_id string 属于一次基准运行的全部事件与产物所共享的标识符。event_type string 决定事件专用载荷的规范类型。source string 或缺失 获得该事件的原生流、会话归档、提供方边界或装置组件。conversation_turn positive integer 或缺失 该事件所属的、由基准管理的用户输入轮次。session_id string 或缺失 原生 harness 会话、线程或对话标识符。turn_id string 或 integer 或缺失 模型轮次或 harness 轮次的原生标识符。step_id string 或 integer 或缺失 当 harness 暴露内部模型步骤时,该步骤的原生标识符。principal_id string 或缺失 对该事件负责的主智能体或子智能体的身份。parent_principal_id string 或缺失 当事件属于子智能体时,父主体的身份。

字段 类型 定义 principal_role string 或缺失 负责主体的角色,通常为 main 或 child。source_event_seq integer 或缺失 轮次或会话轨迹被合并之前的原始序号。source_event_timesta mp string 或缺失 合并期间从源轨迹复制的观察时间戳。source_timestamp string 或缺失 由原生 harness 记录直接提供的时间戳。raw_event JSON value 或缺失 在必需脱敏之后,与规范化事件相关联的原生源记录。规范化时间戳记录收集时间,而源时间戳保留在 source_timestamp 或 raw_event 中。运行、会话、轮次、步骤和主体标识符定位每一次观察,而不把并发智能体折叠进同一条执行流。表 27:核心 Trace IR 事件类型与载荷字段。事件类型 主要载荷字段 含义 model_input model、provider、messages、tools、request_params 由原生 harness 暴露的一次模型调用表面。messages 与 tools 的完整性取决于来源。tool_inventory model_visible、complete、scope、tools、request_count、inventory_fingerprint 在提供方边界观察到的结构化工具声明。每个工具包含 name、type、description 和 input schema。assistant_delta delta 或 content_delta、reasoning_delta、content_kind、fragment_seq 由 harness 暴露的流式助手文本或推理内容的一个片段。assistant_message message_id、content、content_kind、reasoning、model、finish_reason 一条完整的助手消息或完整的推理块。推理块不被当作最终答案。tool tool_call、tool_result 一次原生工具调用及其相关联的结果。当没有观察到匹配的原生结果时,该结果可以为 null。token_usage usage、usage_scope、usage_aggregate、reported_cost_usd 与一次模型调用、一轮、一次完整运行或一次内部 harness 操作相关联的 token 使用量。context_compaction native_event_type、native_event_id、native_event_key、trigger、summary、summary_present、notice_visible_to_model 一个原生上下文压缩、裁剪或替换边界。subagent_lifecycle action、status、stop_reason、主体字段、boundary_kind、pending_child_ids 原生子智能体的创建、分派、启动、返回、完成或失败。task_completion status、content、model_visible_content、主体字段、parent_reactivated 到达完成边界的原生子任务或委派任务结果。policy_event policy_kind、decision、reason_code、approval_id、tool_call_id、tool_name、reason_visible_to_model、execution_started 一次原生审批、权限、沙箱或策略决策。native_event native_event_type 或 native_method、status 一条不映射到更具体核心事件的有效原生记录。native_diagnostic diagnostic_type、诊断专用字段 一条可以解释进程结果、但其本身不表示模型动作的原生诊断。工具交换。一个 tool 事件包含带有身份、名称和参数的 tool_call,以及在可用时相关联的 tool_result。结果字段保留内容、来源所指示的错误状态、整数退出码、持续时间和已知截断。错误状态不从负面措辞推断。缺失结果表示为 tool_result = null。(16) 这不同于成功返回的空字符串。

使用范围。使用量保留它描述的是单次调用还是聚合:• call 表示一次模型请求 • turn 表示一个原生 harness 轮次 • run 表示一次完整执行聚合 • internal 表示一次 harness 操作,例如一次压缩调用 缓存输入计入总输入,推理输出计入总输出。二者都不再重复相加。缺失的使用量保持不可用,聚合不会被展开成估计的调用。压缩、子生命周期与策略。压缩记录保留原生身份或记录哈希、所暴露的替换摘要,以及摘要是否存在。一条可见的压缩通知并不能确立全部相关上下文都得到保留。子生命周期事件保留动作、主体和父身份。没有相应的原生观察,子完成并不能确立父级被重新激活。策略事件保留原生决策、受支持的原因、可见性,以及执行是否已经开始。外层容器拒绝仍是装置证据,而不是原生 harness 策略决策。支持与扩展事件。表 28 记录收集与编排事件,它们不被计为模型动作。表 28:生命周期、编排与证据支持事件。事件类型 主要载荷字段 含义 run_started harness、model、cwd、argv、isolation harness 执行或任务协议的开始。run_finished exit_code、trace_complete、summary_path 所观察执行进程的正常结束。run_failed error_type、error_message、exit_code、timed_out 异常终止、超时、不受支持的协议或基础设施失败。conversation_started mode、planned_turns、max_turns 由基准管理的多轮对话的开始。conversation_turn_star ted turn_index、input、user_input 投递一个由基准管理的用户轮次。conversation_turn_fini shed turn_index、status、native_session_id 一个对话轮次的完成状态。conversation_simulator _decision turn_index、done、next_message 由任务定义的对话模拟器所产生的决策。conversation_finished status、turns_completed、native_session_id 完整的、由基准管理的对话的结束。session_boundary 先前与新的会话标识符、before_turn、workspace_preserved、history_replayed 从一个原生会话到另一个原生会话的显式转换。context_handoff action、before_turn、model_visible、历史计数与哈希 在所声明的会话边界处,由基准控制地投递被允许的先前上下文。provider_request_count count、source 当作为轨迹事件暴露时,原生或由提供方支持的模型请求计数。native_session_archive status、format、artifact、sha256、size_bytes、redacted 已归档原生会话或通知流的元数据。trace_export status、format、path、redacted、导出专用检查 一次原生轨迹导出操作的状态。raw_stdout text、stream_seq、parseable、parse_error 无法由更具体事件表示的标准输出。raw_stderr text、stream_seq、severity 脱敏后为诊断而保留的标准错误。任务所声明的记忆与生命周期协议还可以另外使用:• session_created • episode_injected • fresh_session_completed

• delegated_parent_created • delegated_child_created • delegated_child_completed • final_prompt_completed • app_server_notifications 这些回执保留原生请求、会话、子项或片段身份以及内容哈希。它们仅为相应协议补充核心事件。映射与缺失值。表 29 概括规范化。缺失字段、显式不可用取值、测得的零,以及成功的空输出保留其各自含义。完整的原生记录仍与其规范事件相关联。表 29:从原生记录到 Trace IR 事件的一般映射。原生记录类别 Trace IR 事件 映射规则 请求开始或轮次开始 model_input 保留所暴露的模型、消息、工具、参数和原生轮次身份。结构化提供方工具声明 tool_inventory 规范化 name、type、description 和 input schema,同时保留完整性与可见性字段。流式文本或推理片段 assistant_delta 保留文本片段、内容种类、片段顺序和源计时。已完成的助手内容 assistant_message 保留消息身份、可见内容、内容种类和结束原因。工具使用开始并随后有结果 tool 通过原生调用标识符匹配,并保留两份源记录。工具使用开始但没有结果 tool 保留该调用,并将 tool_result 设为 null。原生使用记录 token_usage 保留 token 字段,并记录其范围是一次调用、一轮、一次运行还是内部动作。原生压缩或裁剪记录 context_compaction 保留边界、替换摘要、会话身份和对模型的可见性状态。子智能体生命周期记录 subagent_lifecycle 保留子身份、父身份、动作、状态和返回边界。投递给父级的委派结果 task_completion 保留子结果以及父级是否被重新激活。审批、权限或沙箱记录 policy_event 规范化该决策,同时保留完整的原生策略记录。有效但未被识别的原生记录 native_event 保留源类型和完整原始记录,而不赋予不受支持的语义。格式错误或非 JSON 的流内容 raw_stdout 或 raw_stderr 保留原始文本,并记录解析或严重性信息。

C.4 证据质量、完整性与隐私

表 30 定义质量检查与报告维度。结构有效性、准则覆盖和对归因的支持是彼此分开的属性。该表是一份测量说明,而不是声称本研究中每个维度都有语料库级估计。表 30:TraceTrial-Bench 所使用的证据质量维度。维度 问题 主要检查 完整性 预期测量所要求的记录是否已被捕获?轨迹终止、结构化事件可用性、会话覆盖、调用—结果覆盖、提供方请求覆盖,以及必需的探针产物。保真度 规范化事件是否保留其原生来源的含义与内容?原生标识符、参数、输出、错误、状态字段、原始记录,以及允许的规范化规则。来源可追溯性 一项规范化声称能否追溯到一条原生记录或一份权威状态产物?来源标签、会话与主体身份、源序号、产物路径和哈希。

维度 问题 主要检查 完整性 所存储的产物是否完整、未经更改,并绑定到正确的运行?文件集清单、SHA-256 值、运行身份、镜像身份、路径安全、生命周期检查,以及证据 schema 验证。隐私 凭据和私有基准材料是否已从已发布证据中排除?字段级脱敏、输出树扫描、路径扫描、提供方记录限制,以及私有验证器输入的分离。可重放性 能否在不重新运行智能体的情况下再次检查并评分该运行?保留的工作区、轨迹、任务状态、评分输入清单、冻结配置,以及验证器门控检查。有界开销 证据收集是否保持在所声明的时间、内存、输出和存储限制之内?端到端计时、峰值内存、所捕获的输出大小、归档限制,以及收集器状态。完整性与可评分性。trace_complete 字段记录所配置的收集路径是否到达其预期终点,而不是所有 harness 内部是否可观察。structured_trace_s tatus 记录是否提取出了可用的结构化事件。表 31 概括这些状态。当前归档纳入策略见第 4.3 节。准则处理见附录 D.2。表 31:运行级证据质量状态。状态 条件 处理 Complete 结构化提取成功,正常获取路径结束,且所报告测量所要求的全部证据通过验证。所有受支持的准则都可以被评测。Partial 保留了某些有效的结构化或状态证据,但运行提前结束,或一个或多个预期来源不完整。检查准入并保留覆盖限制。已准入的准则遵循固定评分规则。Unavailable 没有恢复出可用的结构化轨迹,尽管原始输出或最终产物可能仍然存在。检查必需来源的准入是否失败。不要从分数中静默移除已定稿的轨迹准则。Integrity failure 证据无法绑定到该运行、与其清单不匹配、包含不安全产物,或未通过必需的 schema 检查。受影响的测量被拒绝,并可能使该运行成为装置无效。完整性与发布边界。归档清单将文件路径、大小和哈希绑定到运行配置与源身份。任务专用探针和服务账本保留其自身来源。这些检查检测归档变更和错误绑定,但并不确立每一条源记录的真实性。允许的表示变更列于附录 B.3。私有真值和验证器输入与 Agent 的可写工作区相分离。导出策略排除凭据和完整的提供方请求体,并要求对敏感的已归档内容进行脱敏。离线评分读取已保留的证据并核验一份工作区副本。它不重放 Agent,也不保证复现其决策。

附录 D 分层评测与失败归因

D.1 评测层与准则目录

Agent 层对任务动作和交付物评分,Harness 层对受调解的执行行为评分。装置检查确立证据完整性,而不贡献第三项分数(表 32)。两个裁决向量保持分离,并有一项显式依赖:Harness 状态 2 使用已完成的 Agent 结果。表 32:TraceTrial-Bench 中使用的评测层。层 角色 主要评测目标 Agent 计分,50 分 智能体的动作、声称和最终交付物的正确性、完整性与任务遵从。

层 角色 主要评测目标 Harness 计分,50 分 对上下文、工具、执行结果、状态、错误、权限和生命周期事件的忠实投递。Apparatus 准入门控 评测者所使用的轨迹、探针、运行器元数据、私有证据和已归档产物的完整性。任务评分表为 verifier/harness_score.yaml 和 verifier/agent_score.yaml。一条准则规定其标识符、类型、陈述和所需证据:c = ⟨id, layer, type, statement, evidence, component, trigger, role⟩。(17) 表 33:用于描述一条评测准则的字段。字段 含义 id 在一项任务的两份评分表之间唯一的稳定标识符。layer 该准则所属的计分层,为 Harness 或 Agent。type 评测方法,为确定性规则或有证据边界的量规。statement 对该准则要通过所必须成立的条件的直接描述。evidence 用于选择相关证据的事件类型、字段、关键词和匹配规则。component 该准则所考察的 harness 分类法组成部分。trigger 一条机制专用准则变为适用的条件。role 该准则是贡献于核心指标,还是提供诊断信息。规则对任务状态、产物或精确轨迹属性使用确定性检查。量规要求对一个有界证据包进行语义判断。分类法归属与任务构建定义于附录 A。分数构成。令 PH、PA 为通过的准则计数,NH、NA 为相应总数。每一层对合并分数最多贡献 50 分:SH = 50 × PH NH , (18) SA = 50 × PA NA , (19) Stotal = SH + SA。(20) 这些贡献不同于分别报告的层百分比 100PH/NH 和 100PA/NA。合并通过要求 Stotal = 100;Agent 任务成功只要求 PA = NA。

D.2 裁决规则与评测程序

确定性规则是二元的。语义 Harness 量规在二元解析之前可以返回诊断状态 2 或 3,如表 4 所规定。状态 2 仅当全部 Agent 准则都通过时才通过,而状态 3 解析为零。确定性结果首先固定,随后是 Agent 量规,然后是 Harness 量规。证据选择器规定事件类型、字段、匹配条件和返回限制。每一项语义判断保留其证据包、提示、响应、裁决和理由。Agent 裁决提供下游上下文并解析状态 2,但并不独立地确立一项 Harness 缺陷。没有证据的必需选择器得到零分和一条空选择记录。所有已定稿准则都留在其层分母中,包括受绕过影响的零分。这些规则描述操作性的准则满足。第 4.2 节规定已归档的 Judge 与最终分数来源,第 4.3 节固定报告总体。

D.3 失败归因与证据要求

归因区分原始失败、已激活的候选链接、已确认的 Harness 缺陷,以及已验证的传播。对于已定稿裁决向量 VH、VA,定义

FH = fail(VH), ZA = fail(VA), ZH = FH \ B, (21) 此处 B 包含其观察被某项 Agent 动作绕过的 Harness 准则。绕过标注不改变分数。可选的运行时摘要使用 ZH,而所报告的列联使用原始失败 FH。已确认缺陷集 DH ⊆ZH 中的成员资格还要求针对准则的来源核对。候选激活与验证。一个已声明的机制 ℓ= (hℓ, aℓ, µℓ) 通过一种中间的信息、动作或状态扭曲,连接 Harness 准则与 Agent 准则。当原始端点失败且其条件成立时,运行时将其激活:Lact(R) = {ℓ∈Crun t | hℓ∈FH, aℓ∈ZA, qℓ(R) = 1}。(22) 激活标识一个供复核的候选。提升到 Lval 需要已确认的端点、可观察的中间扭曲、受支持的事件顺序,以及对竞争性解释的考量(表 34)。候选描述符不是经过校准的概率。表 34:验证一条从 Harness 到 Agent 的候选机制时要检查的证据。阶段 必需问题 典型证据 Harness 端点 该准则的零分是否对应一项已确认的 Harness 缺陷?已核对的原生记录、探针和权威状态。中间扭曲 何种信息、动作或状态被丢失、改变、延迟或误报?相关联的字段比较、消息、状态记录或状态转换。Agent 暴露 扭曲后的信号是否在相关决策之前到达 Agent?面向模型的投递、调用身份和原生事件顺序。Agent 响应 随后发生了何种决策、动作或遗漏?工具调用、缺乏支持的声称或恢复尝试。结果效应 哪一条 Agent 准则和哪一项权威任务状态受到影响?交付物、私有 oracle 事实或环境状态。存储标签与解释。表 5 包含七条决策规则和六个存储标签,其中规则 4 和规则 6 都产生 agent_caused。结果问题表示为 ZA̸ = ∅∨B̸ = ∅。标签 harness_caused 记录候选激活,而不是已验证的传播。标签 agent_caus ed 并不断言 Harness 没有失败准则。有链接与无链接的 Agent 失败可以共存。操作性吸收意味着 FH̸ = ∅且 ZA = ∅。已确认缺陷吸收还要求 DH 中有一个相关端点。一项具体的恢复声称还需要一次被观察到的恢复动作和经过验证的最终状态。

觉得有用,转给同事

微信扫码

用微信扫一扫,在手机上打开后即可转发。

用 RSS 订阅

提交勘误