AI Ragent(RAG)
作者:程序员马丁
热门项目实战社群,收获国内众多知名公司面试青睐,近千名同学面试成功!助力你在校招或社招上拿个offer。
新年气象,2026 年春节假期最后一天,企业级 AI RAG 正式发布!
作为拿个 offer 社群在 AI 领域的第一个项目,从架构设计到每一行代码都反复打磨,质量标准对齐之前 12306、短链接等项目,不砸自己招牌。
为什么学习 AI 项目
AI 这波浪潮,Java 程序员已经躲不过去了。
不管你现在做的是业务系统还是中间件,面试的时候多多少少都会被问到 AI 相关的东西。RAG 是什么?Agent 怎么实现?用过 MCP 吗?这些问题越来越高频。可以说,AI 已经从加分项变成了必答题。
但说实话,对于大多数应用层的开发者来说,去死磕大模型的微调、蒸馏、Transformer 原理,性价比并不高。真正实用的,是掌握 RAG 和 Agent 这些应用层的东西——能落地、能出活、面试也能聊得起来。
1. 校招现状
简历上清一色的 CRUD 项目——商城、外卖、博客,面试官早就审美疲劳了。当别人还在写基于 SpringBoot 的 XX 管理系统时,你简历上有一个完整的 AI 项目,区分度直接拉满。而且大厂校招越来越看重候选人对新技术的敏感度,AI 项目能直接证明你的学习能力和技术视野。
2. 社招现状
2024 年以来,几乎所有技术团队都在往 AI 方向靠。很多公司已经把有 AI 相关经验写进了 JD 里。你可能 Java/Go 写得很溜,但面试官会问:你对 LLM 了解多少?RAG 做过没有?向量检索怎么实现的?答不上来,直接少了一个谈薪的筹码。
说白了,学 AI 项目的核心原因就三个:
- 简历差异化。同样是后端开发,有 AI 项目经验的简历通过率明显更高。不是因为 AI 多神奇,而是它能证明你不只是在重复造轮子。
- 面试有东西聊。AI 项目涉及的技术栈足够深——Embedding、向量数据库、Prompt 工程、模型调用链路、检索策略……每一个点都能展开聊,比我用了 Redis 做缓存有意思得多。
- 实际工作用得上。AI 不是实验室里的玩具,企业已经在大规模落地了。现在学,是为了接下来三到五年的职业发展铺路。
3. 问题是,怎么学?
很多人跟着 B 站视频或者 GitHub 上的开源项目撸了一遍,以为自己懂了。结果面试一问深的,直接懵了。原因很简单:那些 Demo 级别的项目,和企业真正要用的东西,差距太大了。
还有些同学报了训练营,发现清一色是 Python。语言不熟、生态不通,学完感觉收获有限,回到 Java 这边还是不知道怎么下手。就算用 Spring AI 或者 LangChain4j,版本迭代太快,低版本功能缺,高版本升级约等于重写,也是一肚子苦水。
基于这些问题,我决定做一个 RAG 实战项目,名字叫 Ragent。
这个项目会覆盖市面上主流的 RAG 技术点,也会涉及 MCP、Agent 等场景。更重要的是,它不是我看了几篇文章拼凑出来的玩具——我在公司实际落地过 RAG 系统,解决过信息孤岛、知识检索、效率提升这些真实的业务问题。所以 Ragent 的复杂度,就是企业级项目该有的复杂度。
学完之后,你可以放心大胆地跟面试官讲:企业里就是这么做的。
RAG 常见误区
市面上打着 RAG 旗号的项目不少,但很多要么是玩具级 Demo,要么是概念包装。在学之前,先把这几个误区理清楚,避免踩坑。

