淘天二面被问:RAG怎么做Bad Case分析,面试者说:统计指标,比如准确率、召回率,通过这些指标发现问题。面试官笑了一下,没接话...
2026/7/28 0:07:35 网站建设 项目流程

我的一个本科的师弟,上周去面了阿里做大模型应用的,是二面。聊了大概半小时吧,聊了RAG架构,聊了chunk策略,还聊了向量数据库的选型。他自己感觉聊得还挺顺的。然后呢,面试官突然就抛出了一个问题:

“你们平时怎么做Bad Case分析的?”

师弟心里想,这不就是送分题嘛?张口就来:

“我们会统计一些指标,比如准确率、召回率,通过这些指标发现问题。”

说完他自己其实都有点心虚了——因为面试官笑了一下嘛,也没接话,然后就追问了一句:

“召回率低,你怎么知道是检索的问题还是排序的问题?”

师弟当场就卡住了。

后面呢,又被追问了两三个问题,基本上是层层递进地把他那个"是什么都知道一点,但没有一个说得深"的底裤给扒了个干净。面试完他跟我吐槽,复盘了很久,越想越觉得后背发凉。这个问题看起来挺简单的,但实际上呢,它是一道筛选简历水分的题。而他呢,交出来的是一份典型的"水分答案"。

今天就把师弟这次"社死现场"给整理成一篇文章,希望能帮大家避个坑吧。

✦ ✦ ✦

一、师弟的答案到底错在哪?

先说结论哈。这个回答不算错,但是它就是"正确的废话"。

“统计准确率、召回率,发现问题”——这句话本身确实没毛病嘛。但是呢,它只回答了"知道要看指标"这个问题,完全没回答"具体怎么做"这个更关键的问题。这就好比什么呢,就好比面试官问你"怎么排查一个线上bug",你回答"看日志,找问题"。听起来是对的,但等于没说一样。

那面试官真正想考察的是什么呢?其实就是要看你有没有去拆解过RAG这条链路,看你知不知道一个bad case可能出在哪个环节,以及看你有没有真正动手去排查过。而不是说停留在那个"整体指标"的上帝视角上面。

事后我俩一起复盘了一下,像这种回答方式呢,通常会暴露出这么几个问题。大家可以对号入座一下,做好扎心的准备哈。

1. 只谈指标,不谈拆解

RAG不是一个黑盒模型,它其实是一条链路。这条链路大概是这样的:查询理解,然后到检索召回,然后到排序或者重排,然后到上下文拼接,最后才是生成。这里面任何一环出了错呢,都可能导致最终的答案不理想。

而"准确率"“召回率"这类整体指标呢,它们只能告诉你"效果不好”,但是完全没法告诉你"到底哪里不好"。

面试官那一句"召回率低,你怎么知道是检索还是排序的问题",他其实是在问什么呢?他是在问你有没有分环节排查的方法论。而师弟当时的答案里呢,根本就没有"环节"这个概念,所以自然就被一问就倒了。

2. 潜台词里透露出"甩锅模型"的思维

事后想想哈,如果让师弟继续往下答的话,他大概率会说出"效果不好可能是模型能力不够"这种话。这个呢,其实就是排查bad case的时候最容易犯的一种懒惰归因。

真正做过的人都知道这么一个事儿,就是RAG系统里面大多数bad case呢,它其实是出在检索和知识库这个层面的,而不是生成模型本身的问题。你上来就怪模型,这个是没有工程经验的表现。

3. 没有提"人工看中间结果"这种最朴素的手段

指标是抽象的嘛,但是出问题的往往是具体的某一条数据。那真正靠谱的排查方式是什么呢?其实就是把改写后的query、召回的chunk、还有拼接进prompt的完整上下文,一步步地给打印出来,然后用肉眼去看到底是哪一步开始跑偏的。

这个呢,是最基本也是最有效的手段。但是师弟当时完全没提到这一点。

4. 没有具体案例

