← 返回 2026-05-20

用技能程序驾驭 LLM 智能体:把经验变成可执行的干预函数 Harnessing LLM Agents with Skill Programs

Hongjun Liu, Yifei Ming, Shafiq Joty, Chen Zhao 📅 2026-05-18 👍 36 2026-07-13 08:36
LLM Agent Post-Training Program Synthesis ReAct Self-Improving Agent Skill Learning Web Search 代码生成

把文本技能升级为可执行状态-动作干预函数,全面提升 LLM 智能体表现

前置知识

ReAct 智能体循环

ReAct(Reason+Act)是一种让大语言模型在每一步先产生思考(Thought),再发出动作(Action,如 SEARCH、READ、FINAL),并接收环境观察(Observation)的循环范式。多步 ReAct agent 能完成检索增强问答、网页搜索等长时任务,但也会出现提前给出最终答案、重复搜索、错抓实体等典型失误。

HASP 整篇论文的实验设置和对比基线都建立在多步 ReAct agent 之上,理解 Search/Read/Final 三种动作的语义才能明白 PF 在哪一步、以什么方式介入。

技能库 / 经验重用(Skill / Experience Reuse)

在智能体系统中,把过往成功的轨迹或失败模式抽象成可复用的经验单元(如 Reflexion 的反思文本、ExpeL 的经验池、SKILL0 的指令技能),下次任务时通过检索注入到 prompt 中以引导行为。已有方法的共同短板是这些"技能"以自然语言形式存在,模型可以选择忽略。

HASP 直接对标这一脉工作,并把它们的局限——"建议式文本"——作为出发点,因此读者必须先理解"基于文本的技能提示"长什么样、为什么会失效。

LoRA 微调与拒绝采样(Rejection Sampling)

LoRA(Low-Rank Adaptation)是一种参数高效微调方法,只在原始权重旁添加低秩矩阵,从而在极少显存下完成监督微调(SFT)。拒绝采样(RS)则是从多个采样轨迹中按某种奖励分数挑选前若干条用于训练,是把 RLHF 中 PPO 简化为离线训练的标准做法。On-policy Distillation(OPD)让学生在自己生成的状态上模仿教师的纠正轨迹。

HASP 把 PF 介入产生的每一步都记录为带信号的事件,再用 SFT / RS / OPD 三种训练范式去"内化"这些干预;理解这三种训练方法才能看懂 Table 4 中 56.8% → 59.3% → 62.5% 的递进差距。

状态-动作干预接口

强化学习中把策略 $\pi_\theta(a\mid s)$ 视为从状态到动作的映射。"干预"指在策略已经产生动作后,外部模块根据状态和候选动作决定是否修改或补充。本文把它泛化为:给定当前状态 $s_t$ 和策略原提案 $a_t^{orig}$,外部可执行对象决定 $\tilde{a}_t = \Gamma(s_t, a_t^{orig})$。

HASP 的核心新颖性就是用这种"接口级"抽象取代"文本建议",因此读者需要先习惯把智能体想象成"被可执行函数包裹的策略"而非"被 prompt 喂养的 LLM"。

研究动机

现有的 LLM 智能体——尤其是多步 ReAct 风格的网页搜索、数学推理和代码生成 agent——在长时任务上反复犯同一类错误:还没读完证据就给出 FINAL、重复同样的搜索查询、抓错实体、把推理性幻觉当作答案提交、漏掉问题的多个子部分等。这些错误并不是模型能力不够,而是 agent 没有"触发时机+介入方式"明确的机制来阻止它们。已有方法(如 Reflexion、ExpeL、MemSkill、SKILL0)虽然抽象出了"技能"或"经验",但几乎全部以自然语言形式注入 prompt 或作为奖励塑形信号,模型可以选择忽略。论文 Figure 1 用 HotpotQA 上的一个两跳实体问题演示:智能体检索出 Universal Music 后明知要验证证据,下一步却仍然跳出 FINAL 给出错误答案。换言之,"技能文本"是建议性的,无法保证行为改变,这就在"用语言表达的经验"和"能可靠控制行为的经验"之间形成一道鸿沟。

