DAILY LESSON / 2026-08-22

RAG效果不好?试试Skill的references!

很多人听到知识库,第一反应是搭 RAG,切片、Embedding、向量数据库、rerank、召回。事实上,在26年8月,绝大多数情况下 RAG 都不是最好的选择,Skill 的 references 会更好。

SkillAI知识库AI智能体AI工作流MCPAI

作者:C 哥·C哥介绍 →

很多人听到知识库,第一反应是搭 RAG,切片、Embedding、向量数据库、rerank、召回。

事实上,在26年8月,绝大多数情况下 RAG 都不是最好的选择,Skill 的 references 会更好。

一、RAG 在做什么?

RAG 的全称是 Retrieval-Augmented Generation,中文译为检索增强生成。

它先处理资料,把文档切成几百 Token 大小的片段,通过 Embedding 模型把每个片段变成一组向量,随后存入向量数据库。用户提问时,问题也会被转成向量。系统找出语义上最接近的几个片段,把它们塞进模型的上下文,最后生成答案。

但,文档一旦被切片,原有的章节、前后条件、引用关系就可能丢失或失真。

query 的向量加语义检索也不一定就满足业务需求。用户问「退货政策」,系统可能同时取回淘宝、京东和亚马逊的规则。某个产品编号、错误码或函数名,也可能因为语义信息很少而被向量检索漏掉。

二、Skill 里的 Reference 在做什么

Skill 里的 references 走了另一条路。文档保持为普通文件,目录名、文件名、章节和前后关系都还在。SKILL.md 告诉 Agent 什么情况该读哪类资料,Agent 再按需打开。

Anthropic 在「Agent Skills 设计说明」中把这个机制称为渐进式披露。Agent 启动时先看到 Skill 的 name 和 description。

任务命中后,它再读 SKILL.md。遇到具体问题时,Agent 可以先看目录,根据文件名判断,用 Glob 找文件,用 Grep 搜精确词,再打开命中的章节。前一次查找的结果会改变下一次查找的方向。整个过程没有向量化,和 RAG 向量库返回的 Top-K 片段有本质差别。

三、两者的区别?

第一个区别是处理时机。

RAG 在 query 前,先做资料的切片、向量化和索引。Reference 则是把资料放在文件系统中,Agent 遇到问题后再决定查什么、读多少、下一步去哪里。

第二个区别是基本单位。

RAG 的基本单位是 chunking 片段,召回时容易切断前后联系。Reference 的基本单位可以是保留完整语义的一份文件、一个章节、一个表格、一段脚本。

第三个区别是谁在做判断。

RAG 的初筛由检索算法完成,Agent 通常只看到筛选后的内容。Reference 模式里,Agent 能看到路径、文件名和邻近文件,可以基于当前任务渐进式地按需检索。