面试官后来问他"能举个例子吗",师弟举的例子非常空洞。他是这么说的:“比如用户问了个问题,系统答错了,我们就去分析。”——这种例子就等于没举嘛。具体错在哪里、怎么去验证、怎么去修的,一个都没有。

✦ ✦ ✦

二、如果重新回答一次,应该怎么说

复盘之后呢,我和师弟一起把"正确答案"给整理成了一套可以直接在面试里说出来的框架。这里分享给大家。

第一步:先说清楚"为什么要做",建立认知框架

“整体指标只能告诉我们效果好不好,但没法告诉我们坏在哪、怎么修。所以呢,我们会针对具体的bad case做逐环节的排查。”

就这一句话呢,就能让面试官知道你脑子里是有一条完整的RAG链路的,而不是把它当成一个黑盒。

第二步:讲清楚具体的排查顺序

RAG的排查呢,它本质上是一个"漏斗式"的过程。你需要按顺序去检查这些环节:

环节排查内容
查询理解query改写或者拆解有没有偏离原意
检索召回相关文档到底有没有被召回回来
排序/重排召回来了,但是排名够不够靠前,能不能进入送给LLM的那个上下文
上下文拼接最终喂给LLM的prompt内容是不是完整的,格式是不是正确的
生成模型有没有正确利用给到它的内容,有没有出现幻觉、答非所问的情况

这一步呢,是整个回答的核心。它能体现出你到底有没有真正定位问题的能力,而不是停留在那个"看指标"的表层。

第三步:讲清楚怎么归类、怎么排优先级

你要对每个bad case去打标签,比如说这是检索问题呢,还是排序问题呢,还是生成幻觉呢,还是知识库质量问题呢,还是意图识别错误呢。然后去统计一下各类问题的占比,优先去解决那些"高频而且影响大"的问题。

这个体现的是什么呢?这个体现的是一种工程化的思维。而不是说碰到一个就修一个的那种"救火式"排查。

第四步:讲一个具体、有细节的例子

这一步呢,是最容易拉开差距的地方。我举个师弟复盘时想到的真实例子吧:

用户问:“我今年请了几天年假,还剩多少?” 系统回答:“根据公司规定,员工每年可享受10天带薪年假。”

这是一个典型的答非所问。用户问的是"我个人还剩多少",他需要去查个人请假记录的。但是系统呢,把它当成了"公司年假政策"来检索了。排查下来发现什么呢?发现检索和生成环节其实都没问题,问题出在最上游的查询理解或者意图识别上面。系统没有去区分"知识库问答"和"需要查询个人数据的业务问题",这属于典型的路由缺失。

这种例子的价值在哪里呢?它的价值在于具体。具体到问题是什么、答案是什么、错在哪个环节、怎么去验证、怎么去修,一步都不能少。面试官问你"举个例子",他考察的就是你有没有真的动手做过,而不是编一个笼统的故事来糊弄。

第五步:提一句沉淀机制

“修复验证过的bad case呢,我们会把它沉淀成固定的回归测试集,防止后面换模型、调prompt的时候老问题又复现出来。”

这一句话虽然不长,但是它能体现出一种闭环意识。很多人排查完bad case就觉得结束了嘛,但是成熟的工程实践一定会去考虑一个问题,那就是"怎么去防止同样的问题再次发生"。

✦ ✦ ✦

三、写在最后

这次面试对师弟来说呢,其实是个挺好的教训。

很多看起来像是"送分"的问题呢,它恰恰就是筛选"真实经验"和"背过八股"的一个分水岭。

“统计准确率、召回率"这种回答呢,不是错,而是太浅了。它是一个合格的开场白,但如果没有后续的"分环节排查方法论"和"具体案例”,就很容易被面试官一句追问给打回原形。

如果你也即将面对类似的问题呢,不妨提前把自己遇到过的bad case在脑子里过一遍。它错在哪个环节?你是怎么去验证的?怎么去修的?修复之后你们有没有做什么防止它再犯的事情?

把这几个问题想清楚了,比背十个术语都管用。

学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%免费

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询