本文的目标是论文提出 HASP(Harnessing LLM Agents with Skill Programs),目标是把每一项"技能"都升级为可执行程序函数(Program Function, PF),让智能体在每一步决策时都有一个外部 harness 包住 base policy $\pi_\theta$,由 PF 决定是否触发(should_activate)以及如何改写下一步动作或注入纠正上下文(intervene)。PF 的接口统一为:$(\tilde{a}_t, c_t, \kappa_t)=\Gamma(s_t, a_t^{orig}, \mathcal{R}(s_t))$,其中 $a_t^{orig}$ 是策略原始提案,$\tilde{a}_t$ 是干预后的执行动作,$c_t$ 是附加上下文,$\kappa_t$ 是结构化审计记录。最终这套接口要在三种场景下统一工作——推理时无训练介入、用 PF 衍生信号做 SFT/RS/OPD 后训练、以及在受控条件下做自我改进式的技能库演化——从而把"经验重用"从文本建议推进到可验证的状态-动作干预。

与已有工作不同的是,本文的独特切入角度是把"技能库"视为外部状态-动作干预函数的集合,而不是把"技能"看作提示模板或训练数据。三个具体差异化设计:(1) 显式的两段式接口 should_activate/intervene,既规定触发条件又规定修复动作;(2) 用结构化四元组信号 $(t_t, m_t, q_t, o_t)$(时机、方式、正确性、结果,权重 0.15/0.10/0.25/0.50)给每一次干预打分,使其可以作为 SFT 监督信号;(3) 通过"可执行校验 + 教师五维评审"双闸门把候选 PF 的产生门槛化,避免传统 self-improving agent 中常见的库污染问题。Table 1 在 Skill/Memory Form、Runtime Control、Learning Training、Skill Evolution 四个维度上比较了 ExpeL、MemSkill、SKILL0、SkillRL、SAGE、AgentFlow、Search-R1 等 8 类方法,HASP 是唯一同时给出显式运行时控制、训练支持、库演化能力的方法。

核心方法

HASP 的整体思路可以分三步直觉来理解:(1) 想象 base policy $\pi_\theta$ 是一辆汽车的驾驶员,HASP 给他套上一层"自动驾驶辅助"——在每个驾驶动作前,外部 PF 库先判断路况,然后要么改写动作(比如把"直行"改成"减速左转"),要么在中控屏上亮一条警告;(2) 每次辅助介入都会留下一条带四个评分(时机、方式、正确性、结果)的"行车记录仪",既可以实时报警,也可以在事后交给驾校(监督信号)训练驾驶员开得更好;(3) 当驾驶员在新路况上反复失败时,HASP 还会自动设计新的辅助函数,但必须先通过"碰撞测试(可执行校验)+ 教练打分(教师评审)"才能上线。技术路线上,HASP 是一个分层的 agent harness:底层是固定的 ReAct 智能体,上一层是 PF 调度器(按状态检索相关 PF,调用 should_activate 决定是否介入),再上层是可选的辅助教师做 PF 选择,再外层是离线 self-improving 循环(从残差失败中归纳新 PF),整套接口在推理时、后训练(SFT/RS/OPD)和库演化三个模式下复用。

核心创新点是把"技能"从一段自然语言规范升级为带有 should_activate / intervene 双方法的可执行 Python 对象,并强制每次执行都留下一条结构化事件 $e_t = (s_t, a_t^{orig}, \tilde{a}_t, c_t, \kappa_t, \Delta_t)$。这一步表面上是把提示语换成代码,实质上带来三点本质差别:第一,触发时机可被静态检查(语法、接口、模拟执行 + 教师五维评审),避免了文本技能"看着合理但实际不触发";第二,介入方式被枚举为三类 InterventionType(MODIFY_ACTION / INJECT_CONTEXT / NOOP),模型不再可能把"应该改写动作"和"应该加提醒"混淆;第三,四元组评分 $A_t = \lambda_t t_t + \lambda_m m_t + \lambda_q q_t + \lambda_o o_t$ 让"一次 PF 介入"变成可拆解、可归因的训练监督。这与传统 skill prompting 的本质区别是:文本技能只能被检索后注入 prompt,PF 既能在推理时直接改写 action(65.1% 触发是 MODIFY_ACTION),也能在训练时作为稠密中间奖励,而 Prompt-Only Skills 在 web-search 平均只有 20.5%,远低于 PF-only 的 51.0%——同样的"技能知识"换一种执行形式就产生 30+ 点的差距。

