做了个企业级 AI 智能体项目,让面试官彻底的闭嘴

最近把自己做的 Super Agent 开源了,一个 Java 技术栈的企业级 AI 智能体平台,分享一下做这个项目过程中的思考。

GitHub地址链接:https://github.com/java-up-up/super-agent

先说说这个项目解决了什么问题

面试被问 RAG、Agent、MCP 的时候,大多数人能说出概念,但一追问细节就卡住了。原因很简单——大家学 AI 的方式基本是跟着教程调 API,跑通一个 Demo 就觉得会了。

但 Demo 和能上线的系统之间,差的不是代码量,是对每个环节的深入理解。

Super Agent 就是把这些"真正会遇到的问题"都实现了一遍:从用户输入一句话,到系统给出靠谱的回答,中间每一个环节都有完整的设计。

一条消息进来,系统到底做了什么

很多人以为 RAG 就是"检索 + 生成"两步。实际上用户发一条消息,在 Super Agent 里要经过这些环节:

第一关:问题预处理(五步前置编排器)

用户的原始问题往往不适合直接检索。"那它怎么配置?"——"它"是什么?得结合上下文才知道。所以系统先做五步处理:

  1. 加载会话记忆,恢复对话上下文
  2. 意图识别 + 问题改写,把省略的信息补全
  3. 歧义检测,信息不足时主动追问而不是硬猜
  4. 子问题拆分,复合问题拆成最多 4 个独立子问题
  5. 知识域收缩,把检索范围从全库缩小到具体文档

第二关:决定用哪种方式回答(三层执行器)

不是所有问题都该走同一个流程:

  • 问题信息不足 → 歧义澄清执行器,先追问
  • 知识库能回答 → RAG 知识问答执行器,证据驱动生成
  • 需要联网/多步推理 → ReAct Agent 执行器,自主循环

优先用最稳定的方式,只有真正需要自由探索时才启动 Agent。

第三关:找到最相关的文档(三级知识路由)

不是直接全库检索,而是先走三级漏斗:领域 → 主题 → 文档,通过语义 + 词法 + 关键词实体混合打分,自动锁定最相关的文档。置信度不够时主动降级,不硬猜。

第四关:双通道并行检索

用户问一个配置项名,向量检索可能完全找不到——语义相似度对精确匹配天然弱势。所以用两路并行:向量检索(PGVector)+ 关键词检索(Elasticsearch),通过 RRF 融合排序,可选接 Rerank 精排。

检索粒度用 Child 小块保命中率,回答阶段聚合到 Parent 大块保上下文完整性。

第五关:组装回答

证据太多会撑爆模型上下文,没有证据会让模型凭空编造。所以有两个机制:

  • 证据预算控制:单子问题上限 2200 字符,总预算 5200 字符
  • 无证据短路:找不到相关证据直接告知用户,不让模型编造

几个我觉得比较有意思的设计

影子路由观测

用户手动选文档时,系统在后台静默跑一遍完整的知识路由,对比"系统会选什么"和"用户实际选了什么",把命中率、置信度、候选排名全部记录下来,用于持续优化路由模型。整个过程对用户完全无感。

Neo4j 文档结构图谱

每份文档在索引构建时,同步在 Neo4j 里生成 Document → Section → Item 的三层图结构,支持章节编号定位、邻接遍历、子节点展开。检索不再只靠向量匹配,还能沿着文档结构精准导航。

ReAct Agent 的安全防护

Agent 最怕死循环。单次请求:模型调用上限 8 次、工具调用上限 6 次;单次会话:模型调用上限 40 次、工具调用上限 30 次。工具失败时指数退避重试(200ms-1200ms,最多 2 次),最终失败统一兜底,不把异常抛给用户。

集群级会话锁

Redis 租约互斥 + JVM 任务注册,防止同一条消息被多个实例重复处理。执行过程中自动续期,防止长对话超时后被其他实例抢占。

完整能力一览

五步前置编排器:意图识别 → 问题改写 → 歧义澄清 → 子问题拆分 → 知识域收缩

三层执行器动态路由:歧义追问 / RAG 知识问答 / ReAct Agent,按场景精准分流

三级知识路由漏斗:Scope → Topic → Document,语义 + 词法 + 关键词实体混合打分,置信度不足主动降级

双通道混合检索:PGVector 向量检索 + Elasticsearch 关键词检索并行,RRF 融合排序,可选 Rerank 精排

Parent-Child 块聚合:检索用 Child 小块保精度,回答用 Parent 大块保完整性

证据预算控制与无证据短路:多子问题证据严格裁剪,无证据时直接告知用户,架构层面杜绝幻觉

ReAct Agent 完整实现:联网搜索 + 工具调用 + 多步推理 + Checkpoint 持久化 + 多层安全防护

Neo4j 文档结构图谱:Document → Section → Item 三层图结构,章节编号定位、邻接遍历、子节点展开

影子路由质量观测:后台静默对比路由结果,记录命中率和置信度,持续优化闭环

三种会话记忆策略:无记忆 / 滑动窗口 / 摘要压缩,平衡 Token 成本和上下文完整性

MCP 工具协议:动态工具发现 + 多工具编排 + 安全沙箱,新增工具零改动

组合式切块引擎:结构切块(主干)+ 递归分块(兜底)+ 语义分块(优化)+ LLM 智能切块(增强),自动推荐最优组合

集群安全:Redis 租约互斥 + JVM 任务注册 + 租约续期,防止多实例重复处理

全链路可观测:基于 AOP 的全链路 Trace,思考过程、检索通道、证据来源、工具调用全部可视化

技术选型

应用框架

Java 17、Spring Boot 3、Spring AI、Spring AI Alibaba

数据存储

MySQL、PostgreSQL + PGVector、Elasticsearch、Neo4j、Redis、MinIO

消息队列

Kafka

AI 能力

阿里云百炼 DashScope、Tavily 联网搜索、SiliconFlow Rerank

文档解析

Apache Tika

前端

Vue 3、TypeScript、Vite

适合谁

  • 校招同学:简历上有商城、外卖这类常规项目,需要一个有区分度的 AI 项目拉开差距
  • 1-3 年社招:想往 AI 方向转型,技术栈熟悉,学的是 AI 应用层的工程化设计
  • 3-5 年社招:面试被问 AI 相关问题答不上来,通过项目补上 RAG、Agent 这些知识点

学完之后,面试中聊 RAG、Agent、MCP 能真正聊得有深度,不只是背概念。

感兴趣的同学可以把项目下载下来,体会一下

全部评论

相关推荐

昨天 23:50
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务