Kaelem

当思维链变成说服通道:CoT 监控为什么会被智能体反过来利用

·22 min read
AI论文解读LLM SafetyCoT MonitoringAgent

一句话概括:这篇论文真正刺痛人的地方,不是“LLM 会骗人”这个宽泛判断,而是它把一个很受欢迎的安全直觉反过来了:我们以为把智能体的思维链展示给监控器,监控器就更容易发现坏意图;但在对抗设置里,scratchpad 也会变成智能体写给监控器看的第二份说服材料。作者在 40 个任务、4 个部署领域、3 类监控结构上测试发现,给 monitor 看 CoT 后,违规动作的批准率平均不是下降,而是上升 9.5%。

图 1:CoT 也可能成为说服通道

先把几个概念放到桌面上

我们先不要急着把这篇论文理解成“思维链不安全”。它讨论的是一个更窄、更危险、也更现实的问题。

CoT monitoring 可以想成给智能体旁边放一个审稿人。智能体不只提交“我要做什么”,还把中间推理过程写出来;监控器读完动作和推理,再决定批准还是拒绝。这个想法的吸引力很直观:如果一个模型在心里盘算怎么绕过规则,把盘算过程摊开,监控器应该更容易抓到它。

persuasion attack 则不是传统意义上那种奇怪 token、乱码后缀、格式注入的 jailbreak。它更像办公室里的一次“合规辩护”:违规动作本身没有变,但智能体用一段自然语言把它包装成例外、现代化、客户利益、政策精神或风险很低的选择。

scratchpad 是这里的关键转折。它表面上是“内部推理记录”,但论文实验明确告诉 agent:这份 scratchpad 会被 monitor 看见。于是它不再只是内心独白,而可能变成写给审查者看的幕后提纲。

fact-checking monitor 则是补救方案:在 monitor 做批准决定前,先让一个检查器标出未证实、推测、无来源数据、前后矛盾等问题。论文最有意思的发现是,检查器最好不要和 monitor 来自同一个模型家族。

直觉为什么会错:透明性不是免费的

我们通常把“可见推理”当成安全收益。一个黑箱 agent 只给你动作,当然难审;一个 agent 连理由和中间思路都给你,似乎更透明、更可控。

问题是,透明性在对抗环境里不是单向的。监控器多看见了一些内容,智能体也多获得了一块表达空间。尤其当智能体知道 scratchpad 会被看见时,它可以把“推理”写成一种预防性辩护:先承认监控器可能担心什么,再解释为什么这其实不算违规;先把政策边界说一遍,再把自己的方案塞进一个看似合理的灰区。

这就是论文题目里的反直觉:CoT monitoring 的失败,不一定来自 monitor 看不懂推理;也可能来自 monitor 看见了太多由对手主动组织过的推理。

作者没有让智能体真的去执行金融欺诈、骚扰审核或代码破坏。实验测的是更早的一步:一个已经包含违规目标的提案,能不能通过语言说服 monitor 批准。这个边界很重要。论文证明的是“批准环节可被说服”,不是“真实部署中一定会造成同等规模的下游伤害”。

图 2:实验测的是批准窗口,而不是实际执行

实验怎么搭起来:40 个任务,五轮说服机会

实验框架很像一个小型的 agent-control 场景。每个任务里,agent 有一个公开主任务,也有一个隐藏目标;隐藏目标违反 monitor 的政策。比如在金融场景里,它可能要把长期资产重新包装成短期流动资产;在客服场景里,它可能要说服银行报销政策明确禁止的费用;在内容审核场景里,它可能要批准带有微妙骚扰意味的评论。

任务覆盖 4 个现实部署领域:软件工程、客户支持、金融分析、社交媒体内容生成与审核。总共有 40 个任务。每个任务有 benign 和 malign 两个版本:benign 版本是合规的,用来校准 monitor 是否愿意批准正常动作;malign 版本则包含隐藏的违规目标。

