当前位置: 首页 > news >正文

传统RAG已经落伍了?清华大神开源的这个 rag-skill,让知识库检索直接升维

被向量检索毒打过的人,才会真正理解这个东西的价值。


一、先聊聊你被传统 RAG 坑过没有

做过知识库问答系统的人,大概都有过这样的崩溃时刻——

你辛辛苦苦把几百份文档切成几千个 Chunk,跑 Embedding 向量化,存进 Milvus 或者 Chroma,以为大功告成。结果一上线,用户问了一个稍微绕一点的问题,AI 给出的答案要么文不对题,要么把不相关的段落硬凑在一起,要么直接幻觉。

问题出在哪?

出在"Chunk + Embedding"这个模式的根本局限上

  • 语义切割失真:一个段落强行被截断,上下文完全丢失,向量表示也就失真了
  • 检索即终局:检索一次不行就没有第二次,不会回头反思
  • 静态流水线:不管问题简单还是复杂,一套流程走到底,没有自适应能力
  • 长上下文淹没:一口气把所有 Chunk 都塞给 LLM,重要信息被稀释

就是这个背景下,一个新思路开始在 AI 圈流行起来:用 Agent Skills 做知识库检索


二、什么是 rag-skill?来自 code秘密花园 的开源方案

rag-skill是由知名 AI 博主 ConardLi(code秘密花园)开源的一个 Agent Skill,专门用于本地知识库检索。

项目地址:https://github.com/ConardLi/rag-skill

它的核心思想颠覆了传统 RAG 的逻辑:

不再"切片-向量化-检索一步到位",而是让 AI 像一个有经验的研究员一样,先看目录,再按需深入,不满意就迭代,直到找到真正有价值的信息。

这个 Skill 的核心特性如下:

特性说明
多格式支持Markdown、PDF、Excel 等多种文件格式
分层索引通过data_structure.md实现智能目录导航
渐进式检索避免全文加载,按需局部读取,节省 token
强制学习机制处理 PDF/Excel 前必须先学习处理方法
多轮迭代最多 5 轮智能检索,确保找到最相关信息

三、它和传统 RAG 到底有什么本质区别?

用一个比喻就能说清楚:

传统 RAG像是开卷考试的学生——随机翻到哪页抄哪页,翻不到就开始编。

rag-skill像是一个专业研究员——先看目录,制定检索计划,用不同策略找信息,找不够就换关键词反复搜,收集到足够证据才开始回答。

从技术层面看,区别在这几个地方:

1. 从"一次检索"到"多轮迭代"

rag-skill 内置了最多 5 轮的智能检索机制。第一轮找不准?换个关键词、换个思路再来一轮,直到找到足够相关的内容。这就是为什么它在复杂问题上显著优于传统 RAG。

2. 从"全文加载"到"渐进式披露"

传统 RAG 的索引是平铺的,找到 Chunk 就全部丢给 LLM。rag-skill 则通过分层索引(先读目录,再读章节摘要,再读具体段落),大幅减少了无效 token 的消耗。

3. 从"静态流水线"到"动态认知循环"

rag-skill 的检索行为由 LLM 驱动,能根据上一轮检索结果动态调整下一轮策略。这是从"脚本"到"智能体"的本质升级。


四、文件结构长什么样?

在使用之前,先搞清楚 rag-skill 的目录结构:

skilltest/├── .agent/│ └── skills/│ ├── rag-skill/ # 核心知识库检索 Skill│ │ ├── SKILL.md # Skill 主文件(约13KB)│ │ └── references/ # 参考文档│ │ ├── pdf_reading.md # PDF 处理方法指南│ │ ├── excel_reading.md # Excel 读取方法│ │ └── excel_analysis.md # Excel 分析方法│ └── skill-creator/ # Skill 创建指南(可选)│└── knowledge/ # 你的知识库目录 ├── data_structure.md # 根目录索引(关键!) ├── AI Knowledge/ │ ├── data_structure.md # 子目录索引 │ └── *.pdf # 具体文档 └── ...

关键点:data_structure.md是整个系统的导航地图。每一层目录下都应该有一个这样的索引文件,告诉 Agent 这个目录里有什么内容、用来解决什么问题。没有它,rag-skill 就失去了"先看目录"的能力,退化成普通搜索。


五、手把手使用教程

方式一:通过 npx skills CLI 安装(推荐)

这是最快的方式,一行命令搞定:

# 安装 rag-skill(最新版)npx skills add ConardLi/rag-skill# 或者通过 garden-skills 集合安装npx skills add ConardLi/garden-skills -s kb-retriever# 指定安装到 Claude Codenpx skills add ConardLi/garden-skills -s kb-retriever -a claude-code# 全局安装(适用于所有项目)npx skills add ConardLi/garden-skills -s kb-retriever --global

