← 返回藏书阁

TRACE:用压缩边界配对续跑评估上下文损失

wiki/ai/sources/trace-boundary-paired-continuation.md
分类:ai / sources · 更新:2026-09-21 09:16

TRACE:用压缩边界配对续跑评估上下文损失

结论与用户价值

摘要“信息看起来齐全”不等于 agent 能接着正确做事。 TRACE 把评测单元从整场任务成功/失败,缩到同一个真实压缩边界:恢复相同环境,分别给压缩前 PRE 与压缩后 POST 上下文,观察接下来的真实工具执行。这能直接审计 Hermes 长会话中重复查询、遗漏最新要求、已完成后继续行动等问题,而不把所有失败都归咎于压缩。主轴为 context management / benchmark-evaluation / harness-runtime,不是 sandbox 安全实验。^[raw/articles/trace-boundary-paired-continuation-2026-09-21.md]

2026-09-18 只读摘要的候选现已补齐论文全文、固定源码与冻结数据。旧 raw-only 摘要保留原样;本页记录本轮晋升。它与 arc-addressable-recall-context-compaction 互补:能按地址找回原文,仍可能付出重取成本或错误使用状态;Context-Engineering 因此需要评估“当前行动能否正确延续”,不能只评估可恢复性。

机制:同状态、不同上下文,不同于教师强制

  1. 锁定真实边界。 固定任务、split、边界步与已执行代码前缀,记录 replay identity 和模型实际可见 context hash。第一次 PRE 是真实完整前缀;后续 PRE 是上一次真实摘要加新交互,不能伪造“之前的摘要”。
  2. 恢复环境而非仅复制文本。 每条 rollout 在 fresh AppWorld 中重放边界前代码;源码文档解释单纯 save/load 不能恢复所有 API/IPython 状态。前缀重放本身若不确定,配对前提会失效。
  3. 自由续跑。 两臂分别执行最多五个真实动作,工具结果再喂回模型;不把已录好的未来动作当答案。第一轮压缩每臂五次,后续每臂三次,均记录覆盖与排除原因。
  4. 冻结控制组。 比较同一边界的候选摘要时 PRE 可复用,但必须仍匹配 context/replay hash;跨 harness 或模型部署变更后的新采样属于新 cohort,不能并入旧集合冒充复现。^[raw/articles/trace-boundary-paired-continuation-2026-09-21.md]

这比“全上下文成功、摘要上下文失败”更接近局部干预,但仍需重复采样与置信区间;配对并不把 LLM 随机性神奇地消掉,也不证明每一个失败都是信息被删除。

指标要分清:执行受阻、重复调用、终态完成

  • blocked:按 AppWorld 原生错误契约识别,以固定错误前缀或无代码返回为准;普通 stdout 出现 error 不计。
  • refetch:规范化动作签名已出现在压缩前历史或本次续跑中;关键词参数排序后等价,变量名不折叠。它包含一些合理重复,不是“恶意/错误行为”标签。
  • union burden G:前 K 个动作中 blocked 或 refetch 的并集计数,同一步命中两者只计一次;质量为 Q = -(mean G_POST - mean G_PRE)。
  • two-channel clipped burden h:分别截断两个增量为非负再相加。它与 union 不是同一目标,不可把论文 Q、库中 h 或边际第 K 步混成一个指标。
  • 终态与早停必须并报。 G 是动作数之和,提前退出自然贡献较少项;须连同实际执行步数、task_completed 和最终交付格式观察,防止“不行动”冒充“低负担”。^[raw/articles/trace-boundary-paired-continuation-2026-09-21.md]

固定仓库的 curves.csv 显示:590 个边界上,union 的 POST−PRE 在首步为 0.130508,前五步累计为 0.509153;对应 bootstrap 95% CI 约为 [0.101243, 0.160000] 与 [0.431751, 0.588023]。这是每边界额外动作负担,不是失败率增长 50.9%,也不是第五步单独效应。原始文件有 4,641 条 rollout 记录,completion manifest 区分 4,640 条有效、1 条 errored;不能用 JSONL 行数替代有效分母。^[raw/articles/trace-boundary-paired-continuation-2026-09-21.md]

