← 返回列表

Agent Drift:给"用久了会变味"做把尺子

Agent Drift: Quantifying Behavioral Degradation in Multi-Agent LLM Systems Over Extended Interactions
Abhishek Rath
独立研究
2026-01-07
#paper #xray #multi-agent #drift #stability #monitoring

挠痒

多智能体 LLM 系统(LangGraph、AutoGen、CrewAI)的评估都集中在"上线时有多能干",没人系统看过"用三个月之后还行不行"。传统软件的退化有成熟的词汇和度量:内存泄漏、资源耗尽、配置漂移。LLM agent 的退化没名字、没尺子、没分类。

        [传统软件退化]             [LLM Agent 退化]
             |                         |
    内存泄漏/资源耗尽              ???(无名/无量)
             |                         |
    DevOps 标准实践              没有系统方法论
             |                         |
         可预测                   隐蔽 + 自强化
                                       |
                                  <-- 本文填这里

论文的路径:先给退化取名(agent drift),分三类(semantic / coordination / behavioral),做一把复合量尺(ASI,12 维),用仿真跑 847 个工作流证明 drift 普遍存在且加速,最后提出三种缓解方案验证有效性。

翻译

一句话

这篇论文把多智能体系统"用久了变味"的现象命名为 agent drift,给了分类学、一套 12 维度量框架(ASI),用仿真证明它中位 73 次交互就开始出现,并验证三种缓解策略最高可减少 81.5% 的漂移误差。

核心机制

                        Agent Stability Index (ASI)
                        =========================

  [Response Consistency 0.30]   [Tool Usage 0.25]
  |-- Semantic Similarity       |-- Selection Stability
  |-- Decision Path Stability   |-- Sequencing Consistency
  |-- Confidence Calibration    |-- Parameterization Drift
          |                              |
          +--------- ASI(t) ------------+
          |                              |
  [Inter-Agent Coord 0.25]     [Behavioral Bounds 0.20]
  |-- Consensus Agreement       |-- Output Length Stability
  |-- Handoff Efficiency        |-- Error Pattern Emergence
  |-- Role Adherence            |-- Human Intervention Rate


  ASI(t) = 0.30 * avg(C) + 0.25 * avg(T)
         + 0.25 * avg(I) + 0.20 * avg(B)

  范围: [0, 1],1 = 完美稳定
  窗口: 滚动 50 次交互
  报警: ASI < 0.75 连续 3 个窗口 = drift detected


  缓解策略:

  EMC (Episodic Memory     DAR (Drift-Aware      ABA (Adaptive Behavioral
   Consolidation)           Routing)              Anchoring)
  |                        |                      |
  每50轮压缩历史 ------> 按稳定度分配任务 -----> 用baseline样本锚定行为
  |                        |                      |
  解决: 上下文污染         解决: 协调漂移         解决: 语义漂移
  |                        |                      |
  效果: -67.1%             效果: -58.3%           效果: -70.4%
  |                        |                      |
  +------------ 三者组合: -81.5% ----------------+

ASI 像 agent 的年度体检——12 项体征(血压、心率、血氧...)归入四个器官系统(应答、工具、协调、行为边界),各系统加权平均出一个综合健康分。分数稳在 0.85 以上是健康,跌破 0.75 连续三次是"建议住院"。三种缓解方案相当于三种治疗路线:EMC 清理病史记录防止信息污染,DAR 调整科室分诊防止协调崩溃,ABA 用入院时的基线指标不断校准防止行为漂移。组合用药效果最好。

关键概念

Agent Drift(智能体漂移)

你在手机上调好了一个闹钟:每天早上 7:00 响。它每天准时响,你觉得一切正常。但假设每天它自动偏移 15 秒——第一周你根本感觉不到,一个月后它迟了 7 分半,三个月后完全不在你预期的时间响了。没人碰过设置,没有 bug,就是累积偏移。

Agent drift 就是这个:多智能体系统在长期运行中,行为质量和协调性逐步偏离设计意图,没有参数变更、没有显式故障,就是慢慢变味。论文分三类——语义漂移(说的话跑偏了)、协调漂移(配合散了)、行为漂移(自创新套路)。

自回归反馈环

你在空房间里对着墙喊一句话。回声传回来,你听到的声音带了点墙壁的共振。你根据听到的回声再喊一句,回声又叠加一层失真。几十轮下来,原始的话早已面目全非。

LLM agent 的多轮交互就是这个环:agent 的输出通过共享记忆变成下一轮的输入。一次稍微啰嗦的回复设下了"啰嗦"的先例,后续回复基于这个上下文继续啰嗦,越来越偏。这解释了为什么 drift 会加速——前 100 轮 ASI 每 50 轮降 0.08,300-400 轮降 0.19。小偏差自我强化。

Napkin Sketch

  [部署前]                         [部署后 - 以前的监控]

  Test --> Deploy --> Monitor       accuracy, latency, throughput
                        |                    |
                     出事了?  ------->  人工干预

  问题: 没人测 "500次交互后怎样"
  测试窗口: <50 turns (只覆盖 25% 的漂移)

  ====================================================

  [部署后 - ASI 框架]

  Test --> Deploy --> ASI Monitor (12 dimensions, rolling 50-turn window)
                        |
                   ASI < 0.75 x3?
                      / | \
                    EMC DAR ABA    <-- 自动缓解
                        |
                   ASI 恢复?
                    /       \
                  Yes        No --> 人工干预

  核心位移: 从"事后救火"到"实时体检 + 自动治疗"

