Agent协议内生安全:AgentSpec: Customizable Runtime Enforcement for Safe and Reliable LLM Agents
AgentSpec 技术概述与应用案例
https://arxiv.org/pdf/2503.18666
一、AgentSpec 概览
AgentSpec是一种轻量级领域特定语言(DSL),旨在为大型语言模型(LLM)代理提供运行时的定制化约束执行,从而提升其安全性、可靠性及伦理合规性。
二、核心特点与设计目标
1. 问题背景
- LLM代理广泛应用于软件开发、医疗、自动驾驶等领域,具备自主感知、规划与任务执行能力。
- 高自主性带来安全风险,如安全漏洞、法律违规、意外有害行为。
- 传统手段(模型层安全约束、早期策略执行)在鲁棒性、可解释性、适应性上存在不足。
2. AgentSpec 的机制与目标
- 允许用户定义结构化规则,包括触发器(triggers)、谓词(predicates)、执行机制(enforcement),限定代理在安全边界内运作。
- 提供人类可读、精确简洁的语言描述行为约束。
- 实现实时监控和动态干预,及时发现并停止潜在违规行为。
- 规则通用灵活,支持文件管理、自动驾驶、软件部署、任务控制等多场景。
三、规则结构

- 每条规则含五部分:
rule(规则标识)、trigger(触发事件)、check(谓词条件)、enforce(执行方式)、end(结尾标识)。 - 触发器:可为通用事件(如state_change、before_action、agent_finish),也可为领域事件(如PythonREPL、red_light_detected)。
- 谓词:用于细分适用情景,如
is_destructive_cmd(代码领域)、obstacle_distance_leq(n)(自动驾驶领域)。 - 执行机制:如user_inspection(用户确认)、llm_self_examine(自我检查)、invoke_action(调用操作)。
四、实现细节

- AgentSpec 基于LangChain实现,通过拦截代理关键决策步骤(如iter_next_step)介入规则执行。
- 关键介入点包括操作前、操作后及任务完成时。
- 规则由ANTLR4解析,谓词既可用户设定也可LLM自动生成。
- 兼容多种开发框架(如Microsoft AutoGen、Apollo自动驾驶系统等)。
五、评估与实验效果
1. 风险缓解
- 代码代理:超90%场景下发现并阻止不安全操作。
- 具身代理:彻底消除危险动作,对安全任务完成率影响极小。
- 自动驾驶代理:100%场景下确保合规,如遇红灯不违规通行。
2. LLM生成规则有效性
- OpenAI o1生成规则,具身代理精度95.56%、召回率70.96%。
- 危险代码检测率87.26%,自动驾驶违规阻断5/8场景。
3. 通用性
- 代码领域25条规则平均每条覆盖30个风险实例。
- 具身代理12条规则覆盖250案例,具备良好迁移性。
4. 运行时开销
- 平均解析1.42ms,谓词评估1.11-2.83ms,系统总执行开销可忽略。
5. 核心贡献
- 首个专为LLM代理设计的可自定义、运行时安全性框架。
- 适用于代码、具身与自动驾驶等多领域,风险缓解显著。
- LLM生成规则普遍有效、性能优异。
- 运行高速、后端兼容性强。
六、应用示例
1. 金融交易审批
场景: 防止LLM代理误向非家庭成员转账。

规则结构:

sql
说明: 当转账对象非家庭成员时,系统拦截并提示用户审核。
2. 代码执行审查
场景: 阻止代码代理从不受信任网站获取内容并输出。
规则结构:
sql
说明: 同时访问不可信URL且写入IO时需用户确认操作。
3. 具身代理危险操作约束
场景: 防止倒水到不可湿设备(如笔记本电脑)。
规则结构:
sql
说明: 倒水动作作用对象若为不可湿设备时,立即止步。
4. 自动驾驶车辆安全约束
场景: 保证行驶期间与前车保持安全距离。
规则结构:
sql
说明: 当前方车辆小于10米自动限制操作,强制调整行驶距离,严防追尾。
七、总结
AgentSpec 提供了可解释、模块化、高效、可集成的 LLM 代理安全治理方案。通过结构化规则和运行时约束,实现了跨行业、多元场景下的高安全性、强合规性实际部署。

浙公网安备 33010602011771号