首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >AI智能知识库-传统RAG的末日-从RAG到Agentic Full-text Retrieval模式

AI智能知识库-传统RAG的末日-从RAG到Agentic Full-text Retrieval模式

作者头像
人月聊IT
发布2025-11-17 09:57:13
发布2025-11-17 09:57:13
1150
举报
图片
图片

大家好,我是人月聊IT。

今天接着聊AI方面的话题,即AI智能知识库的发展演进方向究竟是如何的?传统模式的RAG增强检索还是否是最佳的一个选择?大家都知道,我实际在前面专门发表过通过Cursor+Claude进行AI辅助写作的文章,包括我一直在思考一个关键问题,就是为何这种方式输出的文章质量明显好于基于RAG搭建的个人智能知识库。底层使用的大模型都是相同的,为何出现这么大的质量差异?

原来我也一直没太深究这个问题,只是比较确认的就是将知识库进行Markdown格式化,并通过AI开发工具进行的辅助写作不是走的RAG检索增强和向量匹配这条路,但是核心实现思路究竟是如何的?所以带着这个疑问,我们还是让Claude自己来回答下这个问题。我准备了如下的提示语给大模型,具体如下:

我有一个问题,需要你仔细分析后帮我回答。

就是当前我个人写作了2000篇左右的博客文章,这些文章我已经全部转换为了markdown格式的源代码文件。我现在的需求是基于这些历史文章来帮我回答问题。

具体的提示语如下:

请严格基于我Markdown目录下的历史文章内容帮我回答如下问题。

如何搭建自己的知识体系?

具体回答的要求如下:

1.所有的回答素材和内容必须来源于我个人历史文章的内容,不要自己杜撰和创新,你做的更多的是内容整合加工,让整个回答更加符合逻辑。

2.回答的内容要体现完整的逻辑性,而且通俗易懂,尽量用大白话讲解,容易理解,你可以适当补充更加容易理解的例子。

3.整个回答在2500到3500字之间。中间分4到6个小标题,每个小标题的内容在400字到800字。

4.回答问题的风格要以我第一人称进行,文章内容风格和我历史文章风格完全一致,不要让人感觉是AI输出内容。

5.对于每一个小标题里面的内容注意逻辑结构严谨,清晰,即叙述的时候能够体现逻辑组成,组成的各个组件间的关系和集成,能够体现静态结构和集成关系,动态的时间顺序或因果关系,因为每个小标题里面的内容我后面都要输出相应的可视化逻辑图使用。

6.每个小标题里面不要再细分标题,减少bullets等条目化描述,尽量是50到150字的文字化段落来组织内容。

6.回答的输出我需要形成一篇独立的markdown格式的文章,输出到newdoc目录下面。

7. 采用sequential-thinking MCP工具进行任务规划分解和执行

当前为了实现上面需求,我有两种做法。

做法1:将历史文章构建一个RAG知识库,然后基于上面的提示语进行知识库问答,底层大模型采用Claude Sonect 4.0

做法2:将我输出的文章构建一个源代码项目,然后启动Claude Code CLI进入这个目录,然后仍然是上面的提示语让AI回答问题。

我测试结果是做法2输出的结果明显好于做法1,我的问题是做法2的实现思路是和RAG一样的思路吗?如果不一样,那么详细解释下做法2具体的内在实现逻辑思路是如何的?包括为何比RAG模式能够更加准确地回答我的问题。

那么AI在拿到这个问题后,给出了如下回答和解释。

核心差异:它们不是同一种技术路线

做法2并不是传统RAG思路,虽然表面上看都是"基于已有文档回答问题",但底层实现逻辑完全不同。、

做法1:RAG的实现逻辑

RAG(Retrieval-Augmented Generation)的工作流程是:

  • 文档预处理:将2000篇文章切分成chunks(通常几百字一段)
  • 向量化索引:每个chunk转换为embedding向量,存入向量数据库
  • 查询检索:你的问题也转成向量,通过相似度计算(cosine similarity)找出最相关的top-k个chunks
  • 上下文注入:把检索到的chunks拼接成prompt,连同你的问题一起发给Claude
  • 生成答案:Claude基于有限的检索片段生成回答

但是RAG方式的局限性

  • 依赖语义相似度检索,可能漏掉关键信息
  • Chunks切分会破坏文章的完整逻辑
  • 受限于context window,只能传入部分检索结果
  • 无法全局理解你的写作风格和知识体系

做法2:Claude Code的实现逻辑

Claude Code采用的是Agentic coding模式,这是完全不同的范式:

1. 完整文件系统访问

