免费POC, 零成本试错
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


我要投稿

使用 Agent Skills 做知识库检索,能比传统 RAG 效果更好吗?

发布日期:2026-02-03 08:36:28 浏览次数: 1522
作者:code秘密花园

微信搜一搜,关注“code秘密花园”

推荐语

Agent Skills 带来更智能的知识检索方式,能否超越传统 RAG 的局限?

核心内容:
1. Agent Skills 的工作原理与渐进式加载策略解析
2. 对比传统 RAG 模式的痛点与 Skills 的创新优势
3. 实战演示跨格式知识检索 Skill 的实现与应用场景

杨芳贤
53AI创始人/腾讯云(TVP)最具价值专家

使用 Agent Skills 做知识库检索,是一种什么体验?

它能比传统的分块+向量匹配的 RAG 效果更好吗?

大家好,欢迎来到 code秘密花园,我是花园老师,这一期我们进入 Agent Skills 的实战章节。

基础回顾

我们上期视频介绍了 Skills 的工作原理和使用方法,我们简单回顾一下:

Skills 是最近 Anthropic 推出的一个 Agent 领域的行业标准,它本身就是一个文件夹,里面存放着具体的使用说明(SKILL.md),更详细的参考文档(reference),以及可执行脚本(script)。

它的核心特性就是渐进式加载策略:

  • 在 Agent 启动时,仅将所有 Skills 的基本描述加入 AI 的上下文
  • 当用户发出需求时,AI 会根据 Skill 的描述判断具体要调用哪个 Skill
  • 决定后再去读取这个 Skill 的使用说明(SKILL.md)
  • 然后再根据使用说明进一步读取更详细的参考文档,以及决定是否执行某个脚本来连接外部世界

通过这样的模式,可以让 Agent 既能节省大量的上下文,又能够精准响应用户需求找到并执行某个技能。

Skills 的使用也非常简单,你只需要把它的文件夹放到特定 Agent 的目录下(如 .claude/skills),AI 就会在下次启动时识别到这个 Skill,并根据用户需求判断是否调用。

下面,我们来实战探索一下,Skill 有哪些有意思的玩法。

熟悉我的粉丝都知道,我本人对传统的通过 Chunk + Embedding 这种实现 RAG 的模式有比较大的偏见。

虽然这种模式最终也能调教出比较好的结果,但调优过程实在是太痛苦了,我是真正经历过毒打的才会有这种感觉。

相信很多同学也感同身受,所以我一直感觉这种方案只是当下的一种妥协模式,终究会被时代淘汰的。

最近 LlamaIndex 创始人 Jerry Liu 发表的 Twitter 刚好比较符合我的观点:

RAG / 检索本身没死,但死的是固定 Chunk + Embedding 那套模式。如果 Agent 可以动态地扩展文件周围的上下文,那么过度考虑数据块大小就没有意义了。

预期目标

想象 Agent Skills 的渐进式批漏策略,是不是有点这个意思呢。

所以,我们考虑用 Skills 的设计模式,来实现一个专用于知识检索的 Skill,我期望它能帮我解决下面的问题:

  • 在指定目录里检索你关心的问题:比如:「从公司内部知识库里找出最近三年的销售趋势结论」「从某个项目资料里找出所有性能优化建议」。
  • 跨多种文件格式联合查询:能根据文件类型选择合适的方式来读取和理解,比如 Markdown、PDF、Excel 等,不需要你操心「这份资料是什么格式」。
  • 避免「暴力打开整库」:不能一上来就把所有文件全部读进来,而是像人一样:先按关键词缩小范围,再精准打开少量相关文件,快速定位答案。
  • 按问题来组织结果:不能简单地给你一堆「命中行」,而是结合上下文,把和问题相关的内容拼在一起,尽量给出一条可读的、成段的回答。
  • 在复杂问题上做多轮查找:比如你问的是「对某个政策的关键影响」,它可能先在目录里锁定几份核心 PDF,再在这些 PDF 里按章节检索,再结合结果总结回答。

效果演示

