[论文学习]GuardAgent:通过知识增强推理守护LLM智能体
GuardAgent:通过知识增强推理守护LLM智能体
论文重点
本文提出了GuardAgent,首个以“智能体守护智能体”为范式的安全护栏框架。它通过知识增强推理(Knowledge-Enabled Reasoning)将自然语言描述的安全规则自动转化为可执行的护栏代码,在医疗访问控制(EICU-AC)和Web安全控制(Mind2Web-SC)两个新基准上分别取得了98%以上和83%以上的护栏准确率。
核心研究内容
问题定义
大语言模型(LLM)正在从“聊天机器”进化为能够自主规划与执行任务的“智能体”(Agent),在医疗、金融、网页操作等场景中展现出惊人的执行力。然而,这种强大的行动能力也带来了全新的安全挑战:
-
传统护栏的失效:现有的LLM护栏(如NVIDIA NeMo Guardrails、Llama Guard等)主要聚焦于文本有害性检测(暴力、色情、仇恨等),但智能体的输出远不止文本——Web Agent会点击按钮、填写表单,医疗Agent会查询数据库、修改病人记录。传统方法完全无法处理“禁止未授权人员查看特定病人实验室数据”这类行动层面的安全需求。
-
硬编码的局限:已有的安全控制要么硬编码在目标Agent内部(不可迁移),要么只覆盖通用文本风险(粒度不够)。
-
评测标准缺失:缺乏统一的评测标准,使得研究者难以系统衡量不同智能体在实际执行任务时的安全性。
核心矛盾在于:需要一种“非侵入、可迁移、可编程”的Agent级护栏方案。
创新方法
GuardAgent的核心创新在于提出了 “Agent守Agent” 的全新范式。具体来说:
1. 知识增强推理(Knowledge-Enabled Reasoning)
GuardAgent本身就是一个LLM智能体,专门用来“看守”另一个目标Agent。它接收三类输入:安全规则(纯文本描述)、目标Agent的输入、以及目标Agent的输出日志。通过LLM的逻辑推理能力,结合从记忆模块检索的历史经验,将模糊的安全规则精准“翻译”为结构化的检查逻辑。
2. 两阶段转换流程
GuardAgent的工作分为两个关键步骤:
-
任务规划(Task Plan)生成:LLM分析安全规则和目标Agent的动作日志,生成结构化的检查计划。该步骤由上下文学习(ICL)驱动,从记忆模块中检索相关历史示例作为参考。
-
护栏代码生成与执行:将任务计划翻译成可执行的Python代码。代码可以调用预定义的工具函数(如数据库查询、字段比较、权限验证等)。代码执行是确定性的,避免了纯自然语言推理的不可靠性。
3. 记忆模块(Memory Module)
存储之前成功处理的安全规则及其对应的计划/代码,为新规则提供Few-shot参考。这使得GuardAgent能够持续学习和适应新的安全需求。
三大核心优势总结如下:
| 特性 | 说明 |
|---|---|
| 非侵入性 | 与目标Agent并行部署,不修改目标Agent内部逻辑 |
| 代码驱动 | 比纯自然语言判断更可靠、可审计 |
| 无需训练 | 基于上下文学习(ICL),直接使用现成LLM |
研究成果
1. 两个新基准的构建
研究团队首次构建了两大智能体安全基准:
-
EICU-AC(医疗访问控制基准):基于真实的重症监护数据库EICU,设计了医生、护士、行政人员三类角色,由临床专家与GPT-4共同标注各类数据表的可访问范围。每个样例包含医疗查询、用户身份及其访问权限标签。
-
Mind2Web-SC(Web安全控制基准):构建于通用网页任务数据集Mind2Web之上,引入六条常见安全规则,如“未成年人禁止预订酒店”“未接种疫苗者不能登机”“无驾照用户禁止租车”等。
2. 护栏准确率
| 方法 | EICU-AC准确率 | Mind2Web-SC准确率 |
|---|---|---|
| 纯NL的LLM护栏 | ~85% | ~65% |
| GuardAgent (GPT-4) | 98%+ | 83%+ |
| GuardAgent (Claude) | 97%+ | 82%+ |
| GuardAgent (GPT-3.5) | 95%+ | 78%+ |
数据来源
3. 关键发现
- “Agent守Agent”显著优于“模型守Agent”(纯NL推理方案)
- 代码执行的确定性是准确率大幅提升的关键因素
- 不同核心LLM都能驱动GuardAgent,说明框架具有良好的通用性
- GuardAgent不影响目标Agent的任务性能(仅做过滤,不干涉决策)
- 记忆模块的检索质量直接影响复杂规则的处理效果
实际落地应用的可能性
GuardAgent具有很高的实用价值:
- 即插即用:可部署在任何已有LLM Agent旁边,无需修改原有系统
- 可扩展性强:新增安全规则只需更新工具箱(Toolbox)和记忆模块,无需重新训练
- 可审计性:代码执行的结果清晰可追溯,便于合规审查
- 跨场景通用:已在医疗和Web两个截然不同的场景中验证有效性
技术细节
GuardAgent的输入输出规范
GuardAgent的输入包括:
- 安全护栏请求(I_r) :用户定义的安全规则文本
- 目标Agent规范(I_s) :目标Agent的功能描述、输入输出格式等
- 目标Agent输入(I_i) :用户向目标Agent提出的原始请求
- 目标Agent输出日志(I_o) :目标Agent的推理过程和行动记录
GuardAgent的输出是一个标签预测(O_l),其中O_l=0表示安全规则被满足(放行),O_l=1表示违反规则(拒绝),同时输出详细的拒绝原因(O_d)。
任务规划的Chain-of-Thought结构
GuardAgent要求任务计划包含四个强制步骤,形成链式推理(CoT):
- p₁:总结护栏请求,识别关键词(如“访问控制”及三类角色)
- p₂:过滤与目标Agent输入相关的安全规则信息
- p₃:总结目标Agent输出日志,定位与安全规则相关的内容
- p₄:指导护栏代码生成,比较p₂和p₃中提取的信息
代码生成与执行的公式化描述
任务计划P的生成可以形式化表示为:
P = LLM([I_p, I_s, I_r, D₁, ..., D_k, I_i, I_o])
其中,I_p是提示指令,D₁...D_k是从记忆模块检索到的k个演示示例。
生成的护栏代码C基于任务计划P,通过外部执行引擎执行,产生确定性的判断结果。
研究设定
目标Agent类型
论文聚焦于两类具有代表性的LLM Agent:
- EHRAgent(医疗智能体) :用于响应医疗相关查询,通过生成代码从数据库中检索和分析数据
- SeeAct(Web智能体) :用于执行多样化的网页相关任务
软硬件配置
根据官方代码仓库:
- Python版本:≥3.9
- 依赖安装:
pip install -r requirements.txt - API配置:在
./config.py中设置LLM的API Key - 支持的LLM:GPT-4、Claude、GPT-3.5等
- 运行命令:
python main.py --llm YOUR_LLM --agent TYOUR_AGENT --seed YOUR_RANDOM_SEED --num_shots YOUR_NUM_SHOTS --logs_path YOUR_LOGS_PATH --dataset_path YOUR_DATASET_PATH - Few-shot数量:支持1、2或3个示例(
--num_shots参数) - 数据集:EICU-AC和Mind2Web-SC,需从官方仓库下载
基准构造细节
-
EICU-AC:从EICU基准发展而来,包含三类角色,每个样例包含医疗问题、正确答案、所需数据库和列、用户身份、二元标签(0=可访问/1=不可访问),以及不可访问的数据库和列信息
-
Mind2Web-SC:从Mind2Web发展而来,包含六条安全规则,每个样例标注为“允许”(0)或“拒绝”(1),两类各100个样例,且每个类别内的任务互不重复
综合分析
范式创新:从“内容过滤”到“行为约束”
GuardAgent最根本的贡献在于重新定义了LLM安全的边界。传统安全研究关注的是“模型说了什么”(内容安全),而GuardAgent关注的是“智能体做了什么”(行为安全)。这一转变看似微妙,实则具有革命性——当AI从被动响应走向主动执行时,行为的合规性比输出的安全性更具挑战性,也更具现实意义。
代码执行:从“概率判断”到“确定性保障”
当前LLM的一个根本局限是其概率性本质——同样的问题可能得到不同的答案。对于安全护栏而言,这种不确定性是不可接受的。GuardAgent巧妙地通过将推理结果转化为可执行代码来规避这一问题。一旦代码成功执行,其结果是确定性的、可验证的、可审计的。这种“LLM负责理解与规划,代码负责执行与判定”的分工,可能是未来AI安全系统设计的一个重要方向。
无需训练:降低部署门槛
GuardAgent完全基于上下文学习(ICL),不需要任何额外的模型训练或微调。这意味着:
- 企业可以立即部署,无需等待数周的训练周期
- 安全策略的更新只需修改文本描述和记忆库,无需重新训练模型
- 不同场景的适配成本极低
局限与挑战
尽管GuardAgent表现出色,但仍存在一些值得关注的问题:
- 基准依赖专家标注:EICU-AC的标注需要临床专家参与,构建成本较高
- 解释基于代码:虽然可审计性强,但对非技术用户可能不够友好
- 实时性:生成代码并执行需要额外的时间开销,在延迟敏感的场景中可能面临挑战
实践应用
适合部署的场景
-
医疗信息系统的访问控制
医院内部的EHR(电子健康记录)系统通常涉及复杂的权限管理。GuardAgent可以部署在医疗AI助手旁边,实时检查每一次数据库查询是否匹配用户的角色权限。
-
电商/服务平台的行为合规
对于涉及年龄限制、资质验证的场景(如酒类销售、租车服务、酒店预订),GuardAgent可以在Web Agent执行操作前进行合规性检查。
-
企业内部AI助手的权限管理
企业可以将GuardAgent部署在内部AI助手(如HR助手、财务助手)旁,确保AI不会越权访问敏感数据。
部署建议
- 从简单规则开始:先部署少量、明确的安全规则,验证流程后逐步扩展
- 构建领域专属工具库:根据业务场景预定义可复用的检查函数(如
check_user_role()、validate_age()等) - 积累高质量示例:记忆模块的质量直接影响效果,建议初期由专家人工注入高质量演示示例
- 建立审计日志:记录每一次护栏判断的输入、代码和输出,便于后续分析和合规审查
参考资料
- 原始论文:GuardAgent: Safeguard LLM Agents via Knowledge-Enabled Reasoning (arXiv:2406.09187)
- 项目主页:https://guardagent.github.io/
- 代码仓库:https://github.com/zlzGithub-0801/GuardAgent-code
- 数据集:https://github.com/guardagent/dataset
- 会议信息:ICML 2025
更多推荐


所有评论(0)