首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >RAG 跑通之后,我才发现真正缺的是一个"运维平台"

RAG 跑通之后,我才发现真正缺的是一个"运维平台"

作者头像
王中阳AI编程
发布2026-06-23 21:22:00
发布2026-06-23 21:22:00
1410
举报
文章被收录于专栏:Go语言学习专栏Go语言学习专栏

去年开始,RAG(检索增强生成)成了 AI 应用的标配。搜 GitHub,"RAG" 相关仓库几万个,LangChain、LlamaIndex、Haystack、Dify、RAGFlow……教程更是铺天盖地——

三天跑通一个 RAG demo,七天上线一个知识问答机器人。

然后,问题来了。

你的 RAG 上线两周,用户开始投诉:"回答不对"。你翻了翻日志,发现模型引用了一段完全不相关的内容。你想调一调检索策略,把 top_k 从 5 改成 10——停,改配置要重启服务。

你好不容易说服老板给你一个凌晨两点的维护窗口,改完 top_k,重启了服务。第二天,老板说:"怎么回答变慢了?"你想回滚——停,你没有回滚能力,只能再改回来,再重启一次。

再过一周,财务来问你:"这个 RAG 项目一个月花了多少钱?"你说不上来。token 花在哪了?是 embedding 阶段还是生成阶段?哪个知识库最烧钱?不知道。

还有一个更隐蔽的盲区:用户说"回答不好",你根本不知道是哪一环出了问题。是查询改写把 query 搞歪了?是向量召回没命中?还是 BM25 把对的候选先卡掉了?又或者是重排序把正确结果排到了后面?一次检索请求内部经过了改写、向量检索、关键词检索、融合、重排五六个阶段,而你只能看到最终结果——中间全是黑盒。

这不是个别团队的问题,这是整个开源 RAG 生态普遍缺失的一环。

二、现有开源 RAG 框架,到底缺了什么?

我花了不少时间去调研主流开源 RAG 项目的治理能力,结论是:它们都能帮你把 RAG "做出来",但帮你把 RAG "管起来"的,几乎没有。

LangChain / LlamaIndex:它们是帮你搭 RAG 的"积木库",不是产品。检索策略硬编码在业务代码里,改个 top_k 就要重新发版;没有内置评测(想测效果得自己接 Ragas 这类第三方);灰度、回滚、成本归因——统统没有概念。可观测性官方主推 LangSmith,但那是闭源 SaaS,能看 trace,却不能替你做任何治理动作。

Dify:可视化搭知识库、拖拽配流程这层做得很好,上手快,是它最大的优势。但检索策略偏"写死然后祈祷"——top_k 在检索节点上有上限,chunk size 一改就得重建整个索引;评测门禁、灰度发布、回滚、请求级成本归因,同样缺失。

RAGFlow:检索引擎本身做得不错,混合检索和文档解析是亮点。但"评测"这个 RAG 质量保障的核心能力,目前还停留在社区讨论阶段——有人提出了 RAG_score = retrieval_recall × faithfulness × correctness 的思路,但代码层面还没落地。

至于 LangSmith、Arize Phoenix 这类可观测性平台,它们能告诉你"这次检索慢了""token 超了",但属于外挂式监控——不能替你灰度一个新策略、不能跑评测集验证、不能在策略翻车时一键回滚。看得到病,开不了药。

一句话:开源 RAG 生态里,"做出来"的工具遍地都是,专门做"管起来"的平台几乎没有。

这就是我做 RetrievalOps 的原因——它不是又一个"积木库",而是一个把治理能力长在检索引擎里的 RAG 平台。 检索引擎和治理层是一体的,所以治理能做得比任何外挂方案都细。

三、RetrievalOps 是什么

一句话定位:RetrievalOps = RAG 检索层的 MLOps。

如果说 MLOps 解决的是"模型怎么安全上线",DataOps 解决的是"数据怎么治理",那 RetrievalOps 解决的就是——**"检索策略怎么安全上线、效果怎么量化、出了问题怎么快速定位、成本花在了哪里"。**

RetrievalOps 是一个把治理能力长在检索引擎里的 RAG 平台——不是先有个 RAG 再外挂监控,而是从查询改写、向量检索、关键词检索、结果融合、重排序,一直到父子检索和引用门禁,每一环都是原生自研实现,并在此基础上内置了热加载、灰度、评测和全链路埋点

这也是它和 LangChain + LangSmith 那种"框架 + 外挂监控"组合的本质区别:当检索引擎是自家的,治理能力才能做到那么细。 比如后面会讲到的"分路贡献归因"(一次检索里向量路贡献多少、关键词路贡献多少)、"BM25 过滤前后候选数对比"——这些埋点只有在引擎自己手里时才埋得到,外挂监控只能看个皮毛。

