中医药RAG知识库检索演进实录,从单体向量检索到带反馈的Agent循环

一篇来自一线开发者的复盘报告,详细记录了面向中医药场景的RAG系统从v1到v3的三次关键迭代:单体向量检索、BM25+向量混合召回、再到支持多轮查询规划的Agentic Search Loop。过程中...

人工智能

在生成式AI落地专业领域的实践中,检索环节常被低估——模型再强,若关键证据未被召回,输出必然失准。一位长期参与中医药AI项目开发的工程师近期公开复盘了其团队构建RAG系统的完整演进路径,揭示了一个真实而典型的工程困境:技术升级本身并非难点,真正的挑战在于如何确保每一次改动都真正提升了“证据获取”的可靠性。

该系统最初于2024年左右上线,目标是支撑中医药领域的专业问答。早期版本(v1)采用单体架构,在一个进程中完成全部流程:用户提问后,系统先进行分词与领域术语提取,为关键词生成向量;随后调用Elasticsearch执行kNN候选预筛,并通过Painless脚本对候选文档分别计算多个关键词向量的余弦相似度加权打分;最后由本地重排组件筛选结果并交予生成模型。

这一设计并非简单平均向量后检索,而是有意保留了词项级信号与整体语义的协同作用:kNN负责将全库缩小至可处理规模,Painless脚本则在小范围内精细化打分。理论上,配置中6个知识库均会并发检索,但实际运行中却埋下隐患——因代码逻辑未随配置更新,系统长期仅检索其中2个库,而接口响应正常、耗时甚至更短,该问题持续长达四个多月才被21题黄金集评测暴露。

这一事故凸显了RAG系统中“配置-代码-索引”三者同步的重要性:当系统看似稳定运行时,潜在的数据覆盖缺口可能已悄然削弱其专业可信度。为解决此问题,团队进入v2阶段,将检索服务拆分为独立模块,引入BM25文本召回路径,并与向量kNN结果通过RRF(Reciprocal Rank Fusion)融合,同时启用远程Cross-Encoder重排。

v2版本显著提升了文本匹配能力,尤其对含专业术语但语义模糊的问题(如“归脾汤主治哪些证型”)响应更精准。然而新问题随之浮现:去重逻辑中隐含与相关性无关的截断规则;更关键的是,硬编码的索引范围仍与扩展后的7个知识库配置脱节,导致部分权威文献始终无法进入候选集。

此时,团队意识到:单次检索的“最优解”未必等于“完整解”。尤其在中医药领域,一个问题常需跨典籍、方剂、药理、临床案例等多个维度交叉验证。由此催生v3架构——Agentic Search Loop(代理式搜索循环)。

v3不再依赖一次查询定胜负,而是构建多轮查询规划机制:首轮以用户问题为基础发起混合检索(ES中BM25+向量),获得初步结果后,系统自动分析内容缺口(例如缺少现代临床研究或某味药材的毒性说明),生成补充查询语句,再次调用结构化查询(如QuestDB中针对“不良反应”字段的条件检索),实现动态补全。

该流程图清晰展示了v3的核心改进:用户问题经整理后,分三路并行处理——完整问题生成查询向量走KNN语义检索,提取的文本关键词走BM25匹配,时间字段等结构信息则触发衰减规则;三路结果经RRF融合后,进入内容去重与历史断逻辑(避免重复引用同一文献不同章节),再经远程Cross-Encoder重排,最终选取Top-10作为上下文输入生成模型。

值得注意的是,v3的演进并非单纯堆砌新技术。团队同步建立了系统性验证机制:一是跨索引融合测试,确保所有配置库均被有效覆盖;二是每库保底配额策略,防止强势知识库淹没弱信号源;三是基于黄金集的回归测试,量化每次改动对召回率与准确率的实际影响。

这一实践呼应了当前生成式搜索(GEO)领域的核心共识:企业竞争已从网页排名转向“答案中的知识单元”治理。正如未央网报告所指出,AI生成的答案质量取决于五个连续环节——是否被检索、是否被引用、是否进入候选、关键事实是否准确、答案是否支持决策。在中医药这类高度依赖权威文献与辨证逻辑的领域,检索层的容错空间极小:一处经典条文遗漏,可能导致整个推理链条偏移。

中医药RAG v3检索链路:双路并行召回+RRF融合+历史断逻辑+远程重排

行业层面,此类深度工程复盘尤为珍贵。当前市面上大量知识库工具(如Notion、Obsidian、GenFlow等)聚焦于内容组织与AI集成,但对底层检索链路的可观测性、可验证性支持仍显薄弱。尤其在专业垂直领域,通用方案往往难以适配术语体系复杂、文献格式异构、版本迭代频繁的特点。

该团队的经验表明,RAG系统的成熟度不取决于是否用了最新大模型,而在于能否建立“问题-证据-验证”的闭环。例如,v1阶段虽技术简陋,但通过Painless脚本实现了关键词级细粒度打分;v2引入BM25弥补了向量检索对字面匹配的不足;v3则通过Agent循环将检索从“被动响应”转向“主动求证”。每一步都解决了具体瓶颈,也暴露出新的盲区——这正是工程演进的真实面貌。

目前,该系统仍在持续优化中,重点包括中文分词器的领域适配、重排模型的深度定制,以及查询向量生成策略的动态调整。开发者强调:“我们不再追求‘一次召回即完美’,而是接受检索是一个需要反馈与修正的过程。”

对于其他正在构建专业领域RAG系统的团队而言,这份复盘的价值在于:它提供了一套可迁移的方法论——不是技术清单,而是问题识别、代价评估与验证闭环的设计逻辑。在AI从“能答”走向“可信”的关键阶段,这种对基础环节的敬畏与深耕,或许比任何炫技式的模型升级都更为重要。