下面,我们先来演示下效果,我们先创建一个示例知识库,其中包含下面这些数据:

知识库包含四个不同领域的知识,包含 markdown、pdf、excel 等多种文件类型:

  • Financial Report Data:金融与上市公司财报类数据,主要是按公司和季度划分的 PDF 报告。
  • E-commerce Data:电商业务相关的数据文件,如员工、客户、库存和订单等结构化数据。
  • Safety Knowledge:安全相关知识与文档,涵盖常见 Web 安全漏洞及防护方案。
  • AI Knowledge:AI 行业与技术相关报告与研究资料,用于检索 AI 技术发展、应用场景及治理趋势。

我们先问一个金融领域具体的数据问题:

检索知识库:三一重工前三大股东?

这个数据存储在三一重工的 Q3 财报内:

检索结果如下,因为首次需要定位文件、转换 PDF 文件,耗时还是比较长的,但是检索到的信息非常准确, 大家在实际使用的时候可以把所有的 PDF 都提前转成 Markdown,效率会高很多。

接下来我们继续追问这个文件的问题(介绍三一重工的母公司资产负债表),速度就会快很多了:

接下来,我们问另外一个文件的问题:

航天动力前十股东总持股?

这时我们观察一下它的执行流程(整个过程是非常智能化的):

  • 首先通过 Glob 匹配 “航天动力” 这几个关键字,定位到文件
  • 然后调用 Python 工具将航天动力财报的 PDF 文件处理成 txt
  • 接下来根据用户的问题,自己拆解出需要匹配的关键字(股东信息、前 10 名股东 ...)
  • 根据初步匹配到的信息,去文件特定行数检索(offset=380 limit 260)
  • 然后发现这些信息不足以回答问题,再检索更多上下文(offset=520 limit=260)

下面,我们尝试问另外一个电商领域的问题:

郑雪买了啥?

要回答这个问题需要分析两个 Excel 表:

  • 通过顾客表找到名叫郑雪的客户的 ID
  • 在订单表根据客户 ID 找到购买的商品

看一下分析结果,依然准确找到了数据:

我们再追问一个更复杂的问题:有哪些用户买了 儿童绘本 ,在什么时间?

这次 Agent 更快的给出了结果,这个过程已经比较接近于我理想的 AI 智能知识检索的形态了,大家觉得怎么样呢。

原理介绍

下面,我们来看看这个 Skill 的实现原理,对于一个能执行 Skill  的 Agent(如 opencode),本身它已经具备了一些基础的文件检索能力(ls、grep、glob),我们只需要在这个 Skill 中教会 AI 如何更好的使用这些能力:

  • 定位领域:通过分析用户的问题,然后结合知识库的目录索引定位出知识可能存在的领域(文件夹)。
  • 定位文件:使用 grep 这样的方式在指定目录、文件里筛选出「可能相关的文件」,然后再按需用不同工具去读取这些文件的关键部分。
  • 定位内容:针对不同文件类型用不同策略:
    • Markdown / 文本:直接定位到匹配段落,结合上下文分析
    • PDF:编写代码调用专门的 PDF 能力按页、按章节提取内容
    • Excel:编写代码读取 Excel,然后只看跟问题相关的表、行、列,而不是把整份表格搬出来

这里有两条关键设计原则:

  • 渐进式检索:尽量少读但读准,优先查「最可能有答案」的文件,读取文件内容时仅读取相关行,必要时再扩展范围,避免无意义的 Token 消耗。
  • 保持简单可控:用户只需要告诉它知识库在什么位置,其余的检索策略都由 skill 自动完成。

另外想要让知识检索的更高效和精准,还有两个技巧:

  • 文件夹尽量按领域划分,每个文件夹下只包含特定领域下的文件
  • 每个文件夹下都有一个目录索引文件 data_structure.md(如果文件命名不规范、且包含 PDF 等非纯文本的文件格式,这个是必要的),这个文件中描述了当前文件夹下每个文件的用途(这里参考了 Skill 的渐进式披露的设计原则,如果有多级嵌套领域(目录),AI 找到了这个领域后才会读取这个领域的目录索引)。

