1. 项目概述:为什么我们需要一个全新的搜索能力基准?
最近和几个做LLM应用落地的朋友聊天,大家普遍有个痛点:现在的大模型,尤其是那些号称“联网搜索”的,表现太不稳定了。你让它查个最新的行业报告,它可能给你编一段;你让它用西班牙语搜一下当地新闻,它可能直接告诉你“不支持该语言”。更头疼的是,你很难量化地比较不同模型在这方面的能力高低。A模型在中文搜索上表现好,B模型在代码库检索上更准,但到底哪个综合搜索能力更强?缺乏一个公认的“标尺”。
这正是“MARCA”这个基准测试想要解决的问题。MARCA,全称是“Multilingual Assessment of Retrieval and Comprehension Abilities”,直译过来就是“多语言检索与理解能力评估”。它的核心目标,是为多语言大模型的网络搜索能力,建立一套系统、全面、可复现的评估标准。这不仅仅是一个跑分工具,更是一套方法论,旨在回答一个关键问题:当一个大模型被赋予“上网”的能力时,它到底能多好地完成信息查找、筛选、整合与回答的任务?
传统的模型评估,往往聚焦于文本生成质量、代码能力或常识推理。但随着RAG(检索增强生成)和Agent(智能体)技术的普及,模型的“外部工具使用能力”,特别是精准、高效的网络搜索能力,已成为决定其应用价值的关键。MARCA基准的提出,正是将这一能力从“定性感觉”推向“定量分析”的重要一步。它通过精心设计的“清单”(Checklist)评估法,对模型在多样化、真实世界搜索任务中的表现进行打分,为开发者选型、模型迭代优化提供了至关重要的数据支撑。
2. 核心设计思路:清单评估法为何是更优解?
在深入细节之前,我们先聊聊MARCA最核心的设计理念:清单评估法(Checklist-based Evaluation)。这可能是它区别于其他基准(如MMLU、HellaSwag)最显著的特点。
2.1 从“黑盒打分”到“透明拆解”
过去很多基准测试,最终只给出一个总分或几个维度的分数。比如,“搜索能力:85分”。这个分数怎么来的?模型在哪个环节丢了分?是检索不准,还是总结有误?我们无从得知。这就像一个考试只告诉你总分,却不给你试卷分析,对于改进学习帮助有限。
MARCA采用的清单评估法,则像一份详细的“评分细则表”。它将一次完整的模型搜索-回答过程,拆解成一系列可观察、可判断的原子步骤,并为每个步骤设计具体的评估标准(即“检查项”)。评估者(或自动评估程序)根据模型的实际输出,逐项核对这份清单。
举个例子,对于一个搜索任务“查询2023年诺贝尔物理学奖得主及其主要贡献”,清单可能包括:
- 检索相关性:模型提供的引用来源是否确实包含了奖项信息和得主姓名?
- 信息完整性:回答是否同时包含了得主姓名和其获奖贡献?
- 时效性:引用的信息是否明确指向2023年,而非更早的年份?
- 事实准确性:姓名、贡献描述是否与权威信源一致?
- 多语言处理:如果用户用日语提问,模型是否用日语检索并返回了日文信源?
通过这种方式,模型的最终得分不再是模糊的“感觉”,而是基于数十个甚至上百个具体检查项的客观汇总。哪里薄弱,一目了然。
2.2 清单的设计哲学:兼顾广度、深度与真实性
MARCA清单的设计并非随意罗列,它遵循几个核心原则:
任务维度覆盖(Breadth):覆盖不同类型的搜索意图。这不仅仅是事实性问答(Factual QA),还包括:
- 复杂信息整合:例如,“比较Python和JavaScript在Web开发中的优缺点,并给出近两年的趋势分析”。这需要模型进行多轮检索、信息对比和综合论述。
- 开放域探索:例如,“我想了解‘碳中和’领域有哪些新兴的创业公司”。答案不唯一,评估重点在于模型提供的信息是否合理、来源是否多样。
- 指令跟随与约束:例如,“用德语搜索,只使用学术数据库(如Google Scholar)的来源,总结一篇关于量子计算的最新综述文章的核心观点”。这考验模型对搜索指令的精确理解和执行。
能力层次拆解(Depth):将搜索能力纵向分层评估。
- 检索层:能不能找到?评估查询构造的合理性、检索结果的相关性和来源的权威性。
- 理解层:能不能读懂?评估模型对检索到的文本信息的摘要、提炼和关键信息提取能力。
- 生成层:能不能说好?评估最终答案的连贯性、对原始问题的回应程度,以及是否基于检索信息(而非幻觉)。
- 多语言层:跨语言行不行?评估从查询语言到检索语言再到回答语言的全链路适配能力。
真实世界保真度(Fidelity):测试用例尽可能模拟真实用户的搜索场景和查询习惯,包括口语化表达、模糊查询、包含错别字的查询等,而不是精心设计的“考题”。
这种设计使得MARCA的评估结果具有极高的实用参考价值。一个模型如果在“复杂信息整合”上得分高,那它在辅助研究分析类任务上就更可靠;如果在“多语言层”表现优异,那它就更适合全球化产品。
3. 基准构建实操:从数据采集到评估流水线
理解了设计思路,我们来看看如何具体构建这样一个基准。这个过程可以拆解为四个核心环节。
3.1 测试用例库的构建:质量重于数量
构建一个高质量的测试用例(Query-Answer Pair)库是基准的基石。MARCA强调用例的多样性和真实性。
来源渠道:
- 真实搜索日志(脱敏后):与合规的搜索引擎或平台合作,获取匿名化、去隐私后的用户真实查询数据。这是保真度的关键。
- 众包平台构造:在Upwork、Amazon Mechanical Turk等平台发布任务,让来自不同语言区、不同教育背景的工人,根据特定主题(如科技、医疗、文化)构造他们自己会提出的搜索问题及期望的答案要点。
- 领域专家编制:邀请各行业专家,设计需要专业领域知识进行检索的复杂问题,例如“根据最新临床试验,药物X对晚期Y病症的三年生存率影响如何?”
关键处理步骤:
- 去重与清洗:去除完全相同的查询,清理无意义的字符和极端恶意的查询。
- 意图分类与标注:为每个查询打上意图标签(事实查询、比较、开放探索等)和领域标签。
- “黄金答案”与“证据文档”收集:对于每个问题,并非只提供一个标准答案文本。更重要的是,收集一组被公认为正确、相关的“证据文档”(Evidence Documents)URL或文本片段。这些将作为评估模型检索结果相关性的“金标准”。
- 多语言对齐:对于核心测试集,将问题-证据文档对,通过专业翻译和本地化专家,转化为多种语言版本,确保语义一致性,而不是简单的机器翻译。
注意:构建用例库最常踩的坑是“实验室思维”,即设计出过于规整、线索明显的问题。务必加入一定比例的模糊、冗长或包含无关信息的查询,以测试模型的鲁棒性。
3.2 评估清单的具体化:制定评分细则
有了测试用例,下一步就是将设计思路转化为可操作的评分清单。这通常是一个多维度的评分量表。
一个简化的清单表示例(针对单个查询任务):
| 评估维度 | 检查项(Checklist Item) | 评分标准(0/1分或0-5分) | 评估方式 |
|---|---|---|---|
| 检索质量 | 提供的引用来源URL是否可访问? | 0(不可访问)或1(可访问) | 自动检查 |
| 前3个检索结果中,有多少个包含在“黄金证据文档”集合中? | 计数 (0-3) | 自动匹配 | |
| 检索结果是否来自权威或高信誉度域名? | 0(低)到5(高),基于预设域名列表 | 自动+人工 | |
| 答案质量 | 答案是否直接回应了原始问题? | 0(未回应)到5(完全回应) | 人工评分/LLM-as-Judge |
| 答案中陈述的事实,是否都能在提供的引用中找到支持? | 支持的事实数 / 总事实数 | 人工核对/NLI模型 | |
| 答案是否包含了无关信息或幻觉? | 扣分项,根据严重程度扣0-2分 | 人工评分/LLM-as-Judge | |
| 多语言能力 | 当查询为非英语时,模型是否使用该语言进行检索? | 0(否)或1(是),通过查询日志分析 | 自动检查 |
| 返回的答案语言是否与查询语言一致? | 0(否)或1(是) | 自动检测 | |
| 跨语言检索时,答案的信息完整性是否与单语言检索相当? | 比例评分(跨语言得分/单语言基准得分) | 对比分析 |
制定细则时的核心考量:
- 可自动化程度:像URL可达性、语言检测这类,尽量设计为可自动评分,以降低评估成本。
- 主观项的校准:对于“答案相关性”等主观项,需要制定详细的评分指南,并对评分员进行培训,甚至采用多评分员取平均分的方式来保证信度。
- LLM-as-Judge的谨慎使用:可以用一个更强的LLM(如GPT-4)来辅助评估答案质量,但必须意识到其自身也存在偏见和幻觉。通常采用“人工评分为主,LLM评分为辅,结果交叉验证”的模式。
3.3 测试执行与自动化流水线
对于参评的每个模型,执行测试并收集评估数据需要一个稳定的自动化流水线。
流水线架构概览:
- 输入层:读取测试用例库(JSON/CSV格式),包含问题、黄金证据文档ID、语言标签等。
- 模型接口层:封装不同模型的搜索API调用。由于各模型(如Claude、GPT-4o、Gemini、DeepSeek等)的搜索接口格式各异,需要编写统一的适配器,输入问题,输出模型返回的答案文本和附带引用的URL列表。
- 证据获取层:根据模型返回的URL列表,异步爬取或通过缓存获取网页的纯文本内容(仅用于评估,不用于训练),作为模型实际检索到的“证据文档”。
- 自动评估模块:
- 检索评估器:将模型返回的“证据文档”与“黄金证据文档”进行相似度匹配(如使用BM25、Embedding余弦相似度),计算Recall@K、Precision等指标。
- 答案忠实度评估器:使用自然语言推理(NLI)模型或基于LLM的评估,判断答案中的每个关键主张是否被其引用的“证据文档”所支持。
- 基础质量检查器:自动检查URL可达性、答案语言一致性等。
- 人工评估界面:将需要人工评判的任务(如答案相关性、综合质量)通过标注平台分发给评分员,收集评分结果。
- 分数聚合与报告生成层:将所有自动和人工评分,按照清单的权重进行聚合,生成模型在各个维度、各类任务上的总分和分项报告。
技术选型要点:
- 异步与并发:处理成千上万个测试用例,必须使用异步框架(如Python的
asyncio+aiohttp)来提高爬取和API调用效率。 - 缓存策略:对“黄金证据文档”和模型返回的URL内容进行缓存,避免重复爬取,尊重网站负载。
- 容错机制:网络请求可能失败,模型API可能限流或返回非常规错误。流水线需要有重试、降级和详尽的日志记录功能。
3.4 多语言挑战与应对策略
多语言评估是MARCA的招牌,也是最大难点。主要挑战在于:
- 语言覆盖度与资源不平衡:高资源语言(英、中、西)数据好找,低资源语言(如斯瓦希里语、孟加拉语)的“黄金证据”难以获取。
- 语义对等性:不同语言版本的同一个问题,其“最佳答案”在文化背景、信息侧重点上可能有合法差异,不能强求完全一致。
- 评估偏差:评估者如果只懂英语,可能无法准确评判小语种答案的质量。
应对策略:
- 分层语言集:定义核心语言集(如10种)和扩展语言集。优先保证核心语言集评估的高质量。
- 本地化评分员:为每种语言招募以该语言为母语的评分员,确保评估的文化和语言准确性。
- 跨语言检索评估:不仅评估“用A语问,用A语答”,也评估“用A语问,模型是否检索了B语(通常是英语)的高质量信息并准确翻译回A语”。这是一种更实用的能力评估。
- 利用多语言Embedding模型:使用如
text-embedding-3-large这类支持多语言的模型,来计算跨语言文档之间的语义相似度,辅助检索相关性评估。
4. 结果解读与模型能力深度分析
跑完基准测试,拿到一份厚厚的评估报告,我们该如何解读?分数背后反映了模型的哪些真实能力?这里分享一些分析视角。
4.1 超越总分:关注分项能力矩阵
不要只盯着总排名。一个模型总分高,可能是因为它在数量占优的简单事实查询上表现完美,但在复杂的多步推理搜索上溃不成军。因此,必须建立分项能力矩阵进行分析。
建议绘制的能力矩阵表格:
| 模型名称 | 综合得分 | 事实检索精度(简单QA) | 复杂信息整合(比较/分析) | 指令跟随(约束搜索) | 多语言保真度(非英语任务) | 抗幻觉能力(答案基于引用的比例) |
|---|---|---|---|---|---|---|
| Model A | 85.2 | 92.1 | 78.5 | 80.3 | 76.4 | 88.9 |
| Model B | 83.7 | 88.9 | 82.7 | 85.6 | 70.1 | 90.2 |
| Model C | 80.5 | 85.4 | 75.2 | 72.8 | 89.5 | 92.8 |
从上表可以清晰看出:
- Model A是“基础题王者”,适合需要高准确率事实问答的场景。
- Model B擅长处理复杂任务和精确遵循指令,可能是构建高级搜索Agent的更好选择。
- Model C在多语言能力和忠实度上领先,更适合全球化、对事实准确性要求极高的应用(如新闻简报生成)。
4.2 典型错误模式分析:从失败案例中学习
定量分数指方向,定性分析挖根源。仔细分析模型在哪些具体案例上失分,能获得更具操作性的洞察。
常见的错误模式及可能原因:
- 检索偏移(Retrieval Drift):模型检索到的文档与问题核心意图相关度低。
- 可能原因:查询理解模块较弱,未能从用户冗长或模糊的提问中提取关键实体和意图;或搜索API的查询重写策略过于激进。
- 案例:用户问“如何养护那种叶子大大的、室内常见的观叶植物?”,模型检索了大量关于“大叶榕”(一种室外树木)的园艺文章。
- 总结幻觉(Summarization Hallucination):模型正确检索到了相关文档,但在总结答案时,添加了原文不存在的信息或曲解了原意。
- 可能原因:模型的生成模块过于“自信”,倾向于补全信息;或者在多文档整合时,错误地合并了矛盾信息。
- 案例:文档明确写“A疗法对某病症的有效率约为60%”,模型总结成“A疗法对某病症非常有效,有效率超过80%”。
- 语言锚定(Language Anchoring):在处理非英语查询时,过度依赖英语信息,导致答案缺乏本地化语境。
- 可能原因:模型的训练数据或搜索索引严重偏向英语,对小语种信息的覆盖度和理解深度不足。
- 案例:用日语查询“令和時代の若者の消費傾向”,模型返回的答案主要基于《经济学人》英文文章的翻译,缺少对日本本土调查报告(如野村総合研究所的报告)的引用。
- 指令忽略(Instruction Ignorance):完全或部分忽略用户对搜索的约束条件。
- 可能原因:指令识别未与搜索模块深度集成;或模型在规划搜索步骤时,未能将约束条件转化为搜索API的可执行参数。
- 案例:用户要求“仅使用近一年内的学术论文来源”,模型仍然引用了五年前的博客文章。
实操心得:建立一个“错误案例库”,定期回顾这些典型案例。在优化自己的搜索增强应用时,可以有针对性地设计缓解策略,例如在查询前增加一个“指令解析与约束条件显式化”的步骤,或者对模型的生成结果进行基于NLI的事实验证后处理。
4.3 基准的局限性与使用注意事项
没有任何基准是完美的,MARCA也不例外。了解其局限性,才能更好地利用它。
- 静态性的局限:测试用例库是静态的,而网络信息是动态变化的。一个今天能得高分的模型,三个月后可能因为知识过期而表现下降。基准需要定期更新用例。
- “已知答案”假设:基准假设每个问题都存在一组“黄金证据文档”。但对于真正开放、探索性的问题(如“未来十年最有潜力的新材料是什么?”),不存在标准答案,评估更侧重于信息源的多样性和论证的合理性,主观性更强。
- 成本与可扩展性:涉及大量人工评估和网页爬取,运行一次完整基准的成本很高,难以做到每日或每周的频繁测试。
- 商业模型API的波动性:如果测试对象是闭源商业模型的API,其背后的搜索索引和算法可能随时调整,导致复现结果存在波动。
因此,MARCA基准更适合用于:
- 模型选型阶段的横向对比。
- 模型重大版本迭代后的能力评估。
- 学术研究,用于分析不同技术路线(如不同的查询重写方法、检索排序算法)对搜索能力的影响。
不建议将其作为监控线上应用服务质量的日常指标。
5. 基于MARCA思想的实践:构建你自己的评估体系
对于大多数团队,可能不需要完全复现一个像MARCA这样庞大的基准。但完全可以借鉴其“清单评估”的核心思想,为自己特定的应用场景,构建一个轻量级、定制化的搜索能力评估体系。
5.1 定义你的核心评估维度
首先,问自己:在我的应用里,“好的搜索”具体指什么?
- 对于一个客服知识库搜索,核心可能是“答案精准度”和“引用条款的准确性”。
- 对于一个内部代码库检索助手,核心可能是“代码片段的相关性”和“能否定位到正确的文件及函数”。
- 对于一个市场调研信息搜集工具,核心可能是“信息源的覆盖广度(不同地区、不同机构报告)”和“趋势归纳的合理性”。
根据你的核心需求,定义3-5个关键的评估维度,并为每个维度设计1-3个可测量的检查项。
5.2 构建小型测试集
收集或创建50-100个你业务中最典型、最关键的用户查询。这些查询应该能代表你80%的业务场景。对于每个查询:
- 确定“标准答案”或“关键信息点”。
- 手动找出你认为最相关的3-5个内部文档或外部URL,作为“黄金证据”。
- 记录这个查询的任何特殊约束(如“要最新的”、“只要中文来源”)。
5.3 实施自动化评估脚本
编写一个简单的脚本,自动化以下流程:
- 将测试查询输入你的搜索增强系统。
- 捕获系统返回的答案和引用。
- 自动执行可检查项:
- 引用可达性检查:检查链接是否有效。
- 基础匹配检查:使用关键词或Embedding相似度,计算返回的引用与“黄金证据”的匹配度(可设置一个相似度阈值)。
- 答案包含检查:使用字符串匹配或简单NLP,判断答案中是否包含了“关键信息点”。
- 输出一个简单的评估报告,列出每个查询的通过/失败情况,并汇总各维度的得分率。
5.4 建立人工评估流程
对于自动化无法判断的维度(如答案的流畅度、综合归纳的质量),建立一个小型的人工评估流程。可以每周随机抽取10-20个真实用户查询及其模型回复,由产品经理或资深客服按照预设的清单进行评分。这个过程不仅能评估模型,也能持续发现用户的新需求和新问题模式。
一个极简的评估清单表示例(用于内部周报):
| 查询ID | 查询内容 | 答案是否解决用户问题? (1-5分) | 答案是否基于提供引用? (是/部分/否) | 有无事实错误或幻觉? (有/无) | 备注(改进建议) |
|---|---|---|---|---|---|
| Q20240501_001 | “我们产品在东南亚市场的占有率数据?” | 4 | 部分 | 无 | 答案提到了印尼和越南,但引用报告只覆盖了印尼,越南数据是模型推测的。 |
| Q20240501_002 | “如何配置XXX功能的告警阈值?” | 5 | 是 | 无 | 答案准确,并引用了最新的官方配置指南。 |
通过这种“轻量级MARCA”方法,你可以持续、低成本地监控和驱动搜索能力的优化,确保它真正贴合业务需求,而不是盲目追求通用基准上的高分。
最后我想说,MARCA基准的出现,标志着大模型评估正在从“闭卷考试”走向“开卷实践”。它提醒我们,一个模型的内在知识固然重要,但其有效利用外部海量、动态信息的能力,在真实世界中往往更具决定性。无论你是研究者、开发者还是产品决策者,理解并善用这类评估工具,都能帮助你在AI应用落地的道路上,看得更清,走得更稳。在实际工作中,我最大的体会是:没有一劳永逸的“最佳模型”,只有在特定评估维度上“最适合的模型”。定期回归业务场景,用数据驱动评估,才是保持竞争力的关键。