RAG与LLM Wiki:知识库方案对比与选型

作者:菠萝爱吃肉2026.11.04 09:21浏览量:0

简介:当个人与团队的知识积累达到数百篇文档规模,“让大模型真正读懂并答好问题”出现了两条路线:查询时检索的传统RAG,与写入时由模型离线编译的结构化Wiki。本文从架构组件、加工时机、检索机制、成本结构、规模边界、可维护性与安全等维度系统对比两类方案,给出场景化选型建议与迁移注意事项,帮你判断自己的知识库该怎么建。

一、对比背景:一个问题引发的路线之争

近日,一位业界知名AI工程师公开分享了自己的个人知识管理工作流,并提到一个颇具信号意义的观察:“最近我大部分的token消耗,已经从写代码转向了处理知识。”换言之,对重度AI使用者而言,模型最宝贵的算力正在从“生成代码”迁移到“组织与理解信息”上。

更引发讨论的是他的技术选择:他没有沿用主流的RAG(检索增强生成)架构——没有向量数据库、没有embedding管道、没有复杂的检索与重排逻辑,而是让大模型把原始资料离线“编译”成一套结构化Wiki,查询时让模型直接阅读Wiki并顺着链接交叉引用。分享者提到,在个人研究Wiki约百篇文章、数十万字的规模下,这种“不上RAG”的方式效果已经很好。

这就引出本文要系统回答的问题:传统RAG与LLM编译式Wiki,本质区别在哪里?各自适合什么场景?若在两者之间迁移,需要注意什么?

二、对比对象定义

rag-">2.1 传统RAG知识库:查询时“现查”

RAG的思路是惰性求值。写入阶段把语料切分成chunk,调用向量化模型生成embedding,存入向量数据库;查询阶段把用户问题同样向量化,按相似度召回top-k个chunk,可选做重排,再把结果拼进上下文交给生成模型作答。它是当前企业知识问答、文档助手类应用的主流架构,也是多数云厂商知识检索类托管服务所采用的基础范式。

2.2 LLM编译式Wiki:写入时“先消化”

这套方案可以概括为一条极简流水线:raw/目录 → LLM编译 → wiki/目录 → 查询与维护。

  • raw/:用网页剪藏类工具把文章保存为Markdown,图片本地化存储(多模态模型可直接“看见”图片),原始资料只增不改,作为唯一事实来源;
  • 编译:LLM扮演“图书管理员”,为每篇原始文档写摘要、抽取关键概念并写成百科式文章、在相关概念之间维护双向链接(backlinks)、维护一个全局索引文件;
  • wiki/:编译产物,是人类可直接阅读的Markdown知识库;
  • 查询:模型先读索引,自主挑选相关文章,顺着双向链接交叉引用,综合出答案。

目录结构示意:

  1. knowledge_base/
  2. ├── raw/ # 原始资料(唯一事实来源)
  3. │ ├── article-001.md
  4. │ └── assets/ # 本地化的图片等附件
  5. └── wiki/ # 编译产物(可再生成)
  6. ├── index.md # 全局索引
  7. ├── 概念-检索增强.md
  8. ├── 概念-长上下文.md
  9. └── ...

三、相同点:两条路线共享的前提

  • 目标一致:都是让生成模型基于私有资料回答问题,抑制幻觉,把“模型不知道的”变成“模型现查的”;
  • 载体一致:都以文档/Markdown为知识源,都需要一条写入管道;
  • 都绕不开知识治理:去重、冲突消解、过期清理、版本管理,两类方案都要面对,区别只在处理时机;
  • 都可作为智能体的知识层:上层无论是对话问答还是Agent工作流,两者对外的能力接口一致——针对问题给出有依据的上下文。

四、核心差异分析

4.1 架构与组件复杂度

RAG依赖向量化服务、向量数据库、检索与重排等多个组件,链路长、需要运维的中间件多;编译式Wiki几乎不依赖额外基础设施,文件系统加大模型调用即可跑通,部署门槛显著更低。但这也意味着前者的能力上限(并发、规模、延迟控制)有工程组件兜底,后者更依赖模型本身的能力与稳定性。

