企业级 Agentic RAG 智能体 - 全链路覆盖文档解析、多路检索、意图识别、问题重写、会话记忆、MCP 工具调用与深度思考。面向真实业务场景,从 0 到 1 完整工程实现。
3,975
stars
773
commits
Java
primary language
Sep 11, 2026
updated
后端程序员转型 AI 工程师的第一站
Ragent 是一个面向 Agentic RAG 演进的生产级 Java AI 应用平台,覆盖从文档入库到智能问答的完整链路。
生产落地智能体会踩的坑,这里都有对应方案,一套经过真实场景锤炼的工程实践,系统补全 RAG / Agent / MCP 等知识,面试写进简历聊得起来。

觉得不错?先点个 Star 收藏,所有链接都会在新标签页打开,不会离开本页 👇
| 链接 | 说明 | |
|---|---|---|
| 📖 | 官网文档 | Ragent AI 完整文档 |
| 🚀 | 在线体验 | 无需部署,直接体验 Ragent AI |
| ⚡ | 快速启动 | 本地搭建 Ragent AI 前后端项目 |
| 📝 | 简历怎么写 | 项目如何写到简历上 |
| 💡 | 为什么不用 Spring AI / LangChain4j | 技术选型的思考 |
Ragent AI 仍在持续迭代中,欢迎参与共建,一起把项目打磨得更好。 感谢各位亦菲、彦祖们对 Ragent AI 的贡献:
感谢以下伙伴对 Ragent AI 的支持!
|
|
moacode 是一家稳定、高效的 API 中转服务商,提供 Claude、GPT、Codex、Claude Code 等多种模型调用服务。Ragent AI 用户可通过此链接注册,并在充值时填写 MAGE 优惠码,享受 9 折优惠。
|
AI 这波浪潮,Java 程序员已经躲不过去了。
不管你现在做的是业务系统还是中间件,面试的时候多多少少都会被问到 AI 相关的东西。RAG 是什么?Agent 怎么实现?用过 MCP 吗?这些问题越来越高频。可以说,AI 已经从加分项变成了必答题。
但说实话,对于大多数应用层的开发者来说,去死磕大模型的微调、蒸馏、Transformer 原理,性价比并不高。真正实用的,是掌握 RAG 和 Agent 这些应用层的东西——能落地、能出活、面试也能聊得起来。
简历上清一色的 CRUD 项目——商城、外卖、博客,面试官早就审美疲劳了。当别人还在写基于 SpringBoot 的 XX 管理系统时,你简历上有一个完整的 AI 项目,区分度直接拉满。而且大厂校招越来越看重候选人对新技术的敏感度,AI 项目能直接证明你的学习能力和技术视野。
2024 年以来,几乎所有技术团队都在往 AI 方向靠。很多公司已经把有 AI 相关经验写进了 JD 里。你可能 Java/Go 写得很溜,但面试官会问:你对 LLM 了解多少?RAG 做过没有?向量检索怎么实现的?答不上来,直接少了一个谈薪的筹码。
说白了,学 AI 项目的核心原因就三个:
很多人跟着 B 站视频或者 GitHub 上的开源项目撸了一遍,以为自己懂了。结果面试一问深的,直接懵了。原因很简单:那些 Demo 级别的项目,和企业真正要用的东西,差距太大了。
还有些同学报了训练营,发现清一色是 Python。语言不熟、生态不通,学完感觉收获有限,回到 Java 这边还是不知道怎么下手。就算用 Spring AI 或者 LangChain4j,版本迭代太快,低版本功能缺,高版本升级约等于重写,也是一肚子苦水。
基于这些问题,我决定做一个 RAG 实战项目,名字叫 Ragent。
这个项目会覆盖市面上主流的 RAG 技术点,也会涉及 MCP、Agent 等场景。更重要的是,它不是我看了几篇文章拼凑出来的玩具——我在公司实际落地过 RAG 系统,解决过信息孤岛、知识检索、效率提升这些真实的业务问题。所以 Ragent 的复杂度,就是企业级项目该有的复杂度。
学完之后,你可以放心大胆地跟面试官讲:企业里就是这么做的。
市面上打着 RAG 旗号的项目不少,但很多要么是玩具级 Demo,要么是概念包装。在学之前,先把这几个误区理清楚,避免踩坑。
常规 RAG 的流程如下:

