ARTICLE DETAIL

资讯详情

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

18 AI 一本正经地胡说八道,面试官问“幻觉怎么治“

18 AI 一本正经地胡说八道,面试官问“幻觉怎么治“ 面试官你的 AI 客服上线三个月有没有出现过胡说八道的情况候选人想了想偶尔会有。用户问一个我们知识库里没有的问题AI 会自己编一个答案。编的答案用户信了吗信了……后来用户照着操作出问题了投诉到我们这。那你怎么解决的我让 AI 回答的时候加上以上信息仅供参考。面试官沉默了。加免责声明不是治幻觉是甩锅。幻觉Hallucination是 AIGC 项目上线后最致命的问题之一。用户被 AI 骗了轻则觉得产品不靠谱重则照着错误指引操作出事。面试官问这个就是在看你对生产问题有没有敬畏心。先定义什么是幻觉幻觉就是模型生成的内容看起来合理但实际是编造的。它可能语法通顺、逻辑自洽、甚至引用了不存在的论文和数字但本质是错的。举例- 问XX 产品的退货政策是什么 → AI 编了一个看似专业的政策实际不存在- 问帮我查一下 2024 年 Q3 的财报数据 → AI 报了一个合理但错误的数字- 问这个 bug 怎么修 → AI 给了看起来像模像样的方案实际会引入新 bug幻觉最可怕的地方是合理。如果它胡说得前言不搭后语用户一眼就能识破。问题是它说得头头是道让人信以为真。幻觉从哪来三大根源根源一训练数据过时。模型的知识截止到训练完成那天。之后发生的事——新政策、新版本、最新股价——它根本不知道但你又问了它就只能猜一个合理的。根源二上下文不足。你问的问题模型掌握的信息不够回答。检索没召回相关内容、问题本身模糊、专业名词理解偏差——信息不足时模型不会说我不知道而是用常识脑补。根源三解码随机性。大模型生成是概率采样不是查字典。temperature 调得越高越容易选中低概率但看起来新鲜的词。同一个问题两次回答可能不一样其中一次就可能飘了。记住一句话幻觉的本质是模型在信息不足时用概率补全了它认为最合理的内容。它没有撒谎的动机它只是在完成句子。治理幻觉的四层防线很多人以为治幻觉就是换个更大的模型。错。大模型一样会幻觉只是编得更像真的。治理幻觉是系统工程四层防线第一层提示约束源头。在系统提示词里明确规则String SYSTEM_PROMPT 你是一个严谨的客服助手。 回答规则 1. 只能依据用户提供的资料或检索到的文档回答 2. 资料中没有的信息必须回答抱歉这个我暂时无法确认 3. 严禁编造产品信息、价格、政策、数据 4. 涉及数字、日期、条款时必须引用资料原文。 ;这一层成本最低但不能完全依赖——模型对规则的遵守是概率性的不是硬约束。第二层RAG 提供事实依据关键。幻觉的一大根源是信息不足那就在回答前把相关信息喂给它public String answer(String question) { // 1. 检索相关文档 ListDocument docs vectorStore.similaritySearch(question); // 2. 检索结果拼进 Prompt String context docs.stream() .map(Document::getContent) .collect(Collectors.joining(\n\n)); // 3. 要求模型看着资料说话 return chatClient.prompt() .system(只依据以下资料回答资料没有的就说不知道\n context) .user(question) .call() .content(); }RAG 是治幻觉的主力。它把凭记忆回答变成看着资料回答相当于考试从闭卷变成开卷。闭卷会编开卷照着念错误率大幅下降。第三层解码参数抑制。事实类任务把 temperature 调低OpenAiChatOptions options OpenAiChatOptions.builder() .withModel(gpt-4o) .withTemperature(0.2) // 低温度减少随机性 .withTopP(0.8) // 限制采样范围 .build();temperature0.2 意味着模型基本只选概率最高的 token编造的空间被压缩。代价是回答变得保守、缺乏创造性——但客服场景要的就是保守。第四层事后校验兜底。回答生成后做一道质检public String safeAnswer(String question) { String answer chatClient.prompt().user(question).call().content(); // 校验回答中的关键断言能否在检索文档中找到依据 boolean grounded verifyAgainstSources(answer, retrievedDocs); if (!grounded) { // 低置信度拒绝回答或转人工 return 抱歉这个问题我需要核实后再回答已为您转接人工客服。; } return answer; }简单的做法把回答 检索文档再发给模型问以下回答中的每个事实是否都能在上面的文档中找到依据逐一指出没有依据的部分。复杂的做法实体抽取 比对。生产环境常用前者。给一段可落地的校验 PromptString VERIFY_PROMPT 你是一个事实核查员。 下面是一段 AI 客服的回答以及它参考的资料。 【回答】 {answer} 【参考资料】 {sources} 请逐句检查回答中的事实性断言数字、日期、政策、条款、结论 是否都能在参考资料中找到明确依据。 输出 JSON {grounded: true/false, unsupported_claims: [无依据的断言1, ...]} ;grounded: false就触发兜底拒答、转人工、或者重新生成。这个校验调用一次小模型比如 GPT-4o-mini就够相比主回答的开销很小但能把幻觉拦在用户看到之前。怎么量化幻觉三个指标面试官问你怎么知道幻觉治理有效果你得拿数据说话。三个常用指标Faithfulness忠实度回答中的每个事实有多少能在参考文档中找到依据。这个数值高低跟任务强相关关键是给自己建一条基线——每次改动都拿同一套题对比。计算方式拿测试集的回答 文档让校验模型逐句打分。Answer Relevance答案相关性回答是否切题。答非所问也是幻觉的一种。可以人评也可以让模型评LLM-as-a-Judge。Context Relevance上下文相关性检索回来的文档有多少真正用上了。这个指标反映的是检索质量——如果检索回来的 Top-5 只有 2 条被回答引用说明召回有噪声该优化检索而不是优化生成。这三个指标搭一个评估流水线每次改 Prompt、换模型、调检索参数都跑一遍测试集对比。用数据驱动优化而不是凭感觉调参。这也是第 12 篇讲的评估体系在幻觉场景的具体落地。一个完整的面试回答框架把四层串起来就是完整的治理方案。值得一提的是四层不需要一次全上先上提示约束 RAG把最常见的问题解决掉再根据线上暴露出来的问题补低温和事后校验。治理效果要用评估集来验证不能靠感觉。另外面试官还可能追问几个细节提前准备好RAG 能 100% 消除幻觉吗不能。检索质量差没召回对的内容、资料本身错误、模型没遵循指令都会导致幻觉。RAG 是大幅降低不是消灭。所以第四层校验必须有。检索不到相关内容怎么办这是高频场景。方案设置最低相关性阈值低于阈值直接回答无法确认而不是硬答或者触发转人工流程。幻觉和编造有区别吗本质相同。行业里幻觉偏向指无意的错误生成编造偏向指明知不存在还生成。用户视角没区别——都是错的。 面试官视角的标准回答如果面试官问AIGC 项目的幻觉问题怎么解决先讲根因幻觉是模型在信息不足时用概率补全了它认为最合理的内容。三大来源训练数据过时、上下文不足、解码随机性。brbr我的治理方案是四层防线brbr第一层提示约束。系统提示词明确只依据资料回答资料没有就说不知道严禁编造。成本最低但只是概率性约束不能完全依赖。brbr第二层RAG 兜底。回答前检索相关资料注入上下文让模型看着资料说话。这是主力方案把闭卷考试变开卷。brbr第三层解码参数。事实类任务 temperature 调到 0.2 左右减少采样随机性。brbr第四层事后校验。回答生成后做一遍事实溯源关键断言没有文档依据的就转人工或拒绝回答。brbr补充一点RAG 不能 100% 消除幻觉检索质量、资料准确性都会影响。所以生产上必须保留事后校验这道兜底。至于效果好不好用评估集跑分对比别凭感觉。下一篇把视角从回答拉回数据——RAG 的数据管道。文档五花八门PDF 扫描件、Word、Excel 全都有入库前怎么解析、怎么切分、怎么清洗这一步做不好后面检索再花哨也白搭。
返回列表