Claude Code可以:

  • 遍历整个项目目录结构
  • 读取任意markdown文件的完整内容
  • 理解文件间的组织关系
  • 根据需要动态决定读取哪些文件

这就像一个人可以随时翻阅你的"博客书架",而不是只能看预先挑出来的几页纸。完全基于你的需求实时快速精确的查阅你的知识库。

2. 主动的多轮信息收集

Claude Code的工作流程:

  • 第一步:先浏览目录结构,了解文章分类和主题分布
  • 第二步:根据问题"如何搭建知识体系",识别相关关键词
  • 第三步:打开可能相关的文章,快速扫描确认相关性
  • 第四步:深度阅读确认相关的文章全文
  • 第五步:交叉对比多篇文章,提取共同观点
  • 第六步:整合信息,形成结构化回答
代码语言:javascript
复制

这是一个**iterative reasoning**过程,不是一次性检索。

### 3. **超大上下文窗口的优势**
Claude Sonnet 4.5的context window是200K tokens(约15万字),这意味着:
- 可以一次性加载几十篇完整文章
- 保留文章的完整语境和逻辑链
- 能够进行全文级的语义理解
- 可以捕捉你跨文章的论述模式

### 4. **工具使用能力**
Claude Code不只是"读文件+生成",它可以:
- 使用`grep`搜索关键词在哪些文件中出现
- 用`find`命令按文件名模式筛选
- 编写临时脚本做统计分析(比如统计你提到"知识体系"最多的10篇文章)
- 动态调整搜索策略

## 为什么做法2效果更好?

### 1. **信息完整性**
- RAG:可能只检索到5-10个相关片段(受top-k限制)
- Code:可以读取所有相关文章全文,不遗漏任何关键观点

### 2. **上下文连贯性**
- RAG:检索到的chunks来自不同文章,可能逻辑跳跃
- Code:可以完整阅读每篇文章,理解前后文关系

### 3. **风格一致性**
- RAG:只看到碎片化文本,难以捕捉你的写作风格
- Code:可以对比多篇完整文章,学习你的表达习惯、用词偏好、论述结构

### 4. **智能决策**
- RAG:检索策略是固定的(embedding相似度)
- Code:可以根据初步发现调整搜索策略,比如发现你有个"方法论"系列文章后,主动去读这个系列

### 5. **逻辑推理能力**
- RAG:主要是"匹配+生成"
- Code:可以进行复杂推理,比如"作者在A文章提到X,在B文章提到Y,X和Y虽然表述不同但本质是同一个观点"

## 类比理解

**RAG模式**像是:
你雇了一个助理,他预先做了读书笔记(embedding),当你问问题时,他快速翻笔记找相关条目,然后根据笔记回答你。

**Claude Code模式**像是:
你雇了一个真正读过你所有文章的研究员,他可以随时重新查阅原文,交叉验证,甚至发现你自己都没意识到的观点关联。

## 技术建议

如果你想继续优化,可以结合两种方式的优点:

1. **第一轮用RAG快速定位**:找出最相关的20-30篇文章
2. **第二轮用Claude Code深度分析**:只让它精读这20-30篇,既保证覆盖面,又不浪费token

或者直接用Claude Code,但加入结构化搜索指令:

请按以下步骤工作:

  1. 先用grep搜索"知识体系"关键词
  2. 读取搜索结果中的前20篇文章全文
  3. 识别共同主题,再扩展搜索相关主题
  4. 基于全部相关内容整合回答

因此可以看到我基于AI辅助编程工具进行知识问答的做法不是RAG模式。而是Agentic Reasoning + Full File Access,这才是它效果更好的根本原因。

注:图片来源于B站up主:慢学AI的视频,名称为超越RAG的agentic search :从“被动投喂”到“主动探索”-Anthropic《AI Agent的高效上下文工程》,大家可以到B站搜索这个视频的详细讲解。

好了,那么接着我的疑问是Agentic Full-text Retrieve这种模式和Agentic RAG两种模式又有什么区别?

接着再看AI输出的回答内容如下:

传统RAG: 问题 → 向量检索 → 生成答案

Agentic RAG: 问题 → Agent决策 → 多轮检索策略 → 重排序 → 生成答案 ↓ - 判断是否需要改写query - 决定检索哪个知识库 - 评估检索结果质量,决定是否继续检索 - 使用工具做复杂查询(如SQL、graph查询)

代码语言:javascript
复制

核心特征是:**仍然基于向量检索,但用agent让检索过程更智能**。

## 做法2的本质特征

你的做法2实际上:
- ✅ 有agent能力(多轮决策、工具使用)
- ❌ 没有向量检索(不需要embedding、向量数据库)
- ✅ 直接访问原始文件系统
- ✅ 基于全文搜索、文件遍历、内容理解