很多教程的套路是:调一下 OpenAI 的 Embedding 接口,往向量数据库里塞点数据,再用 LLM 生成答案——完事了。这顶多算跑通了一个 Demo,离会 RAG 差得远。
真正的 RAG 系统要考虑的问题多得多:文档怎么切分效果最好?检索召回率不够怎么办?多路召回怎么融合排序?幻觉怎么控制?这些才是面试官会追问的点。
跑通 Demo 和做出能上线的系统之间,差的不是代码量,是对每个环节的深入理解。
Retrieval-Augmented Generation 这个名字确实容易让人觉得就是检索加生成。但实际工程中,一个能用的 RAG 系统至少涉及这些环节:
每一环都有坑,每一环都值得深挖。面试的时候能把这些讲清楚,比背概念有用得多。
OpenAI/LangChain 是个好工具,但直接拿来套壳不等于企业级。企业场景下要面对的是:
这些问题 OpenAI/LangChain 的 QuickStart 不会告诉你,但面试官和实际业务一定会考你。
RAG 项目的核心竞争力不在于你用了多强的模型,而在于工程化能力。同样的模型,检索策略不同、Prompt 设计不同、分块粒度不同,最终效果可以天差地别。
举个例子:用户问“打印机墨盒怎么换”,文档里写的是“墨盒更换步骤”。关键词搜索直接匹配不上,但向量检索能理解它们是一回事。这背后是 Embedding 模型的选型、向量数据库的调优、检索结果的重排序——每一步都是工程决策,不是换个更贵的模型就能解决的。
面试中能把这些工程细节讲清楚的人,远比只会说"我用了 GPT-4"的人有说服力。
采用前后端分离的模块化单体架构,后端按职责分为七个 Maven 模块:
| 模块 | 职责 |
|---|---|
framework | 统一响应与异常、认证上下文、幂等、分布式 ID、MQ 适配、Trace、SSE 与跨节点流式取消等通用基础能力 |
infra-ai | Chat / Embedding / Rerank / VLM 模型客户端、模型档位、路由、首包探测、健康状态与降级 |
system | 用户认证与审计日志,位于各业务引擎之下的系统支撑域 |
rag | RAG 问答、知识库、入库 Pipeline、意图树、检索、会话及管理端 API |
agent | Agent 执行架构(v2 ReAct)骨架,RAG 管线将以工具形式接入 |
bootstrap | 启动装配层,仅含启动类与主配置 |
mcp-server | 基于 MCP Java SDK 的独立工具服务,内置天气、票务、销售与联网搜索示例 |
这个分层不是为了炫技,而是把业务编排、AI 供应商差异和通用基础设施隔离开。切换模型、向量库或对象存储时,核心问答流程不需要跟着重写。

一次用户提问,在 Ragent AI 服务里经过的核心链路如下所示:
实际项目代码中,逻辑比图表上更加复杂。下图仅展示核心流程,落地过程中还涉及很多细节和优化。

检索是 RAG 系统的核心。Ragent 当前提供向量、Elasticsearch 关键词、LightRAG 知识图谱和 You.com 联网搜索四类通道,按配置启用后并行执行:

每个通道独立执行、互不影响,通过专用线程池并行调度。后处理链依次完成去重、加权 RRF 融合、Rerank 和元数据富化;召回预算、Rerank 候选池与最终上下文条数分段配置,并在启动时校验漏斗不变式。
生产环境不可能只依赖一个模型供应商,Ragent 的模型路由机制解决的就是这个问题:
关键设计:三态熔断器,用于保护系统不会持续调用已经故障的模型。
文档从上传到可检索,经过一条基于节点编排的 Pipeline:
每个节点的配置存储在数据库中,支持条件执行和输出链式传递。每个任务和节点都有独立的执行日志,出了问题能精确定位到哪一步。
Ragent 不是为了用设计模式而用,每个模式都对应一个具体的工程问题:
| 设计方式 | 业务场景 | 解决的问题 |
|---|---|---|
| 策略 | 检索通道、结果后处理、文档来源 | 不同实现可独立替换 |
| 工厂 | 意图树、分块策略、流式回调创建 | 集中复杂对象的创建逻辑 |
| 模板方法 | 并行检索、模型请求 | 固定通用流程,仅开放差异步骤 |
| 注册表 | MCP 工具发现、意图节点管理 | 统一注册、查找和调用组件 |
| 装饰器 | 向量写入时同步关键词和图谱索引 | 在不修改主流程的前提下增强能力 |
| 责任链 | 检索后处理、模型故障降级 | 按顺序组合处理步骤 |
| 事件回调 | 模型流式响应、首包探测、SSE 输出 | 解耦事件生产与消费 |
| AOP | 链路追踪、幂等、审计日志 | 将横切逻辑与业务解耦 |
这里的质量不靠一张架构图来证明,而是看代码边界、测试、故障处理和运维闭环是否真实存在。以下数据按当前仓库统计,代码行数包含注释和空行。
@Test 测试点。代码量本身不等于质量,但这些模块组成了数据进入系统—检索生成答案—展示证据—收集反馈—追踪与审计的完整业务闭环,不仅是简单的 API 示例。
项目中大量应用并发线程,建议配合社群里的 oneThread 动态线程池框架 搭配学习收获更多。
核心能力通过接口、注册表和配置隔离,新增实现可以复用现有编排、容错、日志和管理能力:
| 扩展维度 | 如何接入 | 接入后的效果 |
|---|---|---|
| 模型 | 实现 ChatClient / EmbeddingClient / RerankClient,加入模型候选配置 | 新供应商可进入模型档位与候选路由,复用首包探测、健康检查和熔断降级 |
| 存储 | 实现向量存取或 ObjectStorageClient,通过配置选择实现 | 可替换向量库或对象存储,知识入库与问答主流程保持不变 |
| 检索 | 实现 SearchChannel 或后处理器,注册为 Spring Bean 并设置顺序 | 新通道参与并行召回,新处理器可插入去重、融合、精排与富化链路 |
| 入库 | 实现 IngestionNode 或 DocumentFetcher,补充节点类型和配置 | 新处理步骤或文档来源进入 Pipeline,继续使用任务状态、节点日志和失败定位 |
| MCP | 暴露 MCP 工具规范,或在客户端配置外部 MCP Server | 工具可被远程发现,并复用参数提取、Schema 校验与调用流程 |
扩展的改动主要收敛在新实现和配置中,不必复制一套检索、会话或 Trace 主链路。
这里的生产级特性指项目已经实现生产环境会遇到的关键机制,而不只是功能能跑:
| 特性 | 说明 |
|---|---|
| 流量保护 | Redis ZSET 公平排队,结合 Lua 原子抢占、过期信号量和 Pub/Sub 唤醒;支持进度、超时、取消与许可回收 |
| 模型容错 | 多候选模型自动切换,首包超时、空响应或异常时触发降级;三态熔断隔离故障节点 |
| 检索稳定性 | 多通道并行检索,单通道失败不影响主链;按召回、Rerank、TopK 分层控制检索规模 |
| 数据一致性 | RocketMQ 事务消息保障分块与删除任务可靠执行;关键操作支持幂等,远程刷新使用分布式锁和状态机 |
| 可观测与审计 | 记录 Trace Run / Node 的耗时、输入输出和异常;管理端提供趋势、详情及配置变更 Diff |
| 流式体验 | SSE 分事件输出思考、正文、来源和推荐问题;支持全局超时及客户端断开取消 |
| 会话与证据 | 最近 N 轮消息结合持久化摘要控制上下文;保存引用来源与 Grounding Chunk,支持原文预览、追问和反馈 |
| 安全基础 | Sa-Token 认证、数据归属校验、上传限流、参数校验和统一异常处理;敏感配置支持环境变量注入 |
Ragent 提供覆盖普通用户与管理员用户的 React 控制台,不只是聊天页面,也把检索证据和运维入口暴露出来。
系统通过多轮 AI 辅助设计优化,在保证功能完整性的同时,提供更加现代化和友好的交互体验。
用户访问 Ragent 首页后,可在输入框中直接输入问题发起问答,同时支持开启深度思考模式以获得更高质量的回答。
输入框下方提供示例问题标签,用户点击即可自动填充问题,方便快速体验系统能力。