方法步骤详情

HASP 的完整流程可以拆成八个步骤:(1) 初始化技能库 $\mathcal{M}$:从训练池里把"失败-修复"轨迹归类(论文识别出五大族:reasoning_hallucination 31.7%、wrong_entity_focus 24.1%、premature_final/no_read_before_final 17.8%、pf_override_harmful 8.7%),由学生 vLLM 生成 SKILL.md 文档和对应 PF 类,再经过可执行校验(ast.parse + 接口签名 + 9 次模拟调用 + 返回类型检查,四项通过才进入评审);(2) 推理时每一步,harness 调用 PFSelector.select() 选 top-K 相关 PF,三项 mandatory PF 始终保留(retrieval_failure / format_extraction_error / relevant_content_extractor),可选用 GPT-4o 教师做辅助选择;(3) 对每个候选 PF 评估 should_activate($s_t$, action_type, arg),命中后调用 intervene 产出 Intervention 对象(type ∈ {MODIFY_ACTION, INJECT_CONTEXT, NOOP});(4) 把 $\tilde{a}_t$ 交给 Executor 执行,观测 $o_{t+1}$ 回填,并对最终是否走 Verifier 投票(FINAL 时若 handler_vote_threshold 超过 4 个 handler 返回非空则强制回退为 SEARCH,每集最多一次以避免振荡);(5) 记录结构化事件 $e_t$ 并打四个监督信号 $z_t=(t_t, m_t, q_t, o_t)$,每个信号内部还有更细的子信号(如 s1.tp=+0.25 奖励"在风险步骤上激活",s4.downstream=+0.40 锚定 episode 级别的 EM);(6) 把全轨迹按 $\mathrm{Score}(\tau)=\beta_1 \mathrm{TaskSuccess}+\beta_2 A(\tau)$ 排序,仅 top-K 用于 RS 训练(main recipe),或直接对每步 $(\tilde{a}_t, A_t)$ 做加权 SFT,或在学生自身状态上做 OPD;(7) 周期性 closed-loop 演化:每隔若干 epoch 跑一遍 Phases A–H 流水线(rollout→失败聚类→候选提案→可执行校验→教师五维评审→库更新),整套接受阈值是 $Q_{exec}\geq \eta_{exec}$ 且 $Q_{skill}=\sum w_i Q_i \geq \eta_{teach}$;(8) 把更新后的 $\mathcal{M}_{r+1}$ 喂回第 (2) 步的推理循环,$\pi_\theta$ 同时被更新为 $\pi_\theta'$。整个流程的关键参数是:RS filter min_score=0.15,OPD 用 GPT-4o 教师,closed-loop lite mode 跳过 teacher review 以节省 95% 算力。

技术新颖性

技术新颖性体现在三个层面。第一个层面是把"技能"形式化为可调度对象:以往 skill-augmented agent 把经验压缩为字符串记忆或 RAG 文档,HASP 强制每个 PF 暴露 should_activate / intervene 双方法,使其在控制流意义上和 base policy 同级而非附属——这是从"建议"到"接口"的范式跳跃。第二个层面是把"PF 介入"做成可监督的训练目标:四元组信号 $(t_t, m_t, q_t, o_t)$ 不是简单的 EM 反馈,而是拆出"时机、方式、正确性、结果"四维,使每一步的 PF 触发都成为稠密监督信号;消融显示去掉任一维度都会导致 7.8–15.5 点的下降,说明这种信号结构无法被单一标量奖励替代。第三个层面是把"自改进"做成受控过程:传统 self-improving 系统(如 EvolveR、SAGE)允许任意技能入库,HASP 用双重过滤——可执行校验(syntax+interface+mock exec+return type)+ 教师五维评审(concept/trigger/intervention/exec/validation,权重 0.25/0.20/0.20/0.20/0.15)——把无过滤演化的 36.3% 提升到全过滤的 60.3%。这三个层面共同回答了"为什么 HASP 与已有方法本质不同"。

