<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>江呼潇的博客</title><link>https://huxjiang.github.io/</link><description>Recent content on 江呼潇的博客</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Fri, 06 Nov 2026 14:52:38 +0800</lastBuildDate><atom:link href="https://huxjiang.github.io/index.xml" rel="self" type="application/rss+xml"/><item><title>你好，Hugo</title><link>https://huxjiang.github.io/posts/hello/</link><pubDate>Fri, 06 Nov 2026 14:52:38 +0800</pubDate><guid>https://huxjiang.github.io/posts/hello/</guid><description>&lt;p&gt;欢迎来到我的博客！&lt;/p&gt;&#10;&lt;p&gt;这是用我自己的 &lt;strong&gt;mytheme&lt;/strong&gt; 主题渲染的第一篇文章。下面演示几个 Markdown 特性：&lt;/p&gt;&#10;&lt;h2 id="二级标题"&gt;二级标题&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;无序列表项一&lt;/li&gt;&#10;&lt;li&gt;无序列表项二&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;有序列表第一项&lt;/li&gt;&#10;&lt;li&gt;有序列表第二项&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;blockquote&gt;&#10;&lt;p&gt;这是一段引用。&lt;/p&gt;&#10;&lt;/blockquote&gt;&#10;&lt;p&gt;&lt;code&gt;行内代码&lt;/code&gt; 和 &lt;a href="https://gohugo.io/"&gt;一个链接&lt;/a&gt;。&lt;/p&gt;</description></item><item><title>Mistake Notebook Learning: Batch-Clustered Failures for Training-Free Agent Adaptation</title><link>https://huxjiang.github.io/notes/%E8%AE%BA%E6%96%87%E9%98%85%E8%AF%BB%E7%AC%94%E8%AE%B0/mistake-notebook-learning--batch-clustered-failures-for-training-free-agent-adaptation/</link><pubDate>Thu, 29 Oct 2026 00:00:00 +0000</pubDate><guid>https://huxjiang.github.io/notes/%E8%AE%BA%E6%96%87%E9%98%85%E8%AF%BB%E7%AC%94%E8%AE%B0/mistake-notebook-learning--batch-clustered-failures-for-training-free-agent-adaptation/</guid><description>&lt;div class="sy-doc"&gt;&#10;&lt;blockquote id="20261029135056-axjzfwp"&gt;&lt;p id="20261029135207-um6cgly"&gt;题目：Mistake Notebook Learning: Batch-Clustered Failures for Training-Free Agent Adaptation&#10;作者：Xuanbo Su, Yingfang Zhang, Hao Luo, Xiaoteng Liu, Leo Huang（佰融、哈工大、吉林大学）arXiv&#10;发表信息：ACL Findings 2026；arXiv:2512.11485v2（2026.1.15）&#10;代码仓库：&lt;a href="https://github.com/Bairong-Xdynamics/MistakeNotebookLearning"&gt;https://github.com/Bairong-Xdynamics/MistakeNotebookLearning&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;&#10;&lt;h2 id="研究背景"&gt;&lt;a id="20261029141221-2mjmdn8"&gt;&lt;/a&gt;研究背景&lt;/h2&gt;&#10;&lt;p id="20261029141225-s5snzz3"&gt;Agent系统的关键局限是它们无法系统地从这些错误中学习，迫使它们在相似情境中重复相同的错误。&lt;/p&gt;&#10;&lt;ul id="20261029142517-uqlaslq"&gt;&lt;li id="20261029142518-qzrvcd5"&gt;参数调优：通常依赖计算密集型流水线，涉及监督微调（SFT）、强化学习（RL）或演化优化，以将能力内化到模型权重中。计算成本高、对分布偏移脆弱以及在动态环境中测试时僵化等问题，阻碍了持续学习所必需的快速迭代。&lt;blockquote id="20261030205337-ewtgyug"&gt;&lt;p id="20261030205338-0k37soe"&gt;AgentTuning、FireAct、AgentEvolver、A survey on large language model based autonomous agents.&lt;/p&gt;&lt;/blockquote&gt;&lt;/li&gt;&lt;li id="20261029142742-3newq8u"&gt;Training-free的上下文调优：以实例为单位存储经验，以在局部纠正错误。然而，它们往往缺乏主题级抽象，导致行为脆弱且泛化能力有限。此外，现有方法从失败中提取原则或规则，但是往往将错误视为孤立实例，或依赖静态规则提取。&lt;/li&gt;&lt;/ul&gt;&#10;&lt;blockquote id="20261029155636-7bt8ae5"&gt;&lt;p id="20261029155839-kf0mtk3"&gt;记忆管理方向&lt;/p&gt;&lt;ul id="20261029155843-ojuf8pl"&gt;&lt;li id="20261029155844-391lnp9"&gt;非结构化文本日志：Generative agents: interactive simulacra of human behavior.：将 Agent 的经历以自然语言形式存入记忆流（Memory Stream），通过相关性、时效性和重要性进行检索，并利用 Reflection 将原始经历总结为更高层次的认知。&lt;/li&gt;&lt;li id="20261029155906-xi3x5xr"&gt;强化学习优化记忆管理策略：&lt;ul id="20261029161248-3dkay9c"&gt;&lt;li id="20261029161247-130ej2l"&gt;Memory-r1：使用强化学习训练独立的记忆管理器执行 ADD、UPDATE、DELETE、NOOP 等操作，同时训练答案生成侧利用记忆，让记忆管理从固定规则转向基于任务反馈的策略学习。&lt;/li&gt;&lt;li id="20261029161245-h9echvf"&gt;Mem-α；根据完整交互历史上的下游问答效果构造奖励，训练 Agent 学习如何提取、组织和更新记忆，并设计核心、情景和语义等不同记忆组件。&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p id="20261029155834-g0m2ey7"&gt;经验获取方向&lt;/p&gt;&lt;ul id="20261029155638-zhz5f51"&gt;&lt;li id="20261029160106-fcmo57h"&gt;Reflexion：在任务执行失败或获得反馈后，Agent 通过语言反思总结失败原因，并把反思存入情景记忆，供后续尝试参考，实现不更新模型参数的语言式强化学习。&lt;/li&gt;&lt;li id="20261029160113-v79pjey"&gt;Self-Refine：让同一个 LLM 反复执行初始生成、反馈评价和结果修订，以测试时的迭代改进提升当前输出质量，无需额外训练。&lt;/li&gt;&lt;li id="20261029160115-hq6w1y1"&gt;LEAP：主动诱导模型在少量示例上犯错，再从错误中归纳任务相关的通用原则，并将这些原则用于解决未见过的问题。&lt;/li&gt;&lt;li id="20261029160142-hn0g7y2"&gt;ExpeL：从成功与失败的任务经历中归纳可复用的经验和规则，并将其用于后续任务决策，使 Agent 能够从历史轨迹中积累知识，而不必只依赖人工编写的提示词。&lt;/li&gt;&lt;li id="20261029160213-akvr5cx"&gt;In-Context Principle Learning&lt;/li&gt;&lt;li id="20261029155728-1c7h70y"&gt;ACE：将上下文视为持续演化的 Playbook，通过生成、反思和整理三个模块增量积累策略，减少反复压缩提示词导致的信息丢失。&lt;/li&gt;&lt;li id="20261029160919-96yphko"&gt;ReasoningBank：从 Agent 自我判断的成功与失败轨迹中提炼可迁移的推理策略，形成可检索、可持续更新的推理记忆，并通过测试时扩展机制进一步丰富经验。&lt;/li&gt;&lt;/ul&gt;&lt;p id="20261029160221-3x7xjnf"&gt;经验优化方向&lt;/p&gt;&lt;ul id="20261029160222-m5n07m1"&gt;&lt;li id="20261029155640-8wkcwkw"&gt;Training-Free GRPO：借鉴 GRPO 的组内相对比较思想，通过比较多条候选轨迹的表现、提炼高质量经验并将其作为推理时的 Token Prior 引入模型调用，在不更新模型参数的情况下优化 Agent 的行为。&lt;/li&gt;&lt;li id="20261029155705-i6ybzca"&gt;Memento：将持续学习建模为基于记忆的在线强化学习，通过案例推理（Case-Based Reasoning，CBR）检索和复用历史经验，并通过记忆读写更新行为策略，而不必修改底层 LLM 参数。&lt;/li&gt;&lt;/ul&gt;&lt;p id="20261029160620-og3hvq1"&gt;错误检测方向&lt;/p&gt;&lt;ul id="20261029160624-91l3j0z"&gt;&lt;li id="20261029160814-8xhj25c"&gt;Who&amp;amp;When：构建包含 127 个多 Agent 系统失败日志的数据集，并研究如何从完整执行轨迹中识别责任 Agent 和决定任务成败的关键错误步骤，建立多 Agent 失败归因的评测基准。&lt;/li&gt;&lt;li id="20261029160812-7gs355a"&gt;AgentDebug：建立覆盖记忆、反思、规划、动作和系统操作的错误分类体系，构建标注失败轨迹的数据集，并通过定位根因和生成纠正反馈帮助 Agent 恢复与迭代改进。&lt;/li&gt;&lt;li id="20261029160910-6u4rvy1"&gt;agentguard：在 Agent 外部设置运行时监控层，将输入输出抽象为形式化事件，在线构建和更新马尔可夫决策过程（MDP），再利用概率模型检测验证运行行为是否满足指定属性。&lt;/li&gt;&lt;li id="20261029160625-9gie5i0"&gt;AgentForesight：训练 AgentForesight-7B 审计模型，仅根据当前执行轨迹前缀判断是否出现决定性错误，并定位错误内容、位置和责任方，使错误检测从事后分析转向执行过程中的在线预警&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt;&#10;&lt;h2 id="方法"&gt;&lt;a id="20261029210727-p52bn9s"&gt;&lt;/a&gt;方法&lt;/h2&gt;&#10;&lt;h3 id="mnl主要流程"&gt;&lt;a id="20261029155442-me5bsnl"&gt;&lt;/a&gt;MNL主要流程&lt;/h3&gt;&#10;&lt;p id="20261030212200-acmrkfr"&gt;该框架遵循闭环流程，迭代执行基线生成、记忆更新和更新后评估，使智能体能够在不同任务领域和学习范式中自我演化。&lt;/p&gt;&#10;&lt;p id="20261029135503-qmn9733"&gt; Mistake Notebook Learning（MNL）这是一种无需训练的 memory 框架：Tuner Model 通过提示式主题聚类，在批次内按主题对失败进行聚类，并提炼出泛化的错误模式和纠正策略，从而形成稳定且可迁移的记忆。，并且仅在批次性能提升时才提交更新。&lt;/p&gt;&#10;&lt;figure class="sy-image" id="20261029210721-95g1m4k"&gt;&lt;img src="./image-20261029210748-wlhg82z.png" alt="image" loading="lazy"&gt;&lt;/figure&gt;&#10;&lt;ul id="20261029155156-4ujhs3r"&gt;&lt;li id="20261029210826-ocr8gw5"&gt;基线生成—— Tuning Model 使用当前提示和记忆生成初始响应，以建立性能基线。&lt;/li&gt;&lt;li id="20261029210907-ww4rvxs"&gt;记忆更新与响应生成——Tuner Model 通过提示执行批次级主题聚类，分析基线错误，创建结构化指导项，并选择性地更新记忆。随后，agent生成更新后的响应。&lt;/li&gt;&lt;li id="20261029210908-90mmms3"&gt;更新后评估——比较更新前后的性能，以评估修订后记忆的有效性，并决定是否接受该更新。&lt;/li&gt;&lt;/ul&gt;&#10;&lt;div class="sy-superblock sy-superblock-col" data-sb-layout="col" style="display:flex;flex-direction:row;flex-wrap:wrap;gap:1rem;align-items:flex-start" id="20261029211915-qqp1khz"&gt;&lt;p id="20261029210824-e3nsbjl" style="flex:1 1 0;min-width:0;max-width:100%" class="sy-superblock-child"&gt; &lt;img src="./image-20261029211818-u46mz12.png" alt="image" title="监督进化依赖显式真实标签进行直接的轨迹修正" loading="lazy"&gt;监督进化依赖显式真实标签进行直接的轨迹修正 &lt;/p&gt;&lt;p id="20261029211855-o86zhkd" style="flex:1 1 0;min-width:0;max-width:100%" class="sy-superblock-child"&gt; &lt;img src="./image-20261029211830-037yx1x.png" alt="image" title="自进化利用外部验证器生成二元信号" loading="lazy"&gt;自进化利用外部验证器生成二元信号 &lt;/p&gt;&lt;/div&gt;&#10;&lt;p id="20261029211834-dtin22c"&gt;在有监督演化范式中，其中使用显式的真实答案来确定输出正确性并为记忆构建提供反馈。&lt;/p&gt;&#10;&lt;p id="20261029224815-p4ayaoq"&gt;对于智能体任务，MNL 运行在自进化范式中，其中以基于 LLM 的评判器实现的代理验证器评估轨迹结果并产生二元效用信号，这使得无需访问真实标签即可生成记忆。&lt;/p&gt;&#10;&lt;h3 id="问题建模"&gt;&lt;a id="20261029230026-kzgqs36"&gt;&lt;/a&gt;问题建模&lt;/h3&gt;&#10;&lt;p id="20261029230042-bh0ebn8"&gt;将 MNL 形式化为一个上下文优化问题，旨在构建一个语义记忆 ℳ ，以最大化冻结策略 πθ 的期望奖励。MNL 不更新模型参数，而是通过精炼记忆 ℳ 来提升性能，以确保检索到的上下文 Ret(x,ℳ) 为每个输入 x 提供有效指导。&lt;/p&gt;&#10;&lt;p id="20261029230124-t7al4qi"&gt;形式上，对于任务分布 𝒟={(x,y)}，我们寻求一个最优记忆&lt;/p&gt;&#10;&lt;div class="math-block" data-latex="\begin{aligned}\mathcal{M}^{*}=\arg\max_{\mathcal{M}}\mathbb{E}_{(x,y)\sim\mathcal{D}}\left[R(\pi_{\theta}(z),y)\right],\\\mathrm{where~}z=\quad x\oplus\mathrm{Ret}(x,\mathcal{M}).\end{aligned}" id="20261029230204-s78h2je"&gt;\begin{aligned}\mathcal{M}^{*}=\arg\max_{\mathcal{M}}\mathbb{E}_{(x,y)\sim\mathcal{D}}\left[R(\pi_{\theta}(z),y)\right],\\\mathrm{where~}z=\quad x\oplus\mathrm{Ret}(x,\mathcal{M}).\end{aligned}&lt;/div&gt;&#10;&lt;p id="20261029230221-xkikooc"&gt;其中 ⊕ 表示提示拼接， R⁡(⋅) 是奖励函数。在有监督设置中， R 由真实标签导出；在自我纠正设置中，它由代理验证器估计。&lt;/p&gt;&#10;&lt;p id="20261029230238-k0c3jl6"&gt;ℳ 的优化使用一个专用的调优器模型（ &lt;span class="math-inline" data-latex="π_{tuner}"&gt;π_{tuner}&lt;/span&gt; ）。与调优模型 πθ 的推理角色不同，调优器模型充当反思性监督者。它聚合来自 πθ 的失败轨迹，执行提示驱动的主题聚类以识别跨批次的系统性错误模式，并合成结构化修正以更新记忆。这种执行（ πθ ）与演化（ πtuner ）的解耦使 MNL 能够支持多种部署配置，例如自我纠正 Madaan et al. (2023) 或专家引导蒸馏 Kim et al. (2025)。控制调优器模型操作的详细提示见附录 A.3。&lt;/p&gt;&#10;&lt;h3 id="记忆模式与存储"&gt;&lt;a id="20261029212540-j1iyvy0"&gt;&lt;/a&gt;记忆模式与存储&lt;/h3&gt;&#10;&lt;p id="20261029212541-7zs6ngy"&gt;为确保可扩展性和高效检索，我们以 JSONL 格式维护记忆 ℳ，其中每个条目定义为结构化元组 &lt;span class="math-inline" data-latex="e=⟨s,g,ϕ⁡(s)⟩"&gt;e=⟨s,g,ϕ⁡(s)⟩&lt;/span&gt;；&lt;/p&gt;&#10;&lt;ul id="20261029212649-5pbta40"&gt;&lt;li id="20261029212649-len8zsq"&gt;Subject（ s ）主题，用作高层语义聚类标识符（例如“SQL：空值上的连接条件”），以便于进行广泛的主题匹配。&lt;/li&gt;&lt;li id="20261029212651-ivm4j2p"&gt;Memory（ g ）包含五个必需组件，以确保可操作性和安全性：&lt;ol id="20261029212659-wkqreis"&gt;&lt;li id="20261029212705-w736ftf"&gt;Corrected Examples，提供明确的错误-答案对，为抽象提供依据；&lt;/li&gt;&lt;li id="20261029212727-htsmx04"&gt;Correct Approach，详述逐步推理方法；&lt;/li&gt;&lt;li id="20261029212740-fxtemfc"&gt;Mistake Summary，识别错误的根本原因；&lt;/li&gt;&lt;li id="20261029212744-0b5bxiz"&gt;Generalizable Strategy，总结可复用的解决模式；&lt;/li&gt;&lt;li id="20261029212834-apdyt44"&gt;Anti-Patterns，即关键警告，指明误用场景以防止过度泛化。&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;li id="20261029212900-pu2u800"&gt;Embedding（ ϕ⁡(s) ）表示 subject 的语义向量，已预先计算，以便针对传入的查询嵌入实现高效的跨模态检索。&lt;/li&gt;&lt;/ul&gt;&#10;&lt;h3 id="mnl进化详细过程"&gt;&lt;a id="20261029212625-ro7oq45"&gt;&lt;/a&gt;MNL进化详细过程&lt;/h3&gt;&#10;&lt;ul id="20261029212933-s1uidgl"&gt;&lt;li id="20261029212954-4hljll3"&gt;基线生成：&lt;p id="20261030101024-k3vtrru"&gt;该过程始于调优模型 &lt;span class="math-inline" data-latex="π_θ"&gt;π_θ&lt;/span&gt; 为一批查询生成初始响应。对于每个查询 &lt;span class="math-inline" data-latex="x"&gt;x&lt;/span&gt; ，系统检索相关记忆条目 Ret(x,ℳ) 作为建议上下文。&lt;/p&gt;&lt;p id="20261030200822-lkgonx4"&gt;调优模型被指示批判性地评估该上下文，而不是盲目遵循它，从而降低幻觉风险。&lt;/p&gt;&lt;p id="20261029213157-yggtdrm"&gt;为降低 tuning 模型 πθ 盲目遵循可能无关的历史建议的风险，附加了一条特定的适用性评估指令。这迫使模型在生成初始基线响应之前，批判性地评估所检索条目的相关性。&lt;/p&gt;&lt;pre class="code-block" data-lang="python" id="20261029213355-xrh0o07"&gt;&lt;code class="language-python"&gt;The following mistake notes are not necessarily tied to the current question, but you may use them to deepen your analytical approach.&#10;IMPORTANT: Before applying any guidance below, carefully evaluate:&#10;1.Does the current problem match the applicability conditions stated in the guidance?&#10;2.Is the problem type and context similar to the examples in the guidance?&#10;3.If the problem is fundamentally different (e.g., combinatorics vs modulo arithmetic, complex numbers vs number theory), do NOT force-fit the guidance.&#10;4.Only use guidance that is clearly relevant to the current problem structure and requirements.&#10;Before solving, review the attached guidance. State whether it is: “applicable”, “partially applicable”, or “irrelevant”. Use only applicable parts when answering.&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&lt;li id="20261029213700-m0dzqv4"&gt;记忆更新与响应生成：&lt;ul id="20261030212557-ff34naj"&gt;&lt;li id="20261030212558-mqsxody"&gt;评价&lt;p id="20261030201227-uaab2at"&gt;基线回答生成以后，采用过滤机制来识别高价值的学习机会。&lt;/p&gt;&lt;p id="20261030212543-icg7ht0"&gt;对于具有确定性答案的领域（例如 Text-to-SQL、Math），正确性通过真实值比较来确定；对于开放式智能体任务，我们使用 LLM-as-a-judge 来分析轨迹并生成二元的成功/失败信号。更新过程在主题级别而非实例级别运行。我们首先采用主题聚类步骤，将失败的查询分组为语义簇。&lt;/p&gt;&lt;blockquote id="20261030213023-zhnzocy"&gt;&lt;p id="20261030213648-b6ylgst"&gt;Mind2Web 评估提示词&lt;/p&gt;&lt;p id="20261030213648-xvqn0ek"&gt;两种评判机制，当智能体生成多个候选动作时，judge 同时分析两个选项，以基于 UI 逻辑确定最优的下一步。否则 judge 充当二元验证器，单独分析特定动作，以确定其在交互流程中的有效性。&lt;/p&gt;&lt;pre class="code-block" data-lang="python" id="20261030213757-zd8xehy"&gt;&lt;code class="language-python"&gt;Pairwise Comparison Judge Prompt&#10;You are an expert in web navigation and user interface interaction.&#10;Given this web navigation task: {question}&#10;Compare these two proposed actions and determine which one is MORE CORRECT:&#10;Action A: {answer1} Action B: {answer2}&#10;Evaluation criteria (in order of importance):&#10;Task relevance - Does this action directly help achieve the stated goal?&#10;UI logic - Is this a logical next step given the current page state?&#10;Element availability - Does the target element actually exist on the page?&#10;Efficiency - Is this the most direct path to accomplish the task?&#10;Think step by step, then respond with exactly ONE of these options:&#10;"Action A is more correct"&#10;"Action B is more correct"&#10;"Both are equally correct or equally wrong"&#10;Your response must start with one of these exact phrases.&lt;/code&gt;&lt;/pre&gt;&lt;p id="20261030213818-39tcyc3"&gt;APPworld评估&lt;/p&gt;&lt;p id="20261030213843-ozxb97d"&gt;评估完整的执行日志，也就是API交互记录和python代码执行，根据最终输出的有效性以及是否不存在致命运行时错误来判定成功。&lt;/p&gt;&lt;pre class="code-block" data-lang="python" id="20261030213824-paup0di"&gt;&lt;code class="language-python"&gt;You are an expert Judge for an AI Agent execution log. Your goal is to determine if the Agent successfully completed the user’s task based on the provided execution log.&#10;**Input Data:**&#10;1. Task Question: "{question}"&#10;2. Execution Log (JSON format):&#10;&amp;lt;&amp;lt;&amp;lt;EXECUTION_LOG_START&amp;gt;&amp;gt;&amp;gt;&#10;{trajectory}&#10;&amp;lt;&amp;lt;&amp;lt;EXECUTION_LOG_END&amp;gt;&amp;gt;&amp;gt;&#10;**Judgment Criteria:**&#10;- **SUCCESS**: The agent found the requested information, performed the requested action, or provided the correct answer in the final turn. The code executed without fatal errors.&#10;- **FAILURE**: The agent encountered a Python exception that stopped progress, got stuck in a loop, failed to call the correct API, authorized incorrectly, or the log ends abruptly without an answer.&#10;**Output Format:**&#10;You must output a single JSON object with the following structure:&#10;"reasoning": "Brief analysis of why it succeeded or failed (max 50 words).", "is_success": true or false&lt;/code&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;/li&gt;&lt;li id="20261030212607-cbpj34r"&gt;聚类&lt;p id="20261030101107-2p9tltl"&gt;tunner 模型 &lt;span class="math-inline" data-latex="π_{tuner}"&gt;π_{tuner}&lt;/span&gt; 分析基线生成中识别出的失败轨迹，然后对失败轨迹进行批量聚类，从失败轨迹中提取泛化错误模式。在迭代 &lt;span class="math-inline" data-latex="t"&gt;t&lt;/span&gt; 时，我们采样一个批次 &lt;span class="math-inline" data-latex="\mathcal{B}=\{(x_i,y_i)\}_{i=1}^B \sim \mathcal{D}"&gt;\mathcal{B}=\{(x_i,y_i)\}_{i=1}^B \sim \mathcal{D}&lt;/span&gt; 并生成基线输出 &lt;span class="math-inline" data-latex="\hat{y}_i = \pi_\theta\big(x_i \oplus \text{Ret}(x_i, \mathcal{M}_t)\big)"&gt;\hat{y}_i = \pi_\theta\big(x_i \oplus \text{Ret}(x_i, \mathcal{M}_t)\big)&lt;/span&gt; 。定义失败索引集&lt;span class="math-inline" data-latex="\mathcal{F} = \big\{i \,\big|\, R(\hat y_i, y_i) = 0\big\}"&gt;\mathcal{F} = \big\{i \,\big|\, R(\hat y_i, y_i) = 0\big\}&lt;/span&gt;（或对实值奖励进行阈值化）。由调优器模型实现一个主题映射器 σ:𝒳→𝒮 ，它通过提示聚类将失败查询语义分类为精确主题（例如，结合领域、问题类型和解决方法）。&lt;/p&gt;&lt;blockquote id="20261030212939-lwqgba0"&gt;&lt;p id="20261030213128-4eub7nq"&gt;聚类提示词&lt;/p&gt;&lt;p id="20261030210911-vve2vcs"&gt;聚类方式太有针对性：完全针对数学问题，按照(1) 数学分支，(2) 问题类型，(3) 求解方法 进行聚类；&lt;/p&gt;&lt;pre class="code-block" data-lang="python" id="20261029214123-8scf6m2"&gt;&lt;code class="language-python"&gt;Subject Clustering Prompt&#10;You are an expert in categorizing questions into precise, high-relevance subjects for Retrieval-Augmented Generation (RAG).&#10;Your goal is to assign each question a subject label that:&#10;• Maximizes retrieval relevance by precisely describing the problem type and solution method&#10;• Groups only genuinely similar questions together (same domain AND same approach)&#10;• Avoids over-broad categories that would match unrelated problems&#10;Include: (1) Mathematical Domain, (2) Problem Type, (3) Solution Method.&#10;Examples of GOOD subjects:&#10;• “Combinatorics: Counting arrangements in grids with row and column sum constraints using stars and bars”&#10;• “Complex Analysis: Evaluating products over roots of unity using polynomial evaluation”&#10;Examples of BAD subjects (too broad):&#10;• “modulo arithmetic” – could match any modulo problem&#10;• “number theory” – could match any number theory problem&lt;/code&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;/li&gt;&lt;li id="20261030214107-38m6jhb"&gt;提取结构化记忆&lt;p id="20261030214105-wxpyios"&gt;在失败集上诱导出主题簇 &lt;span class="math-inline" data-latex="S_s = \{i \in \mathcal{F} \mid \sigma(x_i) = s\}"&gt;S_s = \{i \in \mathcal{F} \mid \sigma(x_i) = s\}&lt;/span&gt; 。随后调优器提取簇级指导&lt;/p&gt;&lt;div class="math-block" data-latex="g_s = \mathcal{E}\big(\{(x_i,y_i)\}_{i\in S_s},\mathcal{M}_t\big),\quad s\in \mathcal{S}_F" id="20261030101751-bt13ctw"&gt;g_s = \mathcal{E}\big(\{(x_i,y_i)\}_{i\in S_s},\mathcal{M}_t\big),\quad s\in \mathcal{S}_F&lt;/div&gt;&lt;p id="20261030101825-gay5b65"&gt;其中 &lt;span class="math-inline" data-latex="\mathcal{E}"&gt;\mathcal{E}&lt;/span&gt; 是提取算子，它从同一主题下的多条失败轨迹中提炼结构化指导；&lt;/p&gt;&lt;blockquote id="20261030214050-m1vat54"&gt;&lt;p id="20261030213139-1c6ciyc"&gt;提取结构化记忆提示词&lt;/p&gt;&lt;p id="20261030213301-p4ax0r3"&gt;错误总结、解决方法、不再适用的信号；&lt;/p&gt;&lt;pre class="code-block" data-lang="python" id="20261030213146-j4rivn8"&gt;&lt;code class="language-python"&gt;Structured Guidance Extraction Prompt&#10;You are an expert in analyzing model errors and maintaining a “mistake notebook” to improve future performance.&#10;Subject: {subject}&#10;Error Examples:&#10;{error_context}&#10;Task: Extract insights from the mistakes and rewrite them as a structured mistake note.&#10;Your response must include :&#10;1. Corrected Examples with mistake answers&#10;• For each, include:&#10;– The original question and mistake answer&#10;– Correct answer and correct reasoning process&#10;2. Correct Approach&#10;• Provide the correct reasoning method or step-by-step approach that should be applied.&#10;3. Mistake Summary&#10;• Identify the root cause behind the errors (reasoning flaw, misunderstanding of concept, missing steps, incorrect logic, etc.).&#10;4. Generalizable Strategy&#10;• Summarize reusable problem-solving patterns and how to avoid future mistakes.&#10;5. ANTI-PATTERNS&#10;List specific things to AVOID:&#10;• Common ways this guidance gets misapplied&#10;• Situations where following this guidance would be WRONG&#10;• Red flags that indicate the guidance doesn’t fit&#10;Output format should resemble a mistake notebook entry: concise, structured, knowledge-focused, and reusable for similar future questions.&lt;/code&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;/li&gt;&lt;li id="20261030214136-9b46xir"&gt;记忆更新&lt;p id="20261030214049-rsrxoa2"&gt;以下方式更新记忆&lt;/p&gt;&lt;div class="math-block" data-latex="\mathcal{M}_{t+1} = \text{Update}\Big(\mathcal{M}_t, \{(s,g_s)\}_{s\in \mathcal{S}_F}\Big)" id="20261030101928-l2yepqn"&gt;\mathcal{M}_{t+1} = \text{Update}\Big(\mathcal{M}_t, \{(s,g_s)\}_{s\in \mathcal{S}_F}\Big)&lt;/div&gt;&lt;p id="20261030101934-hnme8fs"&gt;这种批次级抽象与后面评估公式中的“改进即接受”准则相结合，以确保记忆的稳定演化。新记忆节点通过以下两种方式之一进行整合：与已有的相似条目合并，或作为新节点追加。在此更新之后，调优模型以更新后的记忆为条件生成改进后的响应。&lt;/p&gt;&lt;blockquote id="20261030213405-4harpsr"&gt;&lt;p id="20261030213406-fgxijya"&gt;记忆合并提示词&lt;/p&gt;&lt;pre class="code-block" data-lang="python" id="20261030213536-yihcu9i"&gt;&lt;code class="language-python"&gt;You are synthesizing guidance for subject: {subject}&#10;Existing guidance from related subjects in the memory:&#10;{existing_guidance}&#10;New guidance to incorporate:&#10;{new_guidance}&#10;Task: Merge these into a single coherent guidance that:&#10;• Combines insights from related subjects with new guidance&#10;• Eliminates redundancy while preserving key information and examples of the mistakes&#10;• Preserves and emphasizes applicability conditions—clearly state when each method applies&#10;• Focuses on actionable advice&#10;• Maintains consistent style&#10;• Includes warnings about when NOT to apply the guidance to avoid misapplication&#10;Merged guidance:&lt;/code&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li id="20261030102028-r5ody4r"&gt;更新后评估：&lt;p id="20261030201723-kreya6k"&gt;为保证演化记忆的可靠性，我们实现了一种闭环验证机制。使用更新后的记忆 ℳ′ 重新处理这批查询，并计算净性能提升 Δℬ （见式(5)）。仅当 Δℬ&amp;gt;0 时，才提交记忆更新；否则，系统回滚到先前状态，从而确保记忆 ℳ 只累积有益且经实验验证的指导。&lt;/p&gt;&lt;p id="20261030102033-2xtmab1"&gt;为确保记忆演化的可靠性，系统会将更新后响应的性能与基线进行比较。令 Δℬ 表示批次准确率的净提升：&lt;/p&gt;&lt;div class="math-block" data-latex="\Delta_{\mathcal{B}} = \sum_{i=1}^{B} \Big( \text{CLOSE} \cdot \mathbb{I}\big[R(\hat y'_i) &amp;amp;gt; R(\hat y_i)\big] - \mathbb{I}\big[R(\hat y'_i) &amp;amp;lt; R(\hat y_i)\big] \Big)" id="20261030102102-2ur1k6v"&gt;\Delta_{\mathcal{B}} = \sum_{i=1}^{B} \Big( \text{CLOSE} \cdot \mathbb{I}\big[R(\hat y'_i) &amp;amp;gt; R(\hat y_i)\big] - \mathbb{I}\big[R(\hat y'_i) &amp;amp;lt; R(\hat y_i)\big] \Big)&lt;/div&gt;&lt;ul id="20261030214342-e297pa1"&gt;&lt;li id="20261030214344-0f3eng0"&gt;&lt;span class="math-inline" data-latex="\boldsymbol{\mathbb{I}[\cdot]}"&gt;\boldsymbol{\mathbb{I}[\cdot]}&lt;/span&gt;：指示函数（Indicator function）&lt;/li&gt;&lt;li id="20261030214344-io3v34w"&gt;&lt;span class="math-inline" data-latex="\boldsymbol{\text{CLOSE}}"&gt;\boldsymbol{\text{CLOSE}}&lt;/span&gt;：一个常数权重，区分新回答更好和新回答更差对Δℬ不同的贡献效果；&lt;/li&gt;&lt;/ul&gt;&lt;p id="20261030102100-dbe8jr6"&gt;其中 &lt;span class="math-inline" data-latex="\hat y_i"&gt;\hat y_i&lt;/span&gt; 和 &lt;span class="math-inline" data-latex="\hat y_i'"&gt;\hat y_i'&lt;/span&gt; 分别对应更新前和更新后的输出。当且仅当 Δℬ&amp;gt;0 时，记忆更新才被接受；否则，保留先前的记忆状态。这确保只保留有益的更新，从而维护“错误笔记本”的完整性。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&#10;&lt;h2 id="实验"&gt;&lt;a id="20261029213359-n2f5tfr"&gt;&lt;/a&gt;实验&lt;/h2&gt;&#10;&lt;p id="20261030194834-10dsacw"&gt;我们在两种模式下验证了 MNL——带真实标签的监督演化（数学与 Text-to-SQL）以及带代理评判器的自演化（Mind2Web、AppWorld）&lt;/p&gt;&#10;&lt;p id="20261030102313-apawun5"&gt;在本节中，通过数学推理、Text-to-SQL 和交互式智能体三种模态，实证验证了错误笔记本学习（MNL）的有效性。&lt;/p&gt;&#10;&lt;p id="20261030214646-h77xpda"&gt;我们同时评估任务性能和效率，在报告准确率或成功率指标的同时，还报告内存大小和推理时引导 token 长度。我们进一步研究了对关键设计选择（例如批级抽象和训练轮数）的敏感性，并将 MNL 与监督微调和跨模型调优进行了比较。&lt;/p&gt;&#10;&lt;h3 id="实验设置"&gt;&lt;a id="20261030102732-kr3408y"&gt;&lt;/a&gt;实验设置&lt;/h3&gt;&#10;&lt;p id="20261030102525-fg553d3"&gt;我们在三种推理模态上评估 MNL：&lt;/p&gt;&#10;&lt;ul id="20261102231229-823qhxs"&gt;&lt;li id="20261102231230-odya6d4"&gt;数学（AIME 2024/2025（Mathematical Association of America, 2025）、GSM8K（Cobbe et al., 2021））、&lt;/li&gt;&lt;li id="20261102231232-7fyrtrj"&gt;Text-to-SQL（KaggleDBQA（Lee et al., 2021）、Spider（Yu et al., 2019））&lt;/li&gt;&lt;li id="20261102231239-oj8u6xm"&gt;交互式智能体（Mind2Web（Deng et al., 2023）、AppWorld（Trivedi et al., 2024））。&lt;/li&gt;&lt;li id="20261102232443-0n30gpn"&gt;具体而言，AIME 使用 DAPO-100 作为训练集，该训练集由从 DAPO-Math-17K 数据集（Yu et al., 2025）中随机采样的 100 道题组成。遵循 Cai et al. (2025)，Spider 和 GSM8K 采用各自标准的训练集与测试集划分，并与其官方配置保持一致：Spider 使用 7,000 个训练样本和 1,034 个开发样本进行评估，而 GSM8K 使用 7,473 个训练样本和 1,319 个测试样本。在 KaggleDBQA 上，我们使用所提供的 87 个样本进行训练，并在 185 个测试样本上进行评估。&lt;/li&gt;&lt;/ul&gt;&#10;&lt;p id="20261030214754-5osg3by"&gt;我们采用 Qwen3-8B 、DeepSeek-V3.2-Exp 和 Qwen3-Max 作为基础模型。&lt;/p&gt;&#10;&lt;p id="20261030214800-8vvi25j"&gt;评估指标包括 AIME 的 Pass@32、Text-to-SQL 的执行准确率（EA），以及智能体基准上的任务成功率（TS）和步骤准确率（SA）。Vanilla 基线遵循各基准的标准提示策略。除非另有说明，我们采用 Self-Tuning 配置（调优器与调优模型共享相同的基础模型）；&lt;/p&gt;&#10;&lt;h3 id="主要结果"&gt;&lt;a id="20261030102525-2w93fsa"&gt;&lt;/a&gt;主要结果&lt;/h3&gt;&#10;&lt;p id="20261030102753-uvpsvge"&gt;我们首先展示 MNL 在监督演化下于标准推理基准（数学与 Text-to-SQL）上的结果，随后展示自演化下的交互式智能体任务结果。&lt;/p&gt;&#10;&lt;h6 id="aime-20242025-的结果"&gt;&lt;a id="20261030102755-wpptlez"&gt;&lt;/a&gt;AIME 2024/2025 的结果&lt;/h6&gt;&#10;&lt;p id="20261102232137-ia168pk"&gt;MNL 在保持记忆紧凑的同时，提升了原始模型的准确率或使其保持不变。&lt;/p&gt;&#10;&lt;p id="20261102231731-n2707zx"&gt;在 Qwen3-8B 上，MNL 使用 51 条记忆条目和 66.8 的引导 token 长度，达到 33.0%/30.0%，优于依赖更长上下文（3k–7k token）的检索密集型基线（如 Memento、ACE）。&lt;/p&gt;&#10;&lt;p id="20261102231757-ggz0ev9"&gt;在 DeepSeek-V3.2-Exp 上，MNL 使用 9 条记忆条目和 60 的引导 token 长度，达到 90.0%/83.0%；TFGO 的 AIME 准确率略高，但需要长度为 696 token 的更长轨迹。&lt;/p&gt;&#10;&lt;p id="20261102231843-w2axv0a"&gt;在 Qwen3-Max 上，MNL 在两年份的准确率指标上均与原始模型持平（93.0%/96.0%），表明在能力很强的基座模型上没有性能退化。&lt;/p&gt;&#10;&lt;p id="20261030102339-azt4jch"&gt;表 1：在 AIME 2024/2025 和 KaggleDBQA 上的主要结果。Acc：Pass@32（AIME）/ EA（KaggleDBQA）。Mem：记忆条目数。Len：平均引导 token 数（越低越好）。最佳结果以粗体显示；“-”表示不适用。&lt;/p&gt;&#10;&lt;figure class="sy-image" id="20261030102411-03xms0q"&gt;&lt;img src="./image-20261030102444-a4vtv5f.png" alt="image" loading="lazy"&gt;&lt;/figure&gt;&#10;&lt;h6 id="kaggledbqa-上的执行准确率"&gt;&lt;a id="20261030102445-kyb7uwk"&gt;&lt;/a&gt;KaggleDBQA 上的执行准确率&lt;/h6&gt;&#10;&lt;p id="20261102232147-i1qybgf"&gt;在各基础模型上，MNL 相较原始模型均有提升，同时保持记忆紧凑、引导 token 长度适中。&lt;/p&gt;&#10;&lt;p id="20261102231150-ijs0eww"&gt;增益在 DeepSeek-V3.2-Exp 上最为显著：MNL 使用 54 条记忆条目和 514 个引导 token，将 EA 从 24.0%提升至 64.0%；而 ACE（Zhang 等，2025）达到 54.0%，但需要长得多的上下文，达 9406 个 token。&lt;/p&gt;&#10;&lt;p id="20261102232211-buuro4h"&gt;在 Qwen3-8B 上，MNL 以 752 个引导 token 达到 28.0%，显著短于 ACE（6289 个 token），且准确率远高于原始模型（19.0%）。在 Qwen3-Max 上，MNL 相较原始模型有所提升（46.0%对 40.0%），且记忆紧凑、提示简短，优于 Memento（Zhou 等，2025）等依赖大量检索的替代方案。&lt;/p&gt;&#10;&lt;h6 id="agent领域结果"&gt;&lt;a id="20261102232232-8y3hzzd"&gt;&lt;/a&gt;Agent领域结果&lt;/h6&gt;&#10;&lt;p id="20261030103047-lvjzabu"&gt;表 2 和表 3 展示了自进化条件下交互式智能体的结果。主要准确率指标包括任务成功率（TS）和步骤准确率（SA）。&lt;/p&gt;&#10;&lt;p id="20261102232300-jr3ed6j"&gt;在 Mind2Web 上，MNL 提升了步骤准确率，同时与检索/轨迹密集型基线（例如 ACE（Zhang 等，2025）和 Memento（Zhou 等，2025））相比，将引导 token 长度降低了数个数量级。&lt;/p&gt;&#10;&lt;p id="20261102232312-d7ft2ya"&gt;在 DeepSeek-V3.2-Exp 上，MNL 在任务成功率和步骤准确率上均优于原始版本（18.86/67.55 对 15.49/66.32），且仅使用 12 条记忆条目和 395 个 token；相比之下，ACE 使用了 58602 个 token。&lt;/p&gt;&#10;&lt;p id="20261102232325-6znuzkm"&gt;在 AppWorld 上，MNL 实现了低开销引导：在 Qwen3-8B 上，它以 391 个 token 将任务成功率提升（14.3 对 12.5）；在 DeepSeek-V3.2-Exp 上，其任务成功率与原始版本持平（73.2），同时消除了额外的引导 token。总体而言，MNL 的批级错误抽象产生了紧凑的引导，在多步交互中保持有效，且不会膨胀提示。&lt;/p&gt;&#10;&lt;p id="20261030103110-8x58v6s"&gt; &lt;img src="./image-20261030103111-jvftdo6.png" alt="image" title="Mind2Web %" loading="lazy"&gt;Mind2Web % &lt;img src="./image-20261030103133-sgeilo3.png" alt="image" title="appworld %" loading="lazy"&gt;appworld % &lt;/p&gt;&#10;&lt;h3 id="与测试时扩展tts的集成"&gt;&lt;a id="20261030191002-715p0bf"&gt;&lt;/a&gt;与测试时扩展（TTS）的集成&lt;/h3&gt;&#10;&lt;p id="20261030191011-rq1bgsc"&gt;所有主表结果均使用非思考基础模型。我们还在表 4 和表 5 中评估了启用 TTS 的变体（w/ think）。MNL 与 TTS 保持兼容，并能提供一致的增益：&lt;/p&gt;&#10;&lt;p id="20261102230953-mdvxd1l"&gt;如表 4 所示，在 Mind2Web 上使用启用思考的 Qwen3-8B 模型时，任务成功率从 1.01%提升至 1.35%，步骤准确率从 11.13%提升至 12.60%；&lt;/p&gt;&#10;&lt;p id="20261102230956-xlehij5"&gt;如表 5 所示，在 AppWorld 上使用 DeepSeek-Reasoner 时，任务成功率从 75.0%提升至 76.2%。&lt;/p&gt;&#10;&lt;div class="sy-superblock sy-superblock-col" data-sb-layout="col" style="display:flex;flex-direction:row;flex-wrap:wrap;gap:1rem;align-items:flex-start" id="20261030191832-y1jroxh"&gt;&lt;figure class="sy-image sy-superblock-child" id="20261030191013-9n7ma2l" style="flex:1 1 0;min-width:0;max-width:100%"&gt;&lt;img src="./image-20261030191817-xecir0x.png" alt="image" loading="lazy"&gt;&lt;/figure&gt;&lt;figure class="sy-image sy-superblock-child" id="20261030191828-g2gp4hs" style="flex:1 1 0;min-width:0;max-width:100%"&gt;&lt;img src="./image-20261030191825-kjc8fve.png" alt="image" loading="lazy"&gt;&lt;/figure&gt;&lt;/div&gt;&#10;&lt;h3 id="消融实验"&gt;&lt;a id="20261030192323-16nc36g"&gt;&lt;/a&gt;消融实验&lt;/h3&gt;&#10;&lt;h4 id="批次大小的影响"&gt;&lt;a id="20261030193659-74g84nq"&gt;&lt;/a&gt;批次大小的影响&lt;/h4&gt;&#10;&lt;p id="20261030192909-l7uien8"&gt;图 3 证实，批次级抽象能够降低方差并提升泛化能力。在 KaggleDBQA 上将批次大小从 1 增加到 16，可将准确率提升 17%，同时将内存大小减少至三分之一。&lt;/p&gt;&#10;&lt;p id="20261102231617-yv0b2od"&gt;这验证了我们的假设：聚合错误使模型能够提炼更通用的原则，而不是对孤立实例过拟合。直观地说，对语义相关的失败进行聚类并对其信号取平均可降低估计噪声，从而带来更可靠的记忆更新。&lt;/p&gt;&#10;&lt;figure class="sy-image" id="20261030192956-nhhk6rm"&gt;&lt;img src="./image-20261030192957-7w32gbj.png" alt="image" loading="lazy"&gt;&lt;/figure&gt;&#10;&lt;h4 id="训练轮数的影响"&gt;&lt;a id="20261030193727-70r3d0p"&gt;&lt;/a&gt;训练轮数的影响&lt;/h4&gt;&#10;&lt;p id="20261030193734-wov9p68"&gt;图 4 表明多轮训练会导致过拟合。单轮训练取得最高测试准确率（28.1%），而后续轮次虽提高训练准确率，却降低了测试性能。这表明“错误笔记本”最好通过让每种错误类型各出现一次并进行泛化来构建，而非反复拟合训练集。因此，我们将单轮训练作为标准做法。&lt;/p&gt;&#10;&lt;figure class="sy-image" id="20261030193808-hachqo7"&gt;&lt;img src="./image-20261030193808-3hcslk0.png" alt="image" loading="lazy"&gt;&lt;/figure&gt;&#10;&lt;p id="20261030193928-qwerfuj"&gt;训练轮数对 KaggleDBQA 的影响。单轮训练以 50 KB 条目取得最佳测试准确率（28.1%）。&lt;/p&gt;&#10;&lt;p id="20261102230739-tk7tqov"&gt;多轮训练会导致跨轮过拟合：第 2 轮时测试准确率降至 23.2%，而训练准确率升至 62.1%，表明记忆模块对训练模式过拟合。&lt;/p&gt;&#10;&lt;h3 id="与sft对比"&gt;&lt;a id="20261030193934-ynl4uyy"&gt;&lt;/a&gt;与SFT对比&lt;/h3&gt;&#10;&lt;p id="20261030193953-fwyaeo3"&gt;比较了 MNL 与 SFT 在 Qwen3-8B 上的表现。表 6 总结了 GSM8K 和 Spider 的结果，表明 MNL 在 GSM8K 上缩小了与 SFT 的差距，并在 Spider 上无需参数更新即优于原始模型。&lt;/p&gt;&#10;&lt;div class="sy-superblock sy-superblock-col" data-sb-layout="col" style="display:flex;flex-direction:row;flex-wrap:wrap;gap:1rem;align-items:flex-start" id="20261030194119-0snmdzl"&gt;&lt;figure class="sy-image sy-superblock-child" id="20261030194114-k8aialp" style="flex:1 1 0;min-width:0;max-width:100%"&gt;&lt;img src="./image-20261030194115-buiw5yt.png" alt="image" loading="lazy"&gt;&lt;/figure&gt;&lt;figure class="sy-image sy-superblock-child" id="20261030193955-4rikqih" style="flex:1 1 0;min-width:0;max-width:100%"&gt;&lt;img src="./image-20261030194020-vm0zxzt.png" alt="image" loading="lazy"&gt;&lt;/figure&gt;&lt;/div&gt;&#10;&lt;p id="20261102233055-udovdji"&gt;在 GSM8K 上（表 6），MNL 将准确率提升 +2.1 个百分点，并将与 SFT 的差距缩小至 0.4 个百分点。&lt;/p&gt;&#10;&lt;h6 id="自调优与跨模型调优"&gt;&lt;a id="20261030194312-s4f2qmq"&gt;&lt;/a&gt;自调优与跨模型调优&lt;/h6&gt;&#10;&lt;p id="20261030194313-n9oe3fd"&gt;我们在 Qwen3-8B 上比较了自调优（Qwen3-8B 调优器）与跨模型调优（DeepSeek-V3.2-Exp 调优器）。表 7 显示，虽然跨模型调优在 KaggleDBQA 上取得了略高的性能（31.0% 对 28.0%），但自调优仍具有竞争力。这证实了即使没有更强的监督模型可用，MNL 也具有实际适用性。&lt;/p&gt;&#10;&lt;figure class="sy-image" id="20261030194325-0mo5lsj"&gt;&lt;img src="./image-20261030194354-8y0pg4z.png" alt="image" loading="lazy"&gt;&lt;/figure&gt;&#10;&lt;h3 id="成本分析"&gt;&lt;a id="20261030194416-ruj857t"&gt;&lt;/a&gt;成本分析&lt;/h3&gt;&#10;&lt;p id="20261030194420-wz1qlbl"&gt;在 KaggleDBQA 上，MNL 以 $0.19 的训练成本达到 45.9% 的准确率，而 Memento 以 $0.43 达到 47.0% 的准确率（2.3 倍的成本），仅为 Memento 训练成本的一半。&lt;/p&gt;&#10;&lt;p id="20261102230554-eeq2ve2"&gt;在 GSM8K/Spider 上，MNL 以低 40% 的训练成本接近 SFT 的准确率（见附录 A.5.2）。在 GSM8K/Spider 上，MNL 以低 40% 的成本接近 SFT 的准确率。&lt;/p&gt;&#10;&lt;p id="20261030194706-k9xl5pu"&gt;这使得 MNL 对预算受限的部署尤为具有吸引力。&lt;/p&gt;&#10;&lt;p id="20261030194436-a2l17eo"&gt; &lt;img src="./image-20261030194524-684jcw2.png" alt="image" loading="lazy"&gt; &lt;img src="./image-20261030194531-9cwhh0v.png" alt="image" loading="lazy"&gt; &lt;/p&gt;&#10;&lt;h2 id="结论"&gt;&lt;a id="20261030205654-29uqjzb"&gt;&lt;/a&gt;结论&lt;/h2&gt;&#10;&lt;p id="20261030205659-vzg3pmu"&gt;在包括数学、Text-to-SQL 和智能体任务在内的多个领域中，MNL 借助简洁的提示和紧凑的记忆结构展现出显著提升。我们的实验表明，将错误转化为泛化性指导是实现稳健、低开销适应的有效手段，在保持效率的同时，取得了与参数调优基线相当的性能。&lt;/p&gt;&#10;&lt;h2 id="限制"&gt;&lt;a id="20261030193346-16kkbnj"&gt;&lt;/a&gt;限制&lt;/h2&gt;&#10;&lt;ul id="20261030193349-te7557k"&gt;&lt;li id="20261030202402-eda430u"&gt;仅从失败样本中学习；&lt;/li&gt;&lt;li id="20261030203337-x8u6jwf"&gt;效果高度依赖tunner模型输出的二元判断，如果 judge 本身经常判错，&lt;span class="math-inline" data-latex="\Delta_{\mathcal{B}}"&gt;\Delta_{\mathcal{B}}&lt;/span&gt; 就不可靠，会把坏笔记存进错题本；&lt;/li&gt;&lt;li id="20261030193458-jp92blq"&gt;RAG检索依赖抽象的主题，此外，检索到的结论依然是整个整个轨迹的执行和推理过程，是错误范例外加纠正，没有进行理想中的条件、经验形式的总结；&lt;/li&gt;&lt;li id="20261030211304-8n8cc9r"&gt;过程中引入大量LLM调用，极大降低运行效率；&lt;/li&gt;&lt;/ul&gt;&#10;&lt;/div&gt;</description></item><item><title>AgentForesight: Online Auditing for Early Failure Prediction in Multi-Agent Systems</title><link>https://huxjiang.github.io/notes/%E8%AE%BA%E6%96%87%E9%98%85%E8%AF%BB%E7%AC%94%E8%AE%B0/agentforesight--online-auditing-for-early-failure-prediction-in-multi-agent-systems/</link><pubDate>Tue, 20 Oct 2026 00:00:00 +0000</pubDate><guid>https://huxjiang.github.io/notes/%E8%AE%BA%E6%96%87%E9%98%85%E8%AF%BB%E7%AC%94%E8%AE%B0/agentforesight--online-auditing-for-early-failure-prediction-in-multi-agent-systems/</guid><description>&lt;div class="sy-doc"&gt;&#10;&lt;div class="callout callout-note" data-callout="note" id="20261104173837-74svh9y"&gt;&lt;div class="callout-title"&gt;✏️ Note&lt;/div&gt;&lt;div class="callout-body"&gt;&lt;p id="20261104173837-b5alwea"&gt;主要贡献：把多智能体失败分析从"事后全知归因"重构为在线审计——审计器仅凭已执行前缀 &lt;span class="math-inline" data-latex="\tau_{0:k}"&gt;\tau_{0:k}&lt;/span&gt;，在每一步输出 Continue 或 Alarm（步号+责任 agent），从而在决定性错误向后传播前打开干预窗口。&#10;创新点：① 提出决定性错误的形式化定义与在线审计模型，并自建 AFTraj-2K 语料（严格过滤的安全轨迹提供前缀级正类监督 + 构造注入与多评委投票的步级标注）；② 设计由粗到细的训练配方（BPPO 边界对偏好优化对齐失败边界 → GRPO 三轴奖励锐化步级定位），7B 模型即以 66.44 Exact-F1 超越最强专有基线 19.88 分，并首次进入可部署区域（FAR 2.4%、Step-Acc 59.5%）。&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&#10;&lt;blockquote id="20261025212227-eira6ly"&gt;&lt;p id="20261103114124-fj9mfhh"&gt;标题：AgentForesight: Online Auditing for Early Failure Prediction in Multi-Agent Systems（AgentForesight：面向多智能体系统早期失败预测的在线审计）&#10;作者：Boxuan Zhang（Rutgers University，共同一作）、Jianing Zhu（The University of Texas at Austin，共同一作）、Zeru Shi（Rutgers University）、Dongfang Liu（Purdue University）、Ruixiang Tang（Rutgers University，通讯作者）&#10;发布日期：2026 年 5 月 9 日（v1 提交），2026 年 5 月 13 日修订（v2）&#10;投稿信息：NeurIPS 2026&lt;/p&gt;&lt;p id="20261102122509-dpf7jva"&gt;代码仓库：&lt;a href="https://github.com/ZBox1005/AgentForesight"&gt;github.com/ZBox1005/AgentForesight&lt;/a&gt;；数据集 &lt;a href="https://huggingface.co/datasets/ZBox008003/AFTraj"&gt;huggingface.co/datasets/ZBox008003/AFTraj&lt;/a&gt;；项目页 &lt;a href="https://zbox1005.github.io/agent-foresight/"&gt;zbox1005.github.io/agent-foresight&lt;/a&gt;。模型权重在项目页上未见公开链接。&lt;/p&gt;&lt;p id="20261102122519-6jbhi4n"&gt;论文链接：&lt;a href="https://arxiv.org/abs/2605.08715"&gt;arxiv.org/abs/2605.08715&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;&#10;&lt;h2 id="研究动机"&gt;&lt;a id="20261025212227-nawv0s1"&gt;&lt;/a&gt;研究动机&lt;/h2&gt;&#10;&lt;h3 id="问题"&gt;&lt;a id="20261102122613-e8m8g7j"&gt;&lt;/a&gt;问题&lt;/h3&gt;&#10;&lt;p id="20261026095900-9zzoyba"&gt;现在的多智能体处理长程任务时，如果前置出现决定性错误，容易被后续agent视作前提条件，并在错误的基础上继续执行，最终导致失败；&lt;/p&gt;&#10;&lt;p id="20261102122605-zy7gmr7"&gt;这类失败在接入 API 与外部服务的真实部署中不只是"benchmark 准确率下降"，而会带来不可逆的副作用（文件写入、外部请求），因此可靠性成为多智能体系统部署的核心瓶颈；&lt;/p&gt;&#10;&lt;h3 id="现有范式"&gt;&lt;a id="20261102122625-izdke1u"&gt;&lt;/a&gt;现有范式&lt;/h3&gt;&#10;&lt;p id="20261026100000-y4ckzi5"&gt;现有的工作把这当作事后归因问题，在任务最终失败以后，回溯执行轨迹，诊断责任主体和步骤。&lt;/p&gt;&#10;&lt;ul id="20261026102049-w6eorn2"&gt;&lt;li id="20261026102049-i3zx6zq"&gt;Who&amp;amp;When（ICML 2025）：利用完整失败轨迹搜索导致任务失败的关键agent和步骤；提出决定性错误的定义：纠正该错误能够使原本的失败的轨迹执行成功；提出责任归因和关键步骤定位；并 benchmark 了 all-at-once、step-by-step、binary-search 三种提示策略。&lt;/li&gt;&lt;li id="20261026102053-zwwgfts"&gt;AgenTracer：（ICLR 2026）也是针对责任归因和决定性错误定位，利用 反事实重放：改变agent某个步骤行为，看能否修正；以及 程序化故障注入 修改成功轨迹，制造失败构建数据集；训练 AgenTracer-8B，在全轨迹上使用多粒度奖励。&lt;/li&gt;&lt;li id="20261026102054-9lbofa5"&gt;AgentDebug：（2025 年）建立系统化的 Agent 错误分类体系，给出 memory / reflection / planning / action / system 五模块错误分类，构建 AgentErrorBench 错误轨迹数据集；AgentDebug详细分析执行轨迹，定位错误，然后生成纠正反馈并重新执行；&lt;/li&gt;&lt;/ul&gt;&#10;&lt;figure class="sy-image" id="20261102141835-y379rpl"&gt;&lt;img src="./AgentForesight-v1-20261102105047-0y0l6i6.png" alt="AgentForesight 与事后失败归因的对照：上半 (a) 事后归因在轨迹已失败后才由 Attribution Model 回看，标出 Step 3 的错误但下游 Step 4–6 已经烧掉算力并产出错误报价；下半 (b) 在线审计在 Step 3 的 prefix 上就报错并触发 STOP，修正价格过滤条件后 Step 4–6 走通。绿色 SAFE 气泡是逐 prefix 的继续判决" loading="lazy"&gt;&lt;/figure&gt;&#10;&lt;p id="20261102123047-vag21ht"&gt;现有方法的三个决定性限制&lt;/p&gt;&#10;&lt;ol id="20261102123056-3shjqnb"&gt;&lt;li id="20261102123057-qpe809t"&gt;需要拥有对完整轨迹 τ 与终局标签 Ω(τ)=0 的全知视角；&lt;/li&gt;&lt;li id="20261102123115-imwv8rh"&gt;针对整个轨迹一次性输出单个预测 &lt;span class="math-inline" data-latex="(\hat k, \hat a)"&gt;(\hat k, \hat a)&lt;/span&gt;，无法每一步及时预测；&lt;/li&gt;&lt;li id="20261102123124-9uwo1xw"&gt;预测发生在失败已经发生之后，没有干预窗口。&lt;/li&gt;&lt;/ol&gt;&#10;&lt;p id="20261026102211-binyjkl"&gt;作者提出问题：能否审计执行轨迹的前缀，在失败向后传播前发现决定性错误？&lt;/p&gt;&#10;&lt;p id="20261026233627-hjwuggo"&gt;实现这个目的需要引入在线审计 online auditing，不依赖后续步骤的情况下，对每个已经执行步骤进行判断；审计器在每一步只看 &lt;span class="math-inline" data-latex="\tau_{0:k}"&gt;\tau_{0:k}&lt;/span&gt;，在"继续"与"报警"之间做选择，看不到未来步、工具返回和最终结果。这与事后归因在三条性质上正好相反：信息从前缀受限替代全知、输出从一次变成每步一次、Alarm 在 &lt;span class="math-inline" data-latex="t_{k+1}"&gt;t_{k+1}&lt;/span&gt; 提交前创造干预窗口。&lt;/p&gt;&#10;&lt;p id="20261102123233-4recd4q"&gt;要求：&lt;/p&gt;&#10;&lt;ul id="20261102103026-0jj1i6l"&gt;&lt;li id="20261102103027-issn20i"&gt;它必须可靠地区分仍然安全的前缀与已经越过决定性错误的前缀；&lt;/li&gt;&lt;li id="20261102103029-u1h0as1"&gt;它必须在错误发生的当步作出判定，而非事后回溯；&lt;/li&gt;&lt;/ul&gt;&#10;&lt;h2 id="方法"&gt;&lt;a id="20261026132836-bzxr4ol"&gt;&lt;/a&gt;方法&lt;/h2&gt;&#10;&lt;figure class="sy-image" id="20261102142037-vp9ez7m"&gt;&lt;img src="./Pipeline-v3-20261102105047-yyuub8k.png" alt="AgentForesight 总览：(a) AFTraj-2K 构造管线——成功轨迹经 Filtering Pipeline 三重检查后分成两支，一支做 Decisive Error Injection（fault injection 后重跑），另一支是自然失败轨迹经 LLM-as-a-Judge 多评委投票定位错误步，最终合成含 Verified Successful Traps 与 Failed Traps with Decisive Error Step 的统一语料；(b) 训练流程——Stage 1 在只差一步的前缀对上学边界，Stage 2 用 RL 三轴奖励（What/Where/Who）锐化；(c) 产物 AgentForesight-7B 以 prefix 为输入、输出 continue/alarm 判决" loading="lazy"&gt;&lt;/figure&gt;&#10;&lt;h3 id="问题建模"&gt;&lt;a id="20261027093814-sdl7gvu"&gt;&lt;/a&gt;问题建模&lt;/h3&gt;&#10;&lt;p id="20261102124447-78yi9dc"&gt;多智能体执行被建模成回合制系统 &lt;span class="math-inline" data-latex="\mathcal{M}=(\mathcal{S},\mathcal{N},\pi_{\text{sys}},\Psi,\Omega)"&gt;\mathcal{M}=(\mathcal{S},\mathcal{N},\pi_{\text{sys}},\Psi,\Omega)&lt;/span&gt;，其可观测轨迹是一串回合 &lt;span class="math-inline" data-latex="\tau=(t_{0},\ldots,t_{N-1})"&gt;\tau=(t_{0},\ldots,t_{N-1})&lt;/span&gt;，每个回合 &lt;span class="math-inline" data-latex="t_{i}=(\mathrm{role}_{i},\mathrm{action}_{i},\mathrm{content}_{i})"&gt;t_{i}=(\mathrm{role}_{i},\mathrm{action}_{i},\mathrm{content}_{i})&lt;/span&gt;。&lt;span class="math-inline" data-latex="\Omega"&gt;\Omega&lt;/span&gt;是一个判断是否成功的二元函数；&lt;/p&gt;&#10;&lt;ul id="20261102223807-jhgjwqg"&gt;&lt;li id="20261102223807-6ikh2ci"&gt;&lt;span class="math-inline" data-latex="\mathcal{S}"&gt;\mathcal{S}&lt;/span&gt;：系统状态集合；&lt;/li&gt;&lt;li id="20261102223807-gyfclif"&gt;&lt;span class="math-inline" data-latex="\mathcal{N}"&gt;\mathcal{N}&lt;/span&gt;：有限的 agent 角色集合（如 Planner、WebAgent、CodeWriter）；&lt;/li&gt;&lt;li id="20261102223807-4aqn3g4"&gt;&lt;span class="math-inline" data-latex="\pi_{\text{sys}}"&gt;\pi_{\text{sys}}&lt;/span&gt;：给定当前状态产生下一 turn 的系统策略；&lt;/li&gt;&lt;li id="20261102223807-05kqlcx"&gt;&lt;span class="math-inline" data-latex="\Psi"&gt;\Psi&lt;/span&gt;：状态更新函数；&lt;/li&gt;&lt;li id="20261102223807-x6pvhvn"&gt;&lt;span class="math-inline" data-latex="\Omega:\mathcal{T}\to\{0,1\}"&gt;\Omega:\mathcal{T}\to\{0,1\}&lt;/span&gt;：对已完成轨迹按任务规范给出的二值结果函数（1 成功 / 0 失败），&lt;span class="math-inline" data-latex="\mathcal{T}"&gt;\mathcal{T}&lt;/span&gt; 为有限轨迹空间。&lt;/li&gt;&lt;li id="20261102223820-ov7dnkb"&gt;&lt;span class="math-inline" data-latex="(\mathrm{action}_i,\mathrm{content}_i)"&gt;(\mathrm{action}_i,\mathrm{content}_i)&lt;/span&gt; 记录动作及其可观测结果。&lt;/li&gt;&lt;/ul&gt;&#10;&lt;h4 id="决定性错误"&gt;&lt;a id="20261102223830-fliqzz0"&gt;&lt;/a&gt;决定性错误&lt;/h4&gt;&#10;&lt;p id="20261102124706-dvcwrmq"&gt;失败分析的操作单元取"决定性错误"：修正它就能把结果从失败翻成成功的那个最早步骤。&lt;/p&gt;&#10;&lt;div class="math-block" data-latex="k^{*}=\min\Bigl\{k\in[T]:\ \exists\,\tilde{t}\in\mathcal{T}_{k}(\tau_{0:k-1}),\ \tilde{\tau}\in\mathcal{R}_{\mathcal{M}}(\tau_{0:k-1}\oplus\tilde{t}),\ \Omega(\tau_{0:k-1}\oplus\tilde{t}\oplus\tilde{\tau})=1\Bigr\}" id="20261102124655-0asleo7"&gt;k^{*}=\min\Bigl\{k\in[T]:\ \exists\,\tilde{t}\in\mathcal{T}_{k}(\tau_{0:k-1}),\ \tilde{\tau}\in\mathcal{R}_{\mathcal{M}}(\tau_{0:k-1}\oplus\tilde{t}),\ \Omega(\tau_{0:k-1}\oplus\tilde{t}\oplus\tilde{\tau})=1\Bigr\}&lt;/div&gt;&#10;&lt;ul id="20261102124655-x9vv9rr"&gt;&lt;li id="20261102124655-tjwlpef"&gt;&lt;span class="math-inline" data-latex="\tilde{t}"&gt;\tilde{t}&lt;/span&gt;：一个 "可采纳的修正回合"；&lt;/li&gt;&lt;li id="20261102150419-barj733"&gt;&lt;span class="math-inline" data-latex="{T}"&gt;{T}&lt;/span&gt;：轨迹的步索引集合，&lt;span class="math-inline" data-latex="T=N"&gt;T=N&lt;/span&gt;。&lt;/li&gt;&lt;li id="20261102124655-a1kka0o"&gt;&lt;span class="math-inline" data-latex="{\mathcal{T}_{k}(\tau_{0:k-1})}"&gt;{\mathcal{T}_{k}(\tau_{0:k-1})}&lt;/span&gt;：在位置 &lt;span class="math-inline" data-latex="k"&gt;k&lt;/span&gt; 上所有"可接受的正确回合"，即反事实替换的候选集。&lt;/li&gt;&lt;li id="20261102124655-92u9wr1"&gt;&lt;span class="math-inline" data-latex="{\mathcal{R}_{\mathcal{M}}(\cdot)}"&gt;{\mathcal{R}_{\mathcal{M}}(\cdot)}&lt;/span&gt;：给定修正后的前缀、在系统策略 &lt;span class="math-inline" data-latex="\pi_{\text{sys}}"&gt;\pi_{\text{sys}}&lt;/span&gt; 下可达的后缀轨迹集合。&lt;/li&gt;&lt;li id="20261102124655-i5s19r0"&gt;&lt;span class="math-inline" data-latex="{\Omega(\tau)}"&gt;{\Omega(\tau)}&lt;/span&gt;：二元结果函数，&lt;span class="math-inline" data-latex="\Omega=1"&gt;\Omega=1&lt;/span&gt; 为成功、&lt;span class="math-inline" data-latex="0"&gt;0&lt;/span&gt; 为失败，由任务规格判定。&lt;/li&gt;&lt;/ul&gt;&#10;&lt;p id="20261102124846-9qpjhux"&gt;这个定义的重点在"最早"和"不可恢复"：&lt;/p&gt;&#10;&lt;ul id="20261102124900-tba8xo2"&gt;&lt;li id="20261102124901-t9udlst"&gt;&lt;span class="math-inline" data-latex="k^{*}"&gt;k^{*}&lt;/span&gt; 是最早一步，其错误无法被任何下游 rollout 挽回，因而在该步做 oracle 修正是既必要又充分的。&lt;/li&gt;&lt;li id="20261102124906-4sz9254"&gt;责任人 &lt;span class="math-inline" data-latex="a^{*}=\mathrm{role}_{k^{*}}"&gt;a^{*}=\mathrm{role}_{k^{*}}&lt;/span&gt;，失败轨迹标注 &lt;span class="math-inline" data-latex="(k^{*},a^{*})"&gt;(k^{*},a^{*})&lt;/span&gt;，成功轨迹标注 &lt;span class="math-inline" data-latex="(\text{Safe},\emptyset)"&gt;(\text{Safe},\emptyset)&lt;/span&gt;。&lt;/li&gt;&lt;/ul&gt;&#10;&lt;h4 id="在线审计模型"&gt;&lt;a id="20261025212227-43oci9f"&gt;&lt;/a&gt;在线审计模型&lt;/h4&gt;&#10;&lt;div class="math-block" data-latex="\hat{y}_{k}=f_{\text{online}}(\tau_{0:k})\ \in\ \{\text{Continue}\}\ \cup\ \bigl(\{\text{Alarm}\}\times\{0,\ldots,k\}\times\mathcal{N}\bigr),\quad k=0,\ldots,N-1" id="20261102124938-j8ua86e"&gt;\hat{y}_{k}=f_{\text{online}}(\tau_{0:k})\ \in\ \{\text{Continue}\}\ \cup\ \bigl(\{\text{Alarm}\}\times\{0,\ldots,k\}\times\mathcal{N}\bigr),\quad k=0,\ldots,N-1&lt;/div&gt;&#10;&lt;ul id="20261102124938-nav2x6v"&gt;&lt;li id="20261102124938-k8c942i"&gt;&lt;span class="math-inline" data-latex="{\tau_{0:k}}"&gt;{\tau_{0:k}}&lt;/span&gt;：截至第 &lt;span class="math-inline" data-latex="k"&gt;k&lt;/span&gt; 回合的可见窗口，不含 &lt;span class="math-inline" data-latex="t_{k+1:N-1}"&gt;t_{k+1:N-1}&lt;/span&gt; 与终局标签。&lt;/li&gt;&lt;li id="20261102124938-jyacrmg"&gt;&lt;span class="math-inline" data-latex="{\hat{y}_{k}}"&gt;{\hat{y}_{k}}&lt;/span&gt;：第 &lt;span class="math-inline" data-latex="k"&gt;k&lt;/span&gt; 步的判决，要么是 Continue（窗口内还没出现决定性错误），要么是 Alarm 三元组（预测步号 &lt;span class="math-inline" data-latex="\hat{k}\le k"&gt;\hat{k}\le k&lt;/span&gt; 与责任人 &lt;span class="math-inline" data-latex="\hat{a}"&gt;\hat{a}&lt;/span&gt;）。&lt;/li&gt;&lt;li id="20261102124938-xtp6suy"&gt;&lt;span class="math-inline" data-latex="{\mathcal{N}}"&gt;{\mathcal{N}}&lt;/span&gt;：agent 角色集合（Planner、WebAgent、CodeWriter 等）。&lt;/li&gt;&lt;/ul&gt;&#10;&lt;p id="20261027200651-rh4w369"&gt;在&lt;span class="math-inline" data-latex="0-k"&gt;0-k&lt;/span&gt;的每一步上应用，如果报告continue，表示观察窗口内尚未观察到决定性错误；而Alarm判定则会停止执行，报告决定性错误的步骤，以及对此需要负责的agent N&lt;/p&gt;&#10;&lt;h3 id="aftraj--2k-语料库构建"&gt;&lt;a id="20261025212227-x6d35re"&gt;&lt;/a&gt;AFTraj- 2K 语料库构建&lt;/h3&gt;&#10;&lt;p id="20261102125114-u9pga5c"&gt;在线审计对语料的要求比事后归因苛刻，具体是三件事：&lt;/p&gt;&#10;&lt;ul id="20261102144231-of5ypmz"&gt;&lt;li id="20261027201501-fyolcxl"&gt;针对不安全轨迹，具有步级的真实标签&lt;span class="math-inline" data-latex="( k ^∗ , a ^∗ )"&gt;( k ^∗ , a ^∗ )&lt;/span&gt;；&lt;/li&gt;&lt;li id="20261027201541-zcaxpk1"&gt;有验证过的安全轨迹以提供前缀级正类监督；&lt;/li&gt;&lt;li id="20261027201603-3u3r99y"&gt;覆盖异构多智能体框架与任务领域；&lt;/li&gt;&lt;/ul&gt;&#10;&lt;p id="20261027201612-ehn0kr4"&gt;现有数据集：&lt;/p&gt;&#10;&lt;ul id="20261027201621-z6o48t6"&gt;&lt;li id="20261027201621-q354jw2"&gt;Who&amp;amp;When ：提供步骤级决定性错误标注，但是但仅包含失败轨迹；&lt;/li&gt;&lt;li id="20261027201640-4hbfjp9"&gt;ATBench：同时包含安全和不安全轨迹，但是仅提供轨迹级标签；&lt;/li&gt;&lt;/ul&gt;&#10;&lt;p id="20261102144320-ssinqeg"&gt;因此作者自建 AFTraj-2K，共 2,272 条 family 级轨迹（安全 1,158 / 失败 1,114），平均 11.5 回合。&lt;/p&gt;&#10;&lt;figure class="sy-image" id="20261102145802-eluejqr"&gt;&lt;img src="./image-20261029133035-cy544e5.png" alt="image" loading="lazy"&gt;&lt;/figure&gt;&#10;&lt;p id="20261102145942-ldwizti"&gt;图 2：整体框架。(a) AFTraj-2K 的构造流水线：从现成多智能体系统收集轨迹，成功轨迹经严格过滤得到安全子集，失败轨迹经决定步注入与多裁判投票得到步级标注。(b) 由粗到细的训练配方：先在前缀对上学风险预判，再用三轴奖励锐化为步级定位。&lt;/p&gt;&#10;&lt;h4 id="轨迹收集"&gt;&lt;a id="20261027201716-uzw23xo"&gt;&lt;/a&gt;轨迹收集&lt;/h4&gt;&#10;&lt;p id="20261027201722-ai4qfe9"&gt;借鉴现有框架（AutoGen 、MetaGPT、Smolagents）实现多agent系统，在数学（MATH-500）、coding（HumanEval+/MBPP+）、agentic（GAIA/HotpotQA）任务上运行，以 GPT-5.4-mini 作为统一骨干；每条 rollout 按 &lt;span class="math-inline" data-latex="(\mathrm{role},\mathrm{action},\mathrm{content})"&gt;(\mathrm{role},\mathrm{action},\mathrm{content})&lt;/span&gt; 记录 turn 级轨迹，并用结果函数 Ω 对照参考答案打分。原始池分为&lt;/p&gt;&#10;&lt;div class="math-block" data-latex="\mathcal{D}_{\text{succ}}=\{\tau\mid\Omega(\tau)=1\},\qquad \mathcal{D}_{\text{fail}}=\{\tau\mid\Omega(\tau)=0\}" id="20261029132815-qpgfkwf"&gt;\mathcal{D}_{\text{succ}}=\{\tau\mid\Omega(\tau)=1\},\qquad \mathcal{D}_{\text{fail}}=\{\tau\mid\Omega(\tau)=0\}&lt;/div&gt;&#10;&lt;p id="20261102144727-pwqh37h"&gt;&lt;span class="math-inline" data-latex="\mathcal{D}_{\text{succ}}"&gt;\mathcal{D}_{\text{succ}}&lt;/span&gt; 供"验证安全"支路使用；&lt;span class="math-inline" data-latex="\mathcal{D}_{\text{fail}}"&gt;\mathcal{D}_{\text{fail}}&lt;/span&gt; 与"对 &lt;span class="math-inline" data-latex="\mathcal{D}_{\text{succ}}"&gt;\mathcal{D}_{\text{succ}}&lt;/span&gt; 做受控错误注入"共同产出带决定性错误标注的失败轨迹。&lt;/p&gt;&#10;&lt;blockquote id="20261029134113-iwwifgx"&gt;&lt;p id="20261102144730-2xf04hn"&gt;在所有四个子基准上，骨干 LLM 统一为 GPT-5.4-mini，采用贪婪解码，每个任务的步骤预算上限为 40 。&lt;/p&gt;##### &lt;a id="20261102144744-gdnl7bq"&gt;&lt;/a&gt;附录 B.3.1 轨迹生成细节###### &lt;a id="20261102144805-waonjdh"&gt;&lt;/a&gt;coding领域&lt;p id="20261102144758-45qo6ky"&gt;使用 AutoGen Swarm，包含两个角色 CodeWriter 和 CodeTester，它们按需移交控制权，并在哨兵 &lt;code&gt;⁠FINAL_VERIFIED_TESTS_PASSED&lt;/code&gt; 处终止，使用数据集 HumanEval+ 和 MBPP+&lt;/p&gt;&lt;ul id="20261029133614-jf1qohm"&gt;&lt;li id="20261029133614-m7ksoye"&gt;AutoGen Swarm：AutoGen 里的一种调度范式（不是普通自由群聊），核心是控制权移交（hand-off）：两个 Agent 轮流接管对话，而不是同时闲聊&lt;ul id="20261029133614-795kva5"&gt;&lt;li id="20261029133614-c6zqkvb"&gt;CodeWriter：写代码、写实现&lt;/li&gt;&lt;li id="20261029133614-gishfla"&gt;CodeTester：写测试用例、跑测试、检查 bug，返回报错给 Writer&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li id="20261029133614-ytb3uc9"&gt;按需移交控制权：Writer 写完交给 Tester 测试；Tester 发现 bug，把控制权还给 Writer 修改；循环往复&lt;/li&gt;&lt;li id="20261029133614-gvf3tmq"&gt;哨兵（sentinel）&lt;code&gt;⁠FINAL_VERIFIED_TESTS_PASSED&lt;/code&gt;：终止信号Tester 检测到：所有测试全部通过，就输出这个标记，整个多智能体循环直接停下来，不再继续对话。&lt;/li&gt;&lt;li id="20261029133614-0bxajhq"&gt;评测数据集：&lt;ul id="20261029133614-nrk10fi"&gt;&lt;li id="20261029133614-mnrzfpj"&gt;HumanEval+、MBPP+：经典代码生成评测集，带单元测试，用来测代码能不能跑对&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;###### &lt;a id="20261029132825-oksivla"&gt;&lt;/a&gt;Math领域&lt;p id="20261029133510-ur1bnxg"&gt;对于 Math，我们使用相同的 AutoGen Swarm 模板，包含 MathSolver 和 Verifier 角色，在哨兵 &lt;code&gt;⁠ANSWER_VERIFIED&lt;/code&gt; 处终止，运行于 MATH-500 [16]。&lt;/p&gt;&lt;ul id="20261029133750-z4zip45"&gt;&lt;li id="20261029133750-ji9u17s"&gt;复用同一个 AutoGen Swarm 模板：调度逻辑不变（轮流移交控制权），只是换角色&lt;ul id="20261029133750-95il9am"&gt;&lt;li id="20261029133750-4t09vwq"&gt;MathSolver：一步步推导数学题、写解题过程&lt;/li&gt;&lt;li id="20261029133750-0oj66p8"&gt;Verifier：复核推导过程、验算答案，检查有没有计算错误、逻辑漏洞&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li id="20261029133750-fovehwi"&gt;哨兵 &lt;code&gt;⁠ANSWER_VERIFIED&lt;/code&gt;：Verifier 确认答案和推导没问题，打出这个标记，流程终止&lt;/li&gt;&lt;li id="20261029133750-ll0ezgw"&gt;数据集：MATH-500，高中难度数学推理 benchmark&lt;/li&gt;&lt;/ul&gt;###### &lt;a id="20261029133756-xm1ldok"&gt;&lt;/a&gt;Agentic 领域&lt;p id="20261029133825-j6i97zn"&gt;对于 Agentic，使用 Smolagents ，其中 CodeAgent Manager 将网络搜索和 Wikipedia 检索委托给 ToolCallingAgent search_agent，运行于 GAIA [33] 和 HotpotQA [57]；对于 GAIA，我们还通过将其内容注入智能体提示来处理文件附件（文本格式进行解析，图像进行 base64 编码，音频通过 Whisper 转录）：&lt;/p&gt;&lt;ul id="20261029133825-acrbb0e"&gt;&lt;li id="20261029133825-4pjpsyv"&gt;主 Agent：CodeAgent（Manager，总管）：Smolagents 的 CodeAgent，习惯写 Python 代码执行动作&lt;/li&gt;&lt;li id="20261029133825-92a3alz"&gt;子 Agent：search_agent（ToolCallingAgent）：传统 JSON 工具调用型 Agent，专门封装搜索能力（网页搜索 + Wikipedia 百科检索）&lt;/li&gt;&lt;li id="20261029133825-3p0hmnb"&gt;委托（delegate）： Manager 自己不去直接调用搜索工具，而是把 search_agent 当成一个工具，有需要查资料的时候，调用这个子 Agent 去搜，拿到结果再继续推理。&lt;blockquote id="20261029133825-vo35e7a"&gt;&lt;p id="20261029133825-f6q1jo8"&gt;正好对应刚才讲的 Smolagents 的特点：多 Agent 不是原生群聊，而是子 Agent 包装成工具给主 Agent 调用&lt;/p&gt;&lt;/blockquote&gt;&lt;/li&gt;&lt;li id="20261029133825-z23jsvw"&gt;评测数据集：&lt;ul id="20261029133825-g9y3v3e"&gt;&lt;li id="20261029133825-vpt66qs"&gt;GAIA：真实复杂 Agent 任务 benchmark，经常附带附件（txt、图片、音频），需要阅读附件信息才能回答&lt;/li&gt;&lt;li id="20261029133825-gsazlxb"&gt;HotpotQA：多跳问答，需要多次检索、综合多处信息&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li id="20261029133825-0cgbc39"&gt;GAIA 附件处理方案（论文里的工程实现）： 任务里附带的文件，全部预处理之后塞进 prompt 给大模型：&lt;ul id="20261029133825-hzxhm7g"&gt;&lt;li id="20261029133825-hbwm8ng"&gt;文本文件：直接解析文字放进 prompt&lt;/li&gt;&lt;li id="20261029133825-tc1aj8m"&gt;图片：base64 编码，交给多模态模型看&lt;/li&gt;&lt;li id="20261029133825-s8b4v2k"&gt;音频：先用 Whisper 语音转文字，把转录文本放进 prompt&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt;&#10;&lt;h4 id="safe-轨迹处理"&gt;&lt;a id="20261029133524-cpuw5a3"&gt;&lt;/a&gt;safe 轨迹处理&lt;/h4&gt;&#10;&lt;p id="20261029134034-7wovjju"&gt;根据前面的定义，一条轨迹 τ∈𝒟succ ，只能说明最终结果判定为安全，并非在每一步都符合安全的标准；因为一个静默的中间错误可能被下游智能体的恢复所掩盖，或被宽松的评估标准所掩盖；&lt;/p&gt;&#10;&lt;p id="20261029134042-v5vz4q3"&gt;将此类轨迹视为正监督会教导审计器对包含警示信号的前缀发出 Continue，这直接削弱了在线审计所要求的前缀受限监督。因此，使用由二元判定 ϕj:𝒯→{0,1} 组成的三阶段过滤流水线，仅保留在每个前缀都安全的轨迹：&lt;/p&gt;&#10;&lt;div class="math-block" data-latex="\mathcal{D}_{\text{safe}}=\bigl\{\tau\in\mathcal{D}_{\text{succ}}\ \bigm|\ \phi_j(\tau)=1,\ \forall j\in\mathcal{F}\bigr\},\quad \mathcal{F}=\{\text{outcome},\text{integrity},\text{coherence}\}" id="20261102150647-skp8y4u"&gt;\mathcal{D}_{\text{safe}}=\bigl\{\tau\in\mathcal{D}_{\text{succ}}\ \bigm|\ \phi_j(\tau)=1,\ \forall j\in\mathcal{F}\bigr\},\quad \mathcal{F}=\{\text{outcome},\text{integrity},\text{coherence}\}&lt;/div&gt;&#10;&lt;ul id="20261102150805-0q8wbt4"&gt;&lt;li id="20261102150805-yyh67s8"&gt;&lt;span class="math-inline" data-latex="\phi_{\text{outcome}}"&gt;\phi_{\text{outcome}}&lt;/span&gt;：与参考答案严格等价；&lt;/li&gt;&lt;li id="20261102150805-fz7ztv4"&gt;&lt;span class="math-inline" data-latex="\phi_{\text{integrity}}"&gt;\phi_{\text{integrity}}&lt;/span&gt;：拒绝任何非法工具调用；&lt;/li&gt;&lt;li id="20261102150805-g5epecp"&gt;&lt;span class="math-inline" data-latex="\phi_{\text{coherence}}"&gt;\phi_{\text{coherence}}&lt;/span&gt;：由 LLM 判官检查每个 turn 是否仍与声明子目标一致。&lt;/li&gt;&lt;/ul&gt;&#10;&lt;p id="20261029133044-aoghgjt"&gt;&lt;span class="math-inline" data-latex="\mathcal{D}_{\text{safe}}"&gt;\mathcal{D}_{\text{safe}}&lt;/span&gt; 中每条轨迹在每一个前缀上都带标签 (SAFE, ∅)，这正是既有语料缺失的正类监督。&lt;/p&gt;&#10;&lt;blockquote id="20261029133140-pasq4w9"&gt;###### &lt;a id="20261102150828-yk3ccna"&gt;&lt;/a&gt;附录 B.3.1：三个判定的具体实现&lt;ul id="20261102150910-61hbvk6"&gt;&lt;li id="20261102150910-juybg0w"&gt;&lt;span class="math-inline" data-latex="\phi_{\text{outcome}}"&gt;\phi_{\text{outcome}}&lt;/span&gt;：Math 上用 sympy 符号等价 + LaTeX 归一化；GAIA 用官方 scorer 做数字/列表归一化；HotpotQA 用忽略冠词的归一化并容忍人名与地名后缀变体；Coding 用 subprocess 跑测试，超时 15 s。&lt;/li&gt;&lt;li id="20261102150910-hon1bs4"&gt;&lt;span class="math-inline" data-latex="\phi_{\text{integrity}}"&gt;\phi_{\text{integrity}}&lt;/span&gt;：检查日志，拒绝含工具报错、序列化失败、空预测、因环境受限而终止的轨迹。&lt;/li&gt;&lt;li id="20261102150910-wnyigrv"&gt;&lt;span class="math-inline" data-latex="\phi_{\text{coherence}}"&gt;\phi_{\text{coherence}}&lt;/span&gt;：用 GPT-5.4 判官逐 turn 检查是否对齐声明子目标。&lt;/li&gt;&lt;li id="20261102150910-15xivii"&gt;流程实现为"生成后批校验 + 严格跨批次审计"的多轮管线，三轮全部通过才保留。&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt;&#10;&lt;h4 id="失败轨迹处理"&gt;&lt;a id="20261025212227-gwng0r7"&gt;&lt;/a&gt;失败轨迹处理&lt;/h4&gt;&#10;&lt;p id="20261102151017-aoy43h4"&gt;在线审计需要的训练信号是 &lt;span class="math-inline" data-latex="(\tau,k^*,a^*)"&gt;(\tau,k^*,a^*)&lt;/span&gt;，既要有"确实是失败"，又要有"决定性步在哪"，而这两者都无法从朴素来源里可靠拿到。作者因此设计了覆盖不同失败分布的两条支路：&lt;/p&gt;&#10;&lt;ul id="20261102151031-k2nu3ot"&gt;&lt;li id="20261102151044-ckrqt7y"&gt;构造支路（constructive stream）——在安全轨迹上注入，标签由构造保证。 沿用 AgenTracer 的范式，对安全轨迹做受控注入：&lt;div class="math-block" data-latex="\tilde{\tau}=\tau_{0:k_{\text{inj}}-1}\oplus\tilde{t}_{k_{\text{inj}}}\oplus\tilde{\tau}_{&amp;gt;k_{\text{inj}}},\qquad \tilde{\tau}_{&amp;gt;k_{\text{inj}}}\sim\mathrm{Roll}\bigl(\mathcal{M},\tau_{0:k_{\text{inj}}-1}\oplus\tilde{t}_{k_{\text{inj}}}\bigr)" id="20261102151052-3zku181"&gt;\tilde{\tau}=\tau_{0:k_{\text{inj}}-1}\oplus\tilde{t}_{k_{\text{inj}}}\oplus\tilde{\tau}_{&amp;gt;k_{\text{inj}}},\qquad \tilde{\tau}_{&amp;gt;k_{\text{inj}}}\sim\mathrm{Roll}\bigl(\mathcal{M},\tau_{0:k_{\text{inj}}-1}\oplus\tilde{t}_{k_{\text{inj}}}\bigr)&lt;/div&gt;&lt;p id="20261102151053-ejtj3yd"&gt;先均匀采一个注入步 &lt;span class="math-inline" data-latex="k_{\text{inj}}\in\{1,\ldots,|\tau|-2\}"&gt;k_{\text{inj}}\in\{1,\ldots,|\tau|-2\}&lt;/span&gt;（避开首尾）与故障类别 &lt;span class="math-inline" data-latex="c\in\mathcal{C}"&gt;c\in\mathcal{C}&lt;/span&gt;；用 &lt;span class="math-inline" data-latex="\pi_{\text{fault}}(\cdot\mid\tau_{0:k_{\text{inj}}-1},c)"&gt;\pi_{\text{fault}}(\cdot\mid\tau_{0:k_{\text{inj}}-1},c)&lt;/span&gt; 生成一个故障 turn &lt;span class="math-inline" data-latex="\tilde{t}_{k_{\text{inj}}}"&gt;\tilde{t}_{k_{\text{inj}}}&lt;/span&gt;；从被污染的前缀重新 rollout 出真实后缀 &lt;span class="math-inline" data-latex="\tilde{\tau}_{&amp;gt;k_{\text{inj}}}"&gt;\tilde{\tau}_{&amp;gt;k_{\text{inj}}}&lt;/span&gt;。&lt;/p&gt;&lt;ul id="20261102151212-213o8u4"&gt;&lt;li id="20261102151213-giz9hr9"&gt;注入后校验：若 &lt;span class="math-inline" data-latex="\Omega(\tilde{\tau})=1"&gt;\Omega(\tilde{\tau})=1&lt;/span&gt;（下游自己恢复了）或目标 turn 实际没被改动，则丢弃；&lt;/li&gt;&lt;li id="20261102151223-bipwget"&gt;否则通过的样本以构造真值 &lt;span class="math-inline" data-latex="(k^*,a^*)=(k_{\text{inj}},a_{k_{\text{inj}}})"&gt;(k^*,a^*)=(k_{\text{inj}},a_{k_{\text{inj}}})&lt;/span&gt; 进入 &lt;span class="math-inline" data-latex="\mathcal{D}_{\text{fail}}^{\text{inj}}"&gt;\mathcal{D}_{\text{fail}}^{\text{inj}}&lt;/span&gt;。&lt;/li&gt;&lt;/ul&gt;&lt;blockquote id="20261102215044-zlgzh20"&gt;&lt;ul id="20261102215047-3xklrdu"&gt;&lt;li id="20261102215055-i74ochh"&gt;对于 Math，{computation_slip, premature_finalization, verification_shortcut, verdict_misread}（ |𝒞Math|=4 ）；&lt;/li&gt;&lt;li id="20261102215056-m7y3c12"&gt;对于 Coding，{code_bug, verification_skip, verdict_misread}（ |𝒞Coding|=3 ）&lt;/li&gt;&lt;li id="20261102215224-yjncg1s"&gt;缺少agentic领域；&lt;/li&gt;&lt;/ul&gt;&lt;/blockquote&gt;&lt;/li&gt;&lt;li id="20261102151230-l1q5vil"&gt;诊断支路（diagnostic stream）——在自然失败轨迹上把未知的决定性步找出来。 采用"提议—验证"的方法，且刻意设计得比单轮多数投票更保守：提议者和验证者均由 GPT-5.4 在温度 0.2 下实例化&lt;p id="20261102153337-yf3sl7x"&gt;&lt;span class="math-inline" data-latex="P=5"&gt;P=5&lt;/span&gt; 个 proposer 各返回至多 3 个候选（步号 + 责任人 + 失败类型 + 理由 + 修正建议 + 置信度），每个唯一候选再由 &lt;span class="math-inline" data-latex="V=3"&gt;V=3&lt;/span&gt; 个 verifier 沿四条二元准则 &lt;span class="math-inline" data-latex="(s_{\text{exists}},s_{\text{substantive}},s_{\text{decisive}},s_{\text{earliest}})"&gt;(s_{\text{exists}},s_{\text{substantive}},s_{\text{decisive}},s_{\text{earliest}})&lt;/span&gt; 复查，只有"四准则同时成立的 verifier 数"超过多数阈值的候选才被接受：&lt;/p&gt;&lt;div class="math-block" data-latex="k_{\text{cand}}\ \text{admitted}\iff \sum_{j=1}^{V}\prod_{r\in\{s_{\text{exists}},s_{\text{substantive}},s_{\text{decisive}},s_{\text{earliest}}\}} s_{r}^{(j)}\ \ge\ \Bigl\lfloor V/2\Bigr\rfloor+1" id="20261102153405-vt2jsnk"&gt;k_{\text{cand}}\ \text{admitted}\iff \sum_{j=1}^{V}\prod_{r\in\{s_{\text{exists}},s_{\text{substantive}},s_{\text{decisive}},s_{\text{earliest}}\}} s_{r}^{(j)}\ \ge\ \Bigl\lfloor V/2\Bigr\rfloor+1&lt;/div&gt;&lt;ul id="20261102153405-7xyf7vl"&gt;&lt;li id="20261102153405-zblk3ed"&gt;&lt;span class="math-inline" data-latex="\boldsymbol{s_{r}^{(j)}}"&gt;\boldsymbol{s_{r}^{(j)}}&lt;/span&gt;：第 &lt;span class="math-inline" data-latex="j"&gt;j&lt;/span&gt; 个 verifier 对第 &lt;span class="math-inline" data-latex="r"&gt;r&lt;/span&gt; 条准则的二元判断。&lt;/li&gt;&lt;li id="20261102153405-qyqskz2"&gt;&lt;span class="math-inline" data-latex="\boldsymbol{V}"&gt;\boldsymbol{V}&lt;/span&gt;：verifier 调用数，实现取 3；阈值因此为 2，即至少两个 verifier 四项全过。&lt;/li&gt;&lt;li id="20261102153405-du54ao2"&gt;&lt;span class="math-inline" data-latex="\boldsymbol{P}"&gt;\boldsymbol{P}&lt;/span&gt;：proposer 调用数，实现取 5；。&lt;/li&gt;&lt;/ul&gt;&lt;p id="20261102153237-qbqsw0m"&gt;若出现并列，则依据验证者置信度打破平局。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&#10;&lt;h4 id="语料统计"&gt;&lt;a id="20261025212227-ahv5cb9"&gt;&lt;/a&gt;语料统计&lt;/h4&gt;&#10;&lt;figure class="sy-image" id="20261102153714-rrbhjmn"&gt;&lt;img src="./image-20261102161223-8eq4srh.png" alt="image" loading="lazy"&gt;&lt;/figure&gt;&#10;&lt;p id="20261102161234-dzgfg7k"&gt;计数在未展开的家族层级报告（每个带标签轨迹一行）。训练和测试家族通过分层划分获得，该划分将每条安全轨迹及其所有变体置于同一分区。Overall 列报告计数的逐行求和以及平均值的加权统计量。&lt;/p&gt;&#10;&lt;figure class="sy-image" id="20261102161324-zeruypw"&gt;&lt;img src="./image-20261102161324-n253pqi.png" alt="image" loading="lazy"&gt;&lt;/figure&gt;&#10;&lt;p id="20261102161326-2bryy7q"&gt;决定性错误步骤（按轨迹长度 N 归一化）在 AFTraj- 2 K 的三个领域及其汇总上的分布。虚线标记每个面板的均值。三个领域呈现出性质上不同的形状：Coding 错误集中在后半段，Math 错误沿轨迹分布并带有长尾，Agentic 错误则集中在前段；而 Overall 面板显示，在全部 1,114 条不安全轨迹中，决定性步骤广泛分布于整条轨迹，而非聚集在某个固定的前缀位置，这支持了如下主张：在线审计器必须经过校准，以便在轨迹实际出错的步骤上作出判定。&lt;/p&gt;&#10;&lt;h3 id="coarse-to-fine训练"&gt;&lt;a id="20261025212227-rdi72jd"&gt;&lt;/a&gt;coarse-to-fine训练&lt;/h3&gt;&#10;&lt;h4 id="分阶段的原因"&gt;&lt;a id="20261102151708-4dejqil"&gt;&lt;/a&gt;分阶段的原因&lt;/h4&gt;&#10;&lt;p id="20261102151715-mat3hnd"&gt;直接用单阶段策略梯度训练，策略会坍缩到对所有前缀都预测 Safe；原因有二：&lt;/p&gt;&#10;&lt;ul id="20261102151735-ve58y3g"&gt;&lt;li id="20261102151736-ya8l496"&gt;基座模型没有"安全/不安全边界"的内部感知；&lt;/li&gt;&lt;li id="20261102151739-fdi7cpc"&gt;即使有这个边界，还要在不安全区内定位步与责任 agent，而精确性导向的奖励过于稀疏，无法从零同时建立两种能力。&lt;/li&gt;&lt;/ul&gt;&#10;&lt;p id="20261102151755-5a4cw11"&gt;于是解耦成两段：Stage 1（BPPO）建立失败边界的风险预判先验；Stage 2（GRPO + 三轴奖励）把先验锐化为步级定位。&lt;/p&gt;&#10;&lt;h4 id="阶段一失败边界对齐-bppo-boundary-pair-preference-optimization"&gt;&lt;a id="20261102151811-7jw8r4p"&gt;&lt;/a&gt;阶段一：失败边界对齐 BPPO （Boundary-Pair Preference Optimization）&lt;/h4&gt;&#10;&lt;p id="20261102151932-y3r6v3g"&gt;对每条 &lt;span class="math-inline" data-latex="(\tau,k^*,a^*)\in\mathcal{D}_{\text{unsafe}}"&gt;(\tau,k^*,a^*)\in\mathcal{D}_{\text{unsafe}}&lt;/span&gt; 构造两个只差一个 turn 的提示：&lt;/p&gt;&#10;&lt;ul id="20261102151932-q3tx05z"&gt;&lt;li id="20261102151932-coqtgnq"&gt;pre-boundary：&lt;span class="math-inline" data-latex="\tau_{0:k^*-1}"&gt;\tau_{0:k^*-1}&lt;/span&gt;，最优判决 = &lt;code&gt;⁠Continue&lt;/code&gt;；&lt;/li&gt;&lt;li id="20261102151932-bn2o666"&gt;post-boundary：&lt;span class="math-inline" data-latex="\tau_{0:k^*}"&gt;\tau_{0:k^*}&lt;/span&gt;，最优判决 = &lt;code&gt;⁠Alarm(k^*, a^*)&lt;/code&gt;。&lt;/li&gt;&lt;/ul&gt;&#10;&lt;p id="20261102151950-skj1c00"&gt;两者形式几乎相同，却要求逻辑相反的判决，于是"失败边界"被隔离为最显著的待学信号。作者把这种配对对比转成学习信号，提出 DPO 的变体 BPPO（Boundary-Pair Preference Optimization 边界对偏好优化），两个针对性设计：&lt;/p&gt;&#10;&lt;ul id="20261102152048-955jxa5"&gt;&lt;li id="20261102152048-ugss9zm"&gt;chosen / rejected 响应由基座策略 rollout 后按解析出的判决分类得到（而不是人工写死的正负样本）；&lt;/li&gt;&lt;li id="20261102152058-2hs10nd"&gt; 数据按提示位置分为 &lt;span class="math-inline" data-latex="\mathcal{D}_{\text{BS}}"&gt;\mathcal{D}_{\text{BS}}&lt;/span&gt;（边界前）与 &lt;span class="math-inline" data-latex="\mathcal{D}_{\text{BE}}"&gt;\mathcal{D}_{\text{BE}}&lt;/span&gt;（边界处）两个子集，联合优化：&lt;div class="math-block" data-latex="\mathcal{L}_{\text{BPPO}}(\pi_\theta;\pi_{\text{ref}})=-\!\!\sum_{c\in\{\text{BS},\text{BE}\}}\!\!\mathbb{E}_{(x,v^*,v)\sim\mathcal{D}_c}\Bigl[\log\sigma\bigl(\beta\,\Delta_\theta(x,v^*,v)\bigr)\Bigr]" id="20261102152111-piq027k"&gt;\mathcal{L}_{\text{BPPO}}(\pi_\theta;\pi_{\text{ref}})=-\!\!\sum_{c\in\{\text{BS},\text{BE}\}}\!\!\mathbb{E}_{(x,v^*,v)\sim\mathcal{D}_c}\Bigl[\log\sigma\bigl(\beta\,\Delta_\theta(x,v^*,v)\bigr)\Bigr]&lt;/div&gt;&lt;p id="20261102152144-46x5k4h"&gt;其中隐含奖励差（implicit-reward margin）为&lt;/p&gt;&lt;div class="math-block" data-latex="\Delta_\theta(x,v^*,v)=\log\frac{\pi_\theta(v^*\mid x)}{\pi_{\text{ref}}(v^*\mid x)}-\log\frac{\pi_\theta(v\mid x)}{\pi_{\text{ref}}(v\mid x)}" id="20261102152149-n67e3pm"&gt;\Delta_\theta(x,v^*,v)=\log\frac{\pi_\theta(v^*\mid x)}{\pi_{\text{ref}}(v^*\mid x)}-\log\frac{\pi_\theta(v\mid x)}{\pi_{\text{ref}}(v\mid x)}&lt;/div&gt;&lt;ul id="20261102154620-edipex9"&gt;&lt;li id="20261102154611-mp1yki7"&gt;&lt;span class="math-inline" data-latex="\boldsymbol{v^{*}}"&gt;\boldsymbol{v^{*}}&lt;/span&gt;：该位置的最优判决；&lt;span class="math-inline" data-latex="\mathcal{D}_{\text{BS}}"&gt;\mathcal{D}_{\text{BS}}&lt;/span&gt; 中 &lt;span class="math-inline" data-latex="x=\tau_{0:k^{*}-1}"&gt;x=\tau_{0:k^{*}-1}&lt;/span&gt;、&lt;span class="math-inline" data-latex="v^{*}=\text{Continue}"&gt;v^{*}=\text{Continue}&lt;/span&gt;，&lt;span class="math-inline" data-latex="\mathcal{D}_{\text{BE}}"&gt;\mathcal{D}_{\text{BE}}&lt;/span&gt; 中 &lt;span class="math-inline" data-latex="x=\tau_{0:k^{*}}"&gt;x=\tau_{0:k^{*}}&lt;/span&gt;、&lt;span class="math-inline" data-latex="v^{*}=(\text{Alarm},k^{*},a^{*})"&gt;v^{*}=(\text{Alarm},k^{*},a^{*})&lt;/span&gt;。&lt;/li&gt;&lt;li id="20261102154640-uo32hax"&gt;&lt;span class="math-inline" data-latex="\boldsymbol{v}"&gt;\boldsymbol{v}&lt;/span&gt;：被拒绝的判决（BS 上非 Continue，BE 上非 &lt;span class="math-inline" data-latex="v^{*}"&gt;v^{*}&lt;/span&gt;）。&lt;/li&gt;&lt;li id="20261102154611-tq7ayb0"&gt;&lt;span class="math-inline" data-latex="\boldsymbol{\pi_{\theta}(v\mid x)}"&gt;\boldsymbol{\pi_{\theta}(v\mid x)}&lt;/span&gt;：按结构化 JSON 中解析出的 verdict 计算的整段自回归概率。&lt;/li&gt;&lt;li id="20261102154611-hb635f9"&gt;&lt;span class="math-inline" data-latex="\boldsymbol{\beta}"&gt;\boldsymbol{\beta}&lt;/span&gt;：偏好温度，实现取 &lt;span class="math-inline" data-latex="0.1"&gt;0.1&lt;/span&gt;。&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&#10;&lt;p id="20261102154945-36sfhwk"&gt;两个子集必须联合优化：只训 BE 会得到"倾向报警"的先验，只训 BS 会得到"倾向通过"的先验，而这对 prompt 共享形式，联合最小化两个子集，才逼出"在 &lt;span class="math-inline" data-latex="t_{k^{*}}"&gt;t_{k^{*}}&lt;/span&gt; 处翻转判决"这一件事。产物 &lt;span class="math-inline" data-latex="\pi_{\theta_{1}}"&gt;\pi_{\theta_{1}}&lt;/span&gt; 是 Stage 2 的初始化。&lt;/p&gt;&#10;&lt;h4 id="阶段二三轴判决锐化grpo"&gt;&lt;a id="20261102152300-r83nq89"&gt;&lt;/a&gt;阶段二：三轴判决锐化（GRPO）&lt;/h4&gt;&#10;&lt;p id="20261102154921-ci19zgi"&gt;每次 rollout 产出结构化判定 &lt;code&gt;⁠&amp;lt;think&amp;gt;…&amp;lt;/think&amp;gt;&amp;lt;answer&amp;gt;{"answer": k|"SAFE", "agent": …, "reason": …}&amp;lt;/answer&amp;gt;&lt;/code&gt;，沿 what/where/who 三个正交维度打分。&lt;/p&gt;&#10;&lt;ul id="20261102205122-vq81rxt"&gt;&lt;li id="20261102205122-jm2iem6"&gt;结构轴是二值格式门 &lt;span class="math-inline" data-latex="G(\hat{y})"&gt;G(\hat{y})&lt;/span&gt;（schema 合法、JSON 可解析、内容有据）；&lt;/li&gt;&lt;li id="20261102205125-8l8j46x"&gt;时间轴用高斯核给步级定位打分；&lt;div class="math-block" data-latex="r_{\text{step}}(\hat{k},k^{*})=\exp\!\Bigl(-\frac{(\hat{k}-k^{*})^{2}}{2\sigma_{\text{step}}^{2}}\Bigr)" id="20261102205219-n3bj98x"&gt;r_{\text{step}}(\hat{k},k^{*})=\exp\!\Bigl(-\frac{(\hat{k}-k^{*})^{2}}{2\sigma_{\text{step}}^{2}}\Bigr)&lt;/div&gt;&lt;/li&gt;&lt;li id="20261102205129-h5mj72a"&gt;因果轴给责任人打分（角色完全匹配满分，不匹配给部分分）：&lt;/li&gt;&lt;/ul&gt;&#10;&lt;div class="math-block" data-latex="R(\hat{y},y^{*})=G(\hat{y})\cdot R_{\text{content}}(\hat{y},y^{*})-\eta_{G}\bigl(1-G(\hat{y})\bigr)" id="20261102155043-4o9lnpk"&gt;R(\hat{y},y^{*})=G(\hat{y})\cdot R_{\text{content}}(\hat{y},y^{*})-\eta_{G}\bigl(1-G(\hat{y})\bigr)&lt;/div&gt;&#10;&lt;ul id="20261102155043-eyefefh"&gt;&lt;li id="20261102155043-mayrn38"&gt;&lt;span class="math-inline" data-latex="\boldsymbol{\sigma_{\text{step}}}"&gt;\boldsymbol{\sigma_{\text{step}}}&lt;/span&gt;：步距容忍尺度，控制"错一步"扣多少分（原文未给具体取值）。&lt;/li&gt;&lt;li id="20261102155043-8phvesn"&gt;&lt;span class="math-inline" data-latex="\boldsymbol{G(\hat{y})}"&gt;\boldsymbol{G(\hat{y})}&lt;/span&gt;：格式门，&lt;span class="math-inline" data-latex="0/1"&gt;0/1&lt;/span&gt;；为 0 时整条内容分作废。&lt;/li&gt;&lt;li id="20261102155043-5jn952s"&gt;&lt;span class="math-inline" data-latex="\boldsymbol{R_{\text{content}}}"&gt;\boldsymbol{R_{\text{content}}}&lt;/span&gt;：Safe 判对得 &lt;span class="math-inline" data-latex="+1"&gt;+1&lt;/span&gt;；Alarm 判对得 &lt;span class="math-inline" data-latex="w_{s}r_{\text{step}}+w_{a}r_{\text{agent}}"&gt;w_{s}r_{\text{step}}+w_{a}r_{\text{agent}}&lt;/span&gt;（&lt;span class="math-inline" data-latex="w_{s}+w_{a}=1"&gt;w_{s}+w_{a}=1&lt;/span&gt;）；跨类错误得 &lt;span class="math-inline" data-latex="-1"&gt;-1&lt;/span&gt;。&lt;/li&gt;&lt;li id="20261102155043-4cxhgb9"&gt;&lt;span class="math-inline" data-latex="\boldsymbol{\eta_{G}}"&gt;\boldsymbol{\eta_{G}}&lt;/span&gt;：格式违规的软惩罚系数，训练早期保留梯度用。&lt;/li&gt;&lt;/ul&gt;&#10;&lt;p id="20261102155059-be8i5zr"&gt;类对称的 &lt;span class="math-inline" data-latex="\pm1"&gt;\pm1&lt;/span&gt; 设计是为了防类别偏置漂移（否则模型会靠"全报警"或"全放行"刷分）&lt;/p&gt;&#10;&lt;p id="20261102210122-x7mpfnc"&gt;&lt;span class="math-inline" data-latex="- (1-G)"&gt;- (1-G)&lt;/span&gt; 的软惩罚则是为了在策略还没学会 schema 时不至于零梯度。外层用 GRPO 优化，两处针对本设定的改造：KL 的参考策略锚在 Stage 1 检查点 &lt;span class="math-inline" data-latex="\pi_{\theta_{1}}"&gt;\pi_{\theta_{1}}&lt;/span&gt; 而不是基座；KL 用 k3 估计量（非负、长轨迹上梯度噪声更低）。&lt;/p&gt;&#10;&lt;div class="math-block" data-latex="\mathcal{L}_{\text{GRPO}}(\theta)=-\mathbb{E}\Bigl[\min\bigl(\rho_{j,t}(\theta)A_{j},\ \mathrm{clip}(\rho_{j,t}(\theta),1-\epsilon,1+\epsilon)A_{j}\bigr)\Bigr]+\beta_{\text{KL}}\hat{D}_{\text{KL}}\bigl(\pi_{\theta}\|\pi_{\theta_{1}}\bigr)" id="20261102155059-7m8mb91"&gt;\mathcal{L}_{\text{GRPO}}(\theta)=-\mathbb{E}\Bigl[\min\bigl(\rho_{j,t}(\theta)A_{j},\ \mathrm{clip}(\rho_{j,t}(\theta),1-\epsilon,1+\epsilon)A_{j}\bigr)\Bigr]+\beta_{\text{KL}}\hat{D}_{\text{KL}}\bigl(\pi_{\theta}\|\pi_{\theta_{1}}\bigr)&lt;/div&gt;&#10;&lt;ul id="20261102155059-98qkr0y"&gt;&lt;li id="20261102155059-u6kk0vu"&gt;&lt;span class="math-inline" data-latex="\boldsymbol{\rho_{j,t}(\theta)}"&gt;\boldsymbol{\rho_{j,t}(\theta)}&lt;/span&gt;：token 级重要性比 &lt;span class="math-inline" data-latex="\pi_{\theta}/\pi_{\text{old}}"&gt;\pi_{\theta}/\pi_{\text{old}}&lt;/span&gt;。&lt;/li&gt;&lt;li id="20261102155059-g6xfo2w"&gt;&lt;span class="math-inline" data-latex="\boldsymbol{A_{j}}"&gt;\boldsymbol{A_{j}}&lt;/span&gt;：组内标准化后的优势（&lt;span class="math-inline" data-latex="G=8"&gt;G=8&lt;/span&gt; 条 rollout 的 &lt;span class="math-inline" data-latex="R"&gt;R&lt;/span&gt; 减去组均值除以标准差），无需 critic。&lt;/li&gt;&lt;li id="20261102155059-je1mli7"&gt;&lt;span class="math-inline" data-latex="\boldsymbol{\hat{D}_{\text{KL}}}"&gt;\boldsymbol{\hat{D}_{\text{KL}}}&lt;/span&gt;：k3 估计的 KL，实现为 verl 的 &lt;code&gt;⁠low_var_kl&lt;/code&gt;。&lt;/li&gt;&lt;li id="20261102155059-3du8uj4"&gt;&lt;span class="math-inline" data-latex="\boldsymbol{\beta_{\text{KL}}}"&gt;\boldsymbol{\beta_{\text{KL}}}&lt;/span&gt;：KL 系数，实现取 &lt;span class="math-inline" data-latex="10^{-3}"&gt;10^{-3}&lt;/span&gt;。&lt;/li&gt;&lt;/ul&gt;&#10;&lt;h2 id="实验"&gt;&lt;a id="20261102152344-fq6h07v"&gt;&lt;/a&gt;实验&lt;/h2&gt;&#10;&lt;p id="20261102155135-mqxm1ny"&gt;验证覆盖两类设置：自建分布内（AFTraj-2K 的 15% 分组留出集）与跨构造外部迁移（Who&amp;amp;When），同时报告效果（Exact-F1、Step-Acc、Agent-Acc）与部署属性（ASS 步距误差、FAR 误报率、单次调用延迟与单价）。&lt;/p&gt;&#10;&lt;h3 id="实验设置"&gt;&lt;a id="20261102152351-9p8ea6m"&gt;&lt;/a&gt;实验设置&lt;/h3&gt;&#10;&lt;ul id="20261102155156-iym69p5"&gt;&lt;li id="20261102155228-6r2utrq"&gt;数据。&lt;p id="20261102155229-puo5z2n"&gt; AFTraj-2K 按 family 分组留出 15%（测试 332 条 family，即 91 Coding / 116 Math / 125 Agentic），安全轨迹与其注入变体同侧。采用按轨迹分组的划分方式留出 AFTraj- 2 K 的 15% ，将每条安全轨迹及其注入的不安全变体置于同一分区，以防止训练-测试泄漏&lt;/p&gt;&lt;p id="20261102155232-ile0ucd"&gt;Who&amp;amp;When 含 127 个多智能体系统的人工标注 &lt;span class="math-inline" data-latex="(\text{agent},\text{step})"&gt;(\text{agent},\text{step})&lt;/span&gt; 对，全部轨迹与 AFTraj-2K 在系统构造与底层任务上都无交集；该基准只发布已确认失败的轨迹，因此只能评定位、不能评误报。&lt;/p&gt;&lt;/li&gt;&lt;li id="20261102155239-i7hqben"&gt;基线。&lt;ul id="20261102155243-9rveaaf"&gt;&lt;li id="20261102155243-f9f76uf"&gt;开源小模型：Llama-3.2-3B、Gemma-3-4B、Qwen2.5-7B-Instruct、Qwen3-8B、Qwen3-32B。&lt;/li&gt;&lt;li id="20261102155247-rwdzjsc"&gt;闭源：GPT-4.1、Gemini-3-Flash、Claude-Haiku-4.5、DeepSeek-V4-Flash、DeepSeek-V4-Pro。&lt;/li&gt;&lt;li id="20261102155254-au0vvxz"&gt;方法论基线：在同一 Qwen2.5-7B-Instruct 上实例化的四种范式&lt;ul id="20261102220408-5b8f65p"&gt;&lt;li id="20261102220406-bu0wxgg"&gt;Perplexity-7B，按回合长度归一化对数似然 + 首次穿越阈值；&lt;/li&gt;&lt;li id="20261102220410-njgrwh2"&gt;树搜索式提示（ToT-7B，&lt;span class="math-inline" data-latex="\{\text{Sure},\text{Likely},\text{Impossible}\}\to\{2,1,0\}"&gt;\{\text{Sure},\text{Likely},\text{Impossible}\}\to\{2,1,0\}&lt;/span&gt; + 首次穿越）；&lt;/li&gt;&lt;li id="20261102220413-d14a0tc"&gt;自我反思（Reflexion-7B，读"这一步是否含关键错误"的 yes/no 下一 token 分布）&lt;span class="math-inline" data-latex="p_{\text{ok},k}=\frac{P(\text{no})}{P(\text{yes})+P(\text{no})}"&gt;p_{\text{ok},k}=\frac{P(\text{no})}{P(\text{yes})+P(\text{no})}&lt;/span&gt;，跌破阈值时alarm；&lt;/li&gt;&lt;li id="20261102220425-wz0k7bb"&gt;事后归因（AgentDebug-7B，唯一看完整轨迹的基线，作为事后范式的参照）。&lt;/li&gt;&lt;/ul&gt;&lt;p id="20261102220427-hiigmlz"&gt;除 AgentDebug-7B 外都走同一套在线协议、贪心解码、单次响应预算 1,500 token。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li id="20261102155328-bibomxr"&gt;指标。&lt;ul id="20261102155345-5f58s0y"&gt;&lt;li id="20261102155344-cq6s9kh"&gt;Exact-Step F1（Exact-F1）是步级精确命中在 recall（分母为全部失败轨迹）与 precision（分母为被报警的失败轨迹）上的调和平均，同时罚漏报与错定位；&lt;ul id="20261102210843-8kseq0h"&gt;&lt;li id="20261102210843-qhzs9gv"&gt;Step Recall 是决定性步骤被精确定位的不安全轨迹所占比例&lt;p id="20261102210800-nw22qd4"&gt;&lt;span class="math-inline" data-latex="\text{Recall}_{step}=\frac{|\{\tau\in U:\ \hat{k}(\tau)=k^*(\tau)\}|}{|U|}"&gt;\text{Recall}_{step}=\frac{|\{\tau\in U:\ \hat{k}(\tau)=k^*(\tau)\}|}{|U|}&lt;/span&gt;&#10;&lt;/p&gt;&lt;/li&gt;&lt;li id="20261102210904-yc7bt7d"&gt;Step Precision 含义相同，只不过分母不再是所有全部失败轨迹，而是模型报警轨迹&lt;p id="20261102210800-j5tvdx9"&gt;&lt;span class="math-inline" data-latex="\text{Precision}_{step}=\frac{|\{\tau\in U_{\text{det}}:\ \hat{k}(\tau)=k^*(\tau)\}|}{|U_{\text{det}}|}"&gt;\text{Precision}_{step}=\frac{|\{\tau\in U_{\text{det}}:\ \hat{k}(\tau)=k^*(\tau)\}|}{|U_{\text{det}}|}&lt;/span&gt;&#10;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li id="20261102155347-718pn61"&gt;Absolute Step Shift（ASS）是被检出失败轨迹上 &lt;span class="math-inline" data-latex="|\hat{k}-k^{*}|"&gt;|\hat{k}-k^{*}|&lt;/span&gt; 的均值。即使告警未能命中确切步骤，ASS 仍具有信息量，它提供了定位质量的分级信号，这是 Exact-F1 中的二元正确性无法捕捉的；遗漏检测的轨迹上未定义；&lt;p id="20261102211221-kxedlsd"&gt;&lt;span class="math-inline" data-latex="\text{ASS}=\frac{1}{|U_{\text{det}}|}\sum_{\tau\in U_{\text{det}}}\left|\hat{k}(\tau)-k^*(\tau)\right|"&gt;\text{ASS}=\frac{1}{|U_{\text{det}}|}\sum_{\tau\in U_{\text{det}}}\left|\hat{k}(\tau)-k^*(\tau)\right|&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p id="20261102155401-1clfqk2"&gt;评测走严格逐步增量：每个 prefix &lt;span class="math-inline" data-latex="\tau_{0:k}"&gt;\tau_{0:k}&lt;/span&gt; 贪心查询一次，安全与失败轨迹都走满全长以暴露误报。&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&#10;&lt;div class="table-wrapper" id="20261102155509-7fo3cw1"&gt;&#10;&lt;table&gt;&lt;colgroup&gt;&lt;col&gt;&lt;col&gt;&lt;col&gt;&lt;/colgroup&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;超参&lt;/th&gt;&lt;th&gt;Stage 1&lt;/th&gt;&lt;th&gt;Stage 2&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;基座 / 冻结参考&lt;/td&gt;&lt;td&gt;Qwen2.5-7B-Instruct / &lt;span class="math-inline" data-latex="\pi_{\theta_{0}}"&gt;\pi_{\theta_{0}}&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span class="math-inline" data-latex="\pi_{\theta_{1}}"&gt;\pi_{\theta_{1}}&lt;/span&gt; / &lt;span class="math-inline" data-latex="\pi_{\theta_{1}}"&gt;\pi_{\theta_{1}}&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;训练样本&lt;/td&gt;&lt;td&gt;1,902 对边界 prompt&lt;/td&gt;&lt;td&gt;1,940 prompt × &lt;span class="math-inline" data-latex="G"&gt;G&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;学习率 / 调度&lt;/td&gt;&lt;td&gt;&lt;span class="math-inline" data-latex="5\times10^{-7}"&gt;5\times10^{-7}&lt;/span&gt;，cosine + 50 步 warmup&lt;/td&gt;&lt;td&gt;&lt;span class="math-inline" data-latex="1\times10^{-6}"&gt;1\times10^{-6}&lt;/span&gt;，constant&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;优化器 / 精度&lt;/td&gt;&lt;td&gt;8-bit AdamW（bitsandbytes）/ bf16&lt;/td&gt;&lt;td&gt;AdamW / bf16&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;span class="math-inline" data-latex="\beta"&gt;\beta&lt;/span&gt; 或 &lt;span class="math-inline" data-latex="\beta_{\text{KL}}"&gt;\beta_{\text{KL}}&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span class="math-inline" data-latex="\beta=0.1"&gt;\beta=0.1&lt;/span&gt;&lt;/td&gt;&lt;td&gt;&lt;span class="math-inline" data-latex="\beta_{\text{KL}}=10^{-3}"&gt;\beta_{\text{KL}}=10^{-3}&lt;/span&gt;（k3）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;有效 batch / 组大小&lt;/td&gt;&lt;td&gt;16（&lt;span class="math-inline" data-latex="1\times16"&gt;1\times16&lt;/span&gt; 梯度累积）&lt;/td&gt;&lt;td&gt;32 / &lt;span class="math-inline" data-latex="G=8"&gt;G=8&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;轮数&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;td&gt;8&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;最大长度&lt;/td&gt;&lt;td&gt;prompt 8,192&lt;/td&gt;&lt;td&gt;prompt 8,192 / response 4,096&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;硬件&lt;/td&gt;&lt;td&gt;&lt;span class="math-inline" data-latex="2\times"&gt;2\times&lt;/span&gt;H200&lt;/td&gt;&lt;td&gt;&lt;span class="math-inline" data-latex="2\times"&gt;2\times&lt;/span&gt;H200&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&lt;h3 id="主要结果"&gt;&lt;a id="20261102155204-qh5mr6t"&gt;&lt;/a&gt;主要结果&lt;/h3&gt;&#10;&lt;figure class="sy-image" id="20261102155559-tq1chs2"&gt;&lt;img src="./image-20261102155607-7dle9k0.png" alt="image" loading="lazy"&gt;&lt;/figure&gt;&#10;&lt;ul id="20261102155608-08wedhn"&gt;&lt;li id="20261102220530-9u985gf"&gt;在 AFTraj- 2 K 上的在线审计评估。粗体 = 表示最佳结果，下划线 = 表示次佳结果。&lt;/li&gt;&lt;/ul&gt;&#10;&lt;ul id="20261102220524-fg3z90j"&gt;&lt;li id="20261102220525-6yffnld"&gt;† AgentDebug-7B 未检测到任何不安全轨迹，没有可用于求平均的步移样本。我们使用“—”将其 ASS 标记为未定义。&lt;/li&gt;&lt;/ul&gt;&#10;&lt;p id="20261102155953-ty7e1f6"&gt;总体而言，AgentForesight-7B 达到 66.44 Exact-F1，比最强的专有基线 DeepSeek-V4-Pro 高出 19.88 个百分点，并将总体 ASS 从 1.77 收紧至 0.59 （ 3× ）。&lt;/p&gt;&#10;&lt;p id="20261102220648-ls5lluf"&gt;按领域来看，AgentForesight-7B 在每个领域的 Exact-F1 和 ASS 上均表现更好，其中 Exact-F1 提升最大的是数学（ 77.36 对 50.34 ）和编程（ 78.87 对 49.32 ）。&lt;/p&gt;&#10;&lt;p id="20261102220702-44yn7a2"&gt;第 3.2 节的由粗到细方案将 Qwen2.5-7B-Instruct 主干在 Exact-F1 上提升了 3.16× ，而 AgentDebug-7B——具备完整轨迹事后视角的事后参考方法——总体 Exact-F1 最低，为 9.63 。这些结果表明，AgentForesight 的增益源于其为在线审计量身定制的由粗到细方案，而非来自扩展主干模型或改造现有的事后归因器。&lt;/p&gt;&#10;&lt;h4 id="对此外部基准的泛化能力"&gt;&lt;a id="20261102160044-ec3xxrk"&gt;&lt;/a&gt;对此外部基准的泛化能力。&lt;/h4&gt;&#10;&lt;figure class="sy-image" id="20261102160053-hyd4v80"&gt;&lt;img src="./image-20261102160102-qyhvere.png" alt="image" loading="lazy"&gt;&lt;/figure&gt;&#10;&lt;p id="20261102160103-78lh0oy"&gt;AgentForesight-7B 迁移到外部 Who&amp;amp;When 基准，它在全部三项指标上均领先，在 Step-Acc 上超过最强基线 GPT-4.1 达 19.59 分，在 Agent-Acc 上超过 6.41 分，并将 ASS 从 2.35 （DeepSeek-V4-Flash）降至 1.62 。由于这些轨迹在训练时完全未见，这一迁移表明 AgentForesight-7B 捕获的在线审计信号能够泛化到 AFTraj- 2 K 的框架选择之外，而非对其整理产物过拟合。&lt;/p&gt;&#10;&lt;h3 id="消融实验"&gt;&lt;a id="20261102160137-sbb9f51"&gt;&lt;/a&gt;消融实验&lt;/h3&gt;&#10;&lt;figure class="sy-image" id="20261102160147-wx8jbe6"&gt;&lt;img src="./image-20261102160235-10c700r.png" alt="image" loading="lazy"&gt;&lt;/figure&gt;&#10;&lt;p id="20261102160236-08f903d"&gt;在 Qwen2.5-7B-Instruct 基座上对我们的由粗到细方案的两个阶段进行了消融。每个阶段单独都能提升 Exact-F1，从基座的 21.1 （阶段 1 提升至 35.6 ，阶段 2 提升至 50.4 ），而将两者结合后，AgentForesight-7B 达到 66.4 ，至少比任一单阶段高出 16 分。&lt;/p&gt;&#10;&lt;p id="20261102220944-gpjgfe6"&gt;分项结果揭示了明确的分工：仅阶段 2 就已能处理 Math（ 63.6 ）和 Coding（ 72.7 ）——在这些领域，决定性错误可以被清晰定位——但在 Agentic（ 19.0 ，低于仅阶段 1 的 31.6 ）上出现退化，因为该领域的失败边界更难区分。在完整方案中借助阶段 1 的风险预判先验，Agentic 领域恢复至 48.70 。&lt;/p&gt;&#10;&lt;p id="20261102221018-zv1ek6h"&gt;这验证了“先预测、后定位”的耦合机制：阶段 1 建立了一个可学习的失败边界，阶段 2 将其细化到步骤级精度。&lt;/p&gt;&#10;&lt;p id="20261102160405-ys3b00o"&gt;可部署的在线审计器必须准确放置警报，同时极少打断安全轨迹。图 4 描绘了这一权衡关系，将 Step Accuracy（ 𝒟unsafe 上的）与 False Alarm Rate（FAR， 𝒟safe 上，即出现任何已触发警报的安全轨迹占比）进行对照绘制。&lt;/p&gt;&#10;&lt;p id="20261102223236-2czi71z"&gt;我们进一步在 FAR ≤20% 和 Step-Acc ≥50% 处标记出一个可部署区域，即下游分诊或恢复路由仍可处理的工作点。在所比较的十个审计器中，只有 AgentForesight-7B（FAR =2.4% ，Step-Acc =59.5% ）位于该区域内。在两个轴上均为最强的专有基线 DeepSeek-V4-Pro（FAR =43.2% ，Step-Acc =54.0% ）恰好落在区域之外，而其他专有评判器和开源 7–8B 基础模型集中于高 FAR 与中等 Step-Acc，3–4B LLMs 则退化为近乎普遍的误报。&lt;/p&gt;&#10;&lt;p id="20261102221148-k8pqoeo"&gt;这一差距与我们的由粗到细方案一致：Stage 1 的风险预判先验抑制了虚假警报，Stage 2 的三轴奖励则锐化了警报放置。&lt;/p&gt;&#10;&lt;h3 id="案例分析"&gt;&lt;a id="20261102160450-69c3pjj"&gt;&lt;/a&gt;案例分析&lt;/h3&gt;&#10;&lt;figure class="sy-image" id="20261102160519-6wzp14k"&gt;&lt;img src="./image-20261102160522-ryexc43.png" alt="image" loading="lazy"&gt;&lt;/figure&gt;&#10;&lt;p id="20261102160523-1kr4esf"&gt;展示了一条智能体轨迹，其决定性错误发生在第 3 步：search_agent 返回了错误城镇 Horwich，而非标准答案 Bolton，Manager 将其传播至任务完成。仅 AgentForesight-7B 返回第 5 步，并将 search_agent 标记为责任智能体。两个强专有基线以相反方向失败。Gemini-3-Flash 标记了 Manager 规划思考的第 2 步，而 DeepSeek-V4-Pro 在监控整条轨迹后返回 Safe。这表明有效的在线审计既要求避免对安全前缀过早报警，又要求检测出强基线完全遗漏的决定性错误。&lt;/p&gt;&#10;&lt;h2 id="结论"&gt;&lt;a id="20261102160623-r9qf1w0"&gt;&lt;/a&gt;结论&lt;/h2&gt;&#10;&lt;p id="20261102160631-lgkz7ww"&gt;在本文中，我们提出 AgentForesight，一种面向智能体失败分析的在线审计视角，将其从对已完成轨迹的事后诊断，重构为对每个展开前缀逐步作出继续或告警的决策。基于这一视角，我们引入 AFTraj- 2 K，这是一个经过精心构建的语料库，在 Coding、Math 和 Agentic 领域中，将经过严格筛选的安全运行与经多评判器验证的决定性错误标注配对。我们开发了 AgentForesight-7B，这是一个紧凑的在线审计器，通过由粗到细的强化学习方案训练：首先在相邻的安全/不安全前缀对上，使其在失败边界处获得风险预判先验，然后在三轴奖励下将该先验锐化为精确的步骤级定位，该奖励联合针对审计裁决的 what、where 和 who。在 AFTraj- 2 K 和外部 Who&amp;amp;When 基准上的大量实验验证了 AgentForesight-7B 的有效性。除了推进在线审计之外，我们的框架还为运行时防护机制铺平了道路，使其能够在下游传播将失败锁定之前进行干预，标志着迈向多智能体系统部署就绪监督的一步。&lt;/p&gt;&#10;&lt;h2 id="限制"&gt;&lt;a id="20261102160633-dn9u92i"&gt;&lt;/a&gt;限制&lt;/h2&gt;&#10;&lt;ul id="20261102160635-towg85v"&gt;&lt;li id="20261102212644-i3a9h8g"&gt; 没有漏检相关的指标；&lt;/li&gt;&lt;li id="20261102212743-3yj13n3"&gt;agentic领域仍然有所欠缺；&lt;/li&gt;&lt;/ul&gt;&#10;&lt;/div&gt;</description></item></channel></rss>