4.2 知识加工时机:这是最本质的分野

RAG在查询时才完成“理解”:写入只做轻量加工,每次查询都重新拼装上下文。编译式Wiki在写入时就让模型完成摘要、归并、去重、建链,查询时面对的是“已被消化过的知识”。代价与收益因此对调:RAG写入便宜、查询侧持续付费;Wiki写入昂贵(编译消耗大量token),查询侧因知识已结构化而效率更高。

4.3 知识形态:碎片 vs 结构

RAG的检索单元是被切断的chunk,文档间关系与概念体系在切分时基本丢失;Wiki以概念为中心组织成互链文章,附带全局索引,模型可以“顺藤摸瓜”。结构化程度直接决定了跨文档综合推理类问题的作答质量差异。

4.4 检索机制:相似度召回 vs 模型自主导航

RAG靠向量相似度top-k召回,确定性强、延迟可控,风险是召回不全或召回不准;Wiki方案里模型读索引、自己决定读哪几篇、再沿链接扩展,属于“智能体式检索”,灵活性与综合性更强,但行为不完全确定,查询耗时随浏览深度上升。

  1. # RAG查询(示意)
  2. chunks = vector_db.search(embed(question), top_k=8)
  3. answer = llm.generate(question, context=chunks)
  4. # Wiki查询(示意)
  5. index = read("wiki/index.md")
  6. articles = llm.pick_articles(question, index) # 模型自主选文章
  7. context = read_articles(articles, follow_backlinks=True)
  8. answer = llm.synthesize(question, context)

4.5 可解释性与错误传播

RAG的引用可溯源到具体chunk,但整体知识质量难以一眼审计;Wiki每篇文章都是可读、可审计的产物,但编译环节一旦产生事实性错误或主观偏差,会被“固化”在知识库中,后续所有查询都会继承——单点污染风险反而更高。分享者强调“很少手工编辑wiki,那是LLM的地盘”,意味着质量兜底要靠编译流程的校验设计,而非人工逐篇修订。

4.6 更新与“自进化”能力

RAG的更新是增删chunk,简单直接,但容易出现新旧并存、互相矛盾的片段;编译式Wiki天然支持增量演化:新资料进入raw/后触发受影响概念的局部重编译,模型自动更新摘要、双向链接与索引,知识库呈现“自进化”形态。代价是需要设计好触发与冲突策略,避免全量重编译导致成本失控。

  1. # 增量编译(示意)
  2. for doc in new_raw_docs():
  3. for concept in llm.extract_concepts(doc):
  4. merge_into(f"wiki/{concept}.md", doc) # 去重、合并、更新链接
  5. llm.refresh("wiki/index.md")

4.7 成本结构

RAG写入成本低(以向量化为主),主要成本在向量库托管与查询侧;Wiki写入成本高(编译是重token任务),查询侧读多篇长文同样不便宜。语料量小、更新频率低、查询频率高时,Wiki“一次编译、多次复用”更划算;语料量大、更新频繁时,反复重编译的开销会迅速放大。

4.8 规模边界

RAG在百万级chunk规模上已被广泛验证;编译式Wiki目前更适合个人与小团队量级(数百篇、数十万字以内),再往上会遇到上下文窗口、单次编译成本、索引膨胀等约束,通常需要引入检索做初筛,走向混合架构。

4.9 安全与权限

企业场景下,RAG可做文档级权限过滤与元数据隔离;Wiki在编译时会把多份来源的信息合并进同一篇文章,若不同来源权限不同,合并产物存在越权泄露风险,需要在编译前完成权限归一或对wiki目录严格分级。个人场景下该问题影响较小。

4.10 多模态与人类可读性

