claude code知识库
ai coding已经成为程序员的标配,越来越多的程序员已经从写代码角色转变为评审代码角色。但是呢,尽管大模型的能力越来越强,在不完全了解业务背景的情况下,它还是会写错。面对这种场景,人们想到的是增加知识库,那么如何使用知识库呢?RAG的出发点,是让大模型有外挂的知识,避免有些数据没有经过训练回答,回答的效果不好,也可以作为长期记忆。file-based knowledge,是让AI有记忆,按需加
rag系列文章目录
前言
ai coding已经成为程序员的标配,越来越多的程序员已经从写代码角色转变为评审代码角色。但是呢,尽管大模型的能力越来越强,在不完全了解业务背景的情况下,它还是会写错。面对这种场景,人们想到的是增加知识库,那么如何使用知识库呢?
一、传统RAG
提到知识库,人们首先想到的是RAG知识库,它将知识切割分片,然后索引(这里可以是向量数据库或者ES),以供查询。如果claude code接入RAG知识库,还需要增加MCP,进行调用接口查询。
RAG 做的事情
- “帮你找资料”
例如:
查接口定义
查SQL写法
查配置说明
本质:外部知识补充
二、File-Based知识库
file-based knowledge graph和传统 KG 完全不是一类东西,本质上更接近:
“基于文件系统的结构化记忆 + 关系索引 + 持续演化的上下文系统”
不是 Neo4j 那种,而是:
- Markdown / YAML / JSON 文件
- 带弱结构(标签、引用、路径)
- 关系感知(通过目录 / 引用 / 规则推断)
核心结构
/knowledge
/concepts/
/patterns/
/decisions/
/bugs/
/learnings/
INDEX.md
knowledge/INDEX.md 充当路由器。它会首先读取该文件,然后仅深入到与当前任务相关的文件夹中。
File-KG 做的事情
- “让 AI 记住你的项目”
例如:
这个系统用Redis是因为...
这个接口必须幂等
这个坑之前踩过
这个模块必须先调用A再调用B
本质:项目内知识沉淀
三、对比
RAG和file-based knowledge graph区别
| 维度 | RAG | File-based KG |
|---|---|---|
| 数据来源 | 静态文档 | 运行中产生,或手动整理 |
| 结构 | 无结构 | 半结构(schema + tag) |
| 更新方式 | 手动/离线 | 自动沉淀(自进化)或人工补充 |
| 粒度 | 文档片段 | 原子知识(pattern/decision) |
| 目标 | recall信息 | 构建长期“记忆体系” |
它们之间的幻觉控制能力
| 能力 | RAG | File-KG |
|---|---|---|
| 抗幻觉 | 中 | 高 |
| 原因 | 相似度匹配 | 明确历史事实 |
成本 vs 收益
| 维度 | RAG | File-KG |
|---|---|---|
| 初期成本 | 低 | 中 |
| 长期价值 | 中 | 极高(复利) |
| 是否越用越强 | ❌ | ✅ |
总结
RAG的出发点,是让大模型有外挂的知识,避免有些数据没有经过训练回答,回答的效果不好,也可以作为长期记忆。file-based knowledge,是让AI有记忆,按需加载知识,使用起来更方便,可以及时进行更新补充,这种方式是更适合程序员使用的方式。
更多推荐




所有评论(0)