
检索增强生成系统(RAG)正从早期“检索 + 生成”的简单拼接,走向融合自适应知识组织、多轮推理、动态检索的复杂知识系统(典型代表如 DeepResearch、Search-o1)。但这种复杂度的提升,使开发者在方法复现、快速迭代新想法时,面临着高昂的工程实现成本。
为了解决这一痛点,清华大学 THUNLP 实验室、东北大学 NEUIR 实验室、OpenBMB 与 AI9Stars 联合推出 UltraRAG 2.0 (UR-2.0)—— 首个基于 Model Context Protocol (MCP) 架构设计的 RAG 框架。这一设计让科研人员只需编写 YAML 文件,就可以直接声明串行、循环、条件分支等复杂逻辑,从而以极低的代码量快速实现多阶段推理系统。
🧩 组件化封装:将 RAG 的核心组件封装为标准化的独立 MCP Server;
🔌 灵活调用与扩展:提供函数级 Tool 接口,支持功能的灵活调用与扩展;
🪄 轻量流程编排:借助 MCP Client,建立自上而下的简洁化链路搭建;与传统框架相比,UltraRAG 2.0 显著降低了复杂 RAG 系统的技术门槛与学习成本,让研究者能够将更多精力投入到实验设计与算法创新上,而不是陷入冗长的工程实现。
🔗 Github 链接:https://github.com/OpenBMB/UltraRAG
🔗 项目主页:https://openbmb.github.io/UltraRAG/
🔗 教程文档:https://ultrarag.openbmb.cn/
🔗 开源数据集:https://huggingface.co/datasets/UltraRAG/UltraRAG_Benchmark
化繁为简
仅 5% 代码实现低门槛复现
「简」的价值,在实践中尤为直观。以 IRCoT(https://arxiv.org/abs/2212.10509)这一经典方法为例,它依赖基于模型生成的 CoT 进行多轮检索直至产出最终答案,整体流程相当复杂。
IRCoT 流程图
在官方实现中,仅 Pipeline 部分就需要近 900 行手写逻辑;即便使用标杆级 RAG 框架(如 FlashRAG),也仍需超过 110 行代码。相比之下,UltraRAG 2.0 只需约 50 行代码即可完成同等功能。更值得强调的是,其中约一半还是用于编排的 Yaml 伪代码,这大幅降低了开发门槛与实现成本。
不同框架实现 IRCoT 的代码规模与结构差异
以下展示了不同框架在相同功能实现上的差异。可以看到,FlashRAG 的实现仍然需要较长的控制逻辑,涉及显式的循环、条件判断与状态更新。而在 UltraRAG 2.0 中,这些逻辑仅需几行 Pipeline YAML 配置即可表达,分支与循环均以简洁的声明方式完成,避免了繁琐的手动编码。
👇 FlashRAG 与 UltraRAG 的代码实现对比
简而不凡
数十行代码实现高性能 RAG 系统
对 UltraRAG 2.0 而言,「简」并不意味着功能受限。借助 MCP 架构与灵活的 YAML 流程定义,UltraRAG 2.0 为科研人员提供了一个高性能、可扩展的实验平台。研究者可以在极短时间内搭建出类似 DeepResearch 的多阶段推理系统,支持 动态检索、条件判断、多轮交互 等高级能力。
在示例中,我们将 Retriever、Generation、Router 等模块通过 YAML 串联,构建了一个同时具备循环与条件分支的推理流程,实现了 Plan 生成 → 知识整理 → 子问题生成 等关键步骤,而这一切仅需 不到 100 行代码。
示例系统流程图
在性能上,该系统在复杂多跳问题上,相较 Vanilla RAG 性能提升约 12%,充分验证了 UltraRAG 2.0 在快速构建复杂推理系统方面的潜力。
示例系统性能表现
以下展示的是我们构建的示例系统在小红书平台上针对两个真实用户提问所生成的案例。
UltraRAG 2.0 让复杂推理系统的构建真正做到 低代码、高性能、可落地。用户不仅能在科研任务中获得性能提升,也能够在行业应用中快速落地,例如智能客服、教育辅导、医疗问答等典型场景,输出更可靠的知识增强答案。
在不同的 RAG 系统中,检索、生成等核心能力在功能上具有高度相似性,但由于开发者实现策略各异,模块之间往往缺乏统一接口,难以跨项目复用。Model Context Protocol (MCP) 作为一种开放协议,规范了为大型语言模型(LLMs)提供上下文的标准方式,并采用 Client–Server 架构,使得遵循该协议开发的 Server 组件可以在不同系统间无缝复用。
受此启发,UltraRAG 2.0 基于 MCP 架构,将 RAG 系统中的检索、生成、评测等核心功能抽象并封装为相互独立的 MCP Server,并通过标准化的函数级 Tool 接口实现调用。这一设计既保证了模块功能扩展的灵活性,又允许新模块以“热插拔”的方式接入,无需对全局代码进行侵入式修改。在科研场景中,这种架构让研究者能够以极低的代码量快速适配新的模型或算法,同时保持整体系统的稳定性与一致性。
UltraRAG 2.0 框架示意图
复杂 RAG 推理框架的开发具有显著挑战,而 UltraRAG 2.0 之所以能够在低代码条件下支持复杂系统的构建,核心在于其底层对多结构 Pipeline 流程控制的原生支持。无论是串行、循环还是条件分支,所有控制逻辑均可在 YAML 层完成定义与调度,覆盖复杂推理任务所需的多种流程表达方式。在实际运行中,推理流程的调度由内置 Client 执行,其逻辑完全由用户编写的外部 Pipeline YAML 脚本描述,从而实现与底层实现的解耦。开发者可以像使用编程语言关键字一样调用 loop、step 等指令,以声明式方式快速构建多阶段推理流程。
通过将 MCP 架构 与 原生流程控制深度融合,UltraRAG 2.0 让复杂 RAG 系统的搭建像“编排流程”一样自然高效。此外,框架内置 17 个主流 benchmark 任务与多种高质量 baseline,配合统一的评测体系与知识库支持,进一步提升了系统开发的效率与实验的可复现性。
👇 欢迎访问教程文档快速上手 UltraRAG 2.0!
🔗 Github 链接:https://github.com/OpenBMB/UltraRAG
🔗 项目主页:https://openbmb.github.io/UltraRAG/
🔗 教程文档:https://ultrarag.openbmb.cn/
🔗 开源数据集:https://huggingface.co/datasets/UltraRAG/UltraRAG_Benchmark
后续我将通过微信视频号,以视频的形式持续更新技术话题、未来发展趋势、创业经验、商业踩坑教训等精彩内容,和大家一同成长,开启知识交流之旅
欢迎扫码关注我的微信视频号~

今日荐文
代码里插广告,腾讯 Codebuddy 们 “背锅”?DeepSeek “极你太美”事件,其他模型也逃不掉?
更适合“中国体质”的AI芯片、小米和宇树都冲了!英伟达Jetson Thor现已发售,2万块批发价但半年交货
创始人押宝AI让公司死而复生,如今市值逼近百亿!CEO:我鼓励年轻人每天拼12个小时

你也「在看」吗?👇