从 Skill 文档到可执行流程:SkillSentry 对 Agent 可靠性的启示
Skill 让 Agent 获得专业操作知识,但一份写得正确的 Skill 文档,并不能保证每次运行都得到正确结果。真正影响生产可靠性的,是 Agent 是否在适当时机执行了必要步骤、保持了步骤依赖、采用了正确参数,并在…
SkillSentry 的价值在于把 Skill 从上下文中的自然语言说明,推进为 Runtime 中可跟踪、可干预、可验证的执行流程。
原始论文:SkillSentry: Reliable Skill Execution for LLM Agents via Runtime Assurance,arXiv:2608.09253v1,2026-08-10。
能做一次与稳定做好是两种能力
LLM Agent 的 Skill 通常包含步骤、工具使用方式、参数规则和质量要求。Agent 可以读取这些内容,也可能在某次运行中成功完成任务,但重复运行或改变用户表达后,执行仍会漂移。
论文给出的宏观经济时间序列任务具有代表性。流程要求先统一数据频率,再转为实际值、执行对数变换和 HP Filter。Agent 在一次运行中遵循流程,另一次运行却直接跳到实际值转换;面对改写后的查询,还可能为季度数据选择适用于年度数据的参数。
这种失败不能简单归因于“模型不会”。模型已经展示过完成能力,问题在于程序性知识没有稳定约束每一次行动。
企业流程中同类问题更加普遍:
- 数据分析遗漏清洗或时间范围确认;
- 代码修改跳过依赖检查或测试;
- 生产操作颠倒变更与备份顺序;
- 调研任务在来源核验前形成结论;
- 客户沟通在审批前发送外部消息。
因此,Skill 的工程目标应从提高单次成功概率,扩展到降低重复执行的方差。
SkillSentry 如何工作
SkillSentry 在现有 Agent 外部增加一层 Runtime Assurance,不修改底层模型。它的处理链可以分为三个阶段。
将 Skill 编译为结构化规范
系统先从自然语言文档中提取:
- 步骤标识与说明;
- 步骤之间的依赖;
- 允许的工具和参数约束;
- 每一步对应的逻辑动作;
- 任务结束前必须完成的步骤。
随后检查步骤引用、依赖图、约束格式和终止条件,避免把结构错误带入 Runtime。
从执行轨迹中挖掘经验
Skill 文档描述设计意图,执行轨迹则暴露真实环境中的成功路径和失败模式。SkillSentry 同时分析两类轨迹,生成:
- 可以完成同一逻辑步骤的动作模式;
- 进入某一步时应提供的提示;
- 容易被忽略的检查和参数警告;
- 与历史失败相关的调用模式。
经验字段使用 ADD、UPDATE 和 REMOVE 进行修订,并接受格式、冲突、重复和正则表达式检查。
在行动发生时提供保障
Runtime 根据步骤与依赖构造有限状态机。Agent 每提出一个动作,Pre-action Hook 都会判断它与当前流程的关系:
- 动作匹配已激活步骤时允许执行,并推进流程;
- 动作属于依赖尚未满足的步骤时暂时拒绝,提示缺少的前置步骤;
- 动作首次命中历史失败模式时暂时拒绝并解释原因;
- Agent 再次选择相同行动时允许继续,保留任务上下文中的判断空间;
- 未被规则覆盖的探索动作可以执行,但不会被当成步骤完成证据。
当 Agent 请求结束任务时,Termination Hook 检查所有必需步骤。缺少任何必要步骤都会触发重规划。运行时机制
即时指导为何优于长系统提示
许多 Agent 系统把全部流程、限制和经验一次性放进 System Prompt。信息虽然存在,但会与任务上下文、工具输出和中间计划竞争注意力。
SkillSentry 的消融实验显示,在指导内容相同的条件下,步骤发生时即时注入比开始时一次性注入平均提升 5.8%。这说明指令效果不仅取决于写了什么,也取决于何时进入执行上下文。
这一结果具有直接的产品意义:
全量手册 → 模型自行记忆所有细节
转变为
当前步骤 → 当前风险 → 当前建议 → 当前完成证据
Runtime 可以像优秀的操作系统或工作流工具一样,把信息放在决策发生的时刻,而不是要求执行者持续记住整份手册。
实验结果与证据边界
作者从 SkillsBench 中选择 15 个 Skill,为每个 Skill 构造 8 个任务实例和 10 种表达,总计 1,200 个查询。评测覆盖 Claude Code、Codex 以及四个模型组合。
主要结果包括:
- 平均任务成功率从 62.6% 提升至 77.7%,相对提升 24.1%;
- 重复评测的标准差平均下降 41.1%;
- 推理轮数增加 7.8%,Token 成本增加 8.7%;
- SkillSentry 自身计算约占总运行时间的 0.8%;
- 跨模型迁移的 Runtime Guidance 相对基础 Agent 提升 17.2%,保留原生指导效果的 94.2%。实验结果
实验说明过程保障能够显著改善已经具备基本能力的 Agent,同时也限定了结论范围:入选 Skill 都至少被四种 Agent-Model 配置成功完成过一次;系统假设 Skill 被正确选择、原始流程本身正确;验证依赖人工适配的确定性 Verifier。
Skill 应成为可执行的组织资产
对企业 Agent 平台而言,一份成熟 Skill 至少应包含八类内容:
skill:
intent: 适用任务与触发条件
preconditions: 输入、权限与环境要求
steps: 步骤与依赖图
actions: 可接受的等价动作
constraints: 工具、参数与作用域
evidence: 每一步的完成证据
termination: 整体完成条件
failure_patterns: 已知错误与修正建议
在此基础上,Agent Runtime 需要建设:
- Skill Compiler,将自然语言流程转换为可执行结构;
- Step FSM,跟踪当前步骤和依赖状态;
- Hook Framework,在关键生命周期检查行动;
- Trace Store,保存成功、失败和修正路径;
- Guidance Registry,管理经验版本和适用范围;
- Eval Harness,验证新规则是否提升成功率并控制回归。
Skill 因而从一段提示词升级为可版本化、可评测、可治理的组织知识。
可靠性保障与安全边界必须分层
SkillSentry 的设计强调不中断现有 Agent:未知动作允许执行,失败模式只进行一次软拒绝,检查器异常时采用 fail-open。这种选择适合优化成功率和减少流程漂移,也保留了模型在新场景中的探索能力。
高风险操作需要更严格的独立安全层:
| 场景 | 建议策略 |
|---|---|
| 数据分析、格式处理、可恢复本地修改 | Soft Deny、即时指导、允许探索 |
| 外部发送、生产发布、权限修改 | Fail Closed、明确审批、证据绑定 |
| 检查器异常 | 低风险记录并继续,高风险进入安全降级 |
Skill Runtime 负责“怎样把流程做稳”,Policy Runtime 负责“哪些行动可以发生”。两者共享轨迹和上下文,但拥有不同的失效策略。
从经验学习需要治理
论文把根据新轨迹更新 Guidance 称为自演化。工程上更准确的理解是:Runtime 从执行反馈中进行规则挖掘和流程修复。
这一能力的价值很高。成功轨迹可以发现新的等价动作,失败轨迹可以补充预警和检查。然而,轨迹也可能包含偶然相关性、环境异常、错误验证结果或攻击者刻意制造的行为。
因此,经验进入生产 Skill 前应经过:
来源与身份校验
→ 成功/失败证据复核
→ 候选规则生成
→ 冲突与覆盖检查
→ 离线回归
→ 灰度生效
→ 指标监测与回滚
“从经验学习”不能等同于自动把所有历史行为写回规则,而应成为一条受治理的知识发布链路。
用户体验:让流程可见,但保持自主空间
面向用户的 Skill Runtime 应提供三个关键信号:
- 进度:当前步骤、已完成步骤和剩余条件。
- 原因:某次行动为何被阻止,缺少哪个前置条件。
- 修正:下一步可以采取什么动作恢复流程。
过度刚性的状态机会把开放任务压缩成固定脚本。合理设计应允许低风险探索,只对必需步骤、关键顺序和高风险动作建立强约束。这样既保持 Agent 的适应性,也让用户获得可预测的执行体验。
结语
SkillSentry 揭示了 Agent 工程中的一个关键事实:知识可用并不等于执行可靠。模型可以理解一份流程,但 Runtime 才能让流程在不同任务、不同表达和重复运行中稳定落地。
当 Skill 具备步骤、依赖、证据、经验和版本之后,它就从提示词升级为企业 Agent 平台可持续积累的执行资产。