1. 调个 API 就算会 RAG 了
很多教程的套路是:调一下 OpenAI 的 Embedding 接口,往向量数据库里塞点数据,再用 LLM 生成答案——完事了。这顶多算跑通了一个 Demo,离会 RAG 差得远。
真正的 RAG 系统要考虑的问题多得多:文档怎么切分效果最好?检索召回率不够怎么办?多路召回怎么融合排序?幻觉怎么控制?这些才是面试官会追问的点。
跑通 Demo 和做出能上线的系统之间,差的不是代码量,是对每个环节的深入理解。
2. RAG 就是“检索 + 生成”两步走
Retrieval-Augmented Generation 这个名字确实容易让人觉得就是检索加生成。但实际工程中,一个能用的 RAG 系统至少涉及这些环节:
- 数据处理:PDF、Word、PPT、网页,格式五花八门,光是解析成干净文本就是一堆脏活。PDF 里的表格、扫描件、双栏排版,每一个都是坑。
- 分块策略:切太大检索不精准,切太小上下文丢失。按段落切、按固定字数切、按语义切,不同文档可能需要不同策略。
- 问题重写:用户问“报销咋整”,你拿这四个字去检索,效果能好吗?多轮对话里用户说“怎么申请”,不补上下文系统根本不知道在问啥。
- 意图识别:用户是想查知识库,还是要调用业务系统?是闲聊还是正经提问?走错了路,答案肯定不对。
- 检索策 略:纯向量检索对精确匹配很弱,用户问一个订单号,向量检索可能完全找不到。混合检索怎么融合、top-k 选多少、要不要重排序,都是取舍。
- 会话记忆:20 轮对话全塞给模型?Token 成本扛不住。只带最近几轮?可能丢关键上下文。记忆的压缩、摘要、持久化,又是一套单独的机制。
每一环都有坑,每一环都值得深挖。面试的时候能把这些讲清楚,比背概念有用得多。
3. 用 OpenAI/LangChain 套一套就是企业级
OpenAI/LangChain 是个好工具,但直接拿来套壳不等于企业级。企业场景下要面对的是:
- 大规模文档的增量更新,不可能每次全量重建索引
- 多租户隔离和权限控制,不同部门看到的知识库不一样
- 高并发下的检索性能,模型调用的成本控制和容错
- 请求风控,防止用户套取敏感信息或恶意攻击
- 模型负载均衡,多供应商切换和降级策略
- 可观测性,效果监控和用户反馈收集
这些问题 OpenAI/LangChain 的 QuickStart 不会告诉你,但面试官和实际业务一定会考你。
4. 只关注模型,忽略工程能力
RAG 项目的核心竞争力不在于你用了多强的模型,而在于工程化能力。同样的模型 ,检索策略不同、Prompt 设计不同、分块粒度不同,最终效果可以天差地别。
举个例子:用户问“打印机墨盒怎么换”,文档里写的是“墨盒更换步骤”。关键词搜索直接匹配不上,但向量检索能理解它们是一回事。这背后是 Embedding 模型的选型、向量数据库的调优、检索结果的重排序——每一步都是工程决策,不是换个更贵的模型就能解决的。
面试中能把这些工程细节讲清楚的人,远比只会说“我用了 GPT-4”的人有说服力。
什么是 Ragent?
Ragent 是一个企业级 RAG 智能体平台,基于 Java 17 + Spring Boot 3 + React 18 构建。
它不是一个跑通 Demo 就收工的玩具项目,而是覆盖了 RAG 系统从文档入库到智能问答全链路的完整工程实现。你在企业里做 RAG 会遇到的问题——文档解析、分块策略、多路检索、意图识别、问题重写、会话记忆、模型容错、MCP 工具调用、链路追踪——Ragent 里都有对应的解决方案。
具体来说,Ragent 包含以下核心能力:
- 多路检索引擎:支持意图定向检索和全局向量检索两个通道并行执行,检索结果经过去重、重排序等后处理流水线,兼顾精准度和召回率。
- 意图识别与引导:基于树形结构的意图分类体系,支持多级意图(领域→类目→话题),识别置信度不足时主动引导用户澄清,而不是硬猜一个答案。
- 问题重写与拆分:多轮对话中自动补全上下文,复杂问题拆分为多个子问题分别检索,解决用户说的不是他想问的这个核心痛点。
- 会话记忆管理:保留最近 N 轮对话,超过阈值自动摘要压缩,既控制 Token 成本,又不丢关键上下文。
- 模型路由与容错:多模型候选、优先级调度、首包探测、健康检查、自动降级切换,一个模型挂了不影响服务可用性。
- MCP 工具集成:当用户意图不是查知识库而是要调业务系统时,自动提取参数并执行对应工具,知识检索和工具调用在同一套流程里无缝融合。
- 文档入库流水线:基于节点编排的 Pipeline 架构,从文档抓取、解析、增强、分块、向量化到写入 Milvus,每一步可配置、可扩展、有日志。
- 全链路追踪:每次对话请求的每个环节(重写、意图、检索、生成)都有 Trace 记录,方便排查问题和优化效果。
- 管理后台:完整的 React 管理界面,涵盖知识库管理、意图树编辑、入库任务监控、链路追踪查看、系统设置等功能。
一句话总结:Ragent 是一个你可以直接拿来学习企业级 RAG 系统是怎么设计和落地的项目。
Ragent 核心设计
1. 技术架构
Ragent 采用前后端分离的单体架构,后端按职责分为四个 Maven 模块:
这个分层不是为了炫技,而是解决实 际问题:framework 层提供与业务无关的通用能力,infra-ai 层屏蔽不同模型供应商的差异,bootstrap 层专注业务逻辑。换模型供应商不用改业务代码,换业务逻辑不用动基础设施。
技术栈选型:
| 层面 | 技术选型 |
|---|---|
| 后端框架 | Java 17、Spring Boot 3.5.7、MyBatis Plus |
| 前端框架 | React 18、Vite、TypeScript |
| 关系数据库 | MySQL(20 多张业务表) |
| 向量数据库 | Milvus 2.6 |
| 缓存/限流 | Redis + Redisson |
| 对象存储 | S3 兼容存储(RustFS) |
| 消息队列 | RocketMQ 5.x |
| 文档解析 | Apache Tika 3.2 |
| 模型供应商 | 百炼(阿里云)、SiliconFlow、Ollama(本地)、vLLM(后续扩展) |
| 认证鉴权 | Sa-Token |
| 代码规范 | Spotless(自动格式化) |
2. RAG 核心流程
2.1 Ragent 链路
一次用户提问,在 Ragent 里经过的完整链路如下:
