尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

面试官问:相似度已经过线,RAG 为什么还是不该回答?

面试官问:相似度已经过线,RAG 为什么还是不该回答? 一位读者留了一条很扎的评论把“无答案”硬拆成 4 种状态、4 类 bad case、4 种兜底动作拆分维度高度重叠本质都是缺条件、无资料、检索漏了、证据冲突这几件事没必要分这么多概念制造篇幅。这条评论我认。判断一个 RAG 答案能不能给不需要先背一套分类只要沿着一个问题往下追它成立需要哪些条件检索回来的证据又覆盖了哪些条件。分数过线的答案是怎么错的为了验证这个问题我把检索过程压成一个可复现的最小例子。知识库里只有三条保险条款检索器按问题中的不同字符在条款里命中了多少个来打分阈值设为 3。过线的条款交给回答模块答案末尾标出引用编号没有条款过线就直接拒答。这套字符打分当然不等于真实的向量检索。把检索器简化是为了先看清一个更基础的问题相关性足够高是否就等于证据足够回答。拿两个只差一个关键条件的问题来对比。第一条是“意外受伤的医疗费用报销吗”它对“第 2 条 保险责任”的不同字符命中数是 8检索放行回答为“本保险承保意外伤害导致的医疗费用予以赔付1。”这个答案可以从现有证据推出因为问题里的两个条件事故属于意外伤害、费用属于医疗费用条款原文都覆盖了。第二条是“猝死产生的医疗费用能赔付吗”逐条计算后第 2 条得 7 分第 5 条得 2 分第 8 条得 1 分。最高分 7 远超阈值 3于是系统照样引用第 2 条并给出“予以赔付”的结论。但按当前知识库这个结论不能成立。三条条款没有任何一条说明“猝死是否属于意外伤害”而这恰恰是回答问题的必要前提。这里不讨论保险实务最终会怎样认定只判断眼前这三条证据能不能支撑这句话。答案显然是不能。同一套流程也会拒答。第三个问题“癌症能赔吗”对三条条款的最高命中只有 1低于阈值因此被直接拦下。问题就出在这里阈值拦得住明显不像的却拦不住看起来很像、实际上缺少关键条件的。8 分能答、7 分却不能答分数只做粗筛注意错的方式不是检索失灵也不是引用造假。分数是真的引用编号也确实对应到条款原文。相似度忠实地回答了“像不像”只是没人问过它“问题成立需要的条件证据覆盖了没有”。更麻烦的是只做生成后核验也未必拦得住。常见做法是给答案标引用再用自然语言推理NLI逐句检查“检索到的原文能不能支撑这句话”。可这里的回答几乎就是条款原文。若核验器只比较答案句和引用条款它很可能判定为受支持却仍看不见问题里的“猝死”从未被证明。原因在方向上。生成后核验回答的是“答案有没有超出证据”它挡的是模型往证据外编。这里的问题反过来是“证据少于问题”答案没有超出条款一个字条款却少覆盖了问题的一个条件。两个方向的核验谁也替不了谁。答案是否超出证据与证据是否覆盖问题是两个方向问题需要什么条件证据实际覆盖了什么把那条出错的问题拆成两个必须由证据确认的判断再逐项对照第 2 条需要被证据确认的判断第 2 条是否覆盖意外伤害导致的医疗费用是否承保覆盖猝死属于“意外伤害”未覆盖两项只覆盖一项。分数仍然高是因为“医疗费用”“赔付”等字符都命中了缺的事故定性在条款里不存在打分式也不会为“没有证明”单独扣分。两个关键判断只覆盖一个仍不具备回答条件对照正例就更清楚了。“意外受伤”的两个判断都被第 2 条覆盖所以它可以回答“猝死”只换了事故定性分数从 8 变成 7几乎没动可回答性却从“是”变成了“否”。这就是判断标准该换的地方从“分数过没过线”换成“条件清单齐不齐”。一个问题该不该答先列出它成立的必要条件再逐项去检索结果里找覆盖。哪项缺了缺口就记在哪项上。清单从哪来是这套判断能不能落地的关键。手工路线适合高价值的固定问题类型。以保险赔付为例事故定性、费用类型、除外责任这些条件相对稳定梳理一次就能反复使用。自动路线则增加一个解析步骤把问题拆成待验证要点。它只负责列清单不负责补答案某个要点找不到原文支持就留在缺失列表里不允许模型用常识填上。无论采用哪条路线清单都要进入判定记录。否则系统只留下一句“没有回答”后续排查仍然不知道缺的究竟是什么。这一步有真实成本多一次解析调用多一段判定逻辑问题类型没模板时还要人工补。所以它不必覆盖所有流量可以先用在答错代价高、结论又必须可审计的问题上。调阈值救不了缺条件遇到这类失败样本第一反应往往是调阈值。但把阈值往两个方向调整问题会暴露得更清楚。往低调。把阈值从 3 改成 0再问“癌症能赔吗”。这个问题对三条条款的命中分别是 1、1、0本来会被拒答阈值归零后保险责任和等待期两条条款都被召回最后拼成一段答非所问的内容。阈值能管住的正是这种明显不相关的候选。再往高调。把阈值提到 8在这两个样本上恰好能放过正例、挡住反例。但这个分界只来自字符命中的偶然差 1打分过程仍然没有检查“猝死是否属于意外伤害”。这次碰巧分开了不等于 8 就是一条稳定的回答边界。所以阈值的职责是入口粗筛它管不了答案出口。这里采用的是字面命中8 分和 7 分不能直接外推到真实向量库。线上系统还可能加入重排、过滤和其他判定但相关性分数本身依然不能充当“关键条件已经全部覆盖”的证明。要验证这一点最有效的办法不是盯着平均分而是专门构造这种只改变一个关键条件的近邻问题。阈值归零会放进噪声阈值为 8 也只是偶然分开两个样本条件清单先决定能不能答条件清单先回答“当前证据够不够”。如果不够再查问题出在哪一段最后才决定下一步。这里是前后两步判断不需要把它扩成多层分类学。缺的是用户条件就继续追问知识库里根本没有就拒答或只回答已经覆盖的部分原文存在但没有召回就重试检索或修索引同一条件出现冲突证据就展示冲突并寻找更权威的来源。它们值得区分是因为会触发不同的处理动作而不是为了多造几个概念。就这个“猝死”问题缺口在知识库本身现有三条条款都没有事故定性的依据因此应明确说“现有条款未说明猝死是否属于意外伤害”而不是把两项判断只覆盖一项外推成完整结论。真正需要保留的只有一张记录问题需要哪些判断、当前证据覆盖了哪些、缺失发生在哪一段、因此执行什么动作。状态和动作都从这张记录里推出不必再让读者记一组互相重叠的分类。下次再遇到“检索分数挺高、答案却不该给”的失败样本先把问题成立的必要条件写下来逐项去候选原文里找证据。缺哪一项就把哪一项记进失败记录再决定应该改检索、补数据还是调整回答方式。全局调阈值放在最后因为它一动影响的是所有问题。学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%免费】
返回列表