这更像是 **"Code-based Knowledge Retrieval"** 或 **"File-native QA"**。

## 更准确的命名建议

根据实际技术特征,我建议称为:

### 1. **Agentic File System QA** 
最准确,强调:
- Agentic:有自主决策能力
- File System:直接操作文件系统
- QA:问答任务

### 2. **Code-native Knowledge Retrieval**
强调通过代码工具直接访问源文件,而不是通过向量检索

### 3. **Full-context Document Processing**
强调可以访问完整文档上下文,不受检索片段限制

### 4. **如果非要带"RAG",可以叫**:
**"File-native Agentic RAG"** - 明确指出是基于文件原生访问的,区别于向量检索

## 为什么区分很重要?

在技术交流中,如果你说 "Agentic RAG",别人会默认:
- 你有向量数据库(Pinecone, Weaviate, Chroma等)
- 你在用embedding模型(OpenAI embedding, BGE等)
- 你的优化方向是改进检索策略、chunk策略、重排序等

但你的实际架构是:Markdown Files → Claude Code Agent → 文件系统API → 全文读取 → 生成答案

这和传统RAG的技术栈完全不同。类比帮助理解

  • 传统RAG:像图书馆的卡片索引系统,先查索引找相关卡片
  • Agentic RAG:像有个聪明馆员帮你查索引,能优化检索策略
  • 你的做法2:像直接进入图书馆书架,随便翻阅任何书的任何页

我们可以看下传统RAG到Agentic RAG本身的一个技术升级。传统RAG往往只检索 一次并进行输出内容整合。而Agentic RAG虽然也是基于向量检索匹配,但是开始前,会先对问题进行理解和分析,然后规划相关的检索任务再执行检索,同时会执行基于第一次的检索结果动态调整后续的检索策略并执行多轮检索返回最终答案。

简单来说Agentic RAG在问题理解拆分,多轮动态检索和执行才是关键点,而这些能力刚好也是我们谈AI Agent能力的一个特点。所以你也可以简单理解Agentic RAG是结合了Agent任务规划分解,记忆,多轮执行能力的RAG机制。

我们还是拿前面如何搭建知识体系的问题来说明。假设你的2000篇博客中,关于"知识体系"的内容分散在不同文章里:

传统RAG的结果

检索到的5个chunks:

1. "知识体系需要分类管理...(来自《笔记方法论》第3段)"

2. "我使用Obsidian作为知识库...(来自《工具推荐》第7段)"

3. "卡片笔记法的核心是...(来自《读书笔记》第2段)"

4. "建立索引可以提高检索效率...(来自《效率技巧》第5段)"

5. "知识需要定期复习...(来自《学习方法》第9段)"

生成答案:

"搭建知识体系需要分类管理,可以使用Obsidian等工具。

卡片笔记法是一种有效方法,同时要建立索引并定期复习。"

问题:

- 内容零散,缺少系统性

- 没有提到你在《知识管理实践》中的完整方法论

- 漏掉了你在《个人成长》系列中的深入思考

Agentic RAG的处理模式

Round 1: 检索"知识体系"

- 发现《笔记方法论》《知识管理实践》最相关

Round 2: 读取这两篇文章的完整大纲

- 发现提到"三层架构"概念

Round 3: 检索"三层架构"

- 在《个人成长体系》中找到详细阐述

Round 4: 检索这些文章提到的工具名

- 找到《Obsidian实战》《Notion使用心得》

Round 5: 检索实践案例

- 找到《我的知识管理2年复盘》

整理后生成答案:

"我在实践中总结出的知识体系搭建方法包含三个层次...

(完整引用《知识管理实践》的核心观点)

第一层是信息收集层...(结合多篇文章的一致论述)

第二层是知识加工层...(引用《个人成长体系》的方法论)

第三层是智慧应用层...(结合《2年复盘》的实践经验)

在工具选择上...(对比Obsidian和Notion的使用心得)

在实际操作中...(引用具体案例)"

Agentic RAG的优势:

- 系统性强,逻辑完整

- 找到了你最核心的方法论文章

- 结合了理论和实践

- 风格符合你的写作习惯

接着我们再看下我前面文章谈过的通过GraphRAG和结合知识图谱来做智能知识库是否也能够达到同样的效果。我们还是先看下AI对于GraphRAG核心实现机制流程的说明,具体如下:‘文档 → 实体抽取 → 关系抽取 → 构建知识图谱 → 图推理 → 生成答案。

关键创新:把文本转换为结构化的实体-关系图。

GraphRAG的工作流程

以你的问题"如何搭建知识体系?"为例:

