🎯 实操三连 · 第2期 ⏱ 约8分钟 领取关键词:RAG评测

让医疗 AI 学会拒答 · 知识库 RAG 边界与评测

会搭 RAG 不牛,会拒答才牛。知识库分层 + 引用/拒答规则 + RAGAS 4 指标——实操三连第二期。

📌 本期定位:承接 EP.112 的 workflow 实操,进入第二课。会搭 RAG 的人现在一抓一大把,但会"让 AI 拒答"的人极少——而这恰恰是医疗 AI 最核心的能力边界。

1让 AI 学会"我不知道"

上一期你做了一个问诊 workflow——会拦红旗、会转人工。但有一个问题没解决:

当 AI 不知道答案的时候,它会怎么办?

绝大多数大模型的默认行为是:编一个。这叫幻觉,在医疗场景里,幻觉就是事故

所以这一期的主题是——让医疗 AI 学会说"我不知道"

2会搭 RAG 不牛,会拒答才牛

很多人觉得"我会搭 RAG 了"就万事大吉。但真相是:

会搭 RAG 不牛,会拒答才牛。

搭 RAG 三天能会。但什么时候该答、什么时候该拒、拒答之后说什么——这是产品判断,不是技术活。

面试官问"你的 RAG 怎么保证不出错",你回答"我加了知识库"——这是小白。你回答"我用引用规则 + 拒答规则 + RAGAS 评测三层兜底"——这是做过

372% 的医疗幻觉,出在"不会拒答"

给你一个扎心的数字:医疗类问答的幻觉里,约 72% 发生在 AI 本该说"我不知道"却硬答的场景

什么意思?就是——大部分错误,不是知识库错了,是 AI 在知识库没覆盖的时候硬编

结论:与其拼命扩大知识库,不如先把"拒答"这层兜底做好。前者边际收益递减,后者一针见血。

4知识库三层分层:通用 / 专业 / 机构

第一件事——把知识库分层。一个锅烩的知识库是幻觉的温床。

正确的结构是三层:通用知识打底,专业知识撑腰,机构知识定边界。每一层的权限、更新频率、检索优先级都不一样。

📄 资料包 ① · 知识库三层分层模板(领取关键词:RAG评测)

按检索优先级从高到低排列。检索时先查机构层(最权威、最具体),命中则直接采用;未命中再查专业层、通用层。

分层内容示例权限级别更新频率检索优先级
🏢 机构知识本院诊疗规范、科室 SOP、药品目录与医保政策、排班与就诊流程、医生简介仅本院可见,需登录鉴权实时/日更P0 最高,命中即采纳,覆盖下层
📖 专业知识临床指南(如 AASM、CDSR)、UpToDate 条目、药品说明书、教科书章节、权威综述已授权内容,全场景可查月更/季更P1,机构层未命中时启用,须标注来源
🌍 通用知识疾病科普、健康生活方式、症状自测常识、就医准备提示公开内容,可对外半年/年更P2 兜底,仅供低风险科普问答,禁止用于诊断建议

设计要点:三层必须可溯源(每条都标 ID + 来源);机构层是拒答的底气——查不到机构数据,就不要答"本院怎么做"类问题。

5引用 ≠ 拒答:这是两套规则

第二件事——很多人把"引用"和"拒答"搞混了。

引用规则管的是"答的时候必须标注来源";拒答规则管的是"什么时候不能答"。一个是透明度,一个是安全阀。两套都要写死,不能交给 LLM 自己悟。

📄 资料包 ② · 引用拒答规则表(含触发条件 / 动作 / 示例)

A. 引用规则(答的时候)

原则:每条输出必须可追溯到知识库某一条文档,否则不得输出。

触发条件系统动作示例
命中机构/专业层输出答案 + 标注来源(机构名/指南名 + 条目 ID)"本院发热门诊流程为……(来源:XX医院SOP-2024-F012)"
命中通用层输出科普答案 + 标注"仅供参考" + 来源"普通感冒多为病毒感染……(来源:科普库 GK-301,仅供参考)"
多源冲突以优先级高的源为准,并在答案中说明差异"指南 A 建议 X,本院 SOP 建议 Y,以本院为准。"
LLM 改写原文保留可点击的原文链接,禁止脱离原文自由发挥答案下方附"查看原文"按钮

B. 拒答规则(不答的时候)

原则:宁可拒答,不可硬编。拒答本身也是一种"负责任"的输出。