Overview of HASP. (a) At inference time, retrieved Program Functions (PFs) guide multi-turn agent rollouts by modifying actions or injecting context, while emitted signals support policy internalization and self-improving PF evolution. (b) A PF-guided turn converts the policy proposal, intervention, execution result, and feedback into signals for post-training and skill library update.
Figure 2: Overview of HASP. (a) At inference time, retrieved Program Functions (PFs) guide multi-turn agent rollouts by modifying actions or injecting context, while emitted signals support policy internalization and self-improving PF evolution. (b) A PF-guided turn converts the policy proposal, intervention, execution result, and feedback into signals for post-training and skill library update.
Training dynamics for the six post-training settings over processed tokens. We report training loss, correction-aligned token accuracy, and policy entropy. Colors indicate training recipe: SFT (blue), RS (green), and OPD (red); solid and dashed lines denote fixed and evolving PF libraries.
Figure 3: Training dynamics for the six post-training settings over processed tokens. We report training loss, correction-aligned token accuracy, and policy entropy. Colors indicate training recipe: SFT (blue), RS (green), and OPD (red); solid and dashed lines denote fixed and evolving PF libraries.
Case study on a MuSiQue two-hop entity-resolution question.
Figure 4: Case study on a MuSiQue two-hop entity-resolution question.
Optimization diagnostics for the six post-training settings. Left: gradient norm as a function of processed training tokens. Right: learning rate as a function of processed training tokens.
Figure 5: Optimization diagnostics for the six post-training settings. Left: gradient norm as a function of processed training tokens. Right: learning rate as a function of processed training tokens.
Training dynamics of all six post-training settings plotted against global step.
Figure 6: Training dynamics of all six post-training settings plotted against global step.
Open-loop training dynamics under a fixed PF library.
Figure 7: Open-loop training dynamics under a fixed PF library.

实验结果

论文沿三条轴线展开实验,所有结果均以 Qwen2.5-7B-Instruct 为基座(除非特别说明)。第一条轴:推理时 PF 介入显著优于基线。Table 2 显示在 web-search 平均上,PF-only 达到 51.0%(HotpotQA 59.0、2Wiki 67.0、MuSiQue 27.0),比 RA-Agent 多循环基线的 31.2% 高 19.8 点,比 Prompt-Only Skills 的 20.5% 高 30.5 点;加上 GPT-4o 辅助选择后进一步涨到 56.2%,其中 HotpotQA 提升到 64.5%。数学推理上 PF-only 平均 35.9%,加教师后 38.8%。第二条轴:PF 衍生信号可被后训练有效内化。Table 4 的 2×3 消融显示在固定库设定下,SFT 把 web-search 从 56.2% 推到 56.8%、RS 推到 59.3%、OPD 推到 62.5%;同时封闭循环演化(V2)下 HASP-Evolve + RS 进一步达到 60.3%(web-search)和 45.4%(math),而 HASP-Evolve + OPD 在 web-search 上反而回落到 56.7%,揭示出 OPD 在库也在演化时不稳定。第三条轴:跨域迁移到编码。Table 3 显示 PF-only 在 HumanEval/MBPP/BigCodeBench 六项上平均 pass@1 为 63.4%,加教师后 68.7%,封闭循环 RS 后达到 69.9%,其中 BigCodeBench/Hard 从基线 16.9% 提升到 28.0%(+11.1 点),证明在单一 FINAL 动作的受限动作空间下 PF 仍然有效。机制分析进一步给出定量证据:65.1% 的触发是 action-level,34.9% 是 context-level;MuSiQue 上 PF 激活次数 385,远高于 2Wiki 的 161 和 HotpotQA 的 95,说明困难多跳任务更依赖 PF;Table 6 显示 reasoning_hallucination 贡献 +9.3 点的 $\Delta EM$,是最有用的演化家族,而 pf_override_harmful 甚至带来 -0.8 的副作用。训练动力学(Figure 3)显示 SFT 快速降损但天花板有限,RS 维持低熵高一致性,OPD 收敛慢但固定库下最强。Table 5 的过滤消融印证"严格过滤"的必要性:全过滤 60.3% > 仅教师评审 47.2% > 仅可执行校验 48.8% > 无过滤 36.3% > 不演化 59.3%。

