企业知识库往往不是单一形态:产品手册是半结构化表格,组织架构是关系型数据,帮助中心是HTML页面,客服记录是自由文本。面对这些混合形态,传统RAG、Graph RAG、Agentic RAG以及ChunkRAG、FastRAG、HtmlRAG等变体各有适配边界。本文不依赖具体版本和性能数字,从数据特征与查询类型出发,构建一个可操作的选型决策框架。
先看数据形态,再看查询类型
传统RAG的核心流程是“分块—向量化—相似度检索—拼接生成”。它最适合处理自由文本,例如FAQ、政策文档、会议纪要。当知识库以段落形式存在、查询以事实型问答为主时,传统RAG的工程复杂度最低,失败模式也最清晰:分块切断语义、相似度匹配忽略关键词、多跳问题无法覆盖。
当知识库包含大量半结构化数据(表格、键值对、带字段的记录)时,传统RAG的向量检索容易丢失字段约束。FastRAG的思路是融合模式学习与知识图谱查询,针对半结构化数据处理做优化。它适合查询中带有明确过滤条件或聚合需求的场景,例如“某产品在华东区的退货率”。代价是引入模式识别与查询转换层,工程复杂度高于传统RAG。
当知识库是HTML文档,且页面结构本身携带语义(标题层级、表格、列表、链接)时,HtmlRAG选择保留HTML结构而非直接压平为纯文本。它适合帮助中心、技术文档、法规页面等场景。失败模式在于HTML噪声(导航、广告、脚本)可能干扰检索,需要额外的清洗与结构裁剪策略。
当查询需要关系推理——例如“某供应商的二级供应商是否涉及某类风险”——向量检索难以显式表达实体间路径。Graph RAG结合向量与图检索,增强关系推理能力。它适合知识库本身可构建实体关系图的场景,如供应链、组织架构、金融关联网络。额外复杂度在于图构建、实体对齐与图查询维护。
当查询是多跳、需要工具调用或动态决策时,Agentic RAG引入智能体实现多轮推理与工具调用。它适合复杂研究型任务,例如“对比三个方案的成本与合规风险并给出建议”。AUTO-RAG则基于LLM自主决策迭代检索,适合查询意图不明确、需要逐步澄清的场景。代价是延迟、成本与不可控性上升,失败模式包括工具调用错误、循环检索、推理偏离。
ChunkRAG通过语义分块与混合过滤提升准确性,适合文档边界模糊、传统固定长度分块效果差的场景。它不改变检索架构,但增加了分块策略的调优成本。
选型决策框架
可以用两个维度快速定位:数据形态(自由文本/半结构化/HTML/关系型)与查询类型(事实型/过滤聚合型/关系推理型/多跳研究型)。
自由文本+事实型:传统RAG或ChunkRAG。
半结构化+过滤聚合型:FastRAG。
HTML+事实型:HtmlRAG。
关系型+关系推理型:Graph RAG。
多跳研究型:Agentic RAG或AUTO-RAG。
但企业知识库通常是混合形态,单一变体难以覆盖全部查询。此时需要组合方案。
从单一变体到组合方案的渐进路径
第一步,用传统RAG或ChunkRAG覆盖自由文本事实型查询,建立基线。第二步,针对HTML文档引入HtmlRAG,保留结构信息。第三步,针对半结构化数据引入FastRAG,处理过滤与聚合。第四步,针对关系推理引入Graph RAG,构建实体关系层。第五步,在前端引入Agentic RAG作为路由与编排层,根据查询类型调用不同检索后端。
组合方案的关键不是堆叠变体,而是明确路由逻辑与失败回退。Agentic RAG可以作为统一入口,但需要设置最大迭代次数、工具调用白名单和超时回退到传统RAG。Graph RAG的图查询结果需要与向量检索结果做融合排序。HtmlRAG的结构化输出需要与ChunkRAG的分块策略协调,避免重复检索。
工程复杂度与失败模式对照
传统RAG:复杂度低,失败模式为分块断裂、关键词遗漏。
ChunkRAG:复杂度中,失败模式为语义分块模型偏差。
FastRAG:复杂度中高,失败模式为模式识别错误、查询转换失败。
HtmlRAG:复杂度中,失败模式为HTML噪声干扰、结构裁剪过度。
Graph RAG:复杂度高,失败模式为实体对齐错误、图查询超时。
Agentic RAG/AUTO-RAG:复杂度最高,失败模式为工具调用错误、循环检索、成本失控。
落地建议
不要一开始就追求Agentic RAG。先从传统RAG或ChunkRAG建立可观测的基线,记录查询类型分布与失败案例。当某一类查询的失败率持续偏高时,再引入对应变体。每次引入新变体时,保留回退路径,并监控延迟、成本与准确率的权衡。组合方案的目标不是技术栈最全,而是让每类查询都有明确的处理路径和可接受的失败边界。