它接管的是检索执行层(从改写到重排引用),不接管你的 LLM 调用和业务逻辑。能力域划分如下:

技术栈是 Go + Hertz + MySQL + Redis + Milvus + Next.js + Prometheus + Grafana,工程化程度对标生产环境。

四、核心能力详解:每个模块解决了什么具体问题

4.1 策略中心:改策略不再像赌博

传统 RAG 改策略的流程:

改参数 → 改代码 → 编译打包 → 凌晨两点维护窗口 → 停服 → 重启 → 祈祷没出问题 → 出问题了 → 再改回来 → 再重启

RetrievalOps 的策略发布流程:

改配置 → 热加载生效 → Shadow 模式(只记录不影响用户) → Canary 小流量验证 → 质量门禁通过 → 逐步放量 → 出问题?一键回滚

策略的状态机是这样运转的:

代码语言:javascript
复制
disabled → shadow(只记录不影响用户) → canary(小流量验证) → enabled(全量发布)                                                                  ↓                                                          rolling_back → disabled

这套灰度机制不是停留在概念,它真正接进了检索主链路:每一次检索请求进来,都会先经过灰度决策——根据用户角色、用户 ID 哈希分桶,决定这次请求走 Phase 1 基线策略,还是走 Phase 2 候选策略。内部用户先全量体验新策略,稳定后再按百分比放量给真实用户。

Shadow 模式是这个设计的精髓:新策略在 shadow 模式下会执行并记录结果,但不返回给用户。你可以安全地收集新策略的检索数据,和旧策略做对比,确认效果后再逐步放量。这在开源 RAG 生态里是很少见的能力。

4.2 评测中心:让"感觉变好了"变成"数据变好了"(★ 重点)

RAG 策略优化最大的痛点是——你怎么知道新策略比旧策略好?

靠"感觉"?靠"我看了一下几条 case 好像不错"?这是不靠谱的。

RetrievalOps 的评测体系是这样运作的:

代码语言:javascript
复制
创建评测集(Query + 标准答案对)        ↓运行评测(Baseline vs Candidate 并行检索)        ↓自动计算指标        ↓质量门禁判定(Gate 通过?→ 放行。Gate 不通过?→ 禁止发布)

这里重点说一下"计算指标"——这是整个平台技术含量最高的地方,也是和别的方案拉开差距的地方。

我见过不少 RAG 文章提评测,张口就是"Recall@K、MRR、nDCG"三个老三样。这三个当然要有,但只看这三个,你依然回答不了几个关键问题:混合检索里,到底是向量路贡献大还是关键词路贡献大?新策略让拒答变多了还是变少了?父子检索的上下文补全到底有没有用?

RetrievalOps 的评测指标分三层,一共 20 多个:

第一层 · 基础检索质量(标配)

指标

说明

Recall@K

前 K 条结果命中了多少相关文档

MRR

第一条命中结果排在第几位

nDCG

排序质量(越相关越靠前,分越高)

第二层 · 引用与拒答质量

第三层 · 检索内幕归因(★ 这是别家基本没有的)

第三层是整个评测体系的灵魂。 举个例子:你上了一版新策略,Recall 提升了 5%——但为什么提升的?有了"分路贡献归因",你能直接看出来:是因为向量召回变强了,还是因为关键词路多召回了几条。没有这个粒度,调参就是盲调;有了它,每一次策略迭代都能讲清楚"功劳归谁"。

这种"分路贡献归因"的设计,在很多 RAG 教程里根本不会出现,因为它要求检索引擎从底层就把每条结果的来源路由记下来——多数框架做不到。

