ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

《Agent开发工程师成长指南》- 第3章 第3节:大模型为什么会产生幻觉?——AI为什么会一本正经地胡说八道?

《Agent开发工程师成长指南》- 第3章 第3节:大模型为什么会产生幻觉?——AI为什么会一本正经地胡说八道? 第一卷大模型 基础篇第3章 模型能力认知第3节大模型为什么会产生幻觉——AI为什么会一本正经地胡说八道《Agent开发工程师成长指南》系列教程引言如果说Context Window解决的是AI一次能够看到多少信息那么Context Management解决的是AI应该看到哪些信息而接下来还有一个更加麻烦的问题AI说出来的话到底是真的吗这是大模型最让人“又爱又恨”的能力之一。例如你问AI请介绍一下某个历史人物。AI可能回答这个人物出生于1872年 曾经担任某大学校长 1938年出版了《XX理论》……回答逻辑清晰语言流畅细节丰富甚至还可能给出参考文献但是你去搜索之后发现这个人根本没有担任过这个职位。甚至这本书根本不存在。这就是大模型领域著名的Hallucination中文通常翻译为幻觉也就是模型生成了看起来合理但实际上并不正确的信息。更加麻烦的是模型往往不会告诉你“我不确定。”而是“根据相关资料……”然后非常自信地给出一个错误答案。所以很多人第一次遇到这个问题都会问AI不是已经学了这么多知识吗为什么还会胡说八道答案其实非常重要大模型的核心目标不是“说真话”而是生成最符合上下文和语言模式的内容。理解这一点就真正开始理解为什么大模型会产生幻觉。一、什么是大模型幻觉先给出一个简单定义大模型幻觉是指模型生成了与事实不符、缺乏依据或者无法验证的信息并且这些信息通常具有较强的语言可信度。例如用户谁发明了互联网AI互联网由某某科学家于1983年独立发明。问题是互联网并不存在一个简单的“单一发明者”。这就是典型幻觉。幻觉通常具有三个特点1. 内容听起来合理2. 表达非常流畅3. 实际上缺乏事实依据所以语言可信度 ≠ 事实可信度这是理解大模型幻觉最重要的一句话。二、为什么模型会“自信地胡说八道”这是本节最核心的问题。很多人认为模型不知道 ↓ 所以回答错误实际上没有这么简单。大模型的生成过程可以简单理解成输入Context ↓ Transformer ↓ 预测下一个Token ↓ 继续预测 ↓ 形成完整回答模型本质上不断计算在当前上下文中下一个最可能出现的Token是什么例如北京是中国的____模型很容易预测首都因为训练数据中北京 中国 首都存在大量关联。但是如果问题是某个冷门企业2021年的海外收入是多少训练数据中可能根本没有准确答案。模型仍然需要继续生成。于是它可能根据语言模式 上下文 相关知识 统计关联组合出一个看起来合理的答案这就是幻觉产生的重要原因之一。三、大模型不是数据库这是很多新人最容易犯的错误。很多人把大模型理解成一个超级数据库认为训练数据 ↓ 全部存储 ↓ 用户查询 ↓ 精确返回实际上不是。大模型不是传统数据库。传统数据库SQL ↓ 查询 ↓ 精确记录 ↓ 结果大模型Prompt ↓ Context ↓ 概率计算 ↓ Token生成 ↓ Answer所以LLM不是简单地从数据库中“读取答案”而是在生成答案。这也是为什么知道相关知识与能够准确回忆事实不是完全相同的事情。四、为什么模型明明“不知道”却不直接说“不知道”这是幻觉最让人困惑的地方。例如用户 请告诉我 XYZ公司2027年的销售额。如果模型没有可靠数据。最理想的回答应该是我没有足够的信息判断。但是模型可能回答XYZ公司2027年的销售额预计为 126.8亿元同比增长17.4%。为什么因为模型的训练目标主要是生成合理的文本而不是判断事实真假模型学习的是什么样的文字 通常会出现在什么文字后面。因此“预计为126.8亿元”从语言模式上可能非常合理。但是合理并不等于真实五、Token预测为什么会产生幻觉假设模型正在生成乔布斯出生于____模型很容易得到1955年因为这是训练数据中高度稳定的模式。但是如果某个小众人物 某个冷门事件 某个具体日期训练数据非常少。模型可能无法找到一个高度确定的答案。但它仍然必须继续生成Token。于是低置信度知识 语言模式 上下文推断可能产生看起来合理的内容六、幻觉并不等于模型“笨”这是一个非常重要的认识。例如7B模型可能在某些专业问题上产生幻觉。但是70B模型仍然可能产生幻觉。甚至最新旗舰模型也无法保证0% Hallucination原因是幻觉并不是简单的模型智力问题。它还与知识覆盖 数据质量 问题难度 Context Retrieval 推理过程 工具调用 输出约束有关。所以更大的模型 ≠ 绝对不会幻觉更准确的是更强模型 → 通常降低部分幻觉但不能彻底消除幻觉七、幻觉主要可以分成哪几类企业Agent开发中可以把幻觉粗略分成五类。第一类事实幻觉模型生成错误事实例如错误人物 错误日期 错误公司 错误数据 错误历史事件这是最常见的一类。第二类知识幻觉用户问一个模型训练数据中几乎没有的信息。模型却强行回答例如某个内部企业政策某家公司最新内部数据模型可能并不知道。第三类引用幻觉这是非常危险的一种。模型可能生成论文名称 作者 年份 DOI URL看起来像真正的参考资料。但是论文不存在或者引用内容与论文不一致这就是Citation Hallucination第四类逻辑幻觉信息本身可能是真的。但推理过程出现错误。例如A B B C模型却错误推导C A这种属于Reasoning Error第五类工具调用幻觉Agent场景更加复杂。模型可能声称已经查询CRM。但实际上Tool根本没有成功执行。或者工具返回失败模型却继续说根据CRM数据……这就是Tool Hallucination八、为什么RAG可以降低幻觉这也是为什么企业Agent大量使用RAG假设模型本身不知道公司的报销制度如果直接问LLM ↓ 回答模型可能猜但是加入RAG企业知识库 ↓ Embedding ↓ Vector DB ↓ Retrieval ↓ 相关文档 ↓ Context ↓ LLM ↓ Answer模型不需要完全依赖自身参数中的知识。而是先找到外部证据再根据证据生成答案。这可以明显降低很多企业知识类问题的幻觉。九、但是RAG也不是“反幻觉神器”这里一定要注意。很多新人会认为RAG 不会幻觉这是错误的。RAG本身也可能失败。例如用户问题 ↓ Retrieval ↓ 召回错误文档模型拿到错误信息之后错误Context ↓ LLM ↓ 错误答案或者知识库根本没有答案但模型仍然继续回答于是RAG LLM仍然可能产生幻觉。所以RAG降低的是“知识缺失导致的幻觉”而不是消灭所有幻觉。十、RAG幻觉其实存在一条完整链路企业Agent中User Question ↓ Query Rewrite ↓ Embedding ↓ Retrieval ↓ Reranking ↓ Context ↓ LLM ↓ Answer任何一个环节出现问题Query理解错误Retrieval错误Reranking错误Context污染模型推理错误都可能导致Hallucination所以RAG工程的核心不是“把向量数据库接上”而是建立可靠的Grounding链路。十一、为什么“让AI只根据资料回答”仍然可能失败例如Prompt你只能根据下面的资料回答。 如果资料中没有答案 请说不知道。看起来已经非常安全。但模型仍然可能资料没有答案 ↓ 模型根据语言模式生成 ↓ 错误回答为什么因为Prompt只是约束而不是绝对保证所以企业系统不能只依赖Prompt来治理幻觉。还需要Retrieval Structured Output Validation Tool Verification Confidence Human Review十二、结构化输出可以降低一部分幻觉例如要求模型输出{ answer: ..., evidence: [], confidence: 0.0 }这样系统可以进一步检查answer是否存在evidence如果evidence []系统可以拒绝回答或者要求重新检索这就是从“相信模型”转变为“验证模型”。十三、Agent中的幻觉为什么更加危险普通聊天机器人产生幻觉错误答案可能只是用户被误导但Agent不同。Agent可以调用工具修改数据发送邮件创建订单执行SQL调用API所以Hallucination ↓ Wrong Decision ↓ Wrong Tool Call ↓ Real-World Action风险明显增加。例如用户把昨天的销售数据删除。Agent错误理解成删除本月销售数据。然后Tool Calling ↓ Database ↓ DELETE这就不是简单的AI说错一句话而是AI执行了错误动作。十四、为什么Tool Calling可以帮助降低幻觉例如用户今天公司销售额是多少如果模型自己回答今天销售额为2,381万元。这个数字可能是猜出来的但是如果系统规定销售数据 必须调用CRM Tool那么User ↓ Agent ↓ query_sales() ↓ CRM ↓ 真实数据 ↓ LLM ↓ Answer模型不再需要凭记忆猜数字而是通过工具获取事实。这就是Agent架构非常重要的一种能力Grounding through Tools十五、但是Tool也可能产生幻觉Tool Calling也不是绝对安全。例如Tool调用失败返回Timeout但是模型可能继续生成根据查询结果……这就是Tool Result Hallucination所以Agent必须让Tool Success和Tool Failure明确区分。例如{ success: false, error: CRM timeout }模型必须知道success false而不能继续假设查询成功。十六、如何系统性降低大模型幻觉企业级系统一般不是依靠单一技术。而是模型能力 Prompt RAG Tools Validation Memory State Monitoring共同治理。可以总结为六个方向。1 Grounding让模型基于真实文档数据库API工具结果回答。2 Retrieval不要让模型自己猜而是先找3 Verification对重要结果进行二次验证例如SQL执行结果计算结果API返回值4 Structured Output限制输出格式JSON Schema Enum减少自由生成空间。5 Guardrails加入输入检查输出检查敏感操作拦截权限控制6 Human-in-the-Loop高风险操作AI建议 ↓ 人工确认 ↓ 执行而不是AI ↓ 直接执行十七、模型为什么有时候应该“拒绝回答”这是企业AI非常重要的一种能力。很多人评价AI什么都能回答其实这是错误方向。一个真正可靠的AI应该知道什么时候可以回答以及什么时候不能回答例如知识库没有相关资料正确行为无法根据当前资料确定。而不是编一个答案。所以Good AI不应该是Always Answer而应该是Answer When Grounded十八、拒答也是Agent能力的一部分例如企业知识助手用户公司2027年的战略目标是什么知识库没有相关信息。Agent应该检索 ↓ 没有找到可靠资料 ↓ 拒答例如当前知识库中没有找到 关于2027年战略目标的可靠资料 因此无法准确回答。这比根据公司发展趋势 2027年战略目标可能是……更加可靠。十九、如何评价一个Agent的幻觉水平不能简单问这个Agent会不会幻觉应该建立指标。例如Hallucination Rate幻觉回答数量 ────────────── 总回答数量Groundedness回答是否能够被Context Knowledge Tool Result支持。Citation Accuracy引用是否真实相关准确Tool AccuracyAgent是否正确选择Tool正确填写参数正确处理结果Task Success Rate最终任务是否成功完成所以企业Agent评估不能只看回答是否流畅还要看是否正确是否有依据是否执行正确二十、幻觉与Context、RAG、Agent之间是什么关系现在把第3章前面三节串起来。第一节Context Window解决模型能看到多少信息第二节GPT为什么会遗忘解决信息为什么没有被正确利用第三节Hallucination解决模型为什么会生成没有依据的信息三者关系可以总结为Context ↓ 信息进入模型 ↓ Context Management ↓ Relevant Context ↓ LLM ↓ Reasoning ↓ Grounding / Verification ↓ Reliable Answer如果Context错误可能导致错误答案如果Retrieval错误可能导致错误答案如果Reasoning错误可能导致错误答案如果Tool结果错误也可能导致错误行动所以Agent可靠性是一个系统工程而不是单纯换一个更大的模型。二十一、一个完整企业案例企业知识Agent如何避免幻觉假设我们正在开发企业知识助手用户公司2026年差旅报销标准是什么错误设计直接User ↓ LLM ↓ Answer模型可能根据训练知识 语言模式回答国内出差每天补贴500元……但这个数字可能是假的正确设计首先User Question ↓ Query Understanding然后RAG ↓ 企业制度库 ↓ Retrieval找到《2026年差旅管理制度》然后Relevant Context ↓ LLM要求只根据资料回答同时要求给出依据最后Answer Citation如果没有找到则拒绝回答二十二、从“生成式AI”走向“可靠AI”这是整个Agent时代非常重要的一次思想转变。早期AI 能生成后来AI 能理解 能生成现在Agent 理解 推理 规划 工具调用 执行而企业真正需要的是Reliable Agent也就是理解 推理 规划 Grounding Verification 安全执行所以未来Agent工程师的核心能力之一不只是让AI更聪明而是让AI更可靠。面试题问题1什么是大模型幻觉参考答案大模型幻觉是指模型生成与事实不符、缺乏依据或者无法验证的信息而且这些信息通常具有较强的语言可信度。简单来说就是“说得像真的但实际上没有可靠依据”。问题2为什么大模型会产生幻觉参考答案因为大模型本质上是根据Context预测和生成Token而不是像数据库一样精确查询事实。当训练数据不足、Context缺失、Retrieval失败或者推理过程出现错误时模型仍然可能继续生成看起来合理的内容从而产生幻觉。问题3大模型是不是一个超级数据库参考答案不是。数据库主要通过查询返回已有记录而LLM主要通过概率生成机制产生Token。因此LLM不能被简单理解成一个事实数据库。问题4RAG能不能彻底解决大模型幻觉参考答案不能。RAG可以通过提供外部事实依据降低知识缺失导致的幻觉但RAG本身也可能出现查询理解错误、召回错误、排序错误、Context污染等问题。因此RAG只能降低部分幻觉不能保证零幻觉。问题5为什么Agent中的幻觉比普通聊天机器人的幻觉更危险参考答案普通聊天中的幻觉主要表现为错误信息而Agent能够调用工具并操作真实系统。如果模型产生错误判断可能进一步导致错误Tool Calling、错误数据修改、错误订单甚至错误业务操作因此Agent需要额外进行工具调用验证和权限控制。问题6企业Agent如何降低幻觉参考答案通常需要综合使用RAG、Tool Calling、Grounding、结构化输出、结果验证、Guardrails、State管理和Human-in-the-Loop等机制不能仅依赖Prompt或者单纯更换模型。问题7一个可靠的Agent是不是应该什么问题都回答参考答案不是。可靠Agent应该具备“有依据就回答、没有可靠依据就拒答”的能力。在无法获得可靠证据时明确告诉用户无法确定通常比生成一个看似合理但没有依据的答案更加可靠。本节小结这一节我们解决了一个非常重要的问题为什么AI明明看起来很聪明却会一本正经地胡说八道核心原因在于LLM 不是事实数据库而是Context ↓ 概率计算 ↓ Token预测 ↓ 内容生成因此语言流畅 ≠ 事实正确大模型幻觉主要可以表现为事实幻觉 知识幻觉 引用幻觉 逻辑幻觉 工具调用幻觉而进入Agent时代以后问题进一步升级Hallucination ↓ Wrong Reasoning ↓ Wrong Tool Call ↓ Wrong Action所以Agent开发工程师不能只关注回答好不好还必须关注有没有依据有没有正确检索有没有正确调用工具有没有验证结果有没有安全执行最终我们可以得到一个非常重要的Agent工程原则不要让模型“猜”。而应该需要知识 ↓ RAG 需要事实 ↓ Tool 需要历史 ↓ Memory 需要状态 ↓ State 需要高风险操作 ↓ Verification / Human Review最终LLM Context RAG Tools Memory State Verification共同构成Reliable Agent前两节我们讨论的是AI能看到什么以及AI为什么会忘这一节进一步解决AI为什么会说错下一节我们将继续深入一个非常重要的问题《第3章 第4节为什么同一个问题AI每次回答都不一样——大模型的随机性、Temperature与采样机制》届时我们将进一步理解Temperature Top-K Top-P Sampling Deterministic Output以及一个非常重要的Agent工程问题为什么生产环境的AI系统必须考虑“输出不稳定性”
返回列表