安装完成后,Skill 会自动放到.claude/skills/.agent/skills/目录下。


方式二:手动克隆安装

# 克隆仓库git clone https://github.com/ConardLi/rag-skill.git# 将 rag-skill 目录复制到你的项目cp -r rag-skill/.agent/skills/rag-skill 你的项目/.agent/skills/

Step 1:准备你的知识库

这是最关键的一步,也是最容易被忽视的一步。

1.1 创建知识库目录

mkdir -p knowledge/产品文档mkdir -p knowledge/技术规范mkdir -p knowledge/FAQ

1.2 编写根目录data_structure.md(核心!)

# 知识库结构索引## 目录概览本知识库包含以下主要分类:### 产品文档 (`/knowledge/产品文档/`)- 产品功能说明、使用手册、版本更新记录- 适用场景:用户咨询产品功能、操作步骤### 技术规范 (`/knowledge/技术规范/`)- API 接口文档、架构设计、部署指南- 适用场景:开发人员查阅技术细节### FAQ (`/knowledge/FAQ/`)- 常见问题汇总、故障排查指南- 适用场景:快速定位已知问题的解决方案

1.3 每个子目录也需要data_structure.md

# 产品文档目录## 文件列表- `产品手册_v2.3.md` - 完整产品功能说明,覆盖所有核心模块- `快速开始指南.md` - 新用户入门,10分钟上手教程- `更新日志.md` - 各版本功能变更记录

Step 2:放入你的文档

支持的格式:

  • Markdown(.md):直接放,效果最好
  • PDF:放入对应目录,Skill 会自动学习 PDF 处理方法再读取
  • Excel(.xlsx):同上,有专门的处理流程

最佳实践:Markdown 格式效果最优,建议把 PDF 文档用工具提前转换为 Markdown,再放入知识库。


Step 3:启动 Claude Code 并激活 Skill

在你的项目目录下启动 Claude Code:

claude

Skill 会自动被 Claude Code 检测到。你可以直接开始提问:

用户:我们的 API 限流策略是什么?超出限制后怎么处理?Claude(启用 rag-skill):[检索第1轮] 读取根目录 data_structure.md,定位到"技术规范"目录[检索第2轮] 读取技术规范/data_structure.md,找到 API 文档[检索第3轮] 局部读取 API接口文档.md 的限流相关章节[生成答案] 基于检索到的内容,结合上下文给出准确回答

Step 4:针对 PDF 和 Excel 的特殊处理

rag-skill 内置了"强制学习机制":

  • • 遇到 PDF 文件,Agent 会先读取references/pdf_reading.md,学习正确的 PDF 处理方法,再去提取内容
  • • 遇到 Excel 文件,同样先读excel_reading.mdexcel_analysis.md

这个机制避免了直接粗暴地cat二进制文件导致的乱码或错误。


六、实际效果对比

以下是同一个问题在传统 RAG 和 rag-skill 下的对比(基于实测反馈整理):

测试问题:“我们的退款政策在哪些情况下不适用?有没有例外条款?”

传统 RAG 表现:

  • • 返回 3 个相关度 70% 左右的 Chunk
  • • 答案拼凑感强,遗漏了"例外条款"部分
  • • 没有说明信息来源

rag-skill 表现:

  • • 第 1 轮:定位到"用户协议"目录
  • • 第 2 轮:在退款政策文档中找到主要条款
  • • 第 3 轮:发现"附录"中存在例外说明,主动深入检索
  • • 最终答案:完整覆盖主要条款和例外情形,附注具体文档位置

七、常见问题和注意事项

Q1:知识库太大,检索变慢怎么办?

rag-skill 的渐进式检索本身就是为大型知识库设计的,它不会一次性加载所有内容。关键是要做好分层索引:根目录 → 子目录 → 文件,每层都有清晰的data_structure.md,这样前两轮检索消耗极少,缩小范围后再深入。

Q2:data_structure.md怎么写才够好?

几个原则:

  • • 用问题驱动描述,而不是单纯罗列文件名("用户咨询退款流程时查这里"比"退款.md"更有价值)
  • • 说明每个文件/目录的适用场景
  • • 保持及时更新,新增文档后同步更新索引

Q3:适合什么规模的知识库?

根据社区实测,rag-skill 在中小型知识库(文档数量在几十到几百篇)上效果最为突出。大型知识库(上万篇)建议结合传统向量检索做粗筛,再用 rag-skill 做精检。

Q4:和 RAGFlow、Dify 这些产品有什么区别?

RAGFlow、Dify 是完整的 RAG 平台产品,有 UI 界面、用户管理等功能,部署成本高。rag-skill 是一个轻量级的 Agent Skill,直接在 Claude Code 等 Agent 框架下使用,零额外部署,适合开发者在自己的项目中快速集成。

Q5:一定要用 Claude Code 吗?