优化闭环:不要只优化代理指标

TRACE 冻结模型,仅调整自然语言压缩模板。训练边界上的局部 verifier 选出好/坏摘要对;proposer 同时看到下游系统约束,避免从错误统计脑补出“变量不能跨 cell 保留”之类错误规则。论文将具体 rollout、错误和判分拆解隐藏于 proposer,只给摘要偏好;最终在开发集做完整任务、重复两次,以 Pass²(两次都通过) 选模板,再冻结后测试。局部 Q 不替代端到端成功。^[raw/articles/trace-boundary-paired-continuation-2026-09-21.md]

固定实现还将模板分为可编辑文本槽与不可编辑的 schema/交付契约,检查 roundtrip 与模板注入边界。这对 Harness-Engineering 的启发不是直接复制一段“更好的摘要 prompt”,而是把能改什么、凭什么晋升、用什么独立验收固定下来。

已验证范围与不能外推的结论

  • 论文读至方法、实验及附录;保存原始 HTML 与全文抽取。代码固定于 9be7d66911bb7600fdec66e64f4825865397e944,不能把当前仓库文档当所有未来版本保证。
  • 本机无网络 sandbox 内运行 test_core.py:24/24;test_optimize.py 首次因缺 Jinja2 为 33/35,改用已有含 Jinja2 的 Hermes venv 后 35/35,未安装新包或改上游代码。
  • 本机 test_reproduction.py:6/6,从冻结输入重算六份CSV并逐字节SHA-256匹配,headline/CI、配对数据契约及590条历史集合hash核对通过。证明公开冻结产物可由固定代码重算,不证明原始采集环境无隐藏变量。
  • 没有运行 fresh AppWorld/model rollouts,没有复现论文模型榜单或完整 prompt 搜索;冻结统计重算与重新采样是两个证据等级。原始轨迹/harness 未全部随仓库发布,边界重建不能仅凭冻结表证明。
  • 论文的 Hermes baseline 取自固定 commit 的压缩 prompt 适配,不是对当前本机 Hermes 的端到端测量。Hermes 行为说明以官方当前文档为参考,不把论文排名当升级建议。^[raw/articles/trace-boundary-paired-continuation-2026-09-21.md] ^[raw/articles/hermes-context-compression-docs-2026-09-21.md]

迁移到 Hermes / llm-wiki 的最小实验

  1. 选可隔离的小任务和一次压缩边界,冻结最新用户要求、完成状态、待办、原始工具证据与环境快照/可重放前缀;禁止直接重放发消息、支付或线上写入。
  2. 为 PRE/POST 各运行多个独立续跑,记录合法重复读取、错误重试、重复副作用、最新指令遵循与应停止却继续,按任务簇而非动作独立采样来估计不确定性。
  3. 将本地 verifier 指标与最终任务验收并列。审批/来源标签见 spa-plan-first-label-preserving-persistent-agents,不能为了减少 refetch 把安全再确认与凭据刷新一并禁止。

深度判断与未解问题

值得晋升是因为它提供具体实验对象、配对机制、可执行 verifier、分母与真实反例,补上独立 context 轴缺口。AppWorld 特定错误契约不能直接用于 GUI;单一任务域、短 horizon、相关边界与早停影响限制外推。长期错误可能在五步后才显现,摘要缺陷、信息丢失与模型不善使用已保留信息也未被完全分离。保留 confidence: medium。

写入记录

  • 2026-09-21 09:12 CST:由旧摘要候选晋升,新增全文/固定实现机制、有效分母、累计与边际口径、模板约束及本机 core/optimizer 实测边界;不改 Hermes 运行配置。
  • 2026-09-21 09:14 CST:补冻结数据复现6/6的真实回执,区分一次依赖缺失后的成功重跑与新模型评测。