用户提交问题后,模型会实时生成回答结果,并提供良好的阅读体验:

管理员可以通过后台查看仪表盘,管理知识库与 Chunk、知识图谱、意图树、查询词映射、入库任务、示例问题、用户和系统设置,并查看 RAG Trace 与业务变更日志。






为了避免传统系统常见的毛坯界面体验,Ragent 的控制台经过多轮 AI 辅助设计与优化,逐步迭代完善,最终呈现出当前简洁、美观且实用的界面效果。

Ragent 定位于 Java AI 应用的源码级工程参考,重点是完整链路、生产保障和二次开发能力。
| 对比维度 | 常见 RAG 教程 / Demo | Ragent |
|---|---|---|
| 项目定位 | 跑通检索与生成 | 完整 Java AI 应用 |
| 检索 | 单路向量 TopK | 向量 / 关键词 / 图谱 / 联网召回,RRF 融合与 Rerank |
| 问题理解 | 原问题直接检索 | 查询词映射、问题重写与拆分、树形意图和多知识库路由 |
| 模型调用 | 单模型直连 | 模型档位、首包探测与熔断降级 |
| 工具接入 | 以应用内函数调用为主 | MCP 协议、远程工具发现与 Schema 校验 |
| 知识入库 | 一次性脚本 | 可编排 Pipeline、节点日志、远程文档定时刷新 |
| 会话记忆 | 以近期消息拼接为主 | 最近 N 轮消息 + 持久化摘要 |
| 回答可信度 | 只展示答案 | 来源引用、原文预览与用户反馈 |
| 运行保障 | 基础日志 | 分布式限流、幂等、事务消息、Trace 与审计 |
| 二次开发 | 流程写死 | 模型、存储、检索、入库和 MCP 均提供扩展接口 |
| 管理能力 | 无或简单页面 | 完整用户端与管理后台 |
一句话:学完 Ragent,你既能跟面试官聊 RAG/Agent 的技术深度,也能证明自己的 Java 工程化水平。
Ragent 不只是教你调 API,而是让你理解一个 RAG 系统从 0 到 1 落地的全过程。粗略来说,你能收获这些:
校招同学:
社招同学:
原因很简单:对项目质量足够自信。架构设计、代码实现、工程规范,每一行都经得起审视。好不好你 clone 下来自己看——目录结构、提交记录、注释规范,全是明牌。
之前做拿个 offer 社群时,第一个业务系统 12306 选择了开源,收获了
,也得到了很多同学的认可和信任。这次 Ragent 作为社群在 AI 领域的第一个项目,同样选择开源——既然代码质量经得起检验,就没必要藏着掖着。
市面上不少项目只敢放几张截图、讲几个概念,真正敢把代码全部摊开的并不多。Ragent 敢这么做,是因为前面讲的那些能力——多路检索、意图识别、模型容错、全链路追踪——不是 PPT 里的架构图,是你能跑起来、能断点调试、能逐行阅读的真实代码。
开源对你来说意味着什么:
如果屏幕前的亦菲/彦祖觉得项目还不错,点个 Star 支持一下,这是对开源作者最好的认可!
Java
72.2%
TypeScript
23.5%
CSS
2.7%
企业级 Agentic RAG 智能体 - 全链路覆盖文档解析、多路检索、意图识别、问题重写、会话记忆、MCP 工具调用与深度思考。面向真实业务场景,从 0 到 1 完整工程实现。
3,975
stars
773
commits
Java
primary language
Sep 11, 2026
updated
后端程序员转型 AI 工程师的第一站
Ragent 是一个面向 Agentic RAG 演进的生产级 Java AI 应用平台,覆盖从文档入库到智能问答的完整链路。
生产落地智能体会踩的坑,这里都有对应方案,一套经过真实场景锤炼的工程实践,系统补全 RAG / Agent / MCP 等知识,面试写进简历聊得起来。