原始资料阶段把图片本地化,多模态模型可直接读图,编译时还能为图片生成文字描述并入概念页;Wiki产物本身是人类可读的Markdown,天然具备“人机共用”属性,这是以chunk为中心的RAG所不具备的。

五、对比总表

维度 传统RAG LLM编译式Wiki
核心组件 切分、向量化、向量库、检索与重排 文件目录 + LLM编译任务
加工时机 写入时轻加工,查询时检索 写入时重加工,查询时浏览
知识形态 碎片化chunk + 元数据 结构化互链文章 + 全局索引
检索方式 相似度top-k召回 模型读索引、顺链接自主导航
写入成本 低 高(编译token消耗大)
查询成本 低到中 中到高(读多篇长文)
规模上限 大(百万级chunk) 中(受上下文与成本约束)
可解释性 引用溯源到chunk,整体难审计 文章级可审计,编译错误会固化
更新方式 增删chunk,可能新旧冲突 局部重编译,自动维护链接(自进化)
权限控制 文档级ACL、元数据过滤 文件权限,合并来源需防越权
产物可读性 面向机器 人类可读,人机共用

六、典型场景选择

  • 个人研究与学习笔记(百篇级):编译式Wiki的优势区,零基础设施、产物可读、可自进化;
  • 小团队共享知识库:可行,但需约定raw写入规范与编译触发规则;
  • 企业级海量文档问答(高并发、低延迟、严格权限):传统RAG或托管知识检索服务更稳妥;
  • 深度综合分析型任务(技术调研、写综述):Wiki的结构与双向链接对跨文档综合更友好;
  • 语料频繁变动的场景(新闻、工单类):RAG增量写入更轻,Wiki重编译成本需事先评估。

七、选型建议

  • 若语料在数百篇以内、团队能承担编译token成本、且希望产物人类可读可审计,可优先尝试编译式Wiki;
  • 若语料规模大、更新频繁、查询并发与延迟有硬指标、权限体系复杂,传统RAG仍是更稳的选择;若不想自运维向量库与检索链路,可评估百度智能云等云厂商在向量数据库、知识检索等通用类目下的托管能力,把组件运维交给平台,团队专注语料治理与业务集成;
  • 两条路线并非二选一:常见混合形态是“检索做初筛、Wiki做深读”——用轻量索引定位候选概念,再让模型沿双向链接精读综合;或反过来,把Wiki文章当作高质量语料去构建RAG索引。

八、迁移与使用注意事项

从RAG迁往编译式Wiki:

  1. 确认原始语料可完整导出为Markdown(含图片),raw目录必须作为唯一事实来源保留;
  2. 先小批量试编译,测算单篇token消耗,再决定全量与增量策略;
  3. 设计增量触发机制,新资料只重编译受影响概念,避免全量重跑;
  4. 对wiki目录纳入版本控制,每次编译可回滚、可比对;
  5. 建立抽查机制:编译错误会固化并传播,需定期抽样比对Wiki结论与raw原文;
  6. 明确“不直接手改Wiki”的边界,人工修正应回流到raw或编译规范,而非直接改产物。

从Wiki迁往RAG: Wiki文章语义完整、结构良好,是优于原始chunk的切分单元,双向链接可作为图检索或元数据注入,迁移成本相对较低。

通用风险提示:编译错误单点固化、过期知识滞留、链接失效、权限合并越权、查询成本随规模非线性上升、对单一大模型能力的过度依赖。

九、总结

传统RAG与LLM编译式Wiki的分野,本质上源于“知识加工时机”的不同:一个把理解推迟到每次查询,一个把理解前置到每次写入。这一个选择进而决定了两者的成本结构、知识形态、检索行为与规模边界全面分化。选型时应把“语料规模、更新频率、查询模式、团队运维能力”四个变量放在一起权衡:小规模、低更新、重综合分析的场景,编译式Wiki值得认真尝试;大规模、高并发、强权限的场景,检索增强及其托管服务仍是更稳健的路径;而两者结合的混合架构,很可能是知识库演进的下一站。