知识库分层编排:从 RAG 到 Agent-native Knowledge Context Layer
知识库分层编排:从 RAG 到 Agent-native Knowledge Context Layer
原文作者:板牙 | 来源:阿里云开发者社区
RAG 的三个结构性缺陷
做 AI Agent 落地的同学,大概率都经历过这个心路历程:一开始觉得 RAG 就是万能药——文档切 chunk、做 embedding、向量检索 Top-K、喂给 LLM 生成答案,搞定。
但工程知识库做到深处,你会发现 RAG 有三个结构性缺陷,是任何 prompt 技巧都救不回来的:
缺陷一:每次从零推导
正如 Karpathy 在 LLM Wiki 设计文档中一针见血指出的——"the LLM is rediscovering knowledge from scratch on every question. There's no accumulation." 问一个需要综合 5 篇文档的问题,LLM 每次都得重新找到并拼接那 5 个片段,没有任何中间成果被保留。这就像每次做菜都从买菜开始,永远没有"备菜"这个环节。
缺陷二:无法连点成线
Microsoft GraphRAG 的研究明确指出了 baseline RAG 的两个失败模式:当答案需要通过共享属性连接分散信息时,平坦的向量检索无能为力;当需要对大规模语料做全局性的语义理解时,RAG 同样力不从心。
缺陷三:粒度混乱
一个 chunk 可能是"系统设计原则",也可能是"某个函数的第 42-143 行实现"。向量空间不区分抽象层次——"设计原则"和"代码实现"在语义上可能很近,但它们服务于完全不同的认知需求。
"用向量检索做知识库,就像用搜索引擎替代知识体系——你能找到所有碎片,但拼不出全貌。"
四大知识库范式演进
范式一:Naive RAG — 平铺向量检索
文档 → chunk → embedding → 向量数据库 → 相似度检索。最基础也最广泛使用的模式,但默认配置下无积累、无关联、无层次、无角色区分。
范式二:LLM Wiki — 持续编译的知识工件
Andrej Karpathy 提出的模式,核心洞察:wiki 是一个持续积累的工件(persistent, compounding artifact)。LLM 不只是检索者,更是知识的维护者。三层架构:Raw Sources(人类策展)→ Wiki(LLM 完全拥有)→ Schema(人类 + LLM 共同演进)。
范式三:Graphify — 代码即图谱
把代码库、文档、配置文件等异构资源统一映射为一张可查询的知识图谱。双管道提取:AST 管道(离线,tree-sitter 解析)+ 语义管道(LLM 语义提取)。
范式四:GraphRAG — 图谱增强的检索
Microsoft GraphRAG 是对 Naive RAG 的结构化升级:先构建知识图谱 → Leiden 算法社区聚类 → 分层社区摘要 → 查询时结合图结构和摘要回答。
金字塔知识库(Pyramid KB)
五层分层设计
| 层 | 职责 | 稳定性 | 类比 |
|---|---|---|---|
| L1 原则 | SOLID / KISS / YAGNI | 年级 | 宪法 |
| L2 架构 | 架构决策记录 ADR | 季度级 | 法律 |
| L3 规范 | 编码标准 ESLint 规则 | 月级 | 规章 |
| L4 实现 | 代码模板 SDK 文档 | 周级 | 手册 |
| L5 经验 | 故障复盘 运维日志 | 天级 | 判例 |
角色感知
- 架构师:L1 + L2(原则 + 架构)
- 开发者:L2 + L3 + L4(架构 + 规范 + 实现)
- 运维/SRE:L4 + L5(实现 + 经验)
- 新人:L1→L2→L3→L5(全链路导航)
每个角色有独立的 context_budget 和 priority_order,系统按优先层顺序逐层填充内容直到预算用完。
检索机制
| 维度 | 向量检索 | 金字塔分层检索 |
|---|---|---|
| 定位方式 | 语义相似度 | 分层关键词打分 + 图谱扩展 |
| 搜索空间 | 全量文档 | 角色可访问层的子集 |
| 粒度控制 | 默认无 | 先按层过滤再定位 |
| 关联能力 | 默认单文档匹配 | 图谱边自动关联上下游 |
| API 调用 | 每次 1 次 | 0 次(纯本地) |
最优组合:金字塔做分层定位(0 API 调用)→ 向量检索补代码级深度(1 API 调用)= 结构化导航 + 精确细节的互补。
知识保鲜
知识库最大的敌人不是"没有内容",而是"内容过期"。过期的文档比没有文档更危险——因为它给你错误的信心。
- 每层不同审查周期:L1 年度、L2 季度、L3 月度、L4 周/天级、L5 天级
- 用审计发现问题:覆盖率、新鲜度、图谱连通、层级平衡
- 变更驱动更新:架构评审更新 L2、Lint 规则变更更新 L3、故障复盘更新 L5
核心结论
知识库的终极形态不是"更大的向量库",而是"更聪明的知识路由器"。分层是骨架,图谱是神经,角色感知是大脑,增量同步是新陈代谢。四者合一,才是 Agent-native 的知识基座。