Qualitative comparison of HASP with representative prior methods. ✓: explicit support; ◦: partial or indirect support; ✗: not directly supported.
Table 1: Qualitative comparison of HASP with representative prior methods. ✓: explicit support; ◦: partial or indirect support; ✗: not directly supported.
Main results on web-search and mathematical reasoning under training-free and training-based settings.
Table 2: Main results on web-search and mathematical reasoning under training-free and training-based settings.
Main results on coding under training-free and training-based settings.
Table 3: Main results on coding under training-free and training-based settings.
Ablation of HASP training and evolution strategies. We report results on six HASP variants: fixed-library SFT/RS/OPD and their evolved counterparts.
Table 4: Ablation of HASP training and evolution strategies. We report results on six HASP variants: fixed-library SFT/RS/OPD and their evolved counterparts.
Ablations on web-search reasoning. ∆ is computed relative to the first row of each block.
Table 5: Ablations on web-search reasoning. ∆ is computed relative to the first row of each block.
Recovered failure structure and utility of representative evolved PF families on the web-search benchmark. The lower block reports average review scores of generated skills.
Table 6: Recovered failure structure and utility of representative evolved PF families on the web-search benchmark. The lower block reports average review scores of generated skills.
查看结构化数据
任务指标本文基线提升
HotpotQA 多跳问答 Exact Match 准确率 HASP-Evolve + RS 69.0%(推理时 w/ Teacher 64.5%) RA-Agent 39.5%、Search-R1 37.0%、ReSearch 43.5%、AgentFlow 57.0% 相对 Search-R1 +32.0 点,相对 RA-Agent +29.5 点
2WikiMultihopQA 多跳问答 Exact Match 准确率 HASP-Evolve + RS 74.0%(推理时 w/ Teacher 70.0%) RA-Agent 34.0%、Search-R1 38.2%、ReSearch 47.6%、AgentFlow 77.2% 相对 RA-Agent +40.0 点;但弱于 AgentFlow -3.2 点(AgentFlow 用 GRPO 探索策略)
MuSiQue 多跳问答 Exact Match 准确率 HASP-Evolve + RS 38.0%(HASP + OPD 54.0%) RA-Agent 20.0%、Search-R1 14.6%、ReSearch 22.3%、AgentFlow 25.3% 相对 RA-Agent +18.0 点,相对 Search-R1 +23.4 点;OPD 在固定库下达到 54.0% 为单点最强
AIME24 奥林匹克数学 准确率 HASP-Evolve + RS 16.7%(HASP + RS / OPD 同为 16.7%) RA-Agent 6.7%、SimpleRL-reason 16.7%、Open-Reasoner-Zero 16.7%、Luffy 30.7%、AgentFlow 40.0% 相对 RA-Agent +10.0 点;明显弱于 RL 类基线 Luffy/AgentFlow(30.7/40.0),证明 HASP 不擅长策略发现
AMC23 数学竞赛 准确率 HASP-Evolve + RS 57.5%(HASP-Evolve + OPD 60.0%) RA-Agent 50.0%、SimpleRL-reason 60.0%、AgentFlow 61.5% 相对 RA-Agent +7.5 点,与 RL 类基线持平
GameOf24 24 点游戏 准确率 HASP-Evolve + RS 62.0%(绝对最优) RA-Agent 46.0%、SimpleRL-reason 33.0%、AgentFlow 53.0% 相对 RA-Agent +16.0 点;领先所有基线
HumanEval pass@1 Base 82.0 / Plus 77.0 平均 HASP-Evolve + RS 平均 87.75%(Base 91.0、Plus 84.5) RA-Agent 平均 69.0、P-GRPO 83.85、KodCode-RL Step256 88.75 相对 P-GRPO +4.0 点,与 KodCode-RL 持平
MBPP pass@1 Base / Plus 准确率 HASP-Evolve + RS 平均 83.0%(Base 92.0、Plus 74.0) RA-Agent 72.0、P-GRPO 81.6、KodCode-RL 77.8 相对 P-GRPO +1.4 点,相对 RA-Agent +11.0 点
BigCodeBench pass@1 Full / Hard 平均 HASP-Evolve + RS 平均 39.0%(Full 50.0、Hard 28.0) RA-Agent 22.5、P-GRPO 43.9、KodCode-RL Step256 33.9 Hard 上相对 RA-Agent +14.0 点;弱于 P-GRPO -4.9 点(P-GRPO 在 Hard 上 33.8%)
跨域平均(6 项编码) pass@1 平均 HASP-Evolve + RS 69.9%(推理 w/ Teacher 68.7%) GRPO Code 68.4、P-GRPO 69.8、KodCode-RL Step128 65.4 相对 GRPO +1.5 点,相对 Prompt-Only Skills +8.7 点

