跳到正文

AI 幻觉

AI Hallucination

初级通用

AI 幻觉(AI Hallucination)是 AI 把缺少依据或与事实不符的内容写成事实的现象。理解它能帮你检查 Agent 生成的代码和说明,比如识别一个看起来合理、实际却不存在的接口字段。

你可能会说:「我想让 AI 写代码时,别把没查到的接口和字段说得像真的一样。」

动手看看

接口助手 · 核验工作台虚构示例:任务 API v1,以右侧完整字段表为准。
AI 生成的接入说明
GET /v1/tasks
autoRetry: boolean
核验失败:字段不存在
nextCursor: string | null
核验通过:与文档一致
接口文档 · v1
响应顶层字段(完整)
items: Task[]当前页的任务列表。
nextCursor: string | null下一页游标;没有更多任务时为 null。
来源:示例接口契约
文档依据已隐藏只看左侧措辞,你能判断它是否真实吗?
选择待核验字段
显示文档依据
标记核验结果

切换待核验字段,对照右侧文档,再打开核验标记。也可以悬停或用 Tab 聚焦说明卡片;视觉强调不代表内容可信。

AI 不仅编出了 autoRetry,还肯定地解释了自动重试行为。示例的完整响应契约没有这个字段,这就是把无依据的内容写成事实。

要点

  1. 1

    说得通不等于有依据

    AI 会根据当前信息生成回答,但流畅的表达不能证明内容经过核实。比如你只给了支付需求,它可能顺手写出某个接口字段名;字段看着合理,却未必存在于你使用的接口中。

  2. 2

    代码和解释都可能出错

    幻觉不只是一段错误的科普。Agent 可能引用不存在的函数、编造配置项,也可能在解释报错时认定一个未经确认的原因。因为这些内容常混在正确部分里,所以你需要逐项核对关键事实。

  3. 3

    把核对接进工作流程

    我们可以让 Agent 标出依据来自哪里、哪些只是推测,再用项目代码、官方文档或实际运行结果核对。这样做不能保证它不再出错,但能让未确认的信息在进入代码库前暴露出来。

容易混淆的地方

AI 幻觉说的是输出内容缺少依据或与可核查事实不符,不等于程序运行时报错:后者要结合调用栈和复现步骤排查。也别把按要求虚构的产品故事算作幻觉,因为你本来就没把故事当成事实。如果错误内容是恶意输入诱导出来的,还要另外排查提示词注入。

什么时候用

适合用

  • Agent 根据一段需求写第三方 API 接入代码时,用这个概念提醒自己核对接口、参数和返回字段。
  • AI 总结项目代码或报错原因时,用它区分已从文件和日志确认的事实,以及模型自行推测的部分。
  • AI 为产品页面生成带有数据或出处的文案时,用它检查这些说法能否找到可靠依据。

不适合用

  • 你正在让 AI 创作一个明确标为虚构的游戏世界设定,这时重点是故事是否自洽,而不是核查事实。
  • 网站请求失败且已有错误信息和调用栈时,先按报错与调用栈定位问题,而不是把运行故障称为 AI 幻觉。
  • 你怀疑网页内容在诱导 Agent 忽略原任务时,重点排查提示词注入及工具权限,不能只按幻觉处理。

练一练

Agent 为你的后台写了支付接入代码,使用了一个你没见过的返回字段,并说它是接口标准字段。你接下来怎么判断?

让 AI 帮你做

请检查你生成的支付接入代码中所有外部接口、参数和返回字段。逐项说明依据来自我提供的文件、你读取的文档,还是推测;无法确认的地方直接标明,不要补造细节。修改后给出可运行的验证方法。

接下来学什么