那这个 Skill 怎么实现呢,其实你把上面我们提到的核心流程、设计原则、关键技巧给到我们上个教程中讲到的 skill-creator 这个 skill ,AI 自己就帮我们创建出来了,我们只需要经过细微的调整,下面我们来看下我们的 Skill 的目录结构:

  • SKILL.md :是这个技能的使用说明书,里面描述了如何找到本地知识库目录、如何根据目录索引逐层检索知识、对不同文件的处理方式(参考哪个文档)、最终的回答风格等等
  • references:放置 PDF、Excel 等特殊文件类型的解析方法,只有确定当前知识需要具体分析一个 PDF、Excel 或其他特殊的文件类型时,再查阅详细的处理文档,可以节省 Token 和注意力。
  • scripts:放置 PDF 文件的特殊处理脚本(如解析 PDF、PDF 转图片等等)

我们可以把这套方案可以理解为「不预建向量库的、本地目录级、渐进式检索 RAG」,的优势主要在于:

  • 不需要预建索引 / 向量数据库,更轻量简单,适合快速搭建本地个人知识库的场景;
  • 检索更智能,传统的 RAG 主要靠向量匹配内容,大模型只做总结,而在这个过程里,大模型可以参与分词、上下文匹配的决策,并且可以进行智能调整,其实就是一个 Agentic RAG 的工作模式。

当前这只是一个初步的尝试,它还有一定的缺陷:

  • 首次检索的效率问题:如果分析到的文件是一个 PDF 或其他特殊格式,需要先调用脚本进行转换,首次效率低(推荐预处理为纯文本)
  • Skill 调用稳定性:在多轮检索后,AI 可能会忘记去调用 Skill(第一次命中率还是比较高的),从而丢失一些关键的处理步骤,这个在很多其他的 Skill 上也会有类似的问题,可能需要从 Agent 层面解决。
  • Token 消耗更大:因为整个检索过程是 AI 控制的,当首次没有检索到想要的答案,AI 会继续切换一些新的参数或文件进行检索,直到找到最终结果,虽然结果更准确,但也更消耗 Token。

让已有文档站秒变知识库

刚刚我们介绍的 Skill 是一个通用的知识检索的尝试,但如果你有一个固定格式的知识库(比如一个文档站,里面已经包含了多个本地文件),你可以通过 Skill Creator 让它去自己分析你的文档站,然后创建出符合你的文档站风格的知识检索 Skill,我们可以在一个已有文档站下输入下面的提示词:

当前项目是一个文档站(包含多个 md、mdx 文件),我想创建一个专用于知识库检索的 Skill,它可以替代传统的 RAG ,用于当前文章站的知识检索,你来帮我创建这个 Skill(使用中文)。Skills 的基本思路是,先根据用户的问题,提取出需要检索的可能关键字,然后使用 Grep 命令找到对应的上下文。然后分析上下文,如果检索到的信息和问题不符合需要继续检索其他可能关键字,最大重试五次。

我们尝试在 Easy Dataset 文档站(https://github.com/ConardLi/easy-dataset-docs)创建一个Skill :

下面尝试问个问题:

检索知识库:如何使用 Easy Dataset 生成评估数据集?

由于这个文档站全是纯本文文档(没有 PDF 等特殊格式)检索速度非常快而起效果非常不错。

再问个问题:

检索知识库:Easy Dataset 有哪些分块策略?

通过这种模式,你可以把任意已经存在的本地知识库变成一个可以进行智能知识检索的 skill。

最后

关注《code秘密花园》从此学习 AI 不迷路,相关链接:

  • 本文中用到的知识检索 Skill:https://github.com/ConardLi/rag-skill/
  • AI 教程完整汇总:https://rncg5jvpme.feishu.cn/wiki/U9rYwRHQoil6vBkitY8cbh5tnL9
  • 相关学习资源汇总在:https://github.com/ConardLi/easy-learn-ai

如果本期对你有所帮助,希望得到一个免费的三连,感谢大家支持!

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询