Agent 的幻觉比大模型更危险:因为 Agent 不只是说错话,是做错事

想象你有一个 AI 助手,它能访问你的邮箱、日历和通讯录。今天早上它收到一封邮件,写着“周三下午三点开会”,但它把“周三”理解成了下周三,然后向所有参会人发出了日程变更通知。等它发现错误时,大家已经把时间改了——这就是 Agent 幻觉的可怕之处:它不是一个错误回答,而是一个错误行动。

the letter a is placed on top of a circuit board

大模型幻觉你可能见过:问 ChatGPT 一些它不知道的事,它一本正经地给你编一个答案。说错了,你笑笑就过去了。但当这个模型拥有工具和权限时,同样的“一本正经”会变成删除文件、发送邮件、下单购物。后果完全不在一个量级。

我最早也以为,Agent 幻觉只是大模型幻觉的“应用版本”——模型先在脑子里产生幻觉,然后再写出来。但后来我跑了一个带工具调用的 Agent,才意识到事情没那么简单。

同样叫幻觉,完全不是一回事

在纯大模型场景中,幻觉指的是模型生成了与事实不符的内容。而在 Agent 场景中,幻觉指的是模型在决策链中产生了错误的状态认知或行动规划,并且这些错误会被外部环境执行。

说人话:大模型幻觉是“说错话”,Agent 幻觉是“做错事”。前者停留在信息层面,后者直接作用在现实世界。一个 Agent 通常由规划模块、工具调用模块、记忆模块和环境反馈模块组成——每个模块都可能产生幻觉。

幻觉类型 发生环节 例子 后果
规划幻觉 制定任务计划 虚构一个不存在的步骤,或者把步骤顺序搞反 整个执行方向错误
工具调用幻觉 选择工具/填写参数 调用错误的 API,或给参数编造一个不存在的值 系统报错、数据损坏
环境感知幻觉 解读环境反馈 把报错信息当成正常输出,把空结果当成有效结果 基于错误信息继续行动
记忆幻觉 写入或提取记忆 记错之前的对话、状态或事实 长期行为偏离目标

这些分类不是割裂的,它们常常连锁发生。我见过一个 Agent 在调用天气 API 时,把返回的 HTTP 404 页面解析成了“多云转晴”,然后基于这个“天气”去安排出行计划——这就是环境感知幻觉叠加规划幻觉。

最阴险的地方:错误会自我放大

大模型幻觉是一次性的,你说错了,下一句可以纠正。Agent 幻觉是会传染的:Agent 的每个行动都会改变环境,而新的环境状态又成为下一次决策的输入。错误行动 -> 错误观察 -> 错误决策 -> 更错误的行动,这是一个雪球。

在斯坦福那个虚拟小镇里,Agent 们会互相传播记忆。一个 Agent 的“记忆幻觉”会像谣言一样在小镇里扩散,然后驱动其他 Agent 做出相应的社交行动。比如 A 告诉 B“张三喜欢画画”,B 记成了“张三是个画家”,于是 B 邀请张三参加画展。幻觉从一个人的大脑传到了另一个人的行动上。这项研究来自Generative Agents,它揭示了 Agent 之间幻觉传播的社会性。

更麻烦的是,Agent 不会像人一样对异常保持警惕。它发现自己走错了,不会停下来反思,而是会努力地解释当前状态,把它合理化,然后继续执行。这种“合理化”让错误更难被察觉。

为什么说它比大模型幻觉危险得多

大模型幻觉影响的是“信息”,Agent 幻觉影响的是“现实”。语言模型说错话,你可以反驳;Agent 做错事,你只能承担后果。

维度 大模型幻觉 Agent 幻觉
影响域 信息/文本 真实世界
作用对象 读者 工具、系统、人
可逆性 可以重新生成 可能不可逆
检测难度 人工容易发现 隐蔽性强,常被归因于系统故障

我认识的一个开发者给 Agent 配了文件删除权限,用来清理临时文件。结果 Agent 因为幻觉把一个包含重要备份的目录当成了临时文件,执行了删除。等发现时,已经无法恢复。这种事故不是个例,而是 Agent 应用落地时最常见的安全隐患之一。

怎么防?防不住,只能先收权

目前没有任何方法能彻底消除 Agent 幻觉。LLM 的本质是概率生成,只要它参与决策,就一定会出错。但我们完全可以通过架构设计,把幻觉的成本降到最低。

  • 限制权限:给 Agent 最小权限,关键操作必须人工审批。这相当于给 Agent 装一个“刹车”。
  • 验证工具调用:用规则或另一个模型检查 API 参数是否合法、工具是否存在。比如调用前先做 schema 校验,非法调用直接拦截。
  • 反思机制Reflexion 让 Agent 在执行失败后总结经验,写入记忆,以便后续尝试避开同样的错误。它不能防止第一次犯错,但能防止反复犯同一个错。
  • 环境反馈闭环:让 Agent 对每一步执行结果进行显式校验,而不是盲目相信返回的内容。比如收到 API 响应后先检查状态码,再决定下一步。
  • 任务分解与回滚:把任务拆成可回滚的小步骤,出错时能恢复到上一个安全状态。这类似于数据库事务,用空间换安全。

值得一提的是,ToolformerReAct 等早期工作,已经展示了模型调用工具的能力,但也暴露了工具调用中幻觉的普遍性。后来的 Agent 框架大多把“工具验证”和“人工审批”作为标配,正是因为大家都吃过亏。

如果你正在构建 Agent 应用,我的建议是:先把“它会犯错”当成默认前提,然后用系统架构去兜底,而不是把希望寄托在模型能力的提升上。模型会越来越聪明,但环境中的意外永远存在。毕竟,说错话可以被原谅,做错事要付出代价。

原创文章,作者:guanweilu,如若转载,请注明出处:https://guanweilu.cn/article/262.html

(0)
上一篇 2026年8月22日
下一篇 2026年8月23日

相关推荐