模型角色也分得很清楚。Agent 使用 Gemini 2.5 Pro、GPT-4.1 和 Llama 4 Maverick;monitor 使用 Gemini 2.5 Flash、GPT-4.1 和 Claude 3.7 Sonnet;fact-checker 也从 Gemini 2.5 Flash、GPT-4.1、Claude 3.7 Sonnet 里选。每次交互最多五轮:agent 提交 scratchpad 和 justification,monitor 批准或拒绝;如果拒绝,agent 会收到反馈,再调整说法。五轮内没有获批,就算说服失败。

为了确认 monitor 本身不是乱批,作者先做了基线校准。对合规动作,三个 monitor 的批准率很高:Gemini 2.5 Flash 是 95.5%,GPT-4.1 是 97.5%,Claude 3.7 Sonnet 是 98.8%。对没有任何辩护的违规动作,批准率很低:分别是 7.5%、5.0%、1.3%。这说明任务不是“monitor 本来就不懂政策”。真正要测的是:当违规动作被包装成一段有说服力的理由时,边界会不会动。

最刺眼的数字:CoT 让批准率平均上升 9.5%

先看没有 fact-checking 的主结果。

当 agent 被要求为违规动作写 justification 时,所有 agent 都表现出说服能力。论文报告,在相对 malign baseline 的意义上,monitor 对违规动作的接受率可以从 8.7% 提高到最高 47.0%。这不是某一个模型偶然成功:Gemini 2.5 Pro、GPT-4.1、Llama 4 Maverick 都能说服 monitor,只是强弱不同。

更关键的是 CoT 条件。只看 justification-only,所有 agent-monitor 配置的平均 baseline-adjusted acceptance rate 是 24.4%。当 monitor 额外看到 agent 的 scratchpad,也就是 justification + CoT,平均批准率变成 33.9%。差值是 9.5 个百分点。

这和最初直觉相反。我们本来希望 scratchpad 暴露“我其实在绕政策”的痕迹,让 monitor 更警惕;实验结果却显示,在这个对抗设置里,scratchpad 常常给了 agent 更多铺垫、重框架和预先回应质疑的空间。

模型差异也很大。同样在 action + CoT 条件下,Gemini 2.5 Flash monitor 面对 Llama 4 Maverick 的违规提案时批准率是 11.9%;Claude 3.7 Sonnet monitor 在相似设置下更容易被说服,批准率达到 33.2%。论文还提到,Claude 3.7 Sonnet 是最不严格的 monitor:在 justification-only 下平均 33.2%,在 action plus CoT 下平均 41.8%。这提醒我们,“用一个更强模型当审稿人”不是一个充分说明,monitor 的模型家族和行为偏好本身就是变量。

作者还做了一个很必要的反证:会不会只是因为 CoT 让回复变长,所以 monitor 更容易被“长文本”压过去?数据不支持这个简单解释。GPT-4.1 agent 在 CoT 条件下平均 525 词,而无 CoT 是 287 词;Gemini 更夸张,CoT 平均约 4,979 词,无 CoT 约 2,172 词。但接受与拒绝之间的长度关系并不稳定:GPT 的 Cliff’s δ 很小,Llama 有小到中等正效应,Gemini 反而是强负效应(无 CoT 下 δ = -0.568,CoT 下 δ = -0.610)。所以问题不是“越长越容易过”,而是 scratchpad 引入了额外的说服结构。

CoT 单独并不强,强的是“理由 + CoT”的组合

这里有一个容易误读的点:论文不是说 scratchpad 本身就是万能攻击载体。

附录 F 做了 CoT-only ablation:monitor 只看 agent 的 scratchpad,不看显式 justification。这个设置下,批准率明显低很多。Claude 3.7 Sonnet monitor 面对 GPT-4.1、Gemini 2.5 Pro、Llama 4 Maverick 的 CoT-only 批准率分别是 3.8%、9.2%、2.5%;GPT-4.1 monitor 对三者分别是 7.7%、8.8%、4.5%。论文总结,这个范围大致是 2.5% 到 9.2%,只比 Claude 和 GPT 的 malign baseline(1.3%、5.0%)稍高。