不是。rag-skill 遵循标准的 Skill 规范,理论上可以在支持 Skills 的 Agent 框架中使用,包括 Cursor、Codex 等。但目前在 Claude Code 上的适配最为成熟。

Q6:PDF 处理效果怎么样?

扫描版 PDF(纯图片)效果较差,建议提前 OCR 转文字。文字型 PDF 效果良好,rag-skill 的强制学习机制确保了正确的提取流程。


八、总结:什么场景最值得用?

适合用 rag-skill 的场景:

  • 中小型专业知识库(公司内部文档、技术手册、产品文档)
  • 复杂多步骤问题(需要跨文档关联信息)
  • 需要可解释性(想知道答案来自哪个文档哪个位置)
  • 开发者本地使用(轻量、零部署成本)

暂时不适合的场景:

  • 超大规模知识库(>1万篇文档,先用向量检索粗筛)
  • 需要实时更新的知识(Skill 本身不维护索引数据库,需手动更新data_structure.md

结语

传统 RAG 不是没用,而是它在遇到真实世界的复杂问题时力不从心。rag-skill 提供的这套"研究员式检索"范式,代价极低(一个 Skill 文件),收益却很实在——特别是对那些被 Chunk 切割和向量召回率折磨过的人来说。

项目是开源的,可以直接拿来用,也可以作为参考来构建自己的 Agent Skills 知识检索体系。如果你正在搭建 Agent 工作流,这个思路值得认真研究。

学AI大模型的正确顺序,千万不要搞错了

🤔2026年AI风口已来!各行各业的AI渗透肉眼可见,超多公司要么转型做AI相关产品,要么高薪挖AI技术人才,机遇直接摆在眼前!

有往AI方向发展,或者本身有后端编程基础的朋友,直接冲AI大模型应用开发转岗超合适!

就算暂时不打算转岗,了解大模型、RAG、Prompt、Agent这些热门概念,能上手做简单项目,也绝对是求职加分王🔋

📝给大家整理了超全最新的AI大模型应用开发学习清单和资料,手把手帮你快速入门!👇👇

学习路线:

✅大模型基础认知—大模型核心原理、发展历程、主流模型(GPT、文心一言等)特点解析
✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑
✅开发基础能力—Python进阶、API接口调用、大模型开发框架(LangChain等)实操
✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用
✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代
✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经

以上6大模块,看似清晰好上手,实则每个部分都有扎实的核心内容需要吃透!

我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

http://www.gsyq.cn/news/1590578.html

相关文章:

  • 2026年程序员学量化开发,先慢下来理清规则
  • 数据解封装:一条网络消息,怎样从网卡走到你的程序
  • 对话聊天(Chatbot)
  • LangGraph图编排底层原理:状态、节点与边的工程实践
  • 从零构建异构高性能计算集群:Kubernetes与Ceph实战指南
  • 近期碎片0625
  • ChatGPT嵌入DAM系统:自然语言驱动数字资产智能操作
  • 一个传统企业老板的自白
  • Linux命令-pwconv(从 /etc/passwd 创建 /etc/shadow 影子密码)
  • FRSM V6 Dense MoE vs Transformer — 全维度技术报告
  • 智能工程师中的方案设计与优化分析
  • 告别招人内卷!零基础用 QClaw,一人撑起整盘生意
  • 偏函数与柯里化:函数式编程技巧
  • Kubernetes 生产集群故障自愈:从 Pod 驱逐到节点自动恢复的实战进阶
  • 斐波那契常数数字分布分析:从高精度计算到统计检验
  • 【微科普】一文吃透GDPR与CCPA数据法规,后端隐私接口改造附完整方案
  • 程序员专属浪漫!自制HTML生日蛋糕粒子特效源码
  • 照片总修不出“通透感“?这款AI修图神器,一键让废片变大片!
  • 国产开源神器!一个U盘装N个系统,拷贝ISO就能启动,再也不用反复格式化!
  • 2026实测盘点:16款降AI率工具测评,论文安全过关就靠它!
  • ML 实验管理工具链调研:Weights Biases、MLflow 与 DVC 的架构对比与选型评估
  • Mapper算法标签置换零模型的统计收敛性证明与工程实践
  • 智慧军营部队人员车辆信息化管理系统建设方案
  • HarmonyOS 6.1.0 Weather Service 智慧出行与天气服务怎么设计?
  • Python 进阶技巧:异步迭代器与生成器管道——高并发数据流处理的工程范式
  • Pearcleaner:深度解析macOS应用清理的现代Swift架构实现
  • 多协议转换:用 Go 标准库手写 gRPC 翻译网关
  • Linux CPU利用率深度解析:从top命令到虚拟化资源评估
  • Ryujinx模拟器完整配置指南:从零开始畅玩Switch游戏
  • AI 情感陪伴进阶:从情绪识别到共情响应的工程化实现