位移:从出事了才知道,到 12 维度持续监控 + 阈值触发自动缓解。监控粒度从"结果对不对"扩展到"行为稳不稳"。

洞见

哦,原来……agent 的退化不是故障,而是正常运行的副作用——系统越忠实地把自己的输出当成下一轮的输入,就越快偏离原始意图,这是语言模型的自回归本性在时间维度上的展开。

以前我们把 agent 质量下降归结为"偶发性 bug"或"上下文太长导致注意力稀释"——这些解释都把问题归因于系统的某个缺陷需要修复。但论文揭示的是一个更深层的机制:LLM 天生是自回归的,它的每个输出都是基于历史分布生成的,而历史分布在多轮交互中会被自身输出持续污染。这不是 bug,这是 feature 的副作用。换句话说,一个"运行良好"的 agent 系统,其内在机制就包含了自我强化偏差的倾向——准确率越高的 agent,其输出越可信,其输出被下一轮采纳的概率越高,自回归反馈环越强,漂移越快。

这改变了一个关键认知:监控的对象不应该只是"结果对不对",而应该包括"行为稳不稳"。一个在每个单独任务上看起来都表现合理的 agent,可能正在经历缓慢的全局漂移——就像闹钟每天偷偷偏移 15 秒,每一天都看不出来,三个月后已经完全失准。ASI 框架的本质是把这个"不可见的累积偏移"变成可见的实时信号。

博导审稿

选题值得做。跑过多智能体系统的人都体感过这个问题——agent 用着用着就"不太对劲"了,但工业界不会用这种方式系统性地命名和量化它,学术界也没人认真碰过。所以选题的价值更像是"给实践者的直觉找到了学术锚点"——一个命名权的贡献,加一个度量框架的草案。

方法上有硬伤。整篇论文的实证基础是仿真,没有一个真实生产系统的数据。 "53.2% 的金融分析系统在 500 次交互内出现漂移"——这个数字是仿真模型生成的,不是从野外观察到的。仿真证明"你的仿真模型会产生漂移",不等于证明"真实系统会产生漂移"。论文的方法论部分对此是透明的,但结果和结论部分的修辞力度像在报告实证发现,这个落差会误导读者。

ASI 的 12 维度设计合理,但四组权重(0.30, 0.25, 0.25, 0.20)像是拍脑袋的。为什么响应一致性 0.30 而不是 0.35?没有消融实验证明权重选择的合理性。缓解策略在各 50 个仿真工作流上测试——样本太小,而且你控制了仿真参数又控制了评估标准,p<0.001 在这个设置下几乎没有信息量。

写作功力还行。引言的 Master Router 例子有效,三类漂移的定义清晰。但论文整体在用仿真结果的修辞重量去承载本应由实证数据承载的结论。

判决:weak reject。 命名贡献和 ASI 框架草案是有价值的学术基建,但零实证验证让所有定量声称悬在空中。如果有哪怕一个真实生产系统的对照数据——即便只是一个 case study——这篇论文会强两个档次。

接线

迁移:把 ASI 降维成 PAI 的轻量级 agent 健康度信号。OpenClaw 已有 PreToolUse/PostToolUse/Stop hooks,数据完全够用。不需要 12 维,选 3 个代理指标就能覆盖核心漂移类型:输出长度变异系数(语义漂移代理),tool 选择分布的 KL 散度(行为漂移代理),人工干预/override 率(协调漂移代理)。滚动 50 个 session 窗口计算这三个数,任意一个超过 2 倍基准标准差就触发警报。实现成本:一个 PostToolUse hook + 一个每日 cron 跑统计脚本,数据源是已有的 session logs。

混搭:把 ABA(基线锚定)机制嫁接到 context-inject 插件的 Letta 召回路径上。当前插件直接注入最近的 archival memory——但如果这些记忆本身已经漂移(某次啰嗦 session 的输出被记入),注入会放大偏差。修复:在 OV/Letta 召回结果中混入"早期高质量交互样本"作为对照锚点,让 agent 在高质量基线和最近上下文之间做平衡,而不是纯粹基于最近历史生成。这正是 ABA 的逻辑——不是清除漂移,而是用锚点对抗漂移。

反转:我把 PAI 的 daily→weekly 记忆压缩看成"整理"——人工触发、语义驱动、质量优先。但论文说 EMC 的真正价值不是"整理得好不好",而是"频率够不够"。漂移的加速机制意味着:每 50 轮不压缩一次,后续的压缩需要处理的偏差就会翻倍。PAI 目前的频率(用户说"整理记忆"才触发,可能间隔数周)远低于抑制漂移所需的频率。这揭示了一个盲区:我以为低频高质量的压缩优于高频机械压缩,但对于漂移抑制来说,频率本身就是关键变量,而不只是压缩质量。

💬 评论