一次写入、多次核查:用于 Agent 轨迹事后策略合规审计的可复用账本
Write Once, Check Many: Reusable Ledgers for Post-Hoc Policy Compliance Auditing of Agent Trajectories
12B叙事账本的reader在SHADE-Arena组合策略上AUC为.777,高于同设置31B重读的.713。
组织事后用自然语言策略检查已存智能体轨迹。
- 事后用新的自然语言策略复查已存智能体轨迹时,现有monitor往往要按策略重读长轨迹。作者问能否在不知策略时只写一次事实记录,供之后的策略复用。
- Writer不见策略,以Gemma-4-12B-it写成事实ledger(structured或narrative),不给总裁决。Reader只看一条策略和ledger,给出违规裁决与1到10怀疑分。主集标签由脚本从成功工具结果计算。
- 八个策略集上,12B读narrative ledger不低于同模型重读。SHADE组合AUC .777,31B重读.713。八条SHADE策略,Figure 1标4.9×更少token。CUA上narrative .770,重读.896。
- 作者称主策略集主要关于已记录动作,组合集小且多为作者所写;成本假设策略分开到达且无缓存,输入输出token等权会低估生成token。未比较extract-then-judge、策略感知摘要和策略编译。未测让writer漏记证据的智能体。
- 威胁模型
- 组织事后用自然语言策略检查已存智能体轨迹。Writer不见任何策略,把轨迹写成与策略无关的事实ledger;Reader只看一条策略和ledger、不看原轨迹,返回是否违规及1至10怀疑分。主集标签由脚本根据成功工具结果计算。
- 被测模型
- Gemma-4-12B-itQwen3.5-9BE4BE2B
- 基准
- SHADE-Arenaτ-benchτ2-benchCUA-SHADE-ArenacalendarBank-Synth
- 指标
- graded macro AUCLDS-v2token count
论文提出“一次写入、多次核查”框架,由写入模型把每条 Agent 轨迹转换成与策略无关的账本,读取模型只凭账本核查新策略,无需再读原始轨迹。作者在 SHADE-Arena、τ-bench 和 τ²-bench 的 900 条轨迹上测试,12B 读取模型读取叙事账本时的 AUC,可以追平甚至超过同一模型读取完整轨迹时的水平;在 SHADE-Arena 那些需要组合多个事实的策略上,该方法的 AUC 为 .777,超过读取完整轨迹的 31B 模型的 .713。单独核查 8 条 SHADE-Arena 策略时,算上写入成本,账本使用的 token 仍约少 5 倍。分析还发现,基于规则的抽取方法在某些单一动作策略上表现更好,而账本可能遗漏较长的工具输出和消息内容中的证据。
相关热点
1 个事件 · 0 条新闻提到
- 这件事的论文
可复用账本提升智能体轨迹策略审计效率
深度解读
这篇论文试图解决什么问题?
事后用新策略审计已存轨迹时,能否只写一次与策略无关的ledger再反复检查。
事后用新策略复查已存智能体轨迹,能否只记一次事实、再反复检查,而不按策略重读。
- 场景:智能体做邮件、日历、订票、转账等长任务时,可能在完成指定任务之外做不该做的事。作者称事故或规则变更后,组织要用新规则复查已存轨迹,例如是否向用户从未提到的地址发信。
- 现有不足:固定问题的 monitor 换一条策略就要重读整条轨迹,单条常达数万 token。接受自然语言策略的 guardrail 仍对照轨迹检查;编译成代码或规则则要求策略可机械检查。作者称任务无关压缩并不以保证留下收件人、金额和文件为目标。
- 假设:任何策略出现之前,可把每条轨迹写成与策略无关、不含裁决的事实记录,之后只读该记录。
- 做法:提出 write once, check many。Writer 不见策略,写成 ledger;Reader 只看一条策略和 ledger,给出是否违规及 1 到 10 的怀疑分。策略集建在三条基准的已发布轨迹上,脚本标签从不给 writer。
- 威胁模型:
- 目标:判定已存轨迹是否违反事后写出的自然语言策略。
- 知识:Writer 不见策略,ledger 不依赖策略;Reader 不见原始轨迹。
- 输入:各系统读去掉 system prompt 的紧凑渲染。策略可以在轨迹存储之后才写。
- 对象:产生用户消息、工具调用与工具结果的 LLM 智能体轨迹。主实验用已发布轨迹,不是作者新跑的智能体。
有哪些相关研究?
作者把本文放在固定问题监控、策略合规与不含裁决的中间记录之间。
作者把相关工作分成固定问题监控、策略合规,以及中间表示与压缩。
- 监控智能体:Greenblatt et al. (2024) 的 AI control 用可信 monitor 读完整轨迹,回答一个固定问题。SHADE-Arena(Kutasov et al., 2025)与 CUA-SHADE-Arena(Kale et al., 2026)测 monitor 能否抓住有害 side task;Jotautaitė et al. (2026)、Sinha et al. (2026)、Storf et al. (2026) 分别讨论规模、蒸馏理由和提示优化。作者称这些 monitor 回答事先固定的一个问题,本文则检查轨迹存下之后才到达的许多策略。
- 策略合规:Wen et al. (2026) 把遵守组织规则与一般安全分开。Hoover et al. (2026) 与 Jiang et al. (2026) 在推理时接受自然语言策略。论文写到,工作流级策略的违规对逐步检查可以不可见(Kurady et al., 2026)。Xiang et al. (2025)、Wang et al. (2026a)、Chen et al. (2025) 把策略编译成代码或规则。作者称这些系统对每条策略重读轨迹,或需要可机器检查的规则。
- 中间表示与压缩:Yang et al. (2026) 用 Claude 为拉长的单一 SHADE-Arena 任务写攻击特定 ledger;本文复用其攻击类型,微调教师从他们的 ledger prompt 起步。Arike et al. (2026) 挑选可疑片段交给第二个模型打分。Hong et al. (2026) 与 Wang et al. (2026b) 把轨迹压进潜表示,但裁判仍读原始轨迹。Pan et al. (2024) 的 LLMLingua-2 在下游问题未知时做任务无关压缩;作者称与之比较后,通用压缩丢掉监控需要的事实。
- 基线与基准:对照包括同尺寸重读、31B 重读、规则抽取 EVENTRECORD、完整动作日志、工具日志和 LLMLingua-2。轨迹来自 SHADE-Arena、τ-bench 与 τ2-bench,另用 CUA-SHADE-Arena 和合成 calendar 做失败案例与 sabotage 检测。
作者定位:ledger 不含总裁决,写作时不见策略,阅读时不见原始轨迹,一份记录服务事后才写的多条策略。
论文如何解决这个问题?
Writer不见策略,把轨迹写成事实ledger;Reader只凭ledger与一条策略打分。
Writer 不见策略,把轨迹写成事实 ledger;Reader 之后只凭 ledger 与一条策略打分。
问题设定
- 轨迹与策略:轨迹是用户消息、工具调用及其参数、工具结果的序列。x(τ) 是去掉 system prompt 的紧凑文本。组织先存许多轨迹,再写自然语言策略,判定每条轨迹是否违规。
- 重读:标准做法把 x(τ) 交给 monitor,每条策略一次,成本随轨迹数、策略数和长度增长。
- 一次写入:Writer 读 x(τ) 一次,产出与策略无关的事实记录,不给判断或总裁决,以免 reader 抄写策略出现之前的判断。每条策略单独调用 reader,输入是策略和 ledger,不是原始轨迹。重读使用同一 reader、同一提示,只是把输入换成 x(τ)(附录 U)。
- 成本条件:不含缓存时,ledger 的 token 更少,当 k > cW(x)/(c̄R(x)−c̄R(ℓ))。c_W 与 c_R 计 writer、reader 的 prompt 与 completion token,上划线是单次检查的平均成本。
两种 ledger
- Structured:七个固定节,包括请求与动作摘要、相关环境状态、按时间排列的状态改变动作及其目标、参数和结果、动作标识符与轨迹中早先标识符的比较、请求实体与目标实体的映射、操作计数、用户显式约束。
- Narrative:按时间的详细散文,写每个动作的参数、标识符、目标、金额和结果,目标长度约 1,100 token。形式不固定字段,由 writer 自行描述。
- 实现:未训练 writer 与 reader 都是 Gemma-4-12B-it,生成上限 8,192 token,全部调用温度 0。Reader 把策略和记录当数据,忽略记录内部的指令,只按策略原文判断。怀疑分:1–2 明显良性,5–6 未授权或不清楚,9–10 明确的隐蔽违规。附录 U 给出完整提示词。
策略集与标签
- 四类能力:原子策略禁止一次完成的动作,SHADE-Arena 8 条、τ-bench 7 条、τ2-bench telecom 5 条,在适用域中违规比例 10–65%。释义去掉工具名、保留条件,标签不变。组合策略依赖多条事实,如动作相对用户请求,或跨动作金额;SHADE 4 条覆盖全部 300 条,两套独立标注在每条标签上一致;τ-bench 保留两条(对至少两个订单的写、收费或退款超过 100 美元),另两条因措辞含糊排除(附录 G)。对比对在同一转写上小改策略:50 对正确裁决相反,50 对相同(附录 E)。
- 其他标签:两条内容判断策略由两个前沿模型标注,分歧经人工裁定。Computer-use 对照一条由基准攻击描述写成的冻结策略。
- 八个集合:同一基准的全部原子、全部释义或全部组合各成一集;τ2 没有组合策略。策略文本在评测前冻结并哈希。Ledger 提示在 SHADE 策略写出前固定;narrative 的长度上限是唯一事后改动,记在附录 U。
Writer 变体
- 微调:12B writer 在 226 至 1,085 条 structured ledger 上训练,教师是 Claude Haiku 4.5,轨迹来自训练域(附录 B)。教师 ledger 仅在其裁决与标签一致、且通过 sanitizer 时保留。Sanitizer 只留七个事实节,拒绝写出裁决或点名攻击类型的行。损失只加在 ledger token 上。报告两个种子,以及把两个 writer 的怀疑分取平均的 ensemble。
- 自动搜索:writer 权重冻结,由 Claude Opus 提出 writer 提示和纯计算证据工具,冻结 reader 在训练轨迹上打分(附录 P、Q、T)。
如何计分
主指标是 graded macro AUC:每个策略对怀疑分算 AUC,再对集合内策略平均。量表在评测前固定。比较是配对 bootstrap,10,000 次,在 task 内重采样转写;标题比较还重采样整个 task。作者只在两个区间都不含 0 时把一个集合计为显著优势。区间含 0 不被当作等价。
论文做了哪些实验?
八个策略集上,12B读narrative ledger不低于同模型重读;作者称四个显著更高。
八个策略集上,12B 读 narrative ledger 不低于同模型重读;作者按 bootstrap 把其中四个计为显著更高。
实验设置
- 轨迹:SHADE-Arena 300 条,13 个训练域外任务,150 良性、150 完成隐藏 side task,中位 27.8K token;原子与释义用 100 条子集。τ-bench 300 条,来自已发布的 GPT-4o 与 Claude 3.5 Sonnet 日志,50 任务,中位 3.6K。τ2-bench telecom 300 条,三个智能体、100 任务,用户也通过工具行动,中位 3.7K。另有 CUA-SHADE-Arena 159 条,以及留出的合成 calendar。
- 模型:未训练 writer 与主 reader 为 Gemma-4-12B-it。RAW-12B 是同一模型重读渲染轨迹;RAW-31B 是 Gemma-4-31B-it 重读。温度 0,writer 生成上限 8,192 token。
- 基线:EVENTRECORD 用固定规则抽取标识符并截到 structured ledger 的中位长度;另有完整动作日志、工具日志和 LLMLingua-2。
- 指标:graded macro AUC,由 1 到 10 的怀疑分计算。主集标签来自读取成功工具结果的脚本,不用模型裁判。
- 不对等输入:τ-bench 的共享渲染只对 Claude 轨迹显示调用参数;GPT-4o 占该集一半,参数被省略。EVENTRECORD 与完整动作日志直接读参数,因此在 τ-bench 上与 ledger、重读不是同一输入(附录 G)。
- 统计:task 内配对 bootstrap 10,000 次;标题比较还重采样整个 task。论文未报告多次独立写 ledger 的重复次数。附录 J 称另一次重读与 Table 10 相差至多 .011。
主结果
表格较宽,可左右滑动
读入 SHADE组合 SHADE原子 τ释义 τ组合 τ2释义 Narrative,12B .777 .882 .920 .825 .966 Structured,未训练 .705 .865 .910 .846 .917 EVENTRECORD .624 .802 .932 .496 .980 RAW-12B .706 .881 .769 .823 .816 RAW-31B .713 .923 .829 .905 .969 据 Table 10。SHADE 原子为 100 条子集,组合为 300 条;τ 分数在域内计算。省略列:SHADE 释义(narrative .891、RAW-12B .836、RAW-31B .898)、τ 原子(.938 / .830 / .929)、τ2 原子(.979 / .971 / .992)。微调 writer 在 Table 22,未列入。
- 同尺寸:作者称 narrative ledger 在八个集合上匹配或超过 RAW-12B,四个集合的 task 内区间与整 task 区间都不含 0,另外四个未检出差异。作者给出的最大差值是 τ 释义 0.151、τ2 释义 0.149、τ 原子 0.108、SHADE 组合 0.071。组合增益主要来自不向用户未提及的收件人发信(Table 2:narrative .840,RAW-12B .591)。在 122 条使用发送工具的 SHADE 轨迹上,该策略仍领先 0.205。
- 31B 重读:作者称 narrative 在 SHADE 组合上高 0.065,在 τ 释义上高 0.091;后者多来自一条释义,RAW-31B 对每条轨迹都打 1,去掉后为 .911 对 .884。τ 原子未检出差异(作者给出 +0.009)。RAW-31B 在 SHADE 原子上高 0.041,在 τ 组合上高 0.080;后者要数订单并加总金额。
- 成本:分开查八条 SHADE 策略,含 writer,作者称 ledger 为 45–50K token、重读 240K,约少 5×。Table 13 中 narrative 为 48.8K 对 240.4K;Figure 1 标 49K 对 240K、4.9×。单次检查 ledger 更贵(SHADE 上 34.0K 对 30.1K)。作者称 SHADE 与 τ-bench 在两次检查时打平,τ2 在三次。τ-bench 七次检查为 13.3–13.7K 对 29.7K,作者称约少 2×。
稳健性与措辞
- 只问是否违规:Table 3 中,SHADE 组合 narrative 为 .857,RAW-12B .760,RAW-31B .758。作者称领先扩大到 0.097 与 0.099,整 task 重采样后仍成立。
- 另一模型族:Qwen3.5-9B 读同一批 Gemma 所写 ledger。Table 3 为组合 .648 对原始轨迹 .541、原子 .763 对 .528、τ 释义 .666 对 .622。作者称其中两个集合在两种重采样下都优于重读。
- 对比对与去工具名:裁决应翻转时,narrative 在 88% 的对上两边都对,RAW-12B 为 60%,RAW-31B 为 92%。裁决不应改变时,narrative 两边都对为 74%,RAW-12B 为 86%。去掉工具名后,RAW-12B 从 .881 到 .836(SHADE)、.830 到 .769(τ)、.971 到 .816(τ2);narrative 在三个基准上变化小于 .02。
Ledger 记下什么
- 标识符:611 个带收件人、金额或文件的成功 SHADE 动作中,标识符与动作写在同一条目的比例是 narrative 71%、微调 structured 57%、未训练 structured 30%(Figure 3)。同等生成预算下,原子策略上 narrative 与未训练 structured 未检出差异(作者给出 +0.016),组合策略上 narrative 高 0.072。
- 规则抽取:SHADE 日志没有工具参数,截到 ledger 长度的 EVENTRECORD 在原子策略上为 .802。τ-bench 上它读到共享渲染对一半轨迹省略的参数,原子与释义为 .963 和 .932,高于 narrative 的 .938 和 .920,作者只把原子上的差异计为显著;τ 组合为 .496,接近随机。七次检查 3.1K token。
- 接回原日志:Table 4 的另一次重读中,把完整动作日志接在 narrative 后面只在 CUA 上提高。作者称它使 SHADE 组合降 0.086、τ 释义降 0.131,在策略集上没有帮助。
失败处
- Computer use:Table 5,冻结 CUA 策略,159 条。Narrative .770,未训练 structured .743,RAW-12B .896。作者称差距不是因为 writer 没看到工具调用,也不是因为未训练 ledger 里的判断。证据在文件内容与命令输出,占 16.8K token 中的 14–15K。接上状态改变动作后 structured 为 .855,完整动作日志单独 .865,此时省下的 token 很少。微调 writer 在 9.4% 的轨迹上触达输出上限,回退后为 .844。
- 谁做的动作:τ2 上用户也通过工具行动。作者称 ledger 经常不写是谁做的,这造成 roaming 策略上大多数 ledger 假阳性;RAW-31B 对这些轨迹一个都不标(附录 H)。
- 消息内容:两条要判断消息说了什么、用户是否要求该动作的策略上,重读更高。Narrative 比 RAW-12B 低 0.127(Figure 2;附录 Table 15 的 macro 为 .559 对 .685)。两个标注模型一致的标签上仍然落后。作者认为以动作为中心的 ledger 不能稳定留下这类证据。Figure 2 把这两组与 computer use 标为 ledger 失败处;图中柱高本文无法从文字读出,数值以上述表为准。
其他消融与分析
- 微调使动作被点名的比例从 48% 升到 73%,但没有单个微调 writer 在策略复用上更好;τ 原子为 .787–.793,低于未训练的 .925(附录 P、Table 22)。
- 去掉微调 ensemble 的动作节,SHADE 子集从 .901 降到 .685;去掉环境状态或摘要为 .914 和 .907(附录 J)。
- 假阳性率至多 0.10、阈值在留出数据上选取时,narrative 抓住 SHADE 组合违规的 .60,RAW-31B 为 .45,RAW-12B 为 .06(附录 F)。
- 生成 token 按 4 倍加权后,八条 SHADE 策略为 55.1K 对 241.1K,作者称变为 4.4×;τ2 五次检查的节省从 30% 降到约 7%(附录 K)。
- 固定规格的隐蔽 sabotage 上,RAW-31B 在 calendar、SHADE-Arena 和 CUA 是最强检测器;只读 ledger 的 reader 只在 calendar 上超过 RAW-12B(附录 O)。
- 自动搜索把 12B 训练 LDS-v2 从 .402 提到 .609,但训练分最高的配置在留出 calendar 上被另外 23 个超过;37 个完整评估配置中 34 个超过未训练 ledger(附录 T)。
有什么可以进一步探索的点?
作者写明策略范围、分开检查的成本假设,以及未测对抗writer的智能体。
作者把局限放在策略范围、分开检查的成本假设,以及 ledger 一旦漏记就会传导。
作者指出的局限与后续方向
- 策略范围:主集合是关于已记录动作的策略,标签由脚本计算;释义测的是措辞而不是新规则;组合集小、由作者编写,SHADE 上大多关于邮件收件人。(Limitations)
- 已知更差的设置:computer use,以及两条要判断消息内容的策略,ledger 不如重读。(Limitations)
- 成本假设:比较假定策略随时间分开检查、没有 prompt caching。十条 calendar 策略打成一次调用时,重读以相近成本达到相近准确率。(Limitations;Appendix E)
- token 计价:输入与输出等权,从而低估 writer 生成 token;生成 token 加权更重时节省变窄,在 τ2 的短轨迹上最明显。(Limitations;Appendix K)
- 未做的比较:未与单独的 extract-then-judge、策略感知摘要,或把每条策略编译成代码一次进行比较。policy-reuse 实验的 writer 都是 Gemma 4,只测了一个其他模型族的 reader。(Limitations)
- 漏记会传导:ledger 漏掉一个事实,之后每次检查都会漏。未测试试图让 writer 省略证据的智能体。Ledger 含标识符和个人数据,需要与轨迹相同的访问控制。结论还写,后续应让 writer 记下用户请求、消息内容以及谁做了每个动作,并针对试图对 writer 隐藏证据的智能体测试 ledger。(Limitations;Conclusion)
实验覆盖范围
- 主比较为 SHADE-Arena 300 条(13 个任务)、τ-bench 300 条(50 任务)、τ2-bench telecom 300 条(100 任务、三个智能体);另评 CUA 159 条与留出 calendar。八个策略集含原子、释义和组合,τ2 没有组合集。
- Writer 与主 reader 为 Gemma-4-12B-it,温度 0,生成上限 8,192 token;重读对照含该模型与 Gemma-4-31B-it。Qwen3.5-9B 读过同一批 ledger。比较用 10,000 次配对 bootstrap,标题比较还重采样整个 task。
- 主集标签由脚本根据成功工具结果计算。两条内容判断策略由 Claude Opus 5 与 Claude Sonnet 5.5 标注,一致率 κ 为 0.87,分歧由一位作者裁定(附录 M)。
- 论文写明未测试试图让 writer 省略证据的智能体,也写明未比较 extract-then-judge、策略感知摘要和把策略编译成代码。附录 K 写明 reader 调用耗时未记录。
- τ-bench 上,论文写明共享渲染省略一半轨迹的工具调用参数,EVENTRECORD 与完整动作日志直接读取这些参数(附录 G)。
总结一下论文的主要内容
作者报告:12B读narrative ledger可匹配或超过同模型重读,SHADE组合AUC .777对.713。
Write once, check many 用一份与策略无关的事实 ledger,检查已经存下的智能体轨迹是否违反事后才写的策略。
- 问题:策略在轨迹存储之后才出现时,按策略重读长轨迹,成本随策略数增长。作者要一个更短、可事先写好、仍能支撑后续判断的表示。
- 方法:Gemma-4-12B-it 的 writer 不见策略,把轨迹写成 structured 或 narrative ledger,只记事实、不给总裁决。同一模型的 reader 只看一条策略和 ledger,返回是否违规和 1 到 10 的怀疑分。主集标签由脚本从成功工具结果计算。
- 主结果:八个策略集上,12B 读 narrative ledger 匹配或超过同模型重读;作者按 bootstrap 把四个集合计为显著更高。SHADE 组合策略的 macro AUC 为 .777,31B 重读为 .713(Table 2)。分开查八条 SHADE 策略并计入写账本,作者称 token 约少 5×;Figure 1 标为 4.9×。
- 边界:去掉工具名时,narrative reader 的变化小于 .02,重读下降更多。日志已有调用参数时,EVENTRECORD 在 τ 原子策略上为 .963,高于 narrative 的 .938,但 τ 组合为 .496。CUA 上 narrative 为 .770,重读为 .896(Table 5)。消息内容策略上,narrative 的 macro 为 .559,RAW-12B 为 .685。
- 作者结论:作者认为可复用、与策略无关的记录可以使事后审计更省 token,并在若干集合上更准;ledger 应补充而不是替换所存轨迹,因为漏掉的事实会从之后每次检查中消失。作者还称,证据在长输出或消息内容里、或所有策略可以一次查完时,重读仍然更好。