觉得不错?先点个 Star 收藏,所有链接都会在新标签页打开,不会离开本页 👇
| 链接 | 说明 | |
|---|---|---|
| 📖 | 官网文档 | Ragent AI 完整文档 |
| 🚀 | 在线体验 | 无需部署,直接体验 Ragent AI |
| ⚡ | 快速启动 | 本地搭建 Ragent AI 前后端项目 |
| 📝 | 简历怎么写 | 项目如何写到简历上 |
| 💡 | 为什么不用 Spring AI / LangChain4j | 技术选型的思考 |
Ragent AI 仍在持续迭代中,欢迎参与共建,一起把项目打磨得更好。 感谢各位亦菲、彦祖们对 Ragent AI 的贡献:
感谢以下伙伴对 Ragent AI 的支持!
|
|
moacode 是一家稳定、高效的 API 中转服务商,提供 Claude、GPT、Codex、Claude Code 等多种模型调用服务。Ragent AI 用户可通过此链接注册,并在充值时填写 MAGE 优惠码,享受 9 折优惠。
|
AI 这波浪潮,Java 程序员已经躲不过去了。
不管你现在做的是业务系统还是中间件,面试的时候多多少少都会被问到 AI 相关的东西。RAG 是什么?Agent 怎么实现?用过 MCP 吗?这些问题越来越高频。可以说,AI 已经从加分项变成了必答题。
但说实话,对于大多数应用层的开发者来说,去死磕大模型的微调、蒸馏、Transformer 原理,性价比并不高。真正实用的,是掌握 RAG 和 Agent 这些应用层的东西——能落地、能出活、面试也能聊得起来。
简历上清一色的 CRUD 项目——商城、外卖、博客,面试官早就审美疲劳了。当别人还在写基于 SpringBoot 的 XX 管理系统时,你简历上有一个完整的 AI 项目,区分度直接拉满。而且大厂校招越来越看重候选人对新技术的敏感度,AI 项目能直接证明你的学习能力和技术视野。
2024 年以来,几乎所有技术团队都在往 AI 方向靠。很多公司已经把有 AI 相关经验写进了 JD 里。你可能 Java/Go 写得很溜,但面试官会问:你对 LLM 了解多少?RAG 做过没有?向量检索怎么实现的?答不上来,直接少了一个谈薪的筹码。
说白了,学 AI 项目的核心原因就三个:
很多人跟着 B 站视频或者 GitHub 上的开源项目撸了一遍,以为自己懂了。结果面试一问深的,直接懵了。原因很简单:那些 Demo 级别的项目,和企业真正要用的东西,差距太大了。
还有些同学报了训练营,发现清一色是 Python。语言不熟、生态不通,学完感觉收获有限,回到 Java 这边还是不知道怎么下手。就算用 Spring AI 或者 LangChain4j,版本迭代太快,低版本功能缺,高版本升级约等于重写,也是一肚子苦水。
基于这些问题,我决定做一个 RAG 实战项目,名字叫 Ragent。
这个项目会覆盖市面上主流的 RAG 技术点,也会涉及 MCP、Agent 等场景。更重要的是,它不是我看了几篇文章拼凑出来的玩具——我在公司实际落地过 RAG 系统,解决过信息孤岛、知识检索、效率提升这些真实的业务问题。所以 Ragent 的复杂度,就是企业级项目该有的复杂度。
学完之后,你可以放心大胆地跟面试官讲:企业里就是这么做的。
市面上打着 RAG 旗号的项目不少,但很多要么是玩具级 Demo,要么是概念包装。在学之前,先把这几个误区理清楚,避免踩坑。
常规 RAG 的流程如下:

