本文是概念与方法介绍,不是 XCoze 已上线能力清单。文中的示例用于解释,不代表你的私人资料正在被这样处理。

你不必先学习向量数据库,才有资格理解 RAG。更有用的起点是一个日常问题:当答案需要依赖自己保存的材料时,怎样让大模型先找到依据,再进行表达?本文是技术科普,所举个人知识库流程为解释性示例,不代表 XCoze 当前已提供全库问答。

从相机笔记中找一个答案

假设你收藏了十篇摄影文章,想回答“为什么我在室内拍孩子总是模糊”。一般聊天模型可能介绍快门、对焦和光线,但并不知道你收藏过哪篇文章,也不知道你的记录里写着“孩子跑动时才模糊”。如果先从自己的资料中找到运动模糊、快门速度和对焦模式相关的段落,再结合这些内容回答,答案就有机会贴近真正的问题。

RAG 通常译作检索增强生成。原论文将外部检索信息与生成模型结合;对普通使用者,重要的是“先取得相关材料,再依据材料作答”这条顺序。它不是把整本知识库永久装进模型,也不意味着模型从此知道所有私人内容。每一次回答仍需要明确找到什么、读到了什么。

检索和回答是两道不同的关

第一道关是找对材料。标题里没有“模糊”的文章,可能写了“凝固运动”;一篇标题很相关的器材评测,正文却没有讨论你的拍摄条件。第二道关是用对材料:即使找到了正确段落,回答也可能忽略“在光线充足时”这样的前提,把局部建议扩展成任何场景都适用的结论。

这两种问题需要不同处理。找错材料时应调整检索范围、词语或筛选条件;读错材料时应补看前后文,检查结论是否超出了原文。只对最终答案说“再准确一点”,未必能暴露故障在哪里。能够展示引用、输入范围和缺失信息,往往比反复生成一段更自信的答案更有用。

一条可核对的资料问答链
一条可核对的资料问答链 每一步都可能出错;最终回答流畅,不代表前面的检索与阅读已经正确。

向量不是 RAG 的同义词

向量检索常被用于寻找表达不同但语义相近的内容,关键词搜索则有利于匹配明确的名称、编号或术语。Anthropic 的 Contextual Retrieval 官方文章讨论了语义检索与 BM25 关键词检索的结合,说明检索可以有不止一种路径;这里不引用其性能数字来承诺任何私人知识库的效果。

回到摄影例子,询问“那台相机的某个菜单选项”时,精确型号和选项名称很重要;询问“怎样拍出运动中的清楚照片”时,相近含义可能更有用。是否需要向量数据库,应由真实查找问题决定。一个只有几篇材料的小专题,直接读取目录与正文也许更简单;没有必要先为术语购买一套复杂系统。

切成小段之后,不能把前提切丢

为了便于查找,资料可能被拆成段落或更小的内容块。但句子“可以适当降低快门速度”若脱离了前一句“拍摄静止物体并使用稳定支撑”,就可能变成错误建议。表格中的单位、图片的说明和小节标题,也都可能决定一段文字究竟在说什么。

个人使用者可以做一个很实际的检查:不要只看回答引用的那一句,至少向前后各读一段,或回到完整小节。产品设计也应为内容块保留它属于哪篇文章、哪一节、什么版本的线索。检索片段是阅读入口,不应成为被剪裁到无法核对的孤岛;否则引用看起来精确,语义却已经偏离。

没有找到,不等于材料里没有

假如系统回答“你的收藏中没有相关内容”,它可能只是这次没有检索到,也可能资料尚未提取成功,或问题使用了不同的表达。把有限检索失败写成全库事实,是一个常见但不易察觉的跳跃。更诚实的说法应限定范围:在本次可检索的资料里,暂未找到足够依据。

你可以用三个问题追查:检索了哪些收藏;哪些文件不可读或未完成处理;换一个同义词会不会得到其他候选。也可以故意选一篇自己知道有答案的文章作对照。如果指定文章后能回答,全库查找时却漏掉,下一步应修查找过程,而不是把所有资料再导入一次。

用一张小考卷检验自己的资料问答

准备五个问题就能建立比主观印象更稳定的判断:一个可直接找到答案的问题,一个需要比较两篇文章的问题,一个依赖日期的问题,一个材料没有答案的问题,以及一个故意包含错误前提的问题。给每题写下自己预期的来源或拒答理由,保留这份小考卷。

例如摄影资料中从未记录过镜头型号,就问“我那支镜头为什么有问题”。可靠系统应承认缺少型号,而不是顺着“那支镜头”编造。测试不需要追求漂亮的总分,先区分漏找、误读、无依据补充和引用错误。每解决一个明确类别,才知道改进来自哪里,也避免被一次惊艳回答误导。

资料更新后,答案也需要知道自己依据哪一版

摄影教程可能在后续补充勘误,你的拍摄记录也可能新增条件。如果检索仍然找到旧片段,模型就算忠实复述,也会给出过时的回答。因此,检索增强生成还有一个不够显眼的问题:资料的版本与检索结果是否对应,删除或修改后,后续回答还会不会继续沿用旧内容。

这不意味着每次打开文章都应该重新抓取,也不意味着新版本一定要覆盖旧版本。比如你要回顾自己当时为什么做出选择,收藏时的旧版本反而是重要依据。系统需要区分“根据当时保存的材料回答”和“查询目前最新信息”;两者都是合理任务,但不能在同一段答案里悄悄混用。

个人使用时可以在问题中加上时间条件:“根据我上个月保存的教程,解释当时的设置选择,不补充未核实的新规则。”如果准备把答案用于现在的行动,则明确要求指出需要更新核对的地方。这样可以把技术上的版本问题,转成自己能够表达的目的,也减少旧资料被误当成当前事实。

RAG 让资料参与回答,不能替人完成理解

检索增强生成能把资料带到问题旁边,却不能自动决定你的目标是否合理、作者是否可信、不同观点之间应如何取舍。对于“我应该怎样练习摄影”,原文可以提供方法,你的时间、兴趣和愿意投入的程度仍然需要本人表达。证据帮助判断,但不替代判断。

对个人知识库而言,RAG 更适合被看成一种可选择的连接能力:需要时把过去留下的内容找回来,平时不打断阅读。先收藏可靠原文,记录自己的疑问,尝试少量可核对的资料问答;当查找问题真的出现,再考虑更复杂的检索结构。这条路比从技术名词反推生活习惯更稳妥。

资料与延伸依据

技术定义与相关研究可从以下原始资料核对;文中的日常例子和产品取舍是解释与讨论。

  1. Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks

    RAG 概念的一手论文。本文只据此说明检索与生成结合的基本思想,不把论文数据集效果外推到个人收藏。

  2. Anthropic:Contextual Retrieval

    用于说明检索可结合语义与关键词路径。摄影案例、检查问题和验收小考卷为原创方法建议。