局限与改进

作者在 Appendix A 明确承认五点局限。第一,依赖教师:PF-only 模式不需要教师,但更强的几个变体(teacher PF 选择、closed-loop 教师评审、OPD)都需要 GPT-4o 教师,带来 429 噪声、API 成本(约 $0.045/question)和教师偏见。第二,能力边界是"策略激活"而非"策略发现":HASP 帮助模型更可靠地使用已经会的方法,但当任务需要新策略时(如 AIME24 这类需要新思路的题)就力不从心——论文直接承认 AIME24 上 HASP 不如 RL 类方法。第三,评测集中在搜索/数学/代码这些有明确验证信号的任务,未涵盖开放式、长时程、弱验证的智能体场景。第四,PF 接口目前只支持三类 InterventionType(MODIFY_ACTION / INJECT_CONTEXT / NOOP),限制了介入形式的多样性;代码域因为 PF 不能改写代码、只能 INJECT_CONTEXT,导致增益有限。第五,自改进模式可能随时间退化——如果生成的 PF 过窄、重复或带教师偏差,性能会下降;目前 PF 评分接口在"局部修复不能可靠转化为最终提升"的领域里需要重新设计。从我自己的观察看,还有一个隐含限制:训练算力门槛高(总计 2000–2500 GPU-hours on l40s),且只在 7B 规模上验证,向 30B/70B 规模的迁移性没有充分测试;Table 4 中 OPD 在闭环下从 62.5% 回落到 56.7% 揭示出"策略分布和技能库共同演化"时存在稳定性问题,论文只给出了经验观察而没有给出数学解释。

独立分析的弱点

独立分析,论文存在以下几个值得改进的弱点。(1) OPD 与 closed-loop 演化的不兼容是核心痛点。Table 4 显示 HASP-Evolve + OPD 在 web-search 上比 HASP + OPD(固定库)低 5.8 点(56.7% vs 62.5%),原因是 OPD 训练分布和 PF 库同时变化时梯度方差大;改进方向是为 OPD 引入 KL 约束或 trust region,或者让 OPD 用一个滞后一拍的 PF 库快照。(2) 教师 API 调用量大且脆弱。closed-loop full evolve 一周期 ≈1 小时,且依赖 GPT-4o-2024-11-20 快照;如果未来 OpenAI 弃用此快照或涨价,论文结果将难以复现;改进方向是用更便宜的本地教师(Qwen2.5-7B-Instruct 已在 PFSelector 阶段做过类似替代)或自训练教师蒸馏。(3) PF 库膨胀风险。max_library_size=50 的硬上限虽然控制住了绝对数量,但 I.3 节指出在新类别阈值 0.75 下只有 61% 候选能通过,剩余 39% 被作为"refinement"放行,长期仍可能引入噪声;改进方向是维护一个效用追踪器,主动淘汰连续 N 轮 $\Delta EM<0$ 的 PF。(4) 仅做单种子实验。J.4 节坦诚所有结果来自 seed=42 的单次运行,标准差约 ±1.5 点,部分基线差距(如 HASP-Evolve + RS 与 P-GRPO 的 0.1 点)在统计意义上有疑问;改进方向是至少做 3-seed 报告均值和置信区间。(5) 评测域偏窄。代码域 PF 只能 INJECT_CONTEXT 不能 MODIFY_ACTION,这种受限的接口在论文中没有被单独量化它对编码增益的限制程度;改进方向是为代码域扩展 PF 接口允许返回重写后的代码片段(类似 Copilot 的 inline suggestion 模式)。

