智能体技能形式验证方法:迈向机械可检验能力包含证明的三层方法
Methods for Formal Verification of Agent Skills: Three Layers Toward a Mechanically Checkable Capability-Containment Proof
摘要
配套文件介绍了代理技能清单的四级验证格(未经验证、声明、测试、正式),并留下了最高层的愿望。本文弥补了这一差距。我们为技能行为提供了精确的语义,忠实于LLM驱动的运行时如何消耗技能(通过非确定性LLM端可到达的确定性脚本端),将验证问题陈述为该语义上的能力包含属性,并提出三种可组合方法,共同将技能从声明或测试提升为正式技能:(1)通过对小效果格的抽象解释对脚本端进行健全的静态能力包含分析; (2) 用于工具调用信封的细化类型系统,它机械地拒绝静态推断能力不在清单声明集中的任何调用; (3) SMT 边界模型根据母论文的双条件正确性标准进行检查,选择边界,以便任何适合运行时事务缓冲区范围的反例都显示为具体跟踪。我们证明,这三个层完全覆盖了母论文的威胁模型,以母论文的运行时双条件在会话边界捕获的单个残差(LLM拒绝采取行动的自由)为模。这些方法重用了现有的精心设计的工具(Z3、Semgrep、CodeQL、细化型检查器、机械化证明助手),而不是要求操作员构建新的工具,并且携带证明的工件扩展了现有的 SKILL.md 约定。所有三种方法加上捆绑包生成器和重新检查器都作为开源 enclawed 框架(https://github.com/metereconsulting/enclawed;项目页面 https://www.enclawed.com/)中的零依赖 JavaScript 模块提供,包含 53 个单元测试和关于示例技能的端到端 CLI 演示。