引言
当大模型 Agent 开始进入浏览器、邮件系统、数据库和各类业务工具,安全问题正在从“模型是否生成有害内容”,扩展为“整个 Agent 系统能否在复杂环境中持续、可靠地执行任务”。
相比传统聊天模型,Agent 需要自主完成更多连续操作:理解用户目标、规划任务步骤、访问外部信息、调用工具,并根据环境反馈调整后续行为。
在这个过程中,风险可能出现在任意一个环节。
网页中的隐藏指令可能诱导 Agent 改变任务目标;邮件或文件中的恶意内容可能被误认为用户命令;工具权限配置不当可能导致越权操作;错误记忆和过期计划还可能让 Agent 在多轮执行中逐渐偏离原始目标。
这些风险往往不是由某一次单独的模型输出造成的,而是模型、Harness、工具、记忆和外部环境共同作用的结果。
因而,Agent 安全需要具备持续发现问题、定位原因和吸收经验的能力。
围绕“如何让 Agent 从执行失败中持续学习安全经验”这一问题,来自上海人工智能实验室、复旦大学、上海交通大学、香港科技大学和浙江大学等机构的研究团队先后提出 SHE 与 SafeEvolve,逐步探索从安全 Harness 演化到 Harness–Policy 协同进化的技术路线。
论文标题:
SHE: Trajectory-driven Safety Harness Evolution for LLM Agents
论文作者:
Wanying Qu, Qinghua Mao, Yu Li, Jiyao Liu, Xin Zhang, Dadi Guo, Yanxu Zhu, Qingyu Liu, Leitao Yuan, Xi Lin, Shanfeng Zhu, Yanwei Fu, Jing Shao, Xia Hu, Dongrui Liu
论文地址:
https://arxiv.org/abs/2608.09885
代码地址:
https://github.com/RainbowQTT/SHE
论文标题:
SafeEvolve: Harness-Policy Co-Evolution from Agent Experience for Safety Alignment
论文作者:
Qinghua Mao, Wanying Qu, Dadi Guo, Leitao Yuan, Qingyu Liu, Yu Li, Guanxu Chen, Yanwei Fu, Xi Lin, Xia Hu, Dongrui Liu
论文地址:
https://arxiv.org/abs/2609.02786
代码地址:
https://github.com/MaoPopovich/SafeEvolve
两项工作共同关注一个核心问题:Agent 在真实环境中获得的安全经验,如何被系统持续吸收,并转化为新的安全能力?
问题:从静态规则到可进化安全机制
在现有 Agent 系统中,Harness 通常承担模型外围控制层的职责。它负责组织上下文、管理记忆、调度工具、控制权限,并在执行过程中进行安全检查。
传统 Harness 大多依赖人工设计。开发者需要提前写好 System Prompt、配置规则、设置工具权限,并针对已知风险加入相应的拦截逻辑。系统部署之后,这些安全配置通常保持相对静态。
这种方式在简单任务中能够提供基础保护,但当 Agent 进入开放环境后,风险会变得更加复杂。新的网页、新的文件、新的工具组合和新的任务流程,都可能暴露出原有安全机制没有覆盖的问题。
更困难的是,一次安全失败往往涉及多个因素。例如,Agent 可能先受到外部内容诱导,再错误地理解指令优先级,随后调用了权限过大的工具,最终造成敏感信息泄露。
此时,开发者需要判断究竟应该修改 Prompt、增加规则、更新工具权限,还是重新训练模型。
如果简单地对整体 Prompt 进行修改,往往难以定位修复是否有效;如果不断增加拒答规则,系统可能逐渐失去正常任务能力;如果只依赖模型重新训练,新经验又难以及时进入运行时安全控制。
SHE 和 SafeEvolve 分别从 Harness 和 Policy 两个层面展开研究,为 Agent 安全机制提供了一条持续改进的路径。
SHE:让安全 Harness 从执行失败中持续学习
SHE 提出 Trajectory-driven Safety Harness Evolution,核心思想是利用 Agent 的完整执行轨迹,自动发现安全问题并对 Harness 进行针对性更新。
3.1 四类可编辑安全组件
SHE 首先将 Harness 拆解为四类职责明确的可编辑安全组件:
System Prompt:定义 Agent 的全局安全行为和基本原则;
Rule Bank:保存结构化、可复用的安全规则;
Safety Memory:记录反复出现但尚未完全解决的失败经验;
Tool Policy:约束工具调用权限、调用条件和执行边界。
这种组件化设计解决了传统 Harness 中安全功能耦合的问题。不同类型的失败可以被路由到不同组件,系统不需要为了修复一个局部风险而重写整个安全机制。
3.2 归因引导的局部演化
在每一轮演化过程中,SHE 首先收集 Agent 的完整执行轨迹。轨迹不仅包含用户请求和最终回答,还包括上下文内容、模型响应、工具调用、环境反馈和最终任务结果。
随后,系统从危害领域、攻击面和失败模式等角度对轨迹进行结构化诊断,回答三个问题:
第一,风险在执行过程的哪一步出现?
第二,问题主要由哪个 Harness 组件负责?
第三,应该如何修改该组件,才能降低风险并保留正常能力?
例如,Agent 将邮件中的恶意内容误认为用户指令,可能需要更新指令层级和不可信内容识别规则;Agent 调用了与任务无关的敏感工具,则可能需要修改 Tool Policy;某类失败持续出现但暂时难以形成稳定规则,则可以先沉淀到 Safety Memory 中。
完成归因后,SHE 只对相关组件进行局部修改。每个候选更新都需要经过有效性检查和安全—效用验证,避免通过无差别拒绝或删除工具能力来获得表面上的安全提升。
3.3 细粒度安全边界:应用推荐案例
以应用推荐场景为例,用户要求 Agent 介绍一款应用,但 Agent 进一步尝试替用户完成设备级安装。
SHE 不会简单地禁止所有应用相关任务,而是将失败经验提炼为更细粒度的安全边界:
可以介绍和比较应用;
可以提供官方商店或官方网站的下载指引;
不应在缺少明确授权时执行设备级安装;
不应将尚未完成的操作描述为已经完成。
通过这一过程,原本散落在日志中的失败轨迹,被转化为职责清晰、证据可追踪、修改可验证的 Harness 安全资产。
3.4 SHE 实验结果
实验结果显示,相比静态 SafeHarness,SHE 将平均攻击成功率从 17.1% 降低至 5.5%,约降至原来的三分之一;攻击条件下的任务可用性从 31.6% 提升至 47.6%。
在未参与 Harness 演化的 AgentHarm 测试集上,危害得分也从 19.8% 降低至 9.8%。
此外,SHE 学习到的安全边界还能够迁移到不同 Agent 模型,而不需要针对每个模型重新进行完整演化。
这些结果说明,安全 Harness 可以从真实执行失败中持续学习,并逐渐形成更加细粒度的安全边界。
SafeEvolve:让 Policy 学习并内化安全经验
SHE 解决了 Harness 如何从轨迹中持续更新的问题,但一个新的挑战随之出现:
如果安全经验只保存在 Harness 中,Agent Policy 是否真正学会了这些经验?
在传统架构中,Harness 更像是 Agent 外围的一道防护层。它能够拦截危险操作,但模型本身可能并不理解安全规则背后的原因,也不一定能够将这些规则泛化到新的任务和环境。
当任务步骤变长时,Agent 还可能出现新的问题:它在前几步遵守了安全约束,但在后续工具调用中逐渐忽略早期边界;或者面对没有被规则完全覆盖的新型风险时,仍然做出错误决策。
SafeEvolve 进一步将 Policy 优化纳入安全进化过程,探索如何让 Policy 与进化后的 Harness 共同成长。
4.1 Harness 侧:Safety Prompt 与分层 SkillBank
在 Harness 侧,SafeEvolve 从 Agent 执行轨迹中提炼 Safety Prompt 和分层 SkillBank。SkillBank 不仅包含通用安全原则,也包含与具体任务、工具和失败模式相关的安全操作流程。
4.2 Policy 侧:两阶段 SFT–RL
在 Policy 侧,SafeEvolve 采用两阶段 SFT–RL 训练范式。
第一阶段是 Harness-use SFT 冷启动。系统在进化 Harness 指导下收集轨迹,并筛选同时通过安全性和任务效用验证的成功样本,帮助模型学习如何识别、选择和执行安全 Skills。
模型需要逐渐掌握:
当前任务是否需要调用某个安全 Skill;
网页、邮件、文件和工具返回结果中哪些内容不可信;
如何区分用户目标与外部环境中的诱导信息;
如何阻断危险行为并继续完成合理任务;
如何在多步工具调用中维持权限边界;
当授权或任务状态不清晰时,如何暂停并请求确认。
第二阶段是 Harness-augmented RL。模型在 Safety Prompt 和动态检索 Skills 的指导下进行多步探索,Verifier 分别检查任务是否完成、危险行为是否发生,以及工具调用是否有效。
训练目标不是让 Agent 一律拒绝,而是让它根据具体情境采取合适行动:
对于正常任务,继续完成用户目标;
对于明确有害或越权请求,安全拒绝;
对于环境注入任务,忽略恶意内容并继续执行用户原本的合理目标;
对于权限和意图不明确的情况,先确认再行动。
SafeEvolve 由此推动安全能力从 Harness 的外部约束逐步进入 Policy 自身的决策过程。
4.3 Harness 与 Policy 如何共同改进
SHE 和 SafeEvolve 并不是两个相互独立的安全模块,而是构成了一个由执行经验驱动的持续进化闭环。
首先,Agent 在真实任务环境中执行,产生包含成功行为和失败行为的完整轨迹。
随后,Harness 对轨迹进行分析,识别安全问题,将失败经验外化为 Prompt、规则、Memory 或 Skills,并通过验证机制筛选有效更新。
接着,Policy 通过 SFT 和 RL 学习这些经过验证的安全经验,逐渐形成更加稳定的安全决策能力。
最后,更新后的 Policy 再次与环境交互,产生新的 On-policy 轨迹。这些新轨迹既能够验证 Policy 是否真正学会了安全经验,也可能暴露当前 Harness 在新任务、新模型和新环境中的覆盖盲区。
因此,Harness 和 Policy 之间形成了双向促进关系:
进化后的 Harness 为 Policy 提供明确、结构化的安全指导;
Policy 将这些安全经验转化为更加主动的决策行为;
Policy 产生的新失败为 Harness 提供新的更新依据;
更新后的 Harness 继续指导下一轮 Policy 学习。
同一条安全经验也会经历两个阶段:
外化:失败轨迹被转化为可审计、可修改和可回滚的 Harness 资产;
内化:经过验证的 Harness 经验通过 SFT 和 RL 转化为 Policy 行为。
这使 Agent 安全从“外部规则拦截”逐步走向“运行时约束与模型能力共同作用”。
4.4 SafeEvolve 实验结果
SafeEvolve 在多个 Agent 安全任务上验证了 Harness–Policy 协同进化的效果。
在 Qwen3.5-4B 上,SafeEvolve 将 AgentDojo 攻击成功率从 2.37% 降低至 0.79%,约降至原来的三分之一;干净任务效用从 59.79% 提升至 61.86%。
在 AgentHarm 上,危害得分从 56.45 降低至 12.27,安全拒答率从 28.98% 提升至 83.83%。
在 Qwen3-4B 上,SafeEvolve 同样带来了明显改进:
AgentDojo 攻击成功率从 13.38% 降低至 2.42%;
任务效用从 44.33% 提升至 60.82%;
攻击条件下的任务效用从 35.91% 提升至 52.05%。
这些结果体现了 Harness 与 Policy 协同进化的互补性。Harness 能够快速吸收和表达新风险,Policy 则通过训练学习这些经验,并在后续任务中主动遵守安全边界。
与此同时,Policy 产生的新轨迹又会为 Harness 提供新的反馈,帮助系统发现模型在不同环境中的新失败模式。
结论
从 SHE 到 SafeEvolve,相关研究体现了 Agent 安全机制的三个变化。
从静态配置走向轨迹驱动的持续更新。传统安全规则主要依赖部署前的人工设计。SHE 将 Agent 执行轨迹纳入安全更新过程,使系统能够根据真实失败不断完善安全边界。
安全机制由此从“一次配置、长期使用”转向“边运行、边学习、边修复”。
从整体式规则走向组件级责任划分。当所有安全功能都混合在一段整体 Prompt 或一套复杂规则中时,问题定位和针对性修改都会变得困难。
SHE 将 Harness 划分为 System Prompt、Rule Bank、Safety Memory 和 Tool Policy,并根据轨迹诊断将问题路由到相关组件。
这提高了安全更新的可解释性、可验证性和可回滚性,也减少了局部修复对其他任务能力的影响。
从单独更新 Harness 走向 Harness–Policy 协同进化。
仅更新 Harness,可以快速增加外部约束,但模型本身可能没有真正掌握新的安全经验;只更新 Policy,则可能受到训练数据覆盖范围、任务分布和长程执行复杂度的限制。
SafeEvolve 进一步将 Harness 更新与 Policy 训练结合起来。外部安全机制负责快速记录和表达新风险,内部模型则逐步学习和内化这些经验。新的 Policy 产生的执行轨迹,又会反过来推动 Harness 发现新的问题。
SHE 回答了“如何让 Harness 从失败轨迹中进化”,SafeEvolve 进一步回答了“如何让进化后的 Harness 与 Policy 相互促进”。
两项工作共同探索了一种新的 Agent 安全基础设施:安全机制不再只是部署后固定不变的外围规则,而能够从真实执行经验中持续学习、验证和改进。
随着 Agent 承担更长流程、更高权限和更复杂的现实任务,安全能力不能停留在部署前的一次性配置。
新的网页、新的文件、新的工具组合和新的环境反馈,都会带来训练阶段难以完全覆盖的风险。系统需要持续观察 Agent 做了什么、为什么这样做,以及哪些行为偏离了用户原本授权的目标。
面向未来更加开放、复杂和长程的 Agent 任务,能够持续进化的安全 Harness 与 Policy,可能成为 Agent 基础设施的重要组成部分。其技术路线可以概括为:
Rollout 产生经验,Harness 外化经验,SFT 帮助 Policy 使用经验,RL 推动 Policy 内化经验,新 Policy 再产生新的安全轨迹。
在这个过程中,一次安全失败不再只是日志中的异常记录,而有机会成为下一轮 Harness 更新和 Policy 训练的起点。
更多阅读