在 RAG 系统中,检索到相关片段之后,如何让模型“使用”这些信息,直接决定了最终回答的风格与实用效果。根据任务需求的不同,可以将生成方式大致分为三种模式:摘要式生成、引用式生成和对比式生成。它们并非互斥,实践中常常组合使用,但理解各自的特点有助于针对场景选择最合适的策略。
1. 摘要式生成
是什么:将检索到的多个文档片段进行归纳、提炼,用简洁的语言概括出核心要点,去除冗余细节。用户得到的是一段高度凝练的综述,而不是原文的逐条罗列。
典型提示词示意:
根据以下资料,用一段话总结出关于「远程办公设备补贴」的主要规定,不要逐条复述。
适用场景:
- 管理层希望快速了解某项政策的梗概,而非逐字阅读条款。
- 知识库内容庞杂,用户只需要“结论”而非过程。
- 需要跨多个文档融合信息,形成统一叙事(例如从多份会议纪要中提炼决议)。
优点:
- 阅读效率高,一眼抓住重点。
- 能掩盖来源片段之间的风格差异,输出更流畅自然。
风险与注意:
- 归纳过程中可能丢失关键细节或量化数据(如具体金额、截止日期)。
- 如果源文档存在矛盾,摘要可能模糊处理而掩盖冲突。
- 建议在摘要后附加可展开的“详细依据”,供需要深究的用户进一步查阅。
真实示例:
某公司 HR 知识库中存有三份文件,分别涉及不同部门的远程办公补贴标准。问题:“远程办公补贴是怎样的?”
摘要式回答:“公司为长期远程办公员工提供每月最高 300 元的网络补贴和一次性 500 元的设备购置报销,具体额度视岗位性质和考勤情况而定。”
2. 引用式生成
是什么:回答中直接引用原文语句或段落,并明确标注出处(如文档名称、条款编号、片段链接)。模型充当“精准投递员”,把最相关的原文呈现给用户,自行判断和理解。
典型提示词示意:
请用原文中的内容回答用户的问题,并在每个要点后注明来自哪个文档的哪个部分。
适用场景:
- 法律、合规、财务等对措辞精度要求极高的领域(差一个字都可能引起歧义)。
- 用户需要看到原始表述,以便自行判断或作为证据使用。
- 政策、合同条款的咨询,用户往往需要“原文是怎么写的”。
优点:
- 最大程度保留原文准确性,避免模型转述引入偏差。
- 出处清晰,便于复核和追溯。
风险与注意:
- 如果检索到的片段过长,直接贴原文会降低可读性。
- 可能缺乏对上下文背景的说明,用户需要具备一定专业知识才能理解。
- 建议在引用前后添加简要的引导或概括性语句,帮助用户定位。
真实示例:
问题:“年假未休完的折算比例是多少?”
引用式回答:“根据《员工手册》第 3.2 条:「未休年假的折算标准为员工日工资的 250%。」同时,《福利政策补充说明》中进一步明确,该计算基于员工上年度的平均日薪。”
3. 对比式生成
是什么:当用户的问题涉及比较(多个产品、多个版本政策、不同时间段的规定等),模型将检索到的相关内容并列呈现,突出异同点。回答通常以结构化形式(如表格、分列条目)输出,方便直观对比。
典型提示词示意:
请根据资料,用分点或表格形式对比「2024 版」和「2025 版」隐私政策中关于数据保留期限的差异。
适用场景:
- 产品选型、方案评估,需要横向比较多款型号的参数。
- 政策变更解读,员工想知道新旧规定有哪些具体变化。
- 竞品分析、版本差异说明等知识管理场景。
优点:
- 一目了然,减少用户自行翻阅多份文档的认知负担。
- 结构化对比更容易发现关联和矛盾,辅助决策。
风险与注意:
- 依赖检索召回所有需要对比的片段,若缺失某一方信息会导致对比不完整。
- 模型可能在对比时加入主观判断(如“新版本更宽松”),应明确要求只呈现事实差异,不做评价。
- 可以显式要求“如果缺少某一方的资料,请说明无法完整对比”。
真实示例:
问题:“A 款和 B 款笔记本电脑在接口方面有什么区别?”
对比式回答:
| 接口类型 | A 款(X200) | B 款(X300) |
|----------|--------------|--------------|
| USB-C | 2 个(含 1 个全功能) | 2 个(均为 Thunderbolt 4) |
| HDMI | 1 个 1.4 版本 | 1 个 2.0 版本 |
| 耳机孔 | 有 | 无(需 USB-C 转接) |
实际运用中的组合
在实际的 RAG 应用中很少只使用单一模式。一个高质量的回答可能是:先用一段摘要说明大体情况,然后对关键条款进行引用,必要时以表格对比展示差异。例如:
摘要:今年年假政策主要有两处调整:天数增加、折算比例提升。
引用:《员工手册》第 3.2 条原文为……
对比:
- 去年:15 天,折算 200%
- 今年:18 天,折算 250%
提示词设计时,可以明确要求模型采用“先总述、再引用、最后对比”的结构,从而一次性满足不同用户的阅读需求。这三种生成模式,本质上是根据上下文将 RAG 的“增强”能力用在了不同的表达层次上,掌握它们能让系统输出更贴合实际业务场景。