简介:本文深入对比传统RAG向量检索与Skill References渐进式检索两种知识库方案,从架构原理、处理时机、信息保真度、更新成本、适用场景等维度系统剖析差异,帮助开发者根据业务需求做出合理选型,并给出迁移与使用中的关键注意事项。
随着大模型应用走向生产环境,知识库的检索机制成为影响智能体回答质量的关键因素。早期被广泛采用的RAG(Retrieval-Augmented Generation,检索增强生成)模式,通过将文档切片、向量化后存入向量数据库,在用户提问时召回相关片段并拼入上下文,从而为大模型提供外部知识支撑。
然而,在实际业务落地中,RAG的局限性逐渐显现:切片破坏了文档原有的章节结构和逻辑关联,语义向量难以精确匹配复杂业务规则,更新索引成本高昂,且Top-k召回结果往往不符合具体场景的业务预期。与此同时,一种名为Skill References(技能引用)的机制开始受到关注。它将知识库视为普通文件系统,保留文件与目录结构,由智能体在任务执行过程中按需查阅,实现了渐进式披露的信息获取方式。
本文对比的对象正是这两类知识库检索机制:传统RAG向量检索方案与Skill References文件系统检索方案。前者本质上是“提前切片、全局匹配”,后者则是“保留结构、按需查阅”。理解二者差异,有助于开发者在设计智能体知识库时做出更贴合实际需求的技术选型。
RAG的核心流程可概括为四个阶段。离线阶段,文档被切分为数百token大小的片段,每个片段经嵌入模型转化为高维向量,并写入向量数据库。在线阶段,用户提问同样转化为向量,系统通过相似度计算召回语义最接近的Top-k片段,再将片段拼入大模型上下文,最终生成回答。其核心假设是“语义相似的文本在向量空间中距离相近”,通过向量检索快速定位可能包含答案的片段。
Skill References将知识库视为普通文件系统,而不是向量化数据库。知识以原始文件形式保存,目录名、文件名及章节层级关系完整保留。智能体启动时仅能看到每个技能的名称与简短描述。当任务命中某个技能后,智能体才会依据任务需求去查阅对应资料:先查看目录结构,根据文件名进行通配匹配检索,再基于精确词定位相关章节,逐步缩小查找范围。前一次查找到的内容会指导下一次查找的方向,整个过程基于文件路径和结构化导航进行精确匹配,而非语义相似度计算。
尽管RAG与Skill References在实现思路上存在本质差异,但二者仍具备一些共同特征:
RAG属于“提前处理、全局索引”。文档在进入知识库时就需要完成切片、向量化和索引构建,用户提问后的检索过程虽然快,但离线准备阶段的计算成本高,且一旦文档更新,需要全量或增量重算向量。
Skill References属于“按需读取、实时解析”。文档保持原始文件格式,无需预处理。智能体在任务执行过程中动态决定查阅哪些文件、打开哪些章节,信息总是最新的。文件系统的修改即时生效,无需重建任何索引。
RAG的切片操作是信息损失的主要来源。一段几百token的文本被割裂后,原有的章节从属关系、条件分支逻辑、表格与列表的上下文关联都可能丢失。例如,一份包含“若用户已领取优惠券,则不再参与满减活动”的规则文档,切片后很可能将条件与结论分散到不同片段中,导致召回时信息不完整。
Skill References完整保留了文档的目录结构、文件名含义和章节层级。智能体先看目录再打开具体文件,能够自然理解“第3章第2节”这种结构性引用的含义,也能通过文件名快速判断某个文件是否与当前任务相关。这种基于文件系统路径的导航方式,天然避免了切片导致的信息割裂。
RAG依靠语义相似度召回片段,适合“模糊的、开放性的知识查询”,比如“什么是光合作用”“Explain the concept of neural network”。但在需要精确匹配业务规则的场景中,语义检索往往力不从心。例如,不同平台的退货政策可能有细微差异,仅凭“退货”的语义向量很难区分具体平台的政策条文;产品错误码查询要求精确到特定编号,语义相近但编号不同的内容会被混淆。
Skill References按文件名和精确词定位,天然适合规则类、代码类、配置类知识的检索。智能体可以根据当前任务明确知道需要打开哪一个文件,再在文件内部使用精确匹配定位具体条款或编号,检索过程可控且可解释。
RAG的更新链路较长:文档变更后,需要重新切片、重新向量化、重新写入索引,并处理旧索引的清理。如果知识库规模较大,更新延迟可能从分钟级到小时级不等,且过程中容易产生新旧版本混合的检索结果。
Skill References的更新极为轻量:直接修改文件系统中的文件即可,智能体下次读取时自动获取最新内容。对于频繁更新的业务规则、操作手册、产品规格等,这种热插拔式更新方式显著降低了维护成本。
RAG的检索过程是一个黑盒:用户与开发者只能看到最终召回的片段,无法干预检索路径,也难以解释为什么某个片段被召回而另一个没有。当召回结果不理想时,调优手段有限,通常只能调整切片大小、修改嵌入模型或增加重排序环节。
Skill References的检索过程则完全透明。智能体每一步读取了哪个目录、打开了哪个文件、基于什么关键词进行了匹配,都是可追踪的。开发者和用户可以清晰地看到智能体获取知识的路径,便于调试、审计和优化检索策略。
| 对比维度 | RAG(向量检索) | Skill References(文件系统检索) |
|---|---|---|
| 检索时机 | 提问前已完成切片与向量化 | 任务执行中按需动态查阅 |
| 信息保真度 | 切片可能破坏上下文关联 | 完整保留目录、文件与章节结构 |
| 匹配方式 | 语义向量相似度匹配 | 文件名通配、精确词定位 |
| 更新方式 | 重新切片、向量化、重建索引 | 直接修改文件即时生效 |
| 适用知识类型 | 海量开放文本、百科类知识 | 规则、手册、配置、结构化文档 |
| 检索可解释性 | 黑盒,难以干预检索路径 | 透明,路径可追踪可调优 |
| 实时性 | 更新延迟较高 | 支持热插拔实时更新 |
| 业务规则匹配 | 语义相近但可能不精确 | 精确匹配,符合业务逻辑预期 |
| 预处理成本 | 较高(切片+向量化) | 极低(无需预处理) |
选择RAG还是Skill References,应依据知识库特征、业务精度要求和团队运维能力综合判断:
当从RAG切换到Skill References时,需要关注以下几点:
RAG与Skill References代表了两种不同的知识供给哲学:前者侧重“先建索引、全局匹配”,适合大规模开放语义检索;后者强调“保留结构、按需导航”,适合高精度规则与结构化知识查阅。核心差异在于信息保真度、业务匹配精度、更新成本和检索可控性。选型时应以业务场景为出发点,明确知识类型与精度要求,评估团队运维能力,并充分考虑两种机制混合使用的可能性。无论选择哪种方案,清晰的文档组织、明确的检索策略和可追踪的使用路径,都是知识库有效支撑智能体回答质量的基础。