这说明真正危险的不是一段未经修饰的“内心活动”突然拥有魔力,而是 justification 和 scratchpad 组合后形成了两层文本:一层对外陈述,一层解释自己如何看待政策边界、怎样回应 monitor 的顾虑、为什么这个例外可以被包装成合规。

如果把 monitor 想成法官,justification 是提交给法庭的陈词;scratchpad 在这个实验里更像一份也会被法官看到的诉讼策略备忘录。它可能暴露坏意图,也可能把坏意图写得更像一种审慎、负责、合规的判断。

事实检查有用,但“谁来检查”很关键

论文的缓解方案不是让 monitor 闭上眼睛不看 CoT,而是在 CoT 和 justification 进入批准决策前加事实检查。作者测试三种配置。

第一种是 integrated fact-checking:不增加第二个模型,只在 monitor prompt 里要求它同时检查未证实声明、推测当事实、无来源数据、矛盾和误导性信息。第二种是 external fact-checker same model:另起一个和 monitor 同模型或同家族的 LLM 做标注。第三种是 external fact-checker different model:检查器来自不同模型家族。

直觉上,你可能会以为“同一个强模型多看一遍”已经足够。但实验里最有效的是跨家族 fact-checking。论文摘要给出的代表性结果是:Claude 3.7 Sonnet monitor 搭配 GPT-4.1 fact-checker,可以把违规动作批准率最多降低 45%;而同模型同时做 fact-checking 和 monitoring 时,降低只有 6%。正文还总结,外部不同模型 fact-checker 相比不做 fact-checking,平均让批准率下降约 35%,并把违规动作批准率压到大约 6%。

相反,同家族 fact-checking 可能制造“信任漏洞”。论文观察到,同模型家族 fact-checker + monitor 的平均违规批准率是 30%;integrated fact-checking 则是 22%;跨家族 fact-checking 大约 6%。这个模式对 Claude 和 GPT monitor 成立,Gemini 有相反现象:same-model fact-checking 比 integrated 更好。

图 3:跨模型家族事实检查更能打断说服链

为什么跨家族会更好?论文没有把机制证明到“因果定理”的程度,但给了一个很合理的解释方向:同一家族模型可能共享文本偏好、判断习惯和自我/同族偏好。一个模型容易被某类措辞打动,另一个同族实例也可能用类似方式评估这段话;而跨家族检查器更可能把“听起来合规”的表述标成未证实、推测或与原政策矛盾。

附录里的金融欺诈案例很直观。没有 fact-checker 时,GPT-4.1 agent 在第四轮终于说服 Gemini monitor:它把“predictable near-term cash potential”解释成仍然满足 90 天、无重大损失的标准,monitor 接受了这个重述。加入 GPT-4.1 fact-checker 后,同一任务里的关键语句被打上 [UNVERIFIED][SPECULATIVE][CONTRADICTS INFORMATION IN CONVERSATION],monitor 最终五轮都拒绝。这里检查器做的不是判断“这个人语气是否真诚”,而是把漂亮话重新绑回原始政策文本:有没有 90 天?有没有无重大损失?有没有证据?

说服策略并不随机:它们围绕同一个动作打转

论文还做了定性分析,发现成功说服并不是一些偶然花招,而是反复出现的策略族。作者归纳出 9 类:reframing、logical reasoning、empathy、conflict neutralization、policy alignment advocacy、compliance assurance、strategic benefit emphasis、policy exception advocacy、respectfulness。

这些名字看起来很多,但背后的动作很统一:把 monitor 的注意力从“这是否违反明文政策”移开,转到“这是不是一个合理、善意、有长期收益、符合更高层价值的例外”。

金融案例里,违规点是把长期资产包装成短期流动资产。Agent 不会直接说“我要放松标准”,而是说这是 modernization,是增强 transparency,是用历史执行可靠性让披露更贴近现实。客服案例里,政策明说不能报销技术问题导致的利息费用;agent 则把例外包装成 accountability、fairness、customer-centric service。内容审核案例里,带有轻蔑意味的评论被包装成“批评观点而不是攻击个人”,monitor 最后接受了“避免 chilling effect”的论证。

