论文

利用 Skill Programs 驾驭 LLM Agents

利用 Skill Programs 驾驭 LLM Agents

将 LLM agent 与从过去经验中提取的可复用技能相结合,已成为处理复杂长时任务的流行且成功的方法。然而,这些经验教训通常编码为文本指导,主要起咨询作用,缺乏明确机制来规定何时以及如何干预 agent 循环。为弥补这一差距,我们提出了 HASP(利用技能程序驾驭 LLM Agent)框架,将技能升级为可执行的 程序函数(Program Functions, PFs)。与被动建议不同,PFs 作为可执行的防护栏,在易失败状态激活,修改下一步动作或注入修正上下文。 HASP 高度模块化:可在推理时直接干预 agent 循环,在训练后提供结构化监督,或通过演化经过验证和教师审核的 PFs 实现自我改进。实验表明,在网页搜索、数学推理和编程任务上,HASP 相较无训练和有训练方法均取得了显著提升。例如,在网页搜索推理中,仅推理阶段的 PFs 就比(多循环)ReAct Agent 平均提升 25%,而训练后与受控演化相比 Search-R1 提升 30.4%。机制分析揭示了 PFs 如何触发和干预、技能如何内化以及稳定技能库演化的需求。

论文精读

TL;DR HASP 将经验技能升级为可执行程序函数,在 LLM 智能体易失败时主动干预动作或注入纠正上下文,显著提升复杂任务性能。

问题

问题背景

LLM 智能体在处理长周期、多步推理任务时,开始广泛采用从历史经验中提炼可复用技能(skills)的策略。这些技能旨在将过去成功的模式迁移到新场景,提升泛化能力。

现有方法局限

当前主流方法将技能编码为文本形式的指导(textual guidance),例如自然语言提示或规则,这类技能本质上仍是建议性的(advisory),缺乏明确的干预机制:

  • 无法感知状态何时触发:当智能体进入易失败的状态时,文本技能无法自动激活。
  • 无法直接修正动作:只能提供上下文建议,依赖智能体自身的推理去执行,容易在脆弱环节继续出错。
  • 难以持续演化:技能库多为静态,无法基于新反馈自动筛选、升级或淘汰旧技能。 这导致在复杂推理任务(如多步网页搜索、数学证明)中,技能复用的可靠性和效率严重受限。

为什么这个问题难且重要

将技能从“被动建议”提升为“可执行程序函数(executable guardrails)”面临三个技术挑战:

  1. 状态-干预的耦合设计:需要精确识别失败前兆状态,并定义对应的干预动作(action injection 或 context correction),这对智能体的执行追踪粒度要求很高。
  2. 模块化与兼容性:干预机制需同时适配推理时、后训练及自我进化等不同阶段,不能依赖单一环节的定制。
  3. 技能库的稳定进化:在自动迭代中,如何防止技能库退化或引入冲突,必须通过严格的校验与教师审查(teacher review)来保证。 业界对LLM 智能体的生产级可靠性日益关注,HASP 提出的可执行技能路径直接解决了技能碎片化、干预滞后等痛点,为智能体从实验走向工程化提供了新范式。

行业类比

类似自动驾驶中的安全控制器——当感知模块识别到碰撞风险时,并非只是“建议减速”,而是通过预设程序直接干预刹车或转向。HASP 将这种主动干预机制引入 LLM 智能体,让技能从“顾问”变成“驾驶安全系统”。

核心洞察

  • HASP 将 skill 从被动文本建议转型为**可执行程序函数** (Program Function),通过显式的触发条件与干预动作,直接在 agent 循环中拦截失败状态。这一设计突破了现有 skill memory 仅提供 advice 的局限,使得干预不再是模糊的文本建议,而是结构化的、可自动执行的护栏,能精准改变下一步动作或注入修正上下文。
  • HASP 的 PF 框架展现出高度模块化与生命周期兼容性:同一套 PF 可在推理时直接干预、作为后训练的结构化监督信号、或用于自改进流程进化技能库。这种统一设计避免了不同阶段需维护多套机制的成本,对工程落地非常友好,且实验表明每个阶段都能独立带来显著增益(如推理时 PF 较 ReAct 提升 25%)。