第一步:从2000篇文章中抽取实体和关系

实体示例:

- "知识体系" (概念)

- "卡片笔记法" (方法)

- "Obsidian" (工具)

- "费曼学习法" (方法)

- "知识管理" (概念)

- "个人成长" (领域)

关系示例:

- "知识体系" --包含--> "卡片笔记法"

- "卡片笔记法" --使用工具--> "Obsidian"

- "知识体系" --支持--> "个人成长"

- "费曼学习法" --是一种--> "学习方法"

- "学习方法" --构建--> "知识体系"

第二步:构建知识图谱

形成一个巨大的网络,节点是实体,边是关系

第三步:图查询和推理

Query: "如何搭建知识体系?"

图遍历逻辑:

- 找到"知识体系"节点

- 沿着"包含""需要""使用"等边扩展

- 发现"卡片笔记法"节点

- 继续扩展到"Obsidian""费曼学习法"

- 沿着"支持""导向"边找到"个人成长"

- 发现"个人成长"节点又连接到更多方法论

第四步:社区检测

GraphRAG会把图谱分成不同社区(clusters):

- 社区1:笔记方法论(卡片笔记、层级笔记、双链笔记)

- 社区2:学习方法(费曼学习法、刻意练习、间隔重复)

- 社区3:工具生态(Obsidian、Notion、Logseq)

- 社区4:实践案例(你的复盘文章、经验总结)

第五步:多层次总结

- Level 1:整个知识图谱的全局总结

- Level 2:每个社区的总结

- Level 3:具体实体的描述

第六步:生成答案

结合图结构 + 层次总结 + 原始文本

GraphRAG的独特优势

优势1:发现隐含关联

传统RAG可能检索不到的关联:

你在《时间管理》文章里提到:

"我用时间块管理法,每个时间块对应知识库的一个项目"

你在《知识管理》文章里提到:

"知识库按项目维度组织"

GraphRAG能发现:

"时间管理" --关联--> "项目管理" --关联--> "知识体系"

生成答案时会说:

"搭建知识体系时,可以结合你的时间管理习惯,

按项目维度组织,这样时间块和知识模块一一对应。"

这种关联传统RAG很难发现(因为两篇文章的语义相似度不高)

优势2:多跳推理

问题:"为什么知识体系能促进个人成长?"

GraphRAG的推理路径:

"知识体系" --构建方式--> "系统化学习"

--效果--> "深度理解"

--导致--> "认知升级"

--促进--> "个人成长"

能给出完整的因果链,而不只是找到结论。

优势3:全局视角

GraphRAG的社区总结功能:

社区1总结:

"在笔记方法论这个主题下,你探索了卡片笔记、层级笔记、

双链笔记三种方法,最终形成了混合使用的实践方案..."

社区2总结:

"在学习方法论这个主题下,你重点推荐费曼学习法和刻意练习,

并且发现这两种方法可以结合使用..."

最后生成答案时,能体现:

"从我整体的探索来看,知识体系搭建包含笔记方法选择、

学习方法设计、工具选型三个维度,这三者是相互支撑的..."

这种全局视角是传统RAG做不到的。

最后简单总结:

  • 传统RAG:像一个只会查字典的学生,查到什么用什么。
  • Agentic RAG:像一个会研究的学者,知道如何全面调研、交叉验证、系统整理。
  • 你的做法2(Claude Code):像一个能直接翻阅你所有书籍的研究助理,不受检索技术限制,可以真正理解你的知识体系。

对于你的需求(基于2000篇个人博客回答问题,保持风格一致),做法2 > Agentic RAG > 传统RAG,因为:

  1. 做法2无需向量化,直接访问完整文档
  2. Agentic RAG虽然有Agent能力,但仍受限于chunks
  3. 传统RAG最受限,只能被动检索片段

当然,对于传统RAG模式是否完全没有用处了呢?也不是。如果你实际的文档很难想我个人知识库一样进行Markdown方式的结构化,而且文件大小特别大,同时你对检索的速度要求也高,那么你还是可以使用传统RAG的方式来获取知识答案。而且采用Agentic Full-text Retrieve 模式还有一个问题,就是每次的回答耗时都相当长,而且对Token的消耗巨大,因此每次都是基于问题,实时分析和实时检索,这个自然也带来更大的成本开销。

今天关于AI智能知识库的一些思考和分享就到这里。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-10-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 人月聊IT 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 核心差异:它们不是同一种技术路线
  • 做法1:RAG的实现逻辑
  • 做法2:Claude Code的实现逻辑
    • 1. 完整文件系统访问
    • 2. 主动的多轮信息收集
  • 最后简单总结:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档