想象你是一位语文老师,给学生出了一道开放题:“请描述你最喜欢的一个季节,并说明理由。”学生的答案五花八门——有人写春天,有人写秋天,甚至有人从“季节”联想到“人生的四季”。没有标准答案,你怎么判断学生有没有“答在点子上”?你想到一个聪明的办法:遮住题目,只读正文,反推“这篇作文大概率是在回答什么问题”。如果从“桂花、落叶、秋风”能轻松猜出题目是“最喜欢的季节”,说明作文扣题;如果读完整篇都是“红烧肉的二十八种做法”,完全猜不出原题,那多半跑题了。 这正是 RAGAS 框架中 Answer Relevance(答案相关性)指标的底层逻辑。当我们让大模型在检索增强生成(RAG)系统中回答用户问题时,如何判断答案有没有“答到点子上”?RAGAS 的做法与那位语文老师如出一辙——让大模型从答案反推出若干“可能的问题”,再计算这些反推问题与原始问题的语义相似度,取平均作为相关性得分。分数越高,答案越扣题;分数越低,答案越“答非所问”。 这篇文章,就以这位“逆向猜题的语文老师”为导游,带你从零认识 Answer Relevance:它是什么、怎么算、如何落地,以及有哪些坑要避开。
对 AI 从业者而言,Answer Relevance 是 RAG 系统质量评测的三大核心指标之一。掌握它,你就能用数据回答“模型到底有没有答在点子上”,为系统迭代提供硬指标。
可视化演示
展示RAG系统的检索-生成-评测三要素流程,以及RAGAS框架的忠实度、相关性、精确率等核心指标。
本节配有交互动效(进入视口后自动加载,约 3KB)。
RAG三要素评测流程 问题检索:Query→检索相关文档上下文 生成回答:基于检索上下文生成答案 三要素评估:检索质量+生成质量+端到端 RAG = Retrieve(ctx) + Generate(ans) + Eval 检索与生成质量共同决定RAG效果
指标定义价值
语文老师批改开放题的第一步,不是逐字看对错,而是先判断“这篇作文有没有扣题”。有的学生文笔优美却写了别的题目,有的学生大白话却句句踩在点上。在打“对错分”之前,老师心里其实先有一个“扣题分”。这就是答案相关性(Answer Relevance,简称 AR)这个概念的雏形:先不问“答得对不对”,只问“有没有答在点子上”。
在 RAG(检索增强生成)系统中,用户提出问题 Q,系统结合检索到的资料生成答案 A。Answer Relevance 评估的正是 A 与 Q 之间的“扣题度”。它与两个容易混淆的指标相互独立:忠实性(Faithfulness)检查答案是否忠于检索资料,上下文相关性(Context Relevance)检查检索资料是否配得上问题。一个答案可以既扣题又错误,也可以忠实却跑题——就像一篇作文可以紧扣题目却通篇胡说八道。
RAGAS 将 Answer Relevance 设计为“无监督指标”:不需要人工撰写标准答案,只需要问题、答案和一个大模型。它的核心洞察是:直接比对“问题”与“答案”的语义往往很困难,因为两者句式、详略差异巨大;不如借力打力——让模型从答案反推问题,再比对“反推问题”与“原始问题”,从而绕开“问题与答案形态不同”的鸿沟。
就像语文老师先打“扣题分”再打“文采分”,Answer Relevance 先回答“有没有答在点子上”,再交由忠实性等指标回答“答得对不对、全不全”。这一维度划分,让 AI 评测第一次有了人类评卷那种“分项打分”的精细结构。
- 符号身份
AR是 Answer Relevance 的缩写,代表“答案相关性”这个评测分数。 - 入参含义
A是被评测的答案,Q是用户提出的原始问题,括号表示该分数由二者共同决定。 - 取值区间
∈ [0, 1]表示分数归一化到 0 到 1 之间,越接近 1 越扣题,越接近 0 越跑题。
逆向问题生成
老师看不透学生的心思,但她可以做一件巧妙的事——把答案拿在手里,遮住题目,反过来猜“这答案到底是在回答哪道题”。猜得越准,说明答案越没有跑题;猜不出来,说明这篇作文写到了九霄云外。这个“遮题猜题”的动作,就是 RAGAS 逆向问题生成(Reverse Question Generation)的灵感来源。
在技术实现上,RAGAS 把答案 A 单独交给一个大语言模型(LLM),提示它“请生成 N 个该答案可能回答的问题”。比如答案是“注意力机制是一种让模型在处理序列时动态分配权重的方法”,模型可能反推出“注意力机制是什么?”“什么是动态权重分配?”等多个问题。注意关键细节:输入里只有答案,没有原始问题。如果同时给了原始问题,模型就会“抄答案”,逆向生成就失去了意义。
这一步的工程细节直接影响评测质量:其一,采样数量 N 是超参数,RAGAS 常见默认值是 3,N 太小则分数波动大,N 太大则调用成本上升;其二,生成时要鼓励问题多样性,覆盖答案的不同侧面,而不是反复生成同一个问题;其三,逆向生成的质量决定了整个指标的上限——就像老师猜题能力再强,也要建立在“答案本身信息量充足”的基础上。
逆向生成的质量决定了这个“扣题分”的上限。就像老师猜题能力再强,也要建立在“答案本身别太离谱”的基础上——如果答案是“哈哈哈”三个字,任何老师都没法猜出它在回答什么。
- 集合符号花括号表示“一组问题”,
q_i'表示第 i 个逆向生成的问题,右上角撇号用于区分“生成的问题”与“原始问题”。 - 生成器含义
\mathrm{LLM_{gen}}表示“负责逆向生成的大语言模型”,它只看到答案,不看到原始问题。 - 输入来源
A是被评测的答案文本,整个式子的含义是“从答案反推出 N 个可能的问题”。
语义相似度计算
老师猜出若干“可能的题目”后,怎么判断哪道题与真实试题最像?她靠的是语感;机器靠的则是“语义向量”。所谓语义向量,就是先把文本通过嵌入模型(Embedding Model,如 BGE、text-embedding 系列)转成一串数字,让“意思相近的句子”在数字空间中方向也相近。
有了向量,就能用数学工具度量“像不像”。最常用的是余弦相似度(Cosine Similarity):把两个向量想象成从原点出发的两条射线,夹角的余弦值越接近 1,说明两条射线方向越一致,文本语义越接近。这个指标对文本长度不敏感——答案写得长或短、句式怎么变,都不影响“方向是否一致”,就像老师判断扣题时不会被华丽辞藻带偏。
在 Answer Relevance 的流程中,系统会逐对计算:把每个逆向问题 q_i' 与原始问题 Q 的向量做余弦相似度,得到 N 个 0 到 1 之间的分数。相似度高,说明答案确实是奔着这个题目来的;相似度低,说明答案写的是另一个方向。
这一过程用大白话讲,就是老师在心中把猜到的题目和真实题目做“语感比对”:语感越一致,说明答案确实是奔着这个题目来的;语感越不一致,说明答案写偏了。
- 分子点积
\mathbf{q} \cdot \mathbf{q_i'}是两个向量的点积,把两个向量对应位置的数字相乘再求和,衡量“方向重叠程度”。 - 分母模长
\lVert \mathbf{q} \rVert和\lVert \mathbf{q_i'} \rVert分别表示两个向量的长度,用来把点积“归一化”,抵消文本长度的影响。 - 整体含义
\cos(\theta)是两向量夹角的余弦值,取值在 -1 到 1 之间;对语义向量而言,实践上通常在 0 到 1 之间,越接近 1 越相关。
评分公式解析
有了 N 个“语感分”,怎么汇总成一个总分?老师的做法简单实用——取平均。RAGAS 的 Answer Relevance 最终分数,就是 N 个余弦相似度的平均值。这个平均值把“每一处是否扣题”揉进一个 0 到 1 的分数里,方便横向对比不同系统、不同版本。
假设系统从答案中逆向生成了 3 个问题,与原题的相似度分别是 0.95、0.61、0.12,那么 AR 就是三者之和除以 3,约等于 0.56。这个分数会清晰地告诉你:答案主体信息相关,但存在明显的离题内容,需要优化。值得注意的是,均值策略有一个特性——它如实反映“局部跑题”:哪怕只有一个逆向问题与原题完全无关,它也会把总分显著拉低,就像一篇作文只要有一段明显跑题,老师对整篇的“扣题印象分”就会大打折扣。
实践中有几个细节需要注意:一是文本向量的余弦值通常落在 0 到 1 之间,所以 AR 一般也落在这个区间,不会出现负数;二是个别实现会用指数变换拉大分数区分度,或者取 N 个相似度中的最大值以保留“最相关”的证据,但主流的 RAGAS 实现默认使用均值;三是逆向问题中混入“万金油式”问题(比如“这是什么?”)时,均值会被异常值干扰,因此往往需要结合人工抽检。
平均值策略像极了语文老师打“扣题印象分”的方式:一篇作文只要有一段明显跑题,整体扣题印象就会打折。均值把局部的跑题如实反映到总分上,不掩盖问题。
- 求和符号
\sum_{i=1}^{N}表示从第 1 个到第 N 个逆向问题逐个累加相似度,把 N 个“语感分”汇成总和。 - 平均系数
\frac{1}{N}是取平均的系数,把总和除以问题数量,得到“每个逆向问题的平均相似度”。 - 完整含义
\cos(\mathbf{q}, \mathbf{q_i'})是原始问题向量与第 i 个逆向问题向量的余弦相似度;整个式子输出 0 到 1 之间的 AR 分数。
评测流程实现
老师批完一篇作文,还要批一个班。评测一套 RAG 系统,也需要一批“考卷样本”——通常是几十到几百条真实用户问题,组成一个评测集。评测集的代表性越强,AR 分数越能反映系统在真实场景下的“扣题水平”。
完整的评测流程分四步:第一步,准备评测集,从线上日志或人工整理中抽取 M 条问题;第二步,让被测的 RAG 系统为每条问题生成答案;第三步,逐条调用 RAGAS 计算 Answer Relevance;第四步,汇总所有样本的分数,得到系统整体的相关性报告。RAGAS 在实际使用中通常同时运行三个指标——忠实性、上下文相关性、答案相关性——形成“铁三角”,从三个角度给系统做体检。
这个指标最大的亮点是“零标注”:不需要人工写标准答案,逆向问题生成与相似度计算全部自动化,因此可以低成本扩展到成百上千条样本。这也意味着评测质量依赖于所用大模型和嵌入模型的质量——逆向模型越聪明、嵌入模型越精准,AR 就越可信。
就像老师不用给每篇作文都写长篇评语,只看“扣题分”分布就知道班级整体水平——评测流程把单条分数聚合起来,就形成了 RAG 系统整体的“扣题质量画像”。
- 数据集符号
\mathcal{D}是评测集的数学记号,花括号与下标j=1到M表示它包含 M 条样本。 - 样本结构
(q_j, a_j, c_j)是一个三元组:第 j 条样本的问题、答案和检索上下文,三者缺一不可。 - 遍历范围
j=1到M表示遍历全部 M 条样本,评测最终会把每条样本的 AR 分数汇总成整体报告。
架构适配方案
不同的班级配不同的教法,不同的 RAG 架构也有不同的评测策略。但好消息是:Answer Relevance 只关心“问题”和“最终答案”,所以它天然与检索架构解耦——无论底层是简单的单次检索,还是复杂的多路召回,只要拿到了最终的问答对,就能计算 AR。
具体来看:朴素 RAG(一次检索、一次生成)直接套用标准流程即可,没有任何额外适配成本;高级 RAG(查询改写、混合检索、重排序)中,答案可能源于改写后的查询,但评估时我们只关心“原始问题 Q”与“最终答案 A”的语义关系,AR 依旧适用;多路召回场景下,答案融合了多份文档的信息,AR 也只看最终答案有没有扣题,不看中间过程。
真正需要调整的是“定位问题”的方法:当 AR 偏低时,要结合上下文相关性分层排查——如果检索文档就偏了,答案再努力也“回怼”不到点上,这是检索环节的问题;如果上下文相关性高而 AR 仍然低,说明生成环节跑题了。这种“先看试卷出没出偏、再看学生写没写偏”的排查逻辑,让 AR 在不同架构下都能发挥哨兵作用。
这就像老师拿到一个班整体很低的扣题分,不会急着批评学生,而是先看是“试卷出偏了”(检索问题)还是“学生写偏了”(生成问题)。架构怎么变,这条排查逻辑都不变。
- 整体标记
\overline{\text{AR}}是带横线的 AR,表示“整体平均答案相关性”,对应系统级报告中的总分数。 - 逐条求和
\sum_{j=1}^{M} \text{AR}_j把每条样本的 AR 分数加起来,M 是评测集的样本总数。 - 再次平均
\frac{1}{M}对总分取平均,得到可用于跨版本、跨架构对比的单一数值。
效果对比局限
老师的猜题法虽妙,但遇上“文不对题却文笔华丽”的答案,也会误判。Answer Relevance 同样存在明确的边界。和传统的人工评分或 LLM 直接打分相比,它的优势是快速、可复现、无需标注:同一套问答数据,任何团队跑出来的分数几乎一致。但它不是万能的——它完全不校验事实正确性,一个扣题满分的答案可能在细节上全是编造。
一个常见的局限性是“对逆向生成模型的依赖”:如果所调用的大模型总是生成“万金油式”问题(如“这个主题重要吗?”),那么无论答案实际质量如何,逆向问题与原题的相似度都会被抬高,AR 全线飘红,失去区分度。另一个局限是“信息量盲区”:高度相似但毫无信息量的答案(例如把问题原样复述一遍)可能拿到高分,就像学生把作文题目抄了一遍交上来,字字扣题却什么都没写。
因此,业界通常把 AR 定位为“初筛指标”,而不是唯一的质量标准。在对比不同模型版本时,AR 的变化能敏锐暴露“跑题式退化”:新版本可能更流畅,却开始答非所问。此时需要结合忠实性指标区分“相关但错了”与“无关却对了”两种失败模式,才能给出准确的调优方向。
落地实践建议
老师看完一摞卷子,会写评语、给建议。落到工程上,就是拿 AR 分数指导 RAG 系统的迭代。首先说阈值设定:一般经验是 AR ≥ 0.8 视为扣题良好,0.7 到 0.8 为可接受,0.7 以下需要抽检与调优——但具体数值一定要结合业务复杂度实测校准,不同领域的“好答案”标准差异很大。
其次是样本选取策略:评测集要覆盖高频问题、困难问题和边界问题,比如包含模糊提问、多轮指代、专业术语的样本,避免只测“送分题”导致分数虚高。最后是评测报告的输出:建议按分数段对样本分组,每组附上典型问答样例,让研发、产品、测试都能一眼看懂“哪类问题在跑题”。
更进一步,建议把 Answer Relevance 接入 CI 流水线:每次模型更新或提示词调整后自动运行评测,分数回退即报警。同时定期人工抽检逆向问题的质量,防止评测器“自我麻醉”——毕竟逆向问题是大模型生成的,它也可能出错。
好的老师不仅会打分,还会把评分标准教给学生。把 Answer Relevance 内化为 RAG 系统的质检习惯,你的系统才能真正做到“有问必答,答必扣题”。
AI 应用场景
RAG 客服机器人质检
阶段:模型评测与质量监控
解决的问题:客服机器人最经典的翻车方式就是“答非所问”——用户问退款流程,它回答营业时间。传统方式是人工抽听录音,成本高且滞后,无法及时发现大面积的跑题。用 RAGAS 的 Answer Relevance 自动扫描客服问答日志,可以给每轮对话实时打“扣题分”,把低分会话筛出来转人工。
具体案例:某电商平台每晚用 AR 指标扫描当日 10 万条客服对话,AR 低于 0.6 的会话自动进入人工复核队列,误答率在一个季度内下降约 40%。复盘发现,跑题主要来自“多意图问题”——用户一句话里问了两个问题,模型只答了其中一个。
大模型版本回归测试
阶段:模型开发与版本发布
解决的问题:模型升级后可能出现“跑题式退化”——新版本更流畅、更会写漂亮话,却开始离题万里。用固定评测集加 Answer Relevance 指标自动对比新旧版本,能在上线前拦住这类隐性回退。
具体案例:某知识库问答系统在 v2 版本升级后,自动评测发现 AR 从 0.86 跌到 0.74,定位到提示词修改导致答案风格偏离用户问题,回滚后分数恢复。这次事故让团队把 AR 纳入了发布门禁,分数回退超过 0.05 就禁止上线。
生成内容上屏前过滤
阶段:在线服务保障
解决的问题:金融投顾助手如果把“如何开户”的问题答成“今天是星期几”,这种低质答案直接上屏会严重损害用户信任。在生成管线中加入 Answer Relevance 实时过滤,可以在答案到达用户之前拦截跑题内容。
具体案例:某券商投顾助手对每轮回答实时计算 AR,低于阈值的回答改为兜底话术并触发一次重新检索;重新检索后 AR 仍不达标就转人工。上线后用户满意度提升约 15%,暴露了检索召回阶段的一个类目缺失问题。
Python 演示
#!/usr/bin/env python# -*- coding: utf-8 -*-"""小型 Answer Relevance 评测器:逆向问题生成 + 语义余弦相似度(词袋版)""" import mathimport re # 模拟"预训练语义词典",真实系统中由嵌入模型(如 text-embedding)提供SEMANTIC_TERMS = [ '注意力机制', '什么', '作用', '为什么', '权重', '序列', '位置编码', '长序列', '处理', '重点'] def reverse_generate_questions(answer, n=3): """模拟大模型根据答案逆向生成 n 个可能的问题""" topic = '' for term in SEMANTIC_TERMS: if term in answer: topic = term break if topic: questions = [ topic + '是什么?', topic + '的作用是什么?', '为什么要用' + topic + '?' ] else: sentences = re.split(r'[。!?!?]', answer) questions = [s.strip() for s in sentences if len(s.strip()) >= 4] return questions[:n] def sentence_vector(text): """把句子转成词袋向量(简化版嵌入)""" vec = {} for term in SEMANTIC_TERMS: if term in text: vec[term] = vec.get(term, 0) + text.count(term) return vec def cosine_similarity(vec_a, vec_b): """两向量的余弦相似度""" if not vec_a or not vec_b: return 0.0 common = set(vec_a) & set(vec_b) dot = sum(vec_a[t] * vec_b[t] for t in common) norm_a = math.sqrt(sum(v * v for v in vec_a.values())) norm_b = math.sqrt(sum(v * v for v in vec_b.values())) return dot / (norm_a * norm_b) if norm_a and norm_b else 0.0 def answer_relevance(question, answer, n_questions=3): """Answer Relevance 主流程:逆向生成 -> 相似度 -> 取均值""" generated = reverse_generate_questions(answer, n_questions) if not generated: return 0.0, [] q_vec = sentence_vector(question) details = [] total = 0.0 for g in generated: sim = cosine_similarity(q_vec, sentence_vector(g)) details.append((g, round(sim, 4))) total += sim return round(total / len(generated), 4), details if __name__ == '__main__': q = '什么是注意力机制?' answers = [ '注意力机制是一种让模型在处理序列时动态分配权重的方法,' '它通过计算词与词之间的相关程度来突出重点,' '并通过位置编码来提升长序列效果。', '今天是个好天气,适合去公园散步,晚上可以吃火锅。' ] for a in answers: score, details = answer_relevance(q, a) print('原始问题:' + q) print('评估答案:' + a) for g, s in details: print(' 逆向问题:' + g + ' 相似度:' + str(s)) print('==> Answer Relevance = ' + str(score) + '\n')
def reverse_generate_questions(answer, n=3):模拟大模型从答案反推问题;先找答案中的核心主题词,再围绕它生成三个候选问题。if term in answer:在简化版的“语义词典”里查找答案主题,真实系统中这一步是让大模型理解答案主旨。sentence_vector(text)把句子转成词袋向量,这是真实嵌入模型的超简化替代品。cosine_similarity(vec_a, vec_b)计算两个向量的余弦相似度,对应正文中“语义语感比对”这一环。total = 0.0累加所有逆向问题与原题的相似度,最后除以数量得到 AR 均值。score, details = answer_relevance(q, a)调用主流程,返回总分和每个逆向问题的相似度明细,方便排查。
常见误区
误区“AR 分数高,说明这个答案是对的,可以放心上线了。我每次看到分数高就心情很好,直接让答案通过质检。”
正解AR 只衡量“扣题”,不衡量“对错”。就像学生作文写得很扣题,但里面的论据全是编的。RAGAS 里有一个专门的指标“忠实性(Faithfulness)”负责检查答案是否忠于检索资料。跑题的错误用 AR 抓,事实的错误用忠实性抓,两个指标要配合使用,缺一不可。
为何常见:“相关性”这个评分名字太有迷惑性,初学者容易把它当成“质量总分”;而且评分维度不像人工评卷那样分项,看到单一高分就容易放松警惕。
误区“答案写得越长越详细,覆盖的内容越多,AR 分数肯定越高。所以我把 RAG 生成的 prompt 改成'请尽量详细回答'。”
正解余弦相似度看的是语义方向而非篇幅。答案写得冗长,逆向生成的问题反而可能发散——答案里十个信息点只有一个与题相关,生成的三个问题可能都落在无关信息上,均值被拉得很低。就像作文写了三千字,一半在写题外话,扣题分反而更低。
为何常见:直觉上“内容多 = 信息多 = 更相关”,忽略了相关性衡量的是“与题目的对齐程度”,不是信息总量。
误区“RAG 系统跑题了,那肯定是我检索出来的文档不相关。反正都叫 Relevance,先用上下文相关性去调就行。”
正解这是两个评测对象完全不同的指标。Answer Relevance 衡量“答案 ↔ 问题”的对齐程度,Context Relevance 衡量“检索文档 ↔ 问题”的对齐程度。类比来说:前者是学生作文扣不扣题,后者是发下来的参考资料合不合题意。一个系统可能检索得很好(上下文相关性高),但生成环节跑题(答案相关性低),必须分别评测才能定位问题。
为何常见:两个指标名字里都带 Relevance,评测报告又常常同屏展示,非常容易混为一谈。
误区“逆向问题生成和相似度计算全是模型自动完成的,不需要任何人工标注,所以这个指标绝对客观,我完全相信它。”
正解逆向问题依赖大模型,相似度依赖嵌入模型,两者都有自己的偏差。如果大模型总生成“万金油式”问题,所有答案的分数都会被虚高;如果嵌入模型对否定词不敏感,AR 可能把“我不喜欢”和“我喜欢”当成相似。所以需要定期人工抽检逆向问题质量,就像学校会抽查老师的评卷尺度是否稳定。
为何常见:“无监督”和“自动化”给人“无偏差”的错觉,忽略了评测器本身也是模型、也会犯错的事实。
面试题
Q1. 在 RAGAS 框架中,Answer Relevance 主要用于衡量什么?
- A.答案与检索文档的共同点
- B.答案与原始问题的匹配度← 正确答案
- C.生成速度与响应延迟
- D.检索结果的数量规模
答案:B。Answer Relevance 衡量的是“答案有没有答在点子上”,即答案与原始问题的语义匹配程度。选项 A 是上下文相关性的职责,C 和 D 与相关性无关。就像老师看作文扣不扣题,而不是看参考资料多不多。
Q2. RAGAS 计算答案相关性时,逆向问题是怎么来的?
- A.由大模型根据答案生成← 正确答案
- B.从知识库中随机抽取
- C.用正则表达式自动拼接
- D.由用户事先手动标注
答案:A。逆向问题由大模型基于答案文本生成,而且刻意不输入原始问题,避免模型“抄答案”。B、C、D 都不符合“从答案反推问题”的设计,相当于让学生自己出题再自己答题,失去了评测意义。
Q3. 文本向量化之后,一般用什么公式计算两个文本的语义相似度?
- A.余弦相似度公式← 正确答案
- B.欧几里得距离公式
- C.标准差计算公式
- D.交叉熵损失公式
答案:A。RAGAS 默认使用余弦相似度衡量向量方向的接近程度,它对文本长度不敏感。欧几里得距离虽可比较向量,但易受长度影响;标准差和交叉熵用于统计和训练损失,不用于语义比对。
Q4. 一个答案明显“答非所问”,Answer Relevance 分数一般会怎样?
- A.分数会接近 0← 正确答案
- B.分数会接近 1
- C.分数固定为 0.5
- D.分数必然为负数
答案:A。答案越跑题,逆向问题与原题的相似度越低,均值越接近 0。分数不会固定为 0.5,也不会必然为负——文本向量的余弦值通常落在 0 到 1 之间,选 0 最符合“答非所问”的直觉。
Q5. 逆向问题采样数量 N 过小,会导致什么后果?
- A.分数方差变大不稳定← 正确答案
- B.评测速度一定变慢
- C.分数一定被高估
- D.模型完全无法运行
答案:A。N 太小意味着只从答案中取少数几个角度来判断扣题,抽样噪声大,分数波动剧烈。N 变大反而会增加耗时,所以 B 说反了;C 和 D 都没有必然关系。
Q6. Answer Relevance 得分很高时,以下哪些问题仍然可能存在?
- A.答案事实完全虚构← 正确答案
- B.答案未引用检索文档← 正确答案
- C.答案与问题毫无关系
- D.答案仅复述一遍问题← 正确答案
答案:ABD。AR 只衡量“扣题”不衡量“事实”:答案可以扣题但全文编造(A),也可以扣题但完全没有忠实于检索文档(B),还可能只是把问题复述一遍、毫无信息量(D)。C 与“得分很高”矛盾,因为 AR 高意味着语义相关。
Q7. 下列哪些属于 RAGAS 框架的核心评测指标?
- A.忠实性这一核心指标← 正确答案
- B.上下文相关性这个指标← 正确答案
- C.答案相关性这个指标← 正确答案
- D.模型参数量大小评估
答案:ABC。RAGAS 的“铁三角”是忠实性(Faithfulness)、上下文相关性(Context Relevance)和答案相关性(Answer Relevance),分别从“答得真不真、查得对不对、答得扣不扣题”三个角度评测 RAG 系统。模型参数量不属于评测指标。
Q8. RAGAS 中 Answer Relevance 与忠实性 Faithfulness 的核心区别是什么?
- A.前者看扣题后者看真实← 正确答案
- B.前者看真实后者看扣题
- C.前者看速度后者看成本
- D.两者几乎完全没有区别
答案:A。Answer Relevance 判断答案与问题是否语义相关,Faithfulness 判断答案是否忠实于检索资料。一个扣题但胡编乱造的答案会得到“高相关性 + 低忠实性”,就像学生作文扣题却全是编造论据,两个指标必须配合使用。
Q9. 某 RAG 系统检索到的文档完全相关,但生成的答案严重跑题,此时指标表现如何?
- A.上下文相关高而答案相关低← 正确答案
- B.答案相关高而上下文相关低
- C.两个指标会同时明显升高
- D.两个指标会同时降为零
答案:A。上下文相关性只评价“检索文档与问题”的匹配,文档相关所以该指标高;答案相关性评价“最终答案与问题”的匹配,答案跑题所以该指标低。这种“查得对却答得偏”的失败模式,恰恰说明两个指标需要分层排查。
Q10. 以下哪些做法能提升 Answer Relevance 评测的可靠性?
- A.增大逆向问题采样数量← 正确答案
- B.多次运行后取平均结果← 正确答案
- C.只评测单条测试样本
- D.人工抽检逆向问题质量← 正确答案
答案:ABD。增大采样数量能降低单次抽样的随机波动,多次运行取平均能抵消模型随机性,人工抽检能发现“万金油”逆向问题和嵌入模型偏差。只评测单条样本则完全不具备统计意义,会让分数失去代表性。