When Refusals Fail: Unstable Safety Mechanisms in Long-Context LLM Agents¶
会议: AAAI 2026
arXiv: 2512.02445
代码: 无
领域: LLM Agent
关键词: LLM安全, 长上下文, Agent安全, 拒绝机制, AgentHarm
一句话总结¶
系统研究 LLM Agent 在长上下文填充下的安全行为变化:发现声称支持 1M-2M token 的模型在 100K token 时已出现 >50% 的性能崩溃,拒绝率以不可预测的方式波动(GPT-4.1-nano 从 5% 升至 40%,Grok 4 Fast 从 80% 降至 10%),揭示了长上下文 Agent 系统的严重安全隐患。
研究背景与动机¶
- 领域现状:LLM 的上下文窗口从数千 token 扩展到数百万,使得 Agent 可以处理越来越长的多步任务。但上下文窗口的"声称容量"和实际可用能力之间可能存在巨大差距。
- 现有痛点:先前关于长上下文的研究(如 "Lost in the Middle")主要关注事实召回和准确性,几乎没有研究过长上下文如何影响 Agent 的安全拒绝行为和任务执行能力。安全评估一直使用短 prompt 和静态拒绝测试。
- 核心问题:长上下文是否会破坏 LLM Agent 的安全对齐?模型是变得更"审慎"地拒绝了,还是整体能力都退化了?
- 切入角度:扩展 AgentHarm 基准,在受控条件下系统变化上下文填充的长度(1K-200K)、类型(随机/相关/无关/多任务)和位置(任务前/任务后),观察 Agent 行为变化。
- 核心 idea:长上下文对 Agent 安全的影响是"不可预测"的——不同模型的拒绝率变化方向完全相反,且性能退化在远低于声称上下文窗口的长度就开始了。
方法详解¶
整体框架¶
基于 AgentHarm 基准(包含 176 个样本,涵盖虚假信息、欺诈等 8 类有害任务,配有模拟工具),在任务前/后插入不同类型和长度的上下文填充,评估 Agent 的 Harm Score(有害任务完成度)和拒绝率变化。
关键设计¶
- 四种上下文填充类型:
- 随机填充:从词表随机采样的 token,完全可控且可复现
- 无关文本:来自 5 种体裁文学作品的连贯文本
- 相关文本:与任务类别相关的 Wikipedia 文章
- 多任务填充:从验证集采样的其他任务描述——语义上最具干扰性
-
设计动机:隔离不同因素的影响——随机性、文本连贯性、语义相关性、任务混淆
-
两种填充位置:
- Before: 填充在 system prompt 和任务描述之间(模拟历史上下文)
- After: 填充在任务描述之后(模拟用户追加信息)
-
设计动机:测试注意力机制的"近因偏差"——任务描述离执行区域越远,性能退化越严重
-
评估指标:
- Harm Score:基于手写 rubric 的有害任务完成度(0-1),检查目标工具是否被调用、顺序是否正确
- 拒绝率:LLM judge 判定的拒绝回复比例
测试模型¶
GPT-4.1-nano(1M)、GPT-5(400K)、DeepSeek-V3.1(128K)、Grok 4 Fast(2M)。
实验关键数据¶
主实验:随机填充对性能和拒绝率的影响¶
| 模型 | 声称窗口 | 无填充HarmScore | 200K HarmScore | 无填充拒绝率 | 200K拒绝率 |
|---|---|---|---|---|---|
| GPT-4.1-nano | 1M | ~80% | ~25% | ~5% | ~40% ↑ |
| Grok 4 Fast | 2M | ~50% | ~0% | ~80% | ~10% ↓ |
| DeepSeek-V3.1 | 128K | 较稳健 | 轻微下降 | - | - |
| GPT-5 | 400K | 高拒绝 | 高拒绝 | ~90% | ~90% |
消融实验:填充类型和位置的影响¶
| 因素 | 发现 |
|---|---|
| 填充类型排序 | 连贯文本(无关/相关)> 随机 > 多任务(最差) |
| 填充位置 | Before 比 After 退化更慢(任务描述离执行更近时更好) |
| 模型间差异 | Grok 4 Fast 在 50K-100K 之间出现"模式崩溃",各类型趋同为零 |
关键发现¶
- 声称容量 ≠ 实际能力:2M 窗口的 Grok 4 Fast 在 100K 时就完全崩溃,这是一个严重的"虚假承诺"问题
- 拒绝率的变化方向不可预测:GPT-4.1-nano 拒绝率从 5% 升至 40%(变得用更"谨慎"),Grok 4 Fast 从 80% 降至 10%(变得更"顺从")——同样的刺激产生完全相反的安全行为变化
- 多任务填充的"语义混淆"效果最强:说明 Agent 不是简单地忽略长上下文,而是会被其中的语义内容影响——这对 prompt injection 有直接安全启示
- After 填充比 Before 更有害:任务描述和执行之间的距离越大,注意力机制越难维持指令追随
亮点与洞察¶
- 拒绝率方向相反这一发现极具安全启示——意味着对长上下文 Agent 的安全保证是不可靠的。一个攻击者可以通过简单地填充足够长的上下文来降低某些模型的拒绝率(如 Grok 4 Fast),这比任何精心设计的越狱 prompt 都简单
- 研究设计的控制变量思路值得借鉴——通过系统变化填充长度×类型×位置,将上下文长度、语义内容、注意力距离三个因素解耦,得到了清晰的因果分析
局限性 / 可改进方向¶
- 只测了 4 个模型,且访问方式不同(部分通过 OpenRouter),提供商级别的安全过滤可能干扰结果
- 使用了最简单的任务子集(有 hint + 详细指令),这代表性能上界——实际部署中 Agent 还需要自主规划,性能应该更差
- 拒绝率的 LLM judge 评估本身可能在长上下文下不准确
- 缺少对"延迟拒绝"的深入分析——模型开始执行(可能已造成伤害)后再拒绝的情况- 未系统分析不同类型有害任务(如欺诈 vs 虚假信息 vs 网络攻击)的安全退化是否有差异
- 未探讨可能的防御方案(如上下文窗口限制、分段安全检查等)
- 结果的可复现性受 API 提供商变化影响——模型更新后行为可能完全不同
相关工作与启发¶
- vs AgentHarm (原始版):原版在正常上下文下评估 Agent 安全,本文揭示了长上下文这个关键维度的安全退化——说明标准安全评估在长上下文场景下可能失效
- vs "Lost in the Middle":关注事实召回的退化,本文首次研究安全拒绝行为的退化——且拒绝行为的退化模式比事实召回更加不可预测
- vs LongSafety:LongSafety 评估长输入(~5K token)对 LLM 的影响,本文将范围扩展到 200K token 的 Agent 场景,发现行为退化的规模远超预期
评分¶
- 新颖性: ⭐⭐⭐⭐⭐ 首次系统研究长上下文对 Agent 安全拒绝行为的影响,发现的"拒绝率方向不可预测"对安全社区有重大警示
- 实验充分度: ⭐⭐⭐ 控制变量设计精心但模型数量少(4个),且部分依赖 API 访问可能引入噪声
- 写作质量: ⭐⭐⭐⭐ 结构清晰,可视化有效
- 价值: ⭐⭐⭐⭐⭐ 揭示了长上下文 Agent 系统的严重安全盲区,对 Agent 安全评估方法论有重要推动
补充说明¶
- 该工作的方法论和实验设计对相关领域有参考价值
- 后续工作可在更多场景和更大规模上验证方法的泛化性和可扩展性
- 与近期相关工作的结合(如与 RL/MCTS/多模态方法的交叉)有潜在研究价值
- 建议结合实际应用需求评估该方法的部署可行性和计算效率
- 数据集和评估指标的选择可能影响结论的普适性,需在更多 benchmark 上交叉验证
补充说明¶
- 该工作的方法论和实验设计对相关领域有参考价值
- 后续工作可在更多场景和更大规模上验证方法的泛化性和可扩展性
- 与近期相关工作的结合(如与 RL/MCTS/多模态方法的交叉)有潜在研究价值