你有没有遇到过这种情况:AI Agent 每一步执行都毫无报错,代码跑通、检索成功、工具调用全部返回 200,逻辑链条严丝合缝,但最终交付的结果却和你真正想要的东西南辕北辙?
这不是 Bug,这是「隐性意图漂移」——Agent 开发中最容易被忽视、也最难治理的一类失效模式。
一、问题的本质:当「执行正确」不等于「结果正确」
传统软件的 Bug 很好识别:报错、崩溃、返回非 0 退出码,信号明确,修复路径清晰。
但 Agent 时代出现了一类全新的失效模式——隐性意图漂移(Latent Intent Drift):
- 工具调用全部成功,没有任何异常
- 每一步动作的逻辑都自洽,从 Agent 的视角看完全合理
- 最终产出从技术角度看"没毛病"
- 但就是不符合用户真正想要的东西
它有两种典型形态:
静态漂移:起点就理解错了
用户说"帮我规划一场低成本短途旅行",Agent 理解成"高端精品一日游",全程推荐五星级酒店和私人导览。每一步检索、安排都逻辑通顺,但从根上就偏了。
动态漂移:走着走着就偏了
用户要求"整理竞品文档,提炼商业化策略"。Agent 第一轮正常梳理竞品产品,持续执行中慢慢开始深挖竞品技术架构,越走越远,完全忘记最终要落地到商业化分析。
核心难点:没有任何工具侧的异常反馈。单纯依靠执行结果,完全无法识别漂移。
二、为什么这个问题在 Agent 时代被放大了?
三个因素叠加,让隐性意图漂移从"小问题"变成了"系统性风险":
1. 任务链路变长,漂移被指数级放大
简单问答场景下,理解错了就是错了,一眼能看出来。但 Agent 执行的是多步骤、长链路任务——初始理解的 10% 偏差,经过 5 轮工具调用的放大,最终结果可能偏离 80%。差之毫厘,谬以千里。
2. 工具反馈是"成功导向"的,不提供意图校验
Agent 调用搜索 API,返回 200 + 一堆结果 → Agent 认为"成功了"。但这些结果和用户意图相关吗?相关度有多高?是不是在往正确方向走?——工具不会告诉你。工具只告诉你"我执行了",不告诉你"执行得对不对"。
3. LLM 的自洽性幻觉,会掩盖漂移
当你问 Agent"你做的对吗",它倾向于给出肯定的回答。不是它在撒谎,而是它真的认为自己做的没问题——因为它的每一步推理在自身逻辑框架内都是自洽的。单 Agent 自反思本质上是"自己判自己的卷子",很难发现深层偏差。
三、五大治理策略:通用场景下的防漂移架构
代码场景有单元测试这个天然的"目标校验器",但通用 Agent 场景没有。以下五套策略,是从各类 Agent 架构(Perplexity、Devin、Claude Code 等)中提炼出的通用解法,按可靠性从高到低排列:
策略一:持久化目标契约 —— 把意图钉死在墙上
核心思想:把用户原始意图固化成一份不可被迭代修改的目标文档,Agent 每轮行动前强制对照。
这是代码场景「测试用例」在通用场景下的等价替代,也是工业界最常用、成本最低的方案。
执行范式很简单:
- Agent 收到请求后,第一步输出结构化目标契约(核心目标、成功标准、禁止事项、交付形式);
- 契约一旦生成,只能由用户修改,Agent 无权擅自改写;
- 每完成一轮子任务、每 N 步工具调用,强制触发对齐检查。
目标契约相当于给 Agent 装了一个"指南针"——不管它走到哪里,随时可以拿出来比对方向。
局限也很明显:如果初次契约本身就误解了用户意图,校验会失效。配套优化是:生成契约后主动向用户确认。
策略二:分层规划 + 进度锚点 —— 防止长任务逐步漂移
适合多步骤复杂 Agent(数据分析、深度调研、自动化流程)。
把任务拆成三层:
- 顶层:最终目标
- 中层:若干子任务(锚点),有先后依赖
- 底层:单次工具动作
核心规则:每完成一个子任务,进行一次跨层一致性校验——当前子任务产出,能否支撑顶层目标?如果连续多步都停留在同一个子任务,没有向下一步锚点推进 → 判断陷入局部细节、执行漂移。
Perplexity 的 Deep Research 模式就是这个思路——将查询显式分解为子主题,每个子主题是一个锚点,Agent 无法在一个子主题里无限发散。本质上是用规划结构来压缩漂移空间。
策略三:双 Agent 评审机制 —— 让另一个"人"来判卷
把 Agent 拆成两个角色:Worker 负责执行,Critic 负责评审。这是解决"自反思幻觉"最有效的方案。
Critic 的固定评审范式:
- 用户原始真实需求是什么?
- Worker 当前产出 / 当前行动是什么?
- 当前行动能否推动目标达成?
- 是否在处理和最终目标无关的信息?
- 是否存在过度展开次要问题、忽略核心诉求?
关键设计:Worker 和 Critic 使用独立上下文窗口。同一个模型自反思,很容易出现"闭环自洽幻觉";双 Agent 架构能显著缓解这个问题。
OpenAI Deep Research、各类深度调研 Agent 内部都内置 Critic 评审环节。Perplexity 的 L3 重排器 + 跨源验证阶段,本质上也是一种 Critic——只不过它评审的是检索结果的质量,而不是行动的意图对齐度。
策略四:信息增益评估 —— 量化判断"这一步值不值得走"
适用于检索、信息搜集类 Agent。
核心逻辑:每一次准备调用工具之前,评估本次获取的信息对于完成最终目标的预期收益有多大——高收益继续执行,极低收益则判定跑偏、终止这条分支。
一个非常实用的经验法则:
如果连续两轮检索,都没有让你对最终答案的置信度提升超过 10%,你大概率已经跑偏了。
这就是为什么 Perplexity 的 Deep Research 只有 3-5 轮精炼循环——不是做不到更多轮,而是更多轮的边际收益会快速递减,甚至开始引入噪声。
策略五:主动回溯澄清 —— 把判定权交还给用户
当模型高度怀疑存在意图偏差,但无法自行判定时,不继续盲目执行,主动整理分歧点,向用户发起确认。
这是所有机制失效时的兜底方案,也是最可靠的方案——因为只有用户自己,才真正知道自己想要什么。
四、合理拓展 vs 无效跑偏:五维判定框架
说了这么多治理策略,还有一个更根本的问题:怎么区分「合理的信息拓展」和「无效的执行跑偏」?
毕竟,有时候 Agent 看起来"跑偏"了,但实际是在做必要的横向验证。一刀切地收敛,反而会扼杀创造性发现。
我总结了五个判定维度,用同一个案例贯穿演示——用户需求是"分析竞品会员定价策略",Agent 正在搜索"竞品技术架构":
维度一:目标因果链距离
从当前信息到最终答案,中间要跳几步?每一步的因果关系牢不牢?
合理拓展:推理链 ≤ 2 跳,因果关系强
例:成本结构 → 成本影响定价底线 → 定价策略(2跳,因果强)
无效跑偏:推理链 > 3 跳或链条断裂
例:技术架构 → 技术选型影响开发成本 → 成本影响定价 → 定价策略(3跳,首环因果极弱)
维度二:边际信息增益
这一步新获取的信息,相对于已有知识,降低了多少不确定性?
三个代理指标:新事实覆盖率(<20% 偏低)、缺口填补率(<30% 偏低)、结论推进度(<10% 偏低)。
例:搜技术架构对定价结论的推进度 ≈ 0 → 增益极低 → 跑偏
维度三:子任务归属度
当前动作,能不能归属到规划中的某个子任务?归属强度有多高?
- 归属度 ≥ 0.7→ 明确归属,合理拓展
- 归属度 < 0.4→ 无归属,无效跑偏
例:技术架构和"套餐对比、价格梯度、促销策略、付费意愿"四个子任务的最高相似度只有 0.3 → 无归属 → 跑偏
维度四:收敛性趋势
整体来看,是在逼近答案,还是在发散?
一个直观指标:P/A 比率 = 本轮新问题数 / 本轮解答数
- P/A < 1:收敛中,解答速度 > 产生速度 ✅
- P/A > 1:发散中,越研究问题越多 ❌
经验法则:如果连续两轮检索都没让答案置信度提升超过 10%,大概率跑偏了。
维度五:意图层级匹配
当前方向,是在向用户的深层意图走,还是在表层之下钻牛角尖?
用户意图分三层:表层(说出来的具体需求)→ 中层(想解决的问题)→ 深层(真正想达成的目标)。
- 向上走(从表层向中深层延伸)→ 合理拓展,甚至是高质量的
- 向下钻(在表层之下继续细化)→ 无效跑偏
例:查定价 → 分析定价策略 → 推导定价逻辑(向上走,合理)
例:查定价 → 查定价页面用什么技术 → 查技术的开源实现(向下钻,跑偏)
综合判定:评分卡
把五个维度加权整合:
| 维度 | 权重 |
|---|---|
| 目标因果链距离 | 30% |
| 边际信息增益 | 25% |
| 子任务归属度 | 20% |
| 收敛性趋势 | 15% |
| 意图层级匹配 | 10% |
- ≥ 7.0 分:合理拓展,继续执行
- 4.0 - 7.0 分:可疑,触发 Critic 二次评审
- < 4.0 分:判定跑偏,终止当前分支
三类容易被误判的"合理拓展"
特别注意三种情况,表面像漂移,实际是高质量研究:
- 横向验证型:从侧面找证据增强结论可靠性
- 前提假设型:验证原始问题的某个前提是否成立
- 反例排除型:主动寻找反例证伪当前结论
它们的共同特点:Agent 能说清楚"为什么要搜这个",且理由和最终目标直接相关。如果说不清楚理由,只是"觉得可能有用"——那大概率就是真跑偏了。
五、工程落地:一个可复用的防漂移架构
把上面的策略整合起来,就是一个通用的防漂移 Agent 标准闭环:
1. 接收用户请求 ↓ 2. 生成【不可篡改结构化目标契约】→ 请求用户确认 ↓ 3. 基于契约拆分多层子任务规划(建立进度锚点) ↓ 4. 循环执行: ├─ Worker 执行动作、调用工具 ├─ Critic 独立执行对齐校验: │ a. 因果链距离是否过远? │ b. 信息增益是否充足? │ c. 子任务归属是否明确? │ d. 整体是否在收敛? │ e. 意图层级是否向上? └─ 三种分支: ✅ 一切正常 → 继续执行 ⚠️ 轻微偏离 → 自动修正方向 ❓ 无法确定 → 暂停,向用户澄清 ↓ 5. 所有子任务完成,对照契约最终验收 → 交付结果落地优先级建议:
- 先上目标契约(成本最低,收益最大)
- 再加分层规划(解决长任务漂移)
- 然后上 Critic 评审(提升检测准确率)
- 最后加信息增益评估(优化检索效率)
- 用户澄清机制始终保留作为兜底
六、总结
隐性意图漂移,本质上是一个信息不对称问题:用户的真实意图存在于大脑中,Agent 能拿到的只是用语言表达出来的一小部分。只要存在信息差,漂移就不可能 100% 消除。
但这并不意味着我们无能为力。
从 Perplexity 的五层架构,到双 Agent 评审机制,再到目标契约范式——这些方案的共同特点是:
不依赖模型"自觉"发现跑偏,而是用工程结构把漂移空间压缩到最小。
与其期待模型"顿悟自己错了",不如在架构层面让它根本跑不偏。
这可能就是 Agent 工程化最核心的哲学:
好的 Agent 架构,不是让模型变得更聪明,而是让模型犯错误的成本变得更高。