怎么系统性约束幻觉以及约束后仍然幻觉时怎么处理。这也是很经典的 Agent面试题。“在 Agent 系统里你们怎么约束大模型幻觉如果约束之后还是出现幻觉该怎么办”这个问题很容易答浅。不少录友上来就说“我会在 Prompt 里要求模型不要编不知道就说不知道。”这句话对不对对但太浅了。因为 Agent 不是普通聊天机器人。普通 LLM 幻觉最多是说错一句话Agent 幻觉可能会调错工具、传错参数、引用不存在的证据甚至执行了不该执行的动作。Agent 的幻觉问题不是只靠一句 Prompt 能兜住的。真正的工程解法要从输入、工具、证据、输出、兜底全链路约束。这篇文章我们就讲透这个问题目录先搞清楚Agent里的幻觉不止一种总体思路不要指望一层防线解决所有问题第一层Prompt约束只能管边界管不住全部第二层工具调用约束防止Agent乱行动第三层证据约束让回答有据可依第四层输出校验生成完不是结束约束之后还幻觉怎么办工程上怎么长期治理幻觉面试怎么答一、先搞清楚Agent里的幻觉不止一种面试官问Agent 幻觉怎么处理你不要一上来就讲 Prompt。先把幻觉类型拆清楚。因为不同类型的幻觉根因不同解法也不同。1. 知识幻觉这是最常见的幻觉模型编造不存在的事实。比如用户问“某个产品支持私有化部署吗”文档里没写模型却回答“支持并且支持 Kubernetes 部署。”这就是知识幻觉。它的问题在于模型把训练数据里的通用经验硬套到了当前业务上。2. 工具幻觉Agent 调用了一个不存在的工具或者把工具能力想象得比实际更强。比如系统里只有search_docs它却生成了一个query_database。这类幻觉比知识幻觉更危险因为它已经开始影响执行链路了。3. 参数幻觉工具是对的但参数是瞎填的。比如接口要求{ date: YYYY-MM-DD, limit: number}模型传了{ date: 上周五, limit: 十个}工具名没错但参数不符合 schema照样会出问题。4. 证据幻觉RAG 场景最容易出现这个问题。模型明明没有从文档里检索到相关内容却说“根据文档可知……”或者文档 A 只说了支持退款模型回答成支持 7 天无理由退款。这类幻觉最隐蔽因为它披着有来源的外衣。5. 行动幻觉这是 Agent 系统里最危险的一类。该确认的不确认该审批的不审批该只读的不小心变成写操作。比如用户只是问“帮我看看这个订单能不能退款。”Agent 却直接调用退款接口把钱退了。这就不是回答错了而是系统事故。Agent幻觉类型所以Agent 幻觉不能只说模型会编。更准确的说法是Agent 幻觉是模型在事实、工具、参数、证据和行动上产生了不受控的生成。二、总体思路不要指望一层防线解决所有问题约束 Agent 幻觉不能只靠一层。Prompt 要不要写当然要。但 Prompt 只是第一层边界提醒不是保险箱。真正的工程防线至少有四层Prompt约束告诉模型什么能做、什么不能做工具约束限制它能调什么工具、参数能怎么填证据约束要求回答必须有来源没有证据就拒答输出校验生成后再检查不能让结果直接裸奔给用户Agent幻觉四层防线这四层解决的问题不一样。Prompt 约束解决的是模型知道边界。工具约束解决的是模型不能乱行动。证据约束解决的是模型不能空口编事实。输出校验解决的是模型说完以后还要验收。面试里能说出这四层基本就比只会说 Prompt 的同学高一档。三、第一层Prompt约束只能管边界管不住全部Prompt 是必须要做的。但你要知道它的能力边界。Prompt 能做什么它能把系统规则说清楚不知道就说不知道只能基于工具结果和检索文档回答文档没有提到的信息不要补充高风险动作必须先确认输出必须包含来源或置信度比如系统提示词可以写你只能基于提供的工具结果和检索文档回答。如果证据中没有出现相关信息必须回答“当前资料中未提及”。涉及支付、退款、删除、发邮件等写操作时必须先向用户确认不能直接执行。这类 Prompt 很有用。它至少让模型知道边界。Prompt 管不住什么但是只靠 Prompt 管不住这些东西工具名是否真实存在参数类型是否符合接口要求检索文档是否真的支持回答高风险操作是否真的被拦截模型输出是否和证据一致为什么因为 Prompt 本质上还是自然语言约束。它是希望模型遵守不是系统强制执行。只说我在Prompt里要求模型不要幻觉面试官一听就知道你没做过生产。Prompt约束边界正确姿势是Prompt 负责声明规则工程层负责强制执行。四、第二层工具调用约束防止Agent乱行动Agent 和普通 LLM 最大的区别是Agent 会调用工具。所以 Agent 的幻觉很多时候不是说错而是做错。工具层要做的不是相信模型而是限制模型。1. 工具白名单不要把所有工具都暴露给 Agent。当前任务只给当前需要的工具。用户只是问知识库问题就不要给它退款、删除、发邮件这种写工具。这样即使模型想乱调也没有工具可调。2. 工具描述要写清边界工具描述不能只写search_order查询订单太粗了。应该写成search_order只读工具用于按订单ID查询订单状态、金额、时间。不能修改订单不能退款不能查询用户隐私字段。工具描述越含糊模型越容易误用。3. 参数 schema 校验工具参数必须有 schema。类型、枚举、必填字段、格式都要约束清楚。比如{ type: object,properties: { order_id: { type: string, description: 订单ID }, action: { type: string, enum: [query, refund_preview] } },required: [order_id, action]}模型传错参数不能直接执行。要么打回重试要么降级处理。4. Observation 必须来自真实工具结果这是一个很关键的点。工具返回结果不能让模型自己编。Agent Loop 里Observation必须来自真实工具执行结果而不是模型生成一句查询结果如下。否则工具调用就失去意义了。5. 高风险工具必须审批只读工具和写工具要分开。查询订单是一回事退款是另一回事。高风险动作至少要加用户二次确认权限校验金额/范围阈值人工审批幂等和回滚机制Agent 系统里最怕的不是模型不知道而是模型自信地执行错动作。工具调用约束链路五、第三层证据约束让回答有据可依很多人以为接了 RAG就不会幻觉了。这也是误区。RAG 只能给模型提供外部证据但不能保证模型一定忠实于证据。之前在 RAG落地最难的地方在哪 里讲过RAG 最难的不是某一个环节而是文档预处理、召回质量、生成忠实度三个环节级联放大。在 Agent 系统里证据层至少要做五件事。1. 先检索再回答涉及业务事实、产品规则、公司政策的问题不要让模型凭记忆答。必须先检索。模型训练数据里再懂也不一定懂你们公司昨天刚更新的退款规则。2. 强制引用来源回答里要能追溯到文档。比如根据《退款规则》第3节未发货订单支持原路退款。不是为了让回答看起来正式而是为了逼模型把结论和证据绑定。3. 检索不到就拒答如果检索结果为空或者相关性低就不要硬答。应该回答当前资料中没有检索到相关规则无法确认。这比编一个看起来合理的答案强太多。4. Rerank 降低噪声召回文档多不等于证据强。Top-K 拉得太大噪声文档混进来模型反而更容易被带偏。工程上常见做法是先粗召回再 Rerank最后只把最相关的证据给模型。5. 答案和证据做一致性校验生成之后再检查一遍回答里的关键结论证据里有没有出现数字、时间、限制条件是否一致有没有文档没提到但模型自己补充的内容这一步可以用规则也可以用一个轻量模型做 LLM-as-Judge。但注意Judge 也会错所以高风险场景不要只靠它要结合规则和人工审核。证据约束闭环六、第四层输出校验生成完不是结束很多系统把模型生成回答当成最后一步。这不对。在 Agent 系统里生成之后还要验收。1. 结构化输出校验能用 JSON就不要让模型自由发挥。比如客服工单分类输出应该是{ category: refund, confidence: 0.86, need_human: false, evidence_ids: [doc_102, doc_305]}这样才能校验字段是否缺失、枚举值是否合法、置信度是否低于阈值。自由文本看起来顺滑但很难管。2. 业务规则校验模型说可以退款系统还要检查订单是否存在是否超过退款期限金额是否异常用户是否有权限当前状态是否允许退款这些不能交给模型自由判断。应该由业务代码兜底。确定性规则别让概率模型拍脑袋。3. 敏感内容校验涉及医疗、法律、金融、隐私、公司内部数据的内容要做额外校验。比如是否泄露个人信息是否给出越权建议是否包含未经证实的结论是否把建议说成了确定事实这类场景里模型最好只输出建议不直接给最终决策。4. 多模型或双阶段审查复杂场景可以加一个 Reviewer第一阶段Generator 生成回答。第二阶段Reviewer 检查回答是否被证据支持、是否违反规则、是否需要人工介入。这就是 Reflection / Review 的思路。但别滥用。每加一层模型调用成本和延迟都会上升。简单 FAQ 没必要这么重高风险动作才值得上。七、约束之后还幻觉怎么办这是面试官最喜欢追问的地方。因为现实里没有 100% 不幻觉的 Agent。你不能说“我约束完就不会幻觉了。”这句话太假了。更好的回答是我承认幻觉无法完全消灭所以系统要有拦截、降级、记录和复盘机制。1. 先拦截出现这些情况不能直接返回给用户没有证据来源置信度低输出校验失败工具参数不合法高风险动作没有确认生成结果和证据冲突拦截不是失败而是保护系统。2. 再降级拦截之后怎么办看场景换更强模型重新生成只返回检索到的原始证据让用户补充信息转人工处理对写操作直接停止执行比如用户问一个政策问题模型没有证据支持那就只展示检索到的相关文档让用户自己看不要让模型总结。3. 高风险动作要回滚或审批如果幻觉影响的是写操作就不能只靠重新回答解决。比如错误发邮件、错误退款、错误删除数据这些都是动作层事故。所以高风险工具必须提前设计审批流幂等机制回滚机制操作日志权限隔离否则出了问题你连怎么恢复都不知道。4. 必须记录 trace只要出现幻觉就要能复盘。至少记录用户原始输入系统 Prompt检索到的文档工具调用参数工具真实返回模型最终输出校验失败原因trace_id没有 trace就没有复盘。没有复盘幻觉就会反复发生。Agent幻觉兜底流程八、工程上怎么长期治理幻觉线上兜底只能止血。真正要把幻觉率降下来还得做长期治理。1. 先归因分类每次幻觉事故都要归因。到底是Prompt 边界没写清工具描述太模糊参数 schema 太松RAG 没召回正确文档Rerank 把噪声排前面了输出校验没拦住不归因后面只能瞎改。2. 把事故样本加入 eval这是很多团队容易忽略的地方。出了幻觉不是改完 Prompt 就算完。要把这次失败样本加入评测集。以后每次改 Prompt、改工具、改 RAG都要跑一遍回归测试。否则你修好了这个 case可能又把另一个 case 搞坏了。3. 建立监控指标Agent 幻觉不能只靠用户投诉发现。至少要监控这些指标无证据回答率检索为空仍回答的比例工具调用失败率参数校验失败率输出校验失败率人工接管率用户纠错率这些指标不是为了好看是为了告诉你系统哪里在变差。4. 分场景设置不同安全等级不是所有场景都要同一套防线。闲聊场景可以轻一点。业务咨询要证据约束。写操作要审批。医疗、金融、法律要更严格很多时候只能给建议不能替用户做决定。安全等级要跟风险匹配。不要简单任务上重防线也不要高风险任务裸奔。九、面试怎么答面试官问Agent 系统如何约束大模型幻觉如果约束后还出现幻觉怎么办不要只说我会写 Prompt。要体现你知道 Agent 幻觉的类型、链路和兜底。参考回答思路我不会只靠 Prompt 约束幻觉。Agent 的幻觉不止是知识幻觉还包括工具幻觉、参数幻觉、证据幻觉和行动幻觉所以要分层处理。第一层是 Prompt 约束明确不知道就拒答、只能基于证据回答、高风险动作必须确认。但 Prompt 只是边界提醒不是强制机制。第二层是工具约束。当前任务只暴露必要工具工具描述要写清能力边界参数必须有 schema 校验Observation 必须来自真实工具返回。写操作要做权限控制、二次确认和审批。第三层是证据约束。涉及业务事实的问题必须先检索再回答回答要带来源检索不到就拒答。生成后还要做答案和证据的一致性校验避免模型把文档没有的内容补出来。第四层是输出校验。结构化输出要校验字段、枚举和置信度业务规则用确定性代码兜底高风险场景可以加 Reviewer 或人工审核。如果这些约束之后仍然出现幻觉线上不能直接放行要先拦截再根据场景降级换强模型、只返回证据、让用户补充信息、转人工写操作直接停止或走审批。同时保留 trace包括 Prompt、检索文档、工具参数、工具返回和模型输出。事后把事故样本加入 eval修 Prompt、工具 schema、RAG 召回和输出校验并监控无证据回答率、工具调用失败率、人工接管率等指标。这个回答的重点不是承诺Agent 不会幻觉。而是告诉面试官我知道它一定可能幻觉所以我有分层约束、线上兜底和事后治理。这才是生产系统的思路。学AI大模型的正确顺序千万不要搞错了2026年AI风口已来各行各业的AI渗透肉眼可见超多公司要么转型做AI相关产品要么高薪挖AI技术人才机遇直接摆在眼前有往AI方向发展或者本身有后端编程基础的朋友直接冲AI大模型应用开发转岗超合适就算暂时不打算转岗了解大模型、RAG、Prompt、Agent这些热门概念能上手做简单项目也绝对是求职加分王给大家整理了超全最新的AI大模型应用开发学习清单和资料手把手帮你快速入门学习路线:✅大模型基础认知—大模型核心原理、发展历程、主流模型GPT、文心一言等特点解析✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑✅开发基础能力—Python进阶、API接口调用、大模型开发框架LangChain等实操✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经以上6大模块看似清晰好上手实则每个部分都有扎实的核心内容需要吃透我把大模型的学习全流程已经整理好了抓住AI时代风口轻松解锁职业新可能希望大家都能把握机遇实现薪资/职业跃迁这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】