硬核技术对比|RAG vs KAG:原理、边界、适用场景,附带可直接运行 Demo

发布时间:2026/7/24 20:04:52
硬核技术对比|RAG vs KAG:原理、边界、适用场景,附带可直接运行 Demo 在企业知识库落地、Agent 开发面试中经常被问到RAG 和 KAG 到底怎么选很多开发者混淆概念甚至把 KAG 等同于 GraphRAG上线后才发现选型错误。RAGRetrieval-Augmented Generation检索增强生成依靠非结构化文本 向量检索KAGKnowledge-Augmented Generation知识增强生成主流指代 OpenSPG-KAG 体系依托知识图谱结构化三元组 混合推理。 二者不存在谁完全替代谁核心差异在于知识组织形式、推理链路、擅长问题类型。 本文基于学术界论文与开源工业框架先厘清基础定义、完整横向对比再提供极简可运行 Python Demo最后给出落地选型标准。重要概念澄清 KAG ≠ GraphRAG GraphRAG文档自动抽取图谱偏向全局文本归纳无严格 Schema 约束 KAG面向垂直专业领域Schema 约束知识图谱 文本块双向互索引 逻辑形式求解引擎支持符号推理 向量检索混合执行。一、基础原理通俗拆解1.1 RAG 检索增强生成核心思想先检索文本片段再交给大模型阅读资料作答。完整流水线 原始文档 → 文本分块 Chunk → Embedding 向量化 → 向量库存储 用户提问 → Query 向量化 → 向量相似度检索 / BM25 检索 → 召回 TopN 文本块 → 上下文拼接进 Prompt → LLM 生成答案 本质模糊语义匹配以自然语言片段作为证据。 优势接入简单PDF/Word/ 网页等非结构化文档直接入库新增文档增量更新成本极低。 短板只擅长单点知识问答面对需要串联多条信息的多跳推理、实体关系推演、时序规则对比极易失效向量相似≠逻辑相关容易召回无关文本引发幻觉。1.2 KAG 知识增强生成OpenSPG 工业范式核心思想把知识抽象成结构化实体、关系、属性三元组 SPO先做符号逻辑推理辅以文本原文佐证。完整流水线分为两大模块 1离线构建 KAG-Builder 原始文档 → 文档解析 → 语义分块 → 双模态知识抽取Schema 约束抽取 开放抽取→ 实体消歧归一 → 构建知识图谱 →图谱节点 ↔ 原始文本块双向互索引2在线推理 KAG-Solver 用户自然语言问题 → 解析为逻辑形式 Logical Form → 两条并行链路 ① 图谱查询Cypher/SPG 查询执行多跳路径推理得到结构化事实三元组 ② 向量检索召回对应原始文本片段用于补充细节 结构化事实 原文证据共同送入 LLM 生成答案。 本质结构化符号推理为主文本片段作为补充证据。 优势天然支持多跳关系推理、实体对比、规则约束答案可溯源事实幻觉更低 短板前期构建成本极高需要设计领域本体 Schema非结构化杂乱文档自动抽取噪声大知识更新需要同步维护图谱关系。二、RAG KAG 全方位硬核对比表格对比维度RAGKAG核心知识载体非结构化文本 Chunk知识图谱实体 / 关系 / 属性三元组 原始文本双向索引检索机制向量相似度检索、BM25 关键词检索无显式逻辑链路自然语言转逻辑形式图遍历多跳推理 向量检索混合推理能力单点信息匹配多跳推理能力弱原生支持多跳链路、层级关系、对比类问题知识约束弱约束LLM 自由组织文本强结构化约束生成结果锚定图谱事实初始化成本低文档直接切片向量化开箱即用高需要本体 Schema 设计、实体抽取、消歧归一新增知识维护极低新增文档直接切片入库较高新增内容需要同步抽取三元组、更新图谱擅长问题类型常识问答、文档摘要、单点资料查询、资讯类开放式提问企业股权链路、医疗药物相互作用、法规层级推导、产业链关系、实体关联查询幻觉抑制依赖召回文本质量容易出现 “相似但无关” 错误结构化事实作为硬约束事实类幻觉显著降低可解释性只能给出参考文档无法展示推理路径可输出完整推理路径实体 A→关系→实体 B适合数据形态海量非规整文档、新闻、博客、动态持续更新资料垂直领域专业知识、存在大量明确实体关联的业务数据典型项目LangChain、LlamaIndex、Qwen-RAG、Milvus 向量知识库OpenSPG-KAG、蚂蚁 KAG 框架关键误区纠正❌ KAG 就是加了知识图谱的 RAG ✅ 错误。RAG 检索单元是文本KAG 检索单元是结构化知识三元组推理阶段引入符号计算不只是多一路向量检索。❌ 所有企业知识库都应该上 KAG ✅ 错误。如果你的资料以新闻、随笔、零散方案文档为主没有清晰实体关系盲目搭建 KAG 收益极低优先 RAG。❌ GraphRAG KAG ✅ GraphRAG 重在从海量文本自动抽图做全局归纳无强制 SchemaKAG 面向专业领域强调 Schema 约束、实体对齐、图谱与原文双向索引工程目标完全不同。三、极简可运行 Demo 示例环境说明Python3.10仅用于演示逻辑流程生产环境需要增加重排、实体归一、异步批处理。Demo1极简 Naive RAG 模拟实现python运行# 极简RAG演示逻辑 from sentence_transformers import SentenceTransformer import numpy as np # 1. 原始知识库文本 docs [ DeepSeek V4-Pro支持100万上下文擅长VibeCoding代码生成, Kimi K3具备原生多模态识图能力适合UI截图转前端页面, 智谱GLM-5.2 Ultra长文本严谨度高适合企业制度问答 ] # 2. 嵌入模型 embedder SentenceTransformer(BAAI/bge-small-zh-v1.5) doc_embeds embedder.encode(docs) # 3. 用户提问向量检索 def rag_query(question): q_emb embedder.encode(question) sim np.dot(doc_embeds, q_emb) top_idx np.argmax(sim) context docs[top_idx] prompt f基于参考资料回答问题资料{context}\n问题{question} return prompt # 测试 print(rag_query(哪个模型适合UI截图转换成网页代码))运行逻辑只找到语义最接近的一段文本作为上下文无法串联多条文档内的实体关系。Demo2极简 KAG 思想模拟知识图谱 推理演示真实 KAG 依赖图数据库与逻辑解析引擎下面用字典模拟知识图谱三元组演示多跳推理核心能力python运行# 模拟知识图谱 SPO三元组 (主体关系客体) kg_triples [ (Kimi K3, 归属厂商, 月之暗面), (月之暗面, 主营产品, 大模型API服务), (Kimi K3, 能力, 原生图文理解), (DeepSeek V4-Pro, 能力, 代码生成), ] # 简易多跳查询函数寻找A通过关系R关联的实体 def kg_multi_hop_search(start_entity, target_relation): result [] # 第一轮匹配 hop1 [(s,p,o) for s,p,o in kg_triples if s start_entity] for s,p,o in hop1: result.append((s,p,o)) # 第二轮多跳遍历 hop2 [(s2,p2,o2) for s2,p2,o2 in kg_triples if s2 o and p2 target_relation] result.extend(hop2) return result # 查询从Kimi K3出发多级关联的信息 facts kg_multi_hop_search(Kimi K3, 主营产品) # 将结构化三元组送入LLM prompt f依据以下知识事实回答问题事实列表{facts}\n问题Kimi K3所属公司开展什么业务 print(prompt)运行效果可以通过多跳链路串联信息完成 RAG 很难做好的链式推导。生产级 KAG 不会手写遍历会使用 Neo4j/OpenSPG 执行图查询并搭配实体链接模型把自然语言实体映射到图谱节点。四、典型问题对比直观感受二者差异测试问题月之暗面旗下大模型具备什么能力✅RAG 执行路径向量检索匹配文档Kimi K3具备原生多模态识图能力只能拿到单条片段缺少「Kimi K3 属于月之暗面」这条关联文本时直接回答失败。✅KAG 执行路径实体识别月之暗面图检索第一跳(月之暗面拥有模型Kimi K3)图检索第二跳(Kimi K3具备能力图文理解)自动串联两级事实形成完整答案。适合 RAG 的业务场景自媒体资讯库、博客文档检索产品 FAQ、零散操作手册问答持续新增、结构混乱的海量文档单点知识查询、文档摘要、内容润色。适合 KAG 的业务场景金融股权穿透、产业链上下游关系查询医疗药品相互作用、病症 - 检查多跳问答政务法规层级推导、企业组织架构查询需要输出清晰推理链路、对事实准确率要求极高的专业系统。五、工程落地选型决策流程你的知识库是否存在大量明确实体 固定关系 → 是评估人力预算预算充足选择 KAG预算有限先用 RAG核心实体抽取做成轻量化图谱做增强。 → 否直接选择 RAG不要强行搭建知识图谱。问题是否频繁需要多跳链式推理、实体关联对比 频繁 → KAG 优先仅单点查询 → RAG 足够。文档更新频率高不高 每日大量新增碎片化文档 → RAG知识稳定、迭代缓慢的专业领域 → KAG。主流混合方案KG-RAG / 混合增强架构工业界大量落地折中路线核心实体关系存入知识图谱KAG 能力长尾零散文本使用 RAG 向量检索。先用图谱完成关键逻辑推理检索原文作为细节补充兼顾推理能力与低成本扩容。六、全文总结RAG 是文本驱动的模糊语义检索方案上手快、扩容灵活适合绝大多数通用知识库场景KAG 是结构化知识驱动的符号推理方案擅长实体关联、多跳推演垂直专业领域事实问答优势巨大但前期建设成本高。不要盲目追逐新概念优先 RAG 验证业务需求当业务频繁出现多跳关联类问题、现有 RAG 准确率难以提升时再引入知识图谱搭建 KAG 体系或者混合架构。