很多教程的套路是:调一下 OpenAI 的 Embedding 接口,往向量数据库里塞点数据,再用 LLM 生成答案——完事了。这顶多算跑通了一个 Demo,离会 RAG 差得远。
真正的 RAG 系统要考虑的问题多得多:文档怎么切分效果最好?检索召回率不够怎么办?多路召回怎么融合排序?幻觉怎么控制?这些才是面试官会追问的点。
跑通 Demo 和做出能上线的系统之间,差的不是代码量,是对每个环节的深入理解。
Retrieval-Augmented Generation 这个名字确实容易让人觉得就是检索加生成。但实际工程中,一个能用的 RAG 系统至少涉及这些环节:
每一环都有坑,每一环都值得深挖。面试的时候能把这些讲清楚,比背概念有用得多。
OpenAI/LangChain 是个好工具,但直接拿来套壳不等于企业级。企业场景下要面对的是:
这些问题 OpenAI/LangChain 的 QuickStart 不会告诉你,但面试官和实际业务一定会考你。
RAG 项目的核心竞争力不在于你用了多强的模型,而在于工程化能力。同样的模型,检索策略不同、Prompt 设计不同、分块粒度不同,最终效果可以天差地别。
举个例子:用户问“打印机墨盒怎么换”,文档里写的是“墨盒更换步骤”。关键词搜索直接匹配不上,但向量检索能理解它们是一回事。这背后是 Embedding 模型的选型、向量数据库的调优、检索结果的重排序——每一步都是工程决策,不是换个更贵的模型就能解决的。
面试中能把这些工程细节讲清楚的人,远比只会说"我用了 GPT-4"的人有说服力。
采用前后端分离的模块化单体架构,后端按职责分为七个 Maven 模块:
| 模块 | 职责 |
|---|---|
framework | 统一响应与异常、认证上下文、幂等、分布式 ID、MQ 适配、Trace、SSE 与跨节点流式取消等通用基础能力 |
infra-ai | Chat / Embedding / Rerank / VLM 模型客户端、模型档位、路由、首包探测、健康状态与降级 |
system | 用户认证与审计日志,位于各业务引擎之下的系统支撑域 |
rag | RAG 问答、知识库、入库 Pipeline、意图树、检索、会话及管理端 API |
agent | Agent 执行架构(v2 ReAct)骨架,RAG 管线将以工具形式接入 |
bootstrap | 启动装配层,仅含启动类与主配置 |
mcp-server | 基于 MCP Java SDK 的独立工具服务,内置天气、票务、销售与联网搜索示例 |
这个分层不是为了炫技,而是把业务编排、AI 供应商差异和通用基础设施隔离开。切换模型、向量库或对象存储时,核心问答流程不需要跟着重写。

一次用户提问,在 Ragent AI 服务里经过的核心链路如下所示:
实际项目代码中,逻辑比图表上更加复杂。下图仅展示核心流程,落地过程中还涉及很多细节和优化。

检索是 RAG 系统的核心。Ragent 当前提供向量、Elasticsearch 关键词、LightRAG 知识图谱和 You.com 联网搜索四类通道,按配置启用后并行执行:

