RAG评测为何失灵:从“局部问答”到结构化推理的转向

AI PM 编辑部 · 2025年06月03日 · 1 阅读 · AI/人工智能

正在加载视频...

视频章节

在RAG几乎成为标配的当下,评测却悄然失真。AI21 Labs的Yuval Belfer和Niv Granot通过真实案例指出:我们正在为错误的基准优化系统。本文还原他们的核心论证,解释为什么主流RAG评测无法反映真实世界,并介绍一种以结构化数据为中心的替代路径。

RAG评测为何失灵:从“局部问答”到结构化推理的转向

在RAG几乎成为标配的当下,评测却悄然失真。AI21 Labs的Yuval Belfer和Niv Granot通过真实案例指出:我们正在为错误的基准优化系统。本文还原他们的核心论证,解释为什么主流RAG评测无法反映真实世界,并介绍一种以结构化数据为中心的替代路径。

为什么“大家都在做RAG”,却没人真的测对?

这场演讲一开始就带着明显的不耐烦情绪。Yuval Belfer直言:“It seems that RAG is so 2023… as if it’s already solved, but actually not really.”表面上看,RAG管线——切块、Embedding、检索、生成——已经高度标准化,LangChain、LlamaIndex里甚至有现成模板。但问题不在实现,而在评测。

他们指出,绝大多数RAG基准都建立在一个隐含假设上:问题是局部的,答案也一定存在于某一个或少数几个chunk中。构建方式也很“人类直觉”:读一篇长文,找一句可以直接回答的问题,把那段话当作“黄金答案”。这种评测方式看似合理,却极度偏离真实使用场景。

即便是看起来更复杂的多跳问题(multi-hop questions),也往往是“人为制造”的逻辑体操。Yuval举了一个典型例子:类似“我未来妻子的名字是否和美国第15任第一夫人的母亲同名”这样的问题——语法上成立,但在现实中几乎没有人会这样提问。他们的结论很直接:这些基准并不代表真实世界的提问方式,也无法测试一个系统的整体能力。

更糟的是,行业已经陷入一个恶性循环:为有缺陷的基准优化RAG系统,分数提高后在Slack、LinkedIn上庆祝;一旦上线到真实客户数据,效果却“远不如预期”,于是再造一个新基准,循环往复。

检索对了,也答不对:聚合型问题是RAG的盲区

为什么真实用户的问题会击穿这些高分RAG系统?关键在于问题类型的变化。Niv Granot以金融数据为例,提出了一类RAG几乎无力应对的问题:聚合型问题

例如:“哪家公司报告过最多次最高季度营收?”或“Apple有多少个财年年收入超过1000亿美元?”这类问题并不对应某一个chunk中的一句话,而是需要对大量记录做统计、计数、比较。传统RAG的做法是取top-k个相关chunk,再让模型“综合生成”。但在“All Fortune 500 companies”这样的场景中,这种方法从原理上就是不完备的——第k+1个chunk永远可能包含关键信息。

为了验证这一点,他们构建了一个极小却干净的实验:仅使用22篇维基百科中的FIFA世界杯历史页面作为语料,提问诸如“哪支球队赢得世界杯次数最多”“巴西参加过多少届世界杯”等问题。然后用最常见的RAG管线——LangChain、LlamaIndex,以及直接的OpenAI响应方式——进行测试。

结果相当刺眼:正确率只有5%和11%。而这些问题的答案,其实都存在于非常“局部”的段落中。这一实验传递的信息很明确:不是数据不够好,而是RAG在问题结构上就不适合回答这类问题

把RAG“前置”:从非结构化文本到SQL问题

面对这些失败,他们并没有试图“微调一个更强的检索器”,而是选择彻底换一种思路。Yuval提出一个核心判断:这些问题本质上是SQL问题,而不是阅读理解问题。

他们的方案,是在摄取(ingestion)阶段投入更多计算,把非结构化语料转化为结构化数据。具体流程分为几步:首先将文档聚类成子语料库(例如金融、FIFA世界杯);然后为每个子语料库推断一个schema;接着用一个LLM驱动的管线,为每篇文档填充这个schema;最终把结果存入一个SQL数据库。

推理阶段反而变得简单:当用户提问时,系统先判断问题属于哪个schema,再把自然语言问题转成SQL查询,直接在结构化数据上执行。比如“哪支球队赢得世界杯最多次”,就只是一个COUNT + GROUP BY的查询。

这个思路的关键不在“用不用LLM”,而在把LLM主要算力前移到理解和结构化数据上,而不是在推理时临时拼接文本。正如他们所说,这更像传统数据系统的设计哲学:摄取慢一点,查询快而准。

结构化RAG不是银弹:他们自己也踩过的坑

值得注意的是,两位演讲者并没有把这种方法包装成“终极解决方案”。相反,他们花了相当篇幅讨论失败边界。

首先,不是所有语料都天然适合关系型结构。很多文档并不存在稳定、统一的schema。即便在FIFA世界杯这个“玩具示例”中,规范化问题也层出不穷:West Germany算不算Germany?主办国是单值还是列表(因为日韩合办)?这些歧义会在摄取和查询阶段同时放大。

其次是“过度回答”的风险。如果用户问:“Real Madrid赢得了2006年的决赛吗?”——这甚至不是世界杯问题,但LLM往往会“努力取悦用户”,试图在错误的schema上硬给答案。

最后,还有工程上的现实权衡:在聚类、schema推断阶段做得越细,计算成本越高;而text-to-SQL本身,在schema复杂时就是一个长期存在的难题。这些问题并没有被回避,而是被明确承认为方法的边界条件。

总结

这场演讲最重要的提醒是:RAG并不是一种“一体适用”的架构,而我们今天对它的评测方式,正在系统性地误导优化方向。当问题从“找一句话”变成“算一个结果”,传统RAG和它的基准都会失效。真正的改进,可能不在更强的Embedding,而在于重新理解数据形态,并在必要时走向结构化推理。


关键词: RAG评测, 检索增强生成, 结构化数据, Text-to-SQL, AI21 Labs

事实核查备注: 演讲者:Yuval Belfer、Niv Granot(AI21 Labs);视频标题与发布时间:2025-06-03;实验语料:22篇FIFA世界杯维基百科页面;提及产品:LangChain、LlamaIndex;实验结果:正确率5%与11%;方法核心:摄取阶段构建schema并存入SQL数据库;引用公司与组织:AI21 Labs、Apple、Google。