方法

输入与整体框架

HASP 的输入包括:(1) LLM agent 在复杂任务中的交互轨迹,(2) 预先构建的技能库(Skill Library)。技能库中的每个技能被封装为 ProgramFunction(PF),它是一种可执行程序,而非文本建议。每个 PF 定义了两个核心要素:触发条件(failure-prone state detector)和干预逻辑(修改 next action 或注入纠正性 context),以模块化的形式插入 agent 循环的特定阶段(如 planning、acting、observation 后)。

关键模块

HASP 提供三种互补的应用模式,共享同一套 PF 技能表示:

  1. 推理时干预(Inference-Time HASP)
    在 agent 运行过程中,实时监控状态,当匹配到 PF 的触发条件时,执行对应的矫正动作。例如,检测到检索结果为空,PF 直接触发改写查询的操作,无需等待 agent 自身判断。

  2. 后训练内化(Post-Training HASP)
    将 PF 的干预信号转化为结构化监督数据,对基座 LLM 进行微调(如 SFT 或偏好优化),使模型内部吸收技能,从而在推理时不再依赖外部程序。这种方式将 PF 的“外部 guardrail”转化为模型的内部行为模式。

  3. 自我进化(Self-Improving Pipeline)
    通过多阶段闭环流程,从新的失败经验中不断生成并严格验证候选 PF:

    • 失败信号检测(Phase B)→ 技能提案(Phase C)→ 可执行验证(Phase D)→ 教师五维评审(Phase E)→ 库更新与版本管理(Phase F)。
    • 利用失败聚类和候选 PF 提议,确保技能库稳定且高精度演化,避免低质量技能污染。

输出与效果

HASP 输出的是在长链条任务(web search reasoning、数学推理、代码生成)上性能大幅提升的 agent。在 web-search reasoning 上,仅推理时 PF 干预就比 ReAct Agent 平均性能提高 25%;后训练加受控演化进一步带来 30.4% 的增益(对比 Search-R1)。机制分析还揭示了 PF 的触发频率、干预方式及技能内化规律。

与同类方法的差异:现有技能复用方法(如 Reflexion、Self-Refine)仅提供文本化的“经验教训”(advisory prompts),而 HASP 将技能升级为可执行程序函数,实现主动、确定性的 agent-loop 干预,并支持推理时、后训练及自我进化三种模态的统一,显著提升了技能的实际约束力与可组合性。

实验

实验设计

HASP 在 Web-Search ReasoningMath ReasoningCoding Tasks 三个领域进行验证。

  • 评估 Inference-Time 使用:将技能函数(PFs)直接嵌入智能体循环,在失败倾向状态触发纠正动作或注入上下文。
  • 评估 Post-Training 内在化:利用 PF 引导的轨迹训练模型,使干预行为内化。
  • 评估 Self-Improving 技能库演化:通过失败检测 → 技能提议 → 可执行验证 → 教师五维评审 → 库更新,逐步提升技能质量。

主要对比基线包括 ReAct Agent(多轮) 和 Search-R1

关键发现

  1. 可执行护栏显著提升性能:仅推理时 PFs 就在 Web-Search 任务上平均性能提升 25%,证明被动建议升级为主动干预的有效性。
  2. 训练可进一步放大增益:Post-training 结合受控演化比 Search-R1 高 30.4%,说明模型能将外部干预内化为自身能力。
  3. 模块化设计带来灵活性:同一套技能可在推理、训练、自改进三种模式下复用,无需重复开发。