每个通道独立执行、互不影响,通过专用线程池并行调度。后处理链依次完成去重、加权 RRF 融合、Rerank 和元数据富化;召回预算、Rerank 候选池与最终上下文条数分段配置,并在启动时校验漏斗不变式。
生产环境不可能只依赖一个模型供应商,Ragent 的模型路由机制解决的就是这个问题:
关键设计:三态熔断器,用于保护系统不会持续调用已经故障的模型。
文档从上传到可检索,经过一条基于节点编排的 Pipeline:
每个节点的配置存储在数据库中,支持条件执行和输出链式传递。每个任务和节点都有独立的执行日志,出了问题能精确定位到哪一步。
Ragent 不是为了用设计模式而用,每个模式都对应一个具体的工程问题:
| 设计方式 | 业务场景 | 解决的问题 |
|---|---|---|
| 策略 | 检索通道、结果后处理、文档来源 | 不同实现可独立替换 |
| 工厂 | 意图树、分块策略、流式回调创建 | 集中复杂对象的创建逻辑 |
| 模板方法 | 并行检索、模型请求 | 固定通用流程,仅开放差异步骤 |
| 注册表 | MCP 工具发现、意图节点管理 | 统一注册、查找和调用组件 |
| 装饰器 | 向量写入时同步关键词和图谱索引 | 在不修改主流程的前提下增强能力 |
| 责任链 | 检索后处理、模型故障降级 | 按顺序组合处理步骤 |
| 事件回调 | 模型流式响应、首包探测、SSE 输出 | 解耦事件生产与消费 |
| AOP | 链路追踪、幂等、审计日志 | 将横切逻辑与业务解耦 |
这里的质量不靠一张架构图来证明,而是看代码边界、测试、故障处理和运维闭环是否真实存在。以下数据按当前仓库统计,代码行数包含注释和空行。
@Test 测试点。代码量本身不等于质量,但这些模块组成了数据进入系统—检索生成答案—展示证据—收集反馈—追踪与审计的完整业务闭环,不仅是简单的 API 示例。
项目中大量应用并发线程,建议配合社群里的 oneThread 动态线程池框架 搭配学习收获更多。
核心能力通过接口、注册表和配置隔离,新增实现可以复用现有编排、容错、日志和管理能力:
| 扩展维度 | 如何接入 | 接入后的效果 |
|---|---|---|
| 模型 | 实现 ChatClient / EmbeddingClient / RerankClient,加入模型候选配置 | 新供应商可进入模型档位与候选路由,复用首包探测、健康检查和熔断降级 |
| 存储 | 实现向量存取或 ObjectStorageClient,通过配置选择实现 | 可替换向量库或对象存储,知识入库与问答主流程保持不变 |
| 检索 | 实现 SearchChannel 或后处理器,注册为 Spring Bean 并设置顺序 | 新通道参与并行召回,新处理器可插入去重、融合、精排与富化链路 |
| 入库 | 实现 IngestionNode 或 DocumentFetcher,补充节点类型和配置 | 新处理步骤或文档来源进入 Pipeline,继续使用任务状态、节点日志和失败定位 |
| MCP | 暴露 MCP 工具规范,或在客户端配置外部 MCP Server | 工具可被远程发现,并复用参数提取、Schema 校验与调用流程 |
扩展的改动主要收敛在新实现和配置中,不必复制一套检索、会话或 Trace 主链路。
这里的生产级特性指项目已经实现生产环境会遇到的关键机制,而不只是功能能跑:
| 特性 | 说明 |
|---|---|
| 流量保护 | Redis ZSET 公平排队,结合 Lua 原子抢占、过期信号量和 Pub/Sub 唤醒;支持进度、超时、取消与许可回收 |
| 模型容错 | 多候选模型自动切换,首包超时、空响应或异常时触发降级;三态熔断隔离故障节点 |
| 检索稳定性 | 多通道并行检索,单通道失败不影响主链;按召回、Rerank、TopK 分层控制检索规模 |
| 数据一致性 | RocketMQ 事务消息保障分块与删除任务可靠执行;关键操作支持幂等,远程刷新使用分布式锁和状态机 |
| 可观测与审计 | 记录 Trace Run / Node 的耗时、输入输出和异常;管理端提供趋势、详情及配置变更 Diff |
| 流式体验 | SSE 分事件输出思考、正文、来源和推荐问题;支持全局超时及客户端断开取消 |
| 会话与证据 | 最近 N 轮消息结合持久化摘要控制上下文;保存引用来源与 Grounding Chunk,支持原文预览、追问和反馈 |
| 安全基础 | Sa-Token 认证、数据归属校验、上传限流、参数校验和统一异常处理;敏感配置支持环境变量注入 |
Ragent 提供覆盖普通用户与管理员用户的 React 控制台,不只是聊天页面,也把检索证据和运维入口暴露出来。
系统通过多轮 AI 辅助设计优化,在保证功能完整性的同时,提供更加现代化和友好的交互体验。
用户访问 Ragent 首页后,可在输入框中直接输入问题发起问答,同时支持开启深度思考模式以获得更高质量的回答。
输入框下方提供示例问题标签,用户点击即可自动填充问题,方便快速体验系统能力。

