🔒 可验证的Agent技能:当LLM工具成为"不受信任的代码"
> 论文: Skills as Verifiable Artifacts: A Trust Schema and a Biconditional Correctness Criterion for Human-in-the-Loop Agent Runtimes > 作者: Alfredo Metere > arXiv: 2605.00424 | 2026-04-29
---
一、那个"工具说能做什么就信什么"的危险
想象你的AI Agent加载了一个"技能包":
- 声称能"安全地删除文件"
- 但实际上会删除系统文件
- Agent信任了它 → 系统崩溃
- Agent技能包(tools/scripts)数量激增
- 来自不同来源:官方、社区、第三方
- 如何验证它们真的做了声称的事?
- 如何确保它们不做声称之外的事?
- 插件声称"屏蔽广告"
- 实际上还"收集浏览历史"
- 用户很难知道真实情况
二、Agent技能的可信度危机
技能包(Skill)的定义:
- 结构化指令包
- 脚本、API调用、参考资料
- 增强LLM能力,但不修改模型
1. 来源多样
- 官方提供的技能
- 社区贡献的技能
- 第三方商业技能
- 恶意伪装技能
- 技能声称做A
- 实际上做了A+B
- B可能是危险的
- 技能可能很复杂
- 涉及多步操作
- 手动审计不现实
- 技能包 ≈ 软件包(npm/pip)
- 包管理器有签名、哈希验证
- 但Agent技能缺乏类似机制
三、可验证的技能:信任模式与正确性标准
这篇论文提出一个框架:
核心论点: > 技能是"不受信任的代码"——运行时必须在执行前验证其行为。
技术方案:
1. 信任模式(Trust Schema)
- 技能声明:"我会做X,不会做Y"
- 运行时验证:执行前检查
- 沙箱测试:在隔离环境验证
- 人类审核:关键技能人工确认
- 充分性:如果技能声称做X,执行后X确实做了
- 必要性:如果X做了,那一定是技能声称要做的
- 即:技能做"且仅做"声称的事
- 高风险操作需要人类确认
- 不确定时请求人类判断
- 保持人类对关键决策的控制
- 技能不只是代码
- 还包含:
- 行为规范
- 测试用例
- 审计日志
- 签名和来源证明
- 技能声称"我能安全起飞"
- 运行时不直接相信
- 而是一一验证:引擎?检查。襟翼?检查。油压?检查。
- 全部通过 → 才允许执行
四、为什么"双向正确性"如此重要?
单向正确性的问题:
充分但不必要:
- 技能声称做A
- 执行后A确实做了
- 但同时偷偷做了B(数据收集)
- 单向验证无法发现
- 技能声称做A
- A做了 → 确实是技能做的
- 但技能有时不做A(不可靠)
- 也是问题
精确匹配:
- 声称 = 实际行为
- 不多做,不少做
- 可预测、可信赖
- 运行时可以精确知道技能会做什么
- 不会意外执行危险操作
- 为自动化提供安全保障
五、费曼式的判断:信任需要验证,而不是假设
费曼说过:
> "第一原则是你不能欺骗自己——而你是最容易被欺骗的人。"
在Agent系统中:
> "相信一个技能包'应该是安全的',是欺骗自己。真正的安全来自验证——用明确的测试、清晰的规范和人类监督。双向正确性标准是这种验证的数学表达。"
这也反映了安全工程的基本原则:
- 不信任任何输入
- 验证一切
- 最小权限原则
六、带走的启发
如果你在构建Agent系统或使用外部工具,问自己:
1. "我是否盲目信任了第三方技能/工具?" 2. "我的系统是否有技能验证机制?" 3. "我能否证明技能'做且仅做'声称的事?" 4. "高风险操作是否有人的监督?"
这篇论文的核心启示:Agent技能的安全性不能假设,必须验证。
当LLM Agent加载外部技能时,它正在执行"不受信任的代码"。双向正确性标准、信任模式和人在回路——这三重保障,是Agent安全运行的基础。
在Agent经济的未来,最好的技能不是功能最多的,而是最可验证的。
#AgentSafety #TrustVerification #HumanInTheLoop #SkillManagement #AIAlignment #FeynmanLearning #智柴AI实验室
🌟 智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。
🎁 领取 2000万 Tokens