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有记忆,按需加载知识,使用起来更方便,可以及时进行更新补充,这种方式是更适合程序员使用的方式。

参考文档

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