用户提交问题后,模型会实时生成回答结果,并提供良好的阅读体验:

管理员可以通过后台查看仪表盘,管理知识库与 Chunk、知识图谱、意图树、查询词映射、入库任务、示例问题、用户和系统设置,并查看 RAG Trace 与业务变更日志。






为了避免传统系统常见的毛坯界面体验,Ragent 的控制台经过多轮 AI 辅助设计与优化,逐步迭代完善,最终呈现出当前简洁、美观且实用的界面效果。

Ragent 定位于 Java AI 应用的源码级工程参考,重点是完整链路、生产保障和二次开发能力。
| 对比维度 | 常见 RAG 教程 / Demo | Ragent |
|---|---|---|
| 项目定位 | 跑通检索与生成 | 完整 Java AI 应用 |
| 检索 | 单路向量 TopK | 向量 / 关键词 / 图谱 / 联网召回,RRF 融合与 Rerank |
| 问题理解 | 原问题直接检索 | 查询词映射、问题重写与拆分、树形意图和多知识库路由 |
| 模型调用 | 单模型直连 | 模型档位、首包探测与熔断降级 |
| 工具接入 | 以应用内函数调用为主 | MCP 协议、远程工具发现与 Schema 校验 |
| 知识入库 | 一次性脚本 | 可编排 Pipeline、节点日志、远程文档定时刷新 |
| 会话记忆 | 以近期消息拼接为主 | 最近 N 轮消息 + 持久化摘要 |
| 回答可信度 | 只展示答案 | 来源引用、原文预览与用户反馈 |
| 运行保障 | 基础日志 | 分布式限流、幂等、事务消息、Trace 与审计 |
| 二次开发 | 流程写死 | 模型、存储、检索、入库和 MCP 均提供扩展接口 |
| 管理能力 | 无或简单页面 | 完整用户端与管理后台 |
一句话:学完 Ragent,你既能跟面试官聊 RAG/Agent 的技术深度,也能证明自己的 Java 工程化水平。
Ragent 不只是教你调 API,而是让你理解一个 RAG 系统从 0 到 1 落地的全过程。粗略来说,你能收获这些:
校招同学:
社招同学:
原因很简单:对项目质量足够自信。架构设计、代码实现、工程规范,每一行都经得起审视。好不好你 clone 下来自己看——目录结构、提交记录、注释规范,全是明牌。
之前做拿个 offer 社群时,第一个业务系统 12306 选择了开源,收获了
,也得到了很多同学的认可和信任。这次 Ragent 作为社群在 AI 领域的第一个项目,同样选择开源——既然代码质量经得起检验,就没必要藏着掖着。
市面上不少项目只敢放几张截图、讲几个概念,真正敢把代码全部摊开的并不多。Ragent 敢这么做,是因为前面讲的那些能力——多路检索、意图识别、模型容错、全链路追踪——不是 PPT 里的架构图,是你能跑起来、能断点调试、能逐行阅读的真实代码。
开源对你来说意味着什么:
如果屏幕前的亦菲/彦祖觉得项目还不错,点个 Star 支持一下,这是对开源作者最好的认可!
Java
72.2%
TypeScript
23.5%
CSS
2.7%