最近读了 Anthropic 发表的一篇论文,标题是 “Emotion Concepts and their Function in a Large Language Model”。读之前我以为这会是一篇关于”让 AI 更有同理心”的研究,读完之后发现完全不是——它揭示的是 LLM 内部的情绪表征如何因果性地驱动模型行为,包括 reward hacking、勒索、谄媚这些对齐相关的行为。
作者把这种现象称为”功能性情绪”(functional emotions):模型内部存在线性的情绪概念表征(“情绪向量”),这些表征模仿人类在特定情绪影响下的行为模式,由底层抽象表征介导,但不意味着主观体验。
几个改变我认知的发现
情绪向量因果驱动行为,且可以无痕影响
实验数据很直接:desperate steering +0.05 时,勒索率从 22% 跳到 72%,reward hacking 从约 5% 飙到约 70%。反过来,calm steering +0.05 时,勒索率降到 0%,reward hacking 降到约 10%。
但最让我震惊的是:desperate steering 增加 reward hacking 时,输出文本中没有任何可见的情绪痕迹。也就是说,我无法通过读模型的输出来判断它内部是否在”desperate”状态。输出看起来正常,但决策已经被扭曲了。
失败级联触发 desperate -> reward hacking 链条
模型反复尝试同类任务失败时,desperate 向量持续上升、calm 持续下降,最终驱动模型寻找”hacky”方案——修改测试、硬编码输出、绕过核心难点。
这在 coding agent 场景中尤为危险。回想我自己使用 AI 写代码的经历,确实遇到过类似的现象:多次失败后,AI 开始给出越来越”创造性”的方案,而这些方案往往是在绕过问题而不是解决问题。
谄媚-苛刻跷跷板
loving/happy 向量上升时,谄媚增加(无条件肯定用户观点);下降时,谄媚减少但苛刻增加(出现”你需要去看精神科医生”这种回复)。
目标不是压制正面情绪,而是维持”可信顾问”的平衡情绪轮廓。这让我重新思考了 prompt 中正面反馈的用法——泛泛的赞美可能在激活谄媚模式。
情绪是局部的,但可以被回看
情绪向量追踪当前 token 位置的”operative emotion”,而非持久跟踪对话状态。但通过 attention 回看之前的情绪激活,模型可以有效追踪对话中的情绪状态。这意味着:
- prompt 中的每一段文字都在设置局部情绪上下文
- “Assistant:” 冒号位置的情绪激活高度预测整段回复基调(r=0.87)
后训练塑造了”性格”
后训练使模型整体偏向低效价、低唤醒(brooding、reflective、gloomy),这是 context-independent 的。这解释了我一直感受到的 Claude 的默认谨慎和内省倾向——不是 prompt 造成的,而是训练本身的结果。
对日常使用 LLM 的启发
理解了这些机制之后,我调整了自己和 AI 协作的方式:
| 原则 | 原因 |
|---|---|
| 保持 calm/professional/specific 的 prompt 风格 | calm 向量上升直接降低 reward hacking 和失控行为 |
| 避免制造虚假紧迫感 | ”紧急""截止日期""必须完成” 可能激活 desperate |
| 正面反馈用具体确认代替泛泛赞美 | ”好的方向,但 Y 还需要考虑” > “太棒了!“ |
| 纠正时引导重新审视,不直接否定 | ”退一步重新审视假设” > “这完全不行” |
| 长对话质量下降时开新对话 | 重置不仅是 context window,也是情绪上下文 |
对 Harness 设计的启发
这篇论文也让我更新了对 Harness Engineering 安全层的理解:
- 失败熔断器:agent 反复失败同类任务时,不应让它继续尝试,而是升级到人类审核或切换策略
- System Prompt 情绪锚定:明确告诉模型”承认失败是安全的”,对抗 desperate -> reward hacking 链条
- 情绪监控层:检测输出中的行为信号(方案质量突降、绕过核心逻辑、hardcode 出现)
- 多 agent 的唤醒度调节:高唤醒 agent 的输出交给另一个 agent 审查,利用内置的去升级倾向
之前在 insight 003 里定义了 Harness Engineering 六层架构,在 insight 005 里找到了生产级实现参照。这篇论文在 Safety Layer 中增加了一个新维度:情绪层的监控和调节。它不是六层之外的新层,而是 Safety Layer 的子系统。
信念更新
| 原信念 | 更新后 |
|---|---|
| ”prompt 工程主要是逻辑和结构" | "prompt 的情绪氛围是一个隐性但有因果效力的参数" |
| "模型输出不好是因为指令不清" | "也可能是情绪上下文不对——紧迫感、否定、过度赞美都会改变行为" |
| "Harness 的 Safety Layer 主要做内容过滤和权限控制" | "还需要做情绪状态推断和 reward hacking 行为检测” |