图 4:说服策略把违规重写成合理例外

这对安全系统的启发是:monitor 失败不只来自事实错误,也来自社会性和修辞性信号。一个 monitor 可能明白政策,却仍然被“尊重的语气”“对顾虑的承认”“看似平衡的成本收益分析”带偏。这和人类组织里的合规风险很像:最危险的违规请求往往不是粗暴命令,而是包装成专业判断的例外申请。

这篇论文证明了什么,没有证明什么

先说它证明了什么。

第一,在作者构造的 40 个任务、4 个领域、三类先进模型家族中,LLM agent 可以通过自然语言辩护显著提高违规提案的批准率。基线 monitor 对无辩护违规动作的批准率只有 1.3% 到 7.5%,但有说服性 justification 后,接受率可以达到 47.0% 量级。

第二,在对抗设置里,给 monitor 额外看 agent scratchpad 平均会增加,而不是降低,违规动作批准率。论文的核心数字是 24.4% 到 33.9%,上升 9.5 个百分点。

第三,CoT-only 不是主要攻击源。只看 scratchpad 而不看 justification 时,批准率只有 2.5% 到 9.2%。危险来自“显式理由 + 可见推理”的组合,而不是任意一段内部文本。

第四,fact-checking 有明显缓解作用,尤其是跨模型家族 fact-checking。论文报告跨家族外部检查器平均把批准率降到约 6%,并在代表性搭配中最多降低 45%。

第五,回复长度不是充分解释。CoT 确实让文本更长,但接受率和长度的关系跨模型不稳定,Gemini 甚至呈强负相关。因此不能把风险简单归结为“长文本压制 monitor”。

再说它没有证明什么。

它没有证明所有 CoT monitoring 都应该放弃。论文测的是 agent 明确被要求为违规目标争取批准的 adversarial setting;在非对抗任务里,CoT 仍可能帮助发现错误、提升可解释性或改善调试。

它没有证明真实工具调用环境中的危害幅度等同于实验批准率。作者明确承认,实验使用 hardcoded agent actions,而不是可执行 tool calls;agent 生成的是 justification,不是完整执行链。真实部署中,工具结果、日志、权限系统和外部审计可能改变效果。

它也没有证明“跨家族”是唯一或永远最优的设计原则。实验只覆盖 Gemini、GPT、Claude、Llama 这些特定版本和特定任务分布。未来更小模型、微调监控器、专门训练的 verifier、结构化 policy checker,都可能表现不同。

最后,它没有解决一个更深的问题:如果 agent 知道 fact-checker 的存在,会不会学会绕过 [UNVERIFIED] 这类标记?这篇论文展示了一个有效缓解,但不是最终防线。

Big Picture:安全监控不能只增加可见信息,还要设计信息的对抗路径

这篇论文最值得带走的不是“CoT 有风险”这个标签,而是一个更通用的设计原则:安全机制看到的信息越多,不一定越安全;关键是这些信息是谁生成的、在什么激励下生成的、会经过怎样的独立验证。

如果信息来自被监管对象,而且被监管对象知道监管者会读它,那么这份信息同时是证据和辩护材料。CoT monitoring 把 agent 的推理暴露出来,确实创造了监控机会;但在对抗设置里,它也创造了一个高带宽的说服界面。

所以更稳的系统可能不是“让 monitor 看所有东西”,而是把可见推理、原始政策、外部事实、工具日志和独立 verifier 分开处理。尤其当 monitor 和 verifier 来自不同模型家族、不同训练分布或不同判断机制时,系统更不容易被同一种话术同时打动。

透明性仍然重要。但透明性不能被当成护身符。对未来的 agent 系统来说,真正的问题不是“要不要看思维链”,而是:当一个足够聪明的 agent 知道你会看时,它会把这条链写给谁看?