质量门禁(Gate)是评测的收口。它不是简单的"及格线",而是一个多维度判定矩阵:

  • 候选策略的 Recall 相比基线,至少要提升 8 个百分点才放行(MinRecallDelta: 0.08
  • P95 延迟回退**不得超过 20%**(MaxP95LatencyRegressionRatio: 0.20)——不光看效果,还卡性能
  • 拒答误杀率**不得超过 5%**(MaxRefusalFalsePositiveRate: 0.05
  • 如果新策略启用了模型改写,还要额外校验改写是否真的带来正向收益(MinRewriteGainDelta

新策略想上线?效果要涨、延迟不能崩、拒答不能误杀、改写不能白做——全部满足才放行。 没有评测门禁的策略上线,就是在裸奔。

4.3 检索实验室:把检索过程从黑盒变成白盒(★ 重点)

一次检索请求到底经历了什么?在传统 RAG 里,你只能看到最终返回的结果,中间过程是个黑盒。

RetrievalOps 把检索过程拆成可独立调试的阶段:

代码语言:javascript
复制
用户 Query    ↓查询改写(缩写展开、拼写纠错、术语标准化、模型改写)    ↓┌───────────────┐     ┌───────────────┐│  向量检索      │  +  │  关键词检索    │   混合检索│  (Dense)       │     │  (Sparse/BM25)│└───────────────┘     └───────────────┘    ↓结果融合(加权合并、去重)    ↓重排序(Cross-Encoder 精排)    ↓父子检索(子块精确匹配 + 父块上下文补全)    ↓拒答判断(证据不足?→ 拒答而非编造)    ↓返回结果(附引用溯源)

但流程图谁都会画,关键看你能把中间过程记录到多细。 这才是检索实验室真正硬的地方。

而这里有个前提值得点明:能做到这么细的埋点,恰恰因为检索引擎是 RetrievalOps 自研的——改写、稀疏检索、融合、重排、父子检索、引用门禁全是自家代码,每个环节想埋什么字段就埋什么。如果你的检索引擎用的是第三方的(比如 LangChain 的 RetrievalQA),它内部根本没给你留埋点的钩子,外挂监控只能看到"调用了、返回了、花了多久",中间是黑的。

每一次检索请求,系统会落一条结构化日志,业务字段 60 多个——不是笼统的"耗时多少毫秒",而是把整条链路拆开,精确到每个阶段的每个决策。我挑几个最能说明问题的字段:

定位"到底是哪一环出了问题":

举个真实的排查场景:用户反馈"这次回答完全不沾边"。在传统 RAG 里你只能干瞪眼;在 RetrievalOps 里,你按 request_id 拉出这条日志,5 秒钟就能定位——比如看到 sparse_candidate_before_bm25=12sparse_candidate_after_bm25=0,立刻明白:BM25 阈值卡太狠,把所有关键词候选都干掉了,导致只剩向量路单腿走路,召回相关性崩了。

这不是"日志",这是一次失败检索的完整"尸检报告"。 从黑盒变白盒,靠的不是 PPT,是这 60 多个字段。

4.4 成本运营:每一分钱花在哪了,清清楚楚

RAG 系统的成本是黑盒吗?在大多数开源方案里,是的。

你能看到云厂商的总账单,但你看不到:

  • 哪个知识库最烧钱?
  • 哪个策略版本成本最高?
  • 哪些 Query 是高成本 Query(context token 特别长)?
  • Embedding、检索、重排、生成各花了多少钱?

RetrievalOps 的成本追踪是请求级归因——每次检索请求都记录 embedding tokens、context tokens、completion tokens 和估算成本,精确到 request_id 级别,并拆出 embedding / retrieval / rerank / LLM / 向量存储五项成本。

这不是事后看账单,而是实时看大盘。

五、Agent 时代的新入口:MCP Server(★ 新增)

到这里,前面讲的都还是"给人用的运维平台"。但 2025 年开始,一个更大的变化正在发生——Agent 爆发,每个 Agent 都需要检索能力。

于是问题来了:你的 Agent 想用知识库检索,要自己接 API、自己处理鉴权、自己想办法复用你那套治理后的策略?那治理能力不就白做了?

RetrievalOps 给出的答案是:它同时是一个 MCP Server。

MCP(Model Context Protocol) 是 Anthropic 推出的、让 AI 应用统一调用外部工具的开放协议,Claude、Cursor 以及越来越多的 Agent 框架都在原生支持。简单说,它之于 AI 工具,就像 USB 之于外设——一个标准接口,插上就能用。

RetrievalOps 实现了完整的 MCP Server 能力:

  • 基于官方 SDK 实现modelcontextprotocol/go-sdk),协议兼容有保障,不是自己造的半成品
  • 对外暴露 retrieve_knowledge 工具:Agent 用标准 MCP 协议调用,传入 query 和 kb_ids,就能拿到结构化的检索结果
  • 治理能力自动透传:Agent 通过 MCP 发起的每一次检索,同样经过灰度决策、同样记录 60+ 字段日志、同样计入成本归因——治理层对 Agent 是透明的,Agent 不用感知,但享受全部能力
  • 结构化输出:返回结果里带 request_idstrategy_versionrequest_costcitation_checkrefusalevidence_gate_result——Agent 不仅能拿到答案,还能拿到"为什么是这个答案"的元信息
  • 生产级安全:Origin 白名单控制(防跨域滥用)、Authorization 指纹脱敏(日志里不留明文 token)、metadata_filter 嵌套深度限制(防恶意构造攻击载荷)
  • 双传输模式:stdio 模式供本地调试,http 模式供远程 Agent 接入
  • 完整可观测:7 个 Prometheus 指标监控工具调用(调用总量、延迟分布、结果数量、上游错误、鉴权缺失、越权、超时)

这意味着什么?

意味着 RetrievalOps 不只是"运维平台",它是 Agent 时代的检索基础设施。 你把知识库治理好、策略调优好,然后任何支持 MCP 的 Agent——无论是 Claude、Cursor,还是你自己搭的 Agent——都能用标准协议直接接入,立刻获得你精心调校过的检索能力,而所有治理动作(灰度、评测、回滚、成本归因)依然生效。

这是"做出来"的层面完全不考虑、但"跑稳"的层面至关重要的事:当你的 Agent 被成千上万个用户调用时,你怎么知道哪次检索慢了、哪次拒答是误杀、哪个 Agent 的调用最烧钱? 没有 MCP + 治理的组合,这些问题在 Agent 场景下会被放大十倍。

- trae接入mcp服务测试:

六、技术架构

说了这么多功能,底层是怎么实现的?简单说:

核心设计理念:

  1. 治理模块异常不拖垮主查询链路——采集失败不阻断检索,审计写入失败进入补偿队列,成本统计失败只影响看板不影响回答。
  2. Feature Flags 驱动策略管理——策略不是写死在配置文件里的,而是存储在数据库中,运行时热加载。由于检索引擎(改写、向量/关键词检索、融合、重排、引用门禁)全部自研实现,策略参数能精确作用到每一个环节,而不是停留在"改个配置项、引擎根本不认"的尴尬境地。
  3. 全链路可观测——每次检索都有 request_id,从改写到向量检索到关键词检索到融合到重排到最终结果,全链路耗时和结果都记录在案。主检索链路在每次请求时都会经过灰度决策和实验分流,治理能力是"内嵌"在检索流程里的,而不是外挂的。

七、它已经在支撑真实业务

这个平台不是纸上谈兵。我把它用在了自己的 AI 面试产品——Interview Bar——上,作为它的检索能力底座。

Interview Bar 是一个 AI 面试模拟平台,提供简历预测、综合面试(有经验/校园)、按技术栈的专项面试(Go / Java / 前端等)等能力。这个产品的核心就是 RAG:用户上传简历,系统从技术题库、简历评估标准、追问策略等知识库中检索相关内容,驱动 AI 进行深度追问。

这种场景对检索质量的要求极高——面试官问的问题必须和候选人的简历、技术栈、项目经验高度匹配,检索错了一条,追问就偏了。而面试场景又对成本和延迟敏感,不能为了召回率无脑堆 token。

把它用在自己直面用户的产品上,对我来说就是最实在的验证——检索质量、成本控制、问题定位,每一项都被真实流量逼着打磨过。

八、谁应该关注这个项目

九、如何体验

RetrievalOps 目前以私有化部署方式提供,一次完整的部署会启动以下服务:

如果你对 RetrievalOps 感兴趣,想了解更多细节:

  • 公众号后台回复"RAG",获取产品介绍和联系入口

十、写在最后

RAG 的开源生态已经很热闹了——LangChain、LlamaIndex、Dify、RAGFlow,每个都在帮开发者"做出来"。

但"做出来"和"跑稳"之间,隔着一道巨大的鸿沟:策略怎么安全发布?效果怎么量化?出了问题怎么定位?成本花在了哪里?Agent 时代来了,检索能力怎么被成千上万的 Agent 安全、可控地复用?

RetrievalOps 要填的,就是这道鸿沟。

它不是又一个"搭 RAG 的积木库",而是一个把治理能力长在检索引擎里的 RAG 平台。它负责从查询改写到重排引用的整个检索执行层,并内置热加载、灰度、评测、成本归因——但不接管你的 LLM 调用和业务逻辑。你可以把它理解为 RAG 检索层的 "Argo Rollouts + Prometheus + OpenTelemetry":既负责把检索做对,又负责把检索管好。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-06-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 王中阳 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 二、现有开源 RAG 框架,到底缺了什么?
  • 三、RetrievalOps 是什么
  • 四、核心能力详解:每个模块解决了什么具体问题
    • 4.1 策略中心:改策略不再像赌博
    • 4.2 评测中心:让"感觉变好了"变成"数据变好了"(★ 重点)
    • 4.3 检索实验室:把检索过程从黑盒变成白盒(★ 重点)
    • 4.4 成本运营:每一分钱花在哪了,清清楚楚
  • 五、Agent 时代的新入口:MCP Server(★ 新增)
  • 六、技术架构
  • 七、它已经在支撑真实业务
  • 八、谁应该关注这个项目
  • 九、如何体验
  • 十、写在最后
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档