未来方向

作者在 Appendix A 给出三个延伸方向,加上基于本文成果的可拓展方向。(1) 跨长时程、弱验证环境的迁移:当前 PF 接口假设每步有清晰的 action_type ∈ {SEARCH, READ, FINAL},未来需要扩展到 GUI 操作、多模态感知、对话管理等更开放的环境,作者建议在 self-driving、机器人导航等领域先做试点。(2) 与 RL 类探索方法结合:作者明确指出 HASP 擅长"激活已有策略"但 AIME24 这种需要新策略的任务 RL 更强,未来可以先用 RL 探索新策略,再用 PF 巩固可复用的策略——HASP 的 PF 评分接口天然可以作为 RL 训练中的 dense reward。(3) PF 评分接口的领域适配:在"局部修复不可靠转化为最终提升"的领域(如开放式对话、创意写作),当前四元组评分会失效,需要设计更鲁棒的归因方法。基于本文工作的可延伸方向还包括:(a) 把 PF 库视为可微分结构,让 should_activate 的阈值本身参与训练;(b) 用 formal verification 替代 teacher review 来降低 API 成本;(c) 在 multi-agent 场景下让每个 agent 维护自己的 PF 库并互相分享触发统计;(d) 把推理时 PF 介入编译成 eBPF/SDK hook 以支持毫秒级延迟的工业部署。

复现评估

论文在 Appendix J 给了详尽的复现材料。代码与权重承诺开源(LoRA 适配器 + 演化后的技能库以 permissive license 发布),但教师 API 日志因含第三方原始响应不会发布;提示词(Boxes C.1–C.4)和 PF 代码样例(PF B.1)完整列在附录中。训练数据来自 AgentFlow 同源数据集:web-search 用 HotpotQA/2Wiki/MuSiQue 各 1000 题(前 200 测试、后 800 训练池),math 用 AIME24(30)/AMC23(40)/GameOf24(1362) 整集测试,code 自行切分 HumanEval+(50/100/228)、MBPP+(50/100/656)、BigCodeBench-Full(100/1040)、BigCodeBench-Hard(全 148 测试);seed=42、shuffle 固定,因此 test/val split 可被独立验证。基座 Qwen2.5-7B-Instruct 用 LoRA r=16 / α=32,bf16 + gradient checkpointing,有效 batch 约 65K tokens;SFT 用 lr=1e-5×10 epoch,RS/OPD 用 lr=5e-6×8-10 epoch。硬件门槛:单实验最多 2×NVIDIA l40s 48GB,closed-loop 48h SLURM 上限,总计约 2000–2500 GPU-hours——这是一个对中等规模实验室可承受但对小团队偏高的算力预算。复现难度:中等。代码、prompt、数据切分齐全,但 OPD/E5/E6 等变体依赖 GPT-4o 教师 API 和较长的 closed-loop 周期(full evolve 一周期 ≈1h、连续 5 epoch ≈30h),且论文坦诚只有 seed=42 的单次运行(标准差 ±1.5 点),意味着部分贴近基线的差距(如 P-GRPO 0.1 点差距)需要多 seed 才能下定论;Table 5 中各项细粒度消融虽然实验条件公开,但需要重新跑多组才能验证其稳定性。