与基线的深度对比

  • 对比 ReAct Agent:传统文本指导仅作为建议,缺乏执行时机与方式的显式机制;HASP 的 PFs 作为可执行守卫,在特定状态自动触发,避免错误累积。
  • 对比 Search-R1:Search-R1 依赖训练时大量搜索轨迹,而 HASP 通过结构化技能库实现更高效的知识迁移,且支持持续自改进。
  • 机制分析揭示 PFs 的触发模式、技能内在化过程及稳定库演化要求,为复杂任务中的智能体设计提供了新范式。

行业影响

落地场景

HASP 将 LLM 智能体技能提炼为可执行程序函数 (Program Functions, PFs),作为主动式护栏 (executable guardrails),在智能体循环中实时干预失败状态。此类能力可直接嵌入以下业务系统:

  • 对话式知识助手:当智能体在长文档检索或多跳推理中路径偏离时,PFs 纠正后续动作或注入上下文,避免最终答案错误。
  • 自动化代码审查/生成流水线:针对常见错误模式(如 API 误用、边界条件缺失)部署专门 PFs,在代码生成循环中触发修正,提升一次通过率。
  • 数学/逻辑推理辅导产品:将解题过程中的典型失误编码为 PFs,在思维链异常时注入提示,实现实时导学而非事后纠错。

商业价值

HASP 模式在降本体验提升两条线直接贡献价值:

  • 降低推理成本与延迟:通过 PFs 在 token 浪费前拦截无效探索,减少重试和长链回滚,尤其适用于多轮 ReAct 类智能体,实验中平均性能提升 25%,折算为 API 调用量节约。
  • 提升可观测性与信任:PFs 的触发和干预均可解释,便于审计智能体决策,满足金融、医疗等受监管场景的合规要求。
  • 加速技能沉淀与复用:后训练 (post-training) 和自进化流程将人工校验过的 PFs 内部化进模型,形成企业技能库,使新任务的冷启动不再从零开始。

与现有产品/工作流的接口

HASP 设计上高度模块化,可分层集成:

  • 推理时集成:在现有智能体框架(如 LangChain, LlamaIndex, AutoGen)的循环钩子中注册 PFs,通过多层级技能选择 (multi-layer skill selection) 匹配当前状态,零训练量即插即用。
  • 训练流水线:将 PFs 干预记录作为结构化监督信号,混入 SFT/RLHF 数据流,推动模型内化纠正行为,与现有 post-training 管线兼容。
  • 持续优化回路:利用失败聚类、教师评审、严格过滤的进化管线,周期性更新技能库,可对接 MLOps 中的模型注册与 A/B 测试框架。

具体用例

  1. 电商客服智能体:当用户咨询退换货流程时,智能体可能错误调用过时政策接口。部署 HASP 的“信息新鲜度校验” PF,在检测到 last_updated 字段超过阈值时,强制重定向至最新知识库入口,避免给出过期答复,减少客诉。
  2. 企业知识库问答:员工问“北美区上个季度销售额”,智能体可能误读多表关联的 SQL。HASP 的“SQL 注入防护/语法修正” PF 在生成查询前扫描逻辑漏洞,注入正确的表名与时间段限制,提升答案准确率,减少人工复核成本。

局限

  • **任务覆盖与泛化性有限**:实验主要在 Web 搜索推理、数学推理和代码生成等特定领域进行,且使用的数据集(如 ASQA、GSM8K、MBPP)规模与场景复杂度有限。论文未验证 HASP 在需要多步规划、物理环境交互或开放域长期任务上的表现,技能库构建依赖领域专家或教师模型,跨领域迁移时可能需要重新设计大量 Program Functions,泛化能力存疑。
  • **技能进化与自动化成本较高**:HASP 的技能库自我改进环节依赖强大的教师模型执行**五维审查(five-dimensional review)** 和严格过滤策略,自动化程度有限;技能提议(Phase C)和可执行验证(Phase D)过程中,需为每个新技能生成并验证代码,计算开销及对教师模型的 API 成本可能大幅增加,可能限制其在低成本或资源受限场景下的实际部署。
论文Hongjun Liu2026-05-18原文

相关内容