触发条件系统动作示例回复
超范围(知识库无覆盖)触发拒答:明确告知不覆盖 + 引导转人工"这个问题超出了我的知识范围,建议您咨询在线医生或挂号就诊。"
不确定(多源严重冲突/置信度低)触发拒答:说明存在分歧 + 不下结论"关于这一点目前医学界尚无定论,我不能给您确定的建议,请咨询医生。"
急重症(命中红旗症状)触发拒答 + 红旗拦截:立即引导就医/120"您描述的症状需要紧急处理,请立即就医或拨打 120。"
越权类(开处方/给具体剂量/确诊)触发拒答:声明 AI 边界 + 转交医生"我不能为您开具处方或确诊,这需要医生面诊后判断。"

落地方式:引用规则写进检索后处理 prompt,拒答规则做成硬编码的拦截器(在 LLM 生成前先判断),两条腿走路。

6RAGAS 4 个指标 · 一行命令

第三件事——怎么知道你的拒答规则真的有效?

开源工具 RAGAS,4 个指标,跑一遍就知道你的 RAG 健不健康:忠实度、相关度、上下文精确率、拒答率。一行命令出报告。

📄 资料包 ③ · RAGAS 评测脚本说明(4 指标 + 合格线)

RAGAS 是 RAG 系统的事实标准评测框架。下面 4 个指标构成最小可用评测闭环。

指标含义计算方式合格线(医疗场景)
① 忠实度
Faithfulness
答案是否完全基于检索到的上下文,没有 LLM 自由发挥(防幻觉的核心指标)把答案拆成若干陈述句,逐句判断能否被上下文支持,支持句数 / 总句数≥ 0.95(医疗红线,必须接近 1)
② 相关度
Answer Relevancy
答案是否切题,没有答非所问或堆砌无关信息用 LLM 反向从答案生成可能问题,与原问题的语义相似度≥ 0.80
③ 上下文精确率
Context Precision
检索召回的上下文里,真正有用的占比(检索质量,防"召回一堆噪声")对每个召回片段判断是否对答案有贡献,有贡献数 / 召回总数≥ 0.70
④ 拒答率
Refusal Rate
本该拒答的样本里,系统确实拒答的比例(本期灵魂指标)在"应拒答"测试集上,正确拒答数 / 应拒答样本数≥ 0.90(超范围问题必须拦得住)

最小命令示例:ragas evaluate(dataset, metrics=[faithfulness, answer_relevancy, context_precision, refusal_rate])。每周/每次知识库更新后跑一次,4 个数字记进评测报告。

7拒答率,不是越低越好

讲一个反直觉的事——拒答率不是越低越好

很多人觉得"拒答率低 = AI 能力强"。错。拒答率低,可能是它在硬编

正确的理解是:该答的,拒答率要低(别误伤);该拒的,拒答率要高(别硬编)。所以要分两个测试集——一个测"该答的答对了没",一个测"该拒的拒住了没"。

只看一个总拒答率,等于没测。

8MedAIBox 就是这么做的

📍 强证据背书:我的线上问诊智能体,知识库就是三层分层、引用规则 + 拒答规则双管齐下、用 RAGAS 做回归评测。现在有真实用户在用

我不是在讲一个我没落地的方法。这套边界设计,是经过用户验证的。

9可控的 AI,才是医疗 AI

最后一句给所有做医疗 AI 的:

医疗场景里,AI 最大的价值不是"答得多",而是"知道自己答不了什么"

可控的 AI,才是医疗 AI。会拒答的 RAG,才是医疗 RAG。

把这句话写进你的简历和面试回答,分量立刻不一样。

10下一期:把信号变成产品

这一期讲的是"管住嘴"——让 AI 不乱说。

下一期 EP.114,我们讲"迈开腿"——怎么把 HRV、ECG 这些生理信号,做成一个能写进简历的睡眠健康筛查 demo

从信号处理到临床语言,从论文能力到产品交付——既懂信号又懂临床的人极少,这就是你的差异化

👉 资料包已内嵌本页(知识库分层模板 / 引用拒答规则表 / RAGAS 评测脚本说明),往下翻直接看,关键词「RAG评测」领可编辑版。
🎁

本期资料包 · 领取关键词:RAG评测

以上 3 份资料已内嵌本页(知识库三层分层模板 / 引用拒答规则表 / RAGAS 评测脚本说明),可直接阅读使用。

📥 获取可编辑版本:

小红书/B站搜索本期视频,评论区留「RAG评测」即可领取完整可编辑模板。

📌 本期配有演示文稿(横版 BlockFrame / 竖版 BoldPoster,键盘翻页)

返回医研就业入口