Home
Softono

Super Agent

Open source Apache-2.0 Java
181
Stars
49
Forks
0
Issues
0
Watchers
2 months
Last Commit

 About Super Agent

企业级 AI 智能体 Agent 平台,覆盖智能对话、文档知识问答、联网搜索、RAG 检索、MCP 工具协议、Skills 扩展等完整能力。三层执行器体系、双通道混合检索、组合式切块引擎、会话记忆管理、全链路可观测,每个环节都经过深 度设计和工程化打磨。

Platforms

Web Self-hosted

Languages

Java

Need Help Installing Super Agent?

We provide expert installation service for this software. Our team will install, configure, and secure Super Agent on your server. plans start at just $30.

Super Agent

View on GitHub

开源不易,还请您点个 Star 多谢!🎉

Super Agent

Super Agent 是一个 企业级 的 AI 智能体对话平台,覆盖了智能对话、文档知识问答、联网搜索、RAG 详细检索、MCP 工具协议、Skills 能力扩展、文档全生命周期管理等完整能力。

项目从对话入口开始,到意图分析、检索决策、多路知识召回、证据驱动生成,再到会话记忆管理、MCP 外部工具集成和文档治理,每一个环节都不是简单调个接口就完事的,而是经过深度设计和反复打磨的工程化实现

为什么需要这个项目

现在的 Java 面试,光靠八股文和 CRUD 项目已经越来越难了。微服务、高并发这些之前算是亮点的东西,现在也慢慢成了标配。面试官开始问:RAG 是什么?Agent 怎么实现的?会话记忆怎么设计?向量检索用的什么方案?你做过文档问答吗? 这些问题已经从加分项变成了必答题。

但问题是,大多数人学 AI 的方式是跟着教程调一下 API,往向量库里塞点数据,让模型输出一段话——结束了。这顶多算跑通了一个 Demo,面试官一追问就露馅。真正的 AI 应用和调 API 之间,差的不是代码量,是对每个环节的深入理解和工程化设计。

而 Super Agent 就是为了解决这个问题:它覆盖了 Agent 智能体、RAG 检索增强生成、MCP 工具协议、Skills 能力扩展、会话记忆管理、文档生命周期治理 这些 AI 应用层的核心技术,每一块都有完整的设计和代码实现,复杂度对标真实企业级系统。不管是学生还是工作了几年的同学,学完之后面试中都能真正聊得起来,而且聊得有深度。

对话界面:

学 AI 容易踩的坑

很多人觉得自己"会 RAG 了"、"懂 Agent 了",但面试一深入就露馅。在正式介绍项目之前,先把几个常见误区理清楚。

调个 API 不等于会 RAG

很多教程的套路是:调一下 Embedding 接口,往向量数据库里塞点数据,再用大模型生成答案——完事了。这顶多算跑通了一个 Demo。

真正的 RAG 系统要考虑的问题多得多:文档怎么切分效果最好?检索召回率不够怎么办?多路召回怎么融合排序?幻觉怎么控制?这些才是面试官会追问的点。跑通 Demo 和做出能上线的系统之间,差的不是代码量,是对每个环节的深入理解。

RAG 不只是"检索 + 生成"两步走

Retrieval-Augmented Generation 这个名字容易让人觉得就是检索加生成。但实际工程中,一个能用的 RAG 系统至少涉及这些环节:

  • 数据处理:PDF、Word、PPT,格式五花八门,光是解析成干净文本就是一堆脏活
  • 分块策略:切太大检索不精准,切太小上下文丢失。不同文档可能需要不同策略
  • 问题改写:用户问"那它怎么配置?",不补上下文系统根本不知道在问啥
  • 检索策略:纯向量检索对精确匹配很弱,用户问一个订单号,向量检索可能完全找不到。混合检索怎么融合、要不要重排序,都是取舍
  • 会话记忆:20 轮对话全塞给模型?Token 成本扛不住。只带最近几轮?可能丢关键上下文

每一环都有坑,每一环都值得深挖。面试的时候能把这些讲清楚,比背概念有用得多。

只关注模型,忽略工程能力

RAG 项目的核心竞争力不在于你用了多强的模型,而在于工程化能力。同样的模型,检索策略不同、Prompt 设计不同、分块粒度不同,最终效果可以天差地别。

举个例子:用户问 "打印机墨盒怎么换",文档里写的是 "墨盒更换步骤"。关键词搜索直接匹配不上,但向量检索能理解它们是一回事。这背后是 Embedding 模型的选型、向量数据库的调优、检索结果的重排序——每一步都是工程决策,不是换个更贵的模型就能解决的。

用框架套一套不等于企业级

Spring AI / LangChain4j 是好工具,但直接拿来用是远远不够!

执行器路由、前置编排器五步决策链、双通道检索融合、Parent-Child 块聚合、证据预算控制与无证据短路、组合式切块引擎、摘要压缩记忆、集群级租约互斥、全链路观测追踪。这些构成项目核心竞争力的能力,这些框架并不具备的能力,在此项目中全都有实现。

图片

这个项目能学到什么

先直接列出来,小伙伴心里有数:

  • ReAct Agent 智能体的完整实现:不只是能聊天,而是支持联网搜索、工具调用、多步推理、Checkpoint 持久化,真正能自主决策和行动的 Agent

  • 三层执行器体系:系统不是把所有问题都交给 Agent,而是先做确定性编排,再按场景选最合适的回答引擎(歧义追问 / 知识问答 / 开放式 Agent),这套分层调度机制是整个系统的核心竞争力

  • Neo4j 图数据库驱动的文档结构图谱:每份文档在索引构建时,会同步在 Neo4j 中生成 Document → Section → Item 的层级图结构,支持章节编号定位、邻接遍历、子节点展开等图查询,让检索不再只靠向量匹配,还能沿着文档结构精准导航

  • 知识路由三级漏斗:用户提问后,系统不是直接全库检索,而是先走一轮 Scope → Topic → Document 的三级排序漏斗,通过语义 + 词法 + 关键词实体的混合打分,自动锁定最相关的文档,再进入检索链路。路由置信度不够时会主动降级,不会硬猜

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

  • RAG 前置编排引擎:路由判定、问题改写、子问题拆分、知识域收缩、歧义澄清,在模型回答之前把所有决策做完,确保每一次检索都是精准的

  • 双通道混合检索:向量检索 和 关键词检索 并行执行,RRF 融合排序,可选外部 Rerank 精排,召回率和精准度兼顾

  • 证据预算控制与无证据短路:模型上下文窗口有限,多子问题的证据量需要严格裁剪;没有找到相关证据时直接告知用户,不让模型凭空编造,从架构层面杜绝幻觉

  • Parent-Child 块聚合:检索粒度用 Child 小块保证命中率,回答阶段通过聚合提升到 Parent 大块,保证上下文完整性。这个设计在业界也属于比较前沿的实践

  • 三种会话记忆策略:无记忆、滑动窗口、摘要压缩,生产环境下怎么平衡 Token 成本和上下文完整性,三种方案都有完整实现和对比演示

  • MCP 工具协议集成:基于 Model Context Protocol 标准协议,Agent 可以动态发现和调用外部工具,不再局限于硬编码的 Function Call,真正实现了工具能力的即插即用

  • Skills 能力扩展体系:通过 SKILL.md 配置文件声明式定义技能,支持目录结构化管理、自动加载、引用脚本和参考资料,让 Agent 的能力边界可以持续扩展而不需要改动核心代码

  • 文档从上传到可检索的完整链路:Tika 多格式解析、四种切块策略组合流水线、向量化、向量数据库 + 倒排数据库 双引擎索引,每一步都有独立的任务日志和状态追踪

  • 组合式切块引擎:—结构切块做主干、递归分块做兜底、语义分块做边界优化、LLM 智能切块处理疑难文档,系统按文档类型自动推荐最优策略组合

  • 联网搜索与工具调用:集成 Tavily 搜索,支持工具重试、指数退避、异常兜底,模型调用次数和工具调用次数都有 Hook 限制,防止资源滥用和死循环

  • 推荐追问问题生成:主回答完成后额外调用模型,生成最多 3 个可继续追问的问题,引导用户深入探索

  • SSE 流式输出协议:正文分片实时推送,结束时补发引用来源和推荐问题,支持主动停止生成,用户体验对标主流 AI 产品

系统整体是怎么跑的

用户在输入框里敲了一句话,点了发送。看起来很简单,但在 Super Agent 内部,这条消息要经过一条远比你想象中复杂的链路,才能变成一个靠谱的回答。

先看整体流程,后面再逐块拆解每个环节的设计细节:

核心思路是:不是让 Agent 自己决定所有事情,而是先用确定性的编排逻辑做好决策,再把执行交给最合适的引擎。 知识问答走稳定的证据驱动生成,开放式问题才走 Agent 自由探索。

Agent 这块是怎么设计的

面试中聊 Agent,面试官不想听你说"我用了 ReactAgent",他想听的是你对这些问题的思考:

  • 用户提了一个问题,系统是怎么决定用哪种方式来回答的? 不是让模型自己选,而是先经过路由判定、问题改写、歧义检测这一整轮编排,最后才决定走哪个执行器。判断顺序是:歧义澄清 > 知识问答 > 开放式 Agent

  • 为什么不是所有问题都走 Agent? 知识问答追求"稳"和"可解释",让 Agent 自己探索反而容易不可控。只有真正需要联网搜索、多步推理的开放式问题,才适合走 Agent

  • Agent 死循环了怎么办? 用 ModelCallLimitHook 限制单次运行最多调用模型 8 次,用 ToolCallLimitHook 限制 Tavily 搜索最多调 6 次。单个会话线程累计也有上限,分别是 40 次和 30 次

  • 联网搜索调用失败了怎么处理? ToolRetryInterceptor 做指数退避重试,最多重试 2 次,初始延迟 200ms,最大延迟 1200ms,带随机抖动。如果最终还是失败,ToolErrorInterceptor 做兜底,不让异常直接抛给用户

  • 对话状态怎么持久化? 用 Spring AI Alibaba 的 MysqlSaver 把 ReactAgent 的 Checkpoint 存到 MySQL,应用重启后能继续之前的对话

  • 并行工具执行怎么做? ReactAgent 配置了 parallelToolExecution,最多 4 个工具并行执行

这些设计在代码里都能找到对应实现,不是概念上的东西。

三层执行器:不是所有问题都该交给 Agent

知识问答追求"稳"和"可解释"——用户问"退款规则是什么",你需要的是从文档中精准检索证据,然后让模型基于证据生成回答。这种场景让 Agent 自己探索反而容易不可控,可能跑去联网搜索一堆无关内容。

而"今天北京天气怎么样"这种问题,知识库里根本没有答案,必须让 Agent 调用搜索工具去获取实时信息。

所以 Super Agent 设计了三层执行器,按场景精准分流:

执行器 触发条件 处理方式
歧义追问执行器 用户问题信息量不足,无法确定意图 生成澄清问题,引导用户补充信息
RAG 知识问答执行器 问题可以在知识库中找到答案 证据驱动生成,引用来源可追溯
ReAct Agent 执行器 需要联网搜索、多步推理的开放式问题 自主决策 + 工具调用 + 多轮推理循环

判断顺序是:歧义澄清 > 知识问答 > 开放式 Agent。优先用最稳定的方式回答,只有确实需要自由探索时才启动 Agent。

前置编排器到底做了什么

前面说了系统不会把所有问题直接扔给模型,而是先做一轮完整的编排。它在每次对话中做的事情远比你想象的多:

路由判定

用户发进来的消息,首先要判断它属于哪种类型。是一个可以在知识库里找到答案的问题?还是需要联网搜索的开放式问题?还是信息不全需要先追问?这个判定不是靠关键词匹配,而是通过模型分析上下文后给出路由方向。

问题改写

用户的问题往往不适合直接检索。比如"那它怎么配置?"——"它"指的是什么?得结合前几轮对话才知道。问题改写就是把这些省略的信息补回来,让检索能找到东西。

问题改写效果:

子问题拆分

"退款规则是什么?审批流程怎么走?"这种复合问题,如果直接拿去检索,两个意图互相干扰,效果很差。系统会拆成独立子问题,每个单独走检索链路,最后合并结果。单轮最多拆 4 个子问题,避免过度切碎。

意图解析与知识域收缩

拆完子问题后,还要分析每个子问题属于哪个知识域,把检索范围从"全库"缩小到"相关领域"。这一步直接影响检索的精准度和速度。

歧义检测

如果用户的问题信息量不够,比如只说"查一下那个",系统不会硬着头皮去检索,而是先生成澄清问题让用户补充信息。这比返回一个不相关的答案体验好得多。

所有这些步骤完成后,编排器会产出一个 执行计划,里面包含执行多种执行编排模式、改写后的问题、拆分后的子问题列表、知识域范围等,交给对应的执行器去执行。

检索链路到底有多细

很多人以为检索过程就是"查个向量库 + 让模型回答",但实际上中间的环节比想象中多得多。下面列的这些问题,在项目中都有对应的设计:

问题进来之后怎么处理?

  • 用户问"那它怎么配置?"这种省略了主语的追问,直接拿去检索什么都找不到。所以要先做问题改写,结合最近几轮历史把指代补全
  • 一个问题里问了两件事,比如"退款规则是什么?审批流程怎么走?",不能一股脑去检索。要拆成独立子问题,每个子问题单独走检索链路
  • 单轮最多拆 4 个子问题,避免过度切碎

检索是怎么做的?

  • 不是只用向量检索。用户问一个订单号、一个配置项名,向量检索很可能找不到。所以用了双通道并行:向量检索走 + 关键词检索
  • 两路结果分数量纲完全不同,不能直接比大小。用 RRF(Reciprocal Rank Fusion) 按排名倒数法融合
  • 向量通道设了最低相似度,关键词通道用相对阈值,低于阈值的弱命中直接过滤掉
  • 融合后可以接外部 Rerank 精排(支持 SiliconFlow 兼容协议),在较干净的候选集上继续优化排序
  • 检索粒度用 Child 小块保证命中率,回答阶段通过 Parent-Child 聚合提升到 Parent 大块,保证上下文完整性

证据够不够怎么判断?

  • 如果最终没有任何有效证据,直接短路返回,告诉用户"当前文档中没有检索到足够证据"。不让模型凭空编造,这是防止幻觉最直接的手段
  • 如果证据太多,有预算控制:单个子问题字符、全部证据总预算,单个父块最大字符。防止把模型上下文窗口吃满

最终怎么组装回答?

  • 按子问题边界分别组织证据,注入到 Prompt 里,模型按编号逐一回答
  • 要求模型在引用证据时标注来源编号 [1][2]
  • 答案通过 SSE 实时流式推送,结束时补发引用来源和推荐追问问题

双通道并行检索

用户问一个订单号、一个配置项名,向量检索很可能找不到——语义相似度对精确匹配天然弱势。所以 Super Agent 用了双通道并行:向量检索 + 关键词检索,两路同时出发,互不阻塞。

两路结果的分数量纲完全不同,不能直接比大小。系统用 RRF(Reciprocal Rank Fusion) 按排名倒数法融合,向量通道设了最低相似度阈值,关键词通道用相对阈值,低于阈值的弱命中直接过滤。融合后还可以接外部 Rerank 精排,在较干净的候选集上继续优化排序。

父子块聚合

这是整个检索链路中最精巧的设计之一。检索粒度用 Child 小块保证命中率——小块语义集中,更容易被向量检索命中。但回答阶段如果只用小块,上下文往往不完整。所以系统在命中 Child 块后,自动聚合提升到 Parent 大块,保证回答时有足够的上下文信息。

检索用小块保精度,回答用大块保完整性。 这个设计在业界也属于比较前沿的实践。

文档从上传到可检索经历了什么

很多项目的文档处理就是"切成固定长度 → 向量化 → 完事"。但实际上不同文档差异很大,一刀切的效果很难好。Super Agent 的文档处理是一条完整的异步流水线,每一步都有独立的状态追踪和任务日志:

第一步:上传和存储

文件上传到 MinIO 对象存储后,通过 Kafka 异步触发解析任务。Apache Tika 负责处理 PDF、Word、PPT 等多种格式,把五花八门的文档统一转成干净的文本。PDF 里的表格、扫描件、双栏排版——每一个都是坑,Tika 帮你踩过了。

并且可以配置 知识域编码知识域名称业务分类文档标签 等元信息,后续检索和分析都能用得上。

第二步:异步解析和策略推荐

解析完成后,系统不是让用户盲选切块算法,而是根据文档类型和内容特征自动推荐最优的切块策略组合。用户可以查看推荐结果,也可以手动调整——比如文档质量不太好,可以额外开启 LLM 智能切块。

第三步:组合式切块引擎

四种切块策略不是四选一,而是各司其职的组合流水线:

策略 角色 什么时候用
基于文档结构切块 主干 按标题/章节/段落切成语义完整的块
递归分块 兜底 结构块太大时继续往下裁剪,控制块大小
语义分块 优化 在结构切块基础上做边界精修
LLM 智能切块 增强 处理低质量文档和复杂文档,默认关闭

一句话:结构负责保留文档天然边界,递归负责控制块大小,语义负责优化块边界,大模型负责处理疑难场景。

第四步:向量化与双引擎索引

确认策略后,系统通过 Kafka 异步执行向量化和索引构建。向量写入向量数据库,关键词写入倒排索引数据库,构建双通道检索的基础。每一步都有独立的任务日志,出了问题能精确定位到哪一步失败。

会话记忆:Token 成本和上下文完整性的博弈

20 轮对话全塞给模型?Token 成本扛不住。只带最近几轮?可能丢掉关键上下文。这是生产环境下绕不开的问题。

项目中设计了三种策略:

  • 无记忆:每轮独立,不携带历史。适合一次性查询
  • 滑动窗口:保留最近 N 轮完整对话。适合短期连续追问
  • 摘要压缩:长期摘要 + 最近原文窗口。这是生产环境最推荐的方案

摘要压缩的具体设计:

  • 最近 4 轮原文始终保留,不做压缩
  • 更早的历史增量摘要,单次最多推进 6 轮,避免一次处理超长历史
  • 最近原文窗口最大 2200 字符,长期摘要最大 1400 字符
  • 所有记忆数据持久化到 MySQL,应用重启不丢失

MCP 工具协议与 Skills 能力扩展

Agent 的价值不只是能聊天,更在于能调用外部工具完成实际任务。Super Agent 在工具集成这块做了两层设计:

MCP 工具协议

MCP(Model Context Protocol)是 Anthropic 提出的开放协议标准,定义了模型与外部工具之间的通信规范。Super Agent 基于 MCP 协议实现了完整的工具调用链路:

  • 动态工具发现:Agent 启动时自动扫描并注册可用的 MCP 工具,不需要硬编码工具列表
  • 标准化通信:工具的输入输出遵循 MCP 协议规范,支持 Stdio 和 SSE 两种传输模式,兼容主流 MCP Server 生态
  • 参数自动提取:模型根据用户意图自动识别需要调用的工具并提取参数,无需用户手动指定
  • 多工具编排:单次对话中可以串联调用多个 MCP 工具,前一个工具的输出可以作为后一个工具的输入
  • 安全沙箱:工具调用在受控环境中执行,有超时限制和异常隔离,防止恶意工具影响主流程

相比传统的 Function Call 硬编码方式,MCP 协议的优势在于标准化和可扩展性——新增一个工具不需要改任何业务代码,只需要部署一个符合 MCP 协议的 Server 即可。

Skills 能力扩展

Skills 是比 MCP 更上层的能力抽象,解决的是"Agent 怎么获得特定领域的专业能力"这个问题:

  • 声明式定义:每个 Skill 通过 SKILL.md 配置文件描述能力边界、触发条件、执行逻辑,结构清晰易维护
  • 目录化管理:Skills 按领域组织成目录结构,支持嵌套分类,方便大规模能力管理
  • 自动加载机制:系统启动时自动扫描 Skills 目录,新增 Skill 只需要放入对应目录,零配置生效
  • 引用脚本与参考资料:Skill 可以关联外部脚本(Python、Shell 等)和参考文档,执行时自动加载上下文
  • 能力组合:多个 Skills 可以组合使用,Agent 根据任务需求自动选择最合适的 Skill 组合

Skills 体系让 Agent 的能力边界不再是固定的,而是可以持续扩展的。今天加一个"数据分析"Skill,明天加一个"代码审查"Skill,Agent 的能力就跟着增长,核心代码一行不用改。

工程质量不是靠嘴说的

说一个项目是企业级,得看实际的工程质量。从几个维度来评估 Super Agent:

工程规范

  • 分层架构:business / common / framework 三层职责清晰,AI 业务逻辑、通用 Web 能力、基础设施组件互不耦合
  • 统一异常处理:全局异常拦截 + 统一响应格式 ApiResponse,业务代码不需要到处 try-catch
  • 自动装配机制:基础组件通过 Spring Boot Starter 方式封装,引入依赖即可使用,零配置代码
  • MyBatis-Plus 自动填充:创建时间、更新时间等公共字段自动处理,不需要每个 Mapper 手动设置
  • API 文档规范:Knife4j 增强的 Swagger 文档,接口定义即文档

集群安全与并发控制

这是很多开源项目完全忽略的部分,但在生产环境中至关重要:

  • Redis 租约互斥RedisLeaseManager 实现集群级别的会话锁定,防止同一条消息被多个实例重复处理
  • JVM 级任务注册ChatRuntimeRegistry 维护进程内的任务注册表,防止同进程重入
  • 租约续期:执行过程中自动续期,防止长对话超时导致锁释放后被其他实例抢占
  • 优雅降级:无论成功还是失败,统一触发清理流程,不会留下孤儿锁

设计模式实战

项目中落地了多种经典设计模式,不是为了用模式而用,每个都解决了实际的扩展性或解耦问题:

设计模式 应用场景 解决的问题
策略模式 三种会话记忆策略、四种切块策略 不同策略可插拔替换,新增策略不改已有代码
工厂模式 检索通道创建、切块器创建 复杂对象的创建逻辑集中管理
模板方法 文档处理流水线各节点 统一执行流程,子类只关注核心逻辑
责任链模式 RAG 前置编排器的五步决策链 多个处理步骤按顺序串联,灵活组合
观察者模式 SSE 流式输出回调 流式事件的异步通知与推送
AOP 重复执行限制、全局异常拦截 横切关注点与业务代码解耦

可扩展性

核心模块都预留了扩展点:

  • 新增检索通道:实现检索通道接口,注册为 Spring Bean,自动参与双通道检索
  • 新增切块策略:实现切块策略接口,可加入组合流水线的任意位置
  • 新增记忆策略:实现记忆策略接口,系统自动识别并可配置使用
  • 新增工具调用:给 ReactAgent 注册新的 Tool,自动参与工具选择
  • 新增 MCP Server:部署符合 MCP 协议的 Server,Agent 自动发现并注册
  • 新增 Skill:在 Skills 目录下放入 SKILL.md 配置文件,零配置即刻生效

不需要改框架代码,加个实现类或配置文件就完事了。这才是面向接口编程和插件化架构的正确打开方式。

全链路可观测

基于 AOP 的全链路追踪,每个环节的耗时、输入输出、决策结果都有记录。思考过程、检索通道使用情况、证据来源、工具调用记录——全部可视化呈现在管理后台的观测面板中。出了问题不用猜,直接看 Trace 就知道哪一步出了问题。

执行阶段时间线:

和其他普通的 Agent 项目有什么区别

市面上大多数 Agent 项目,说白了就是跑通一个示例就完事了。Super Agent 和这些项目的差距在哪?直接对比一下:

对比维度 普通 RAG 项目 Super Agent
检索方式 单路向量检索 双通道并行(PGVector + ES)+ RRF 融合 + 可选 Rerank
问题处理 原始问题直接检索 改写 + 子问题拆分 + 知识域收缩
意图判断 前置编排器五步决策 + 歧义主动追问
执行策略 所有问题走同一个模型 三层执行器按场景分流(追问 / 知识问答 / Agent)
会话记忆 全量塞给模型或不带 无记忆 / 滑动窗口 / 摘要压缩三种策略
文档切块 固定长度一刀切 四种策略组合流水线 + 系统自动推荐
文档入库 同步处理,无日志 Kafka 异步流水线 + 分步骤任务日志
Agent 能力 无或仅简单对话 ReAct 循环 + 联网搜索 + 工具调用 + Checkpoint 持久化
证据控制 预算裁剪 + 无证据短路防幻觉
检索粒度 命中什么用什么 Parent-Child 块聚合,检索用小块、回答用大块
流式输出 简单 SSE 推文本 正文 + 引用来源 + 推荐追问 + 停止生成
Agent 安全 无限制 模型调用次数 Hook + 工具调用次数 Hook + 重试兜底
MCP 协议 无或硬编码 Function Call MCP 标准协议 + 动态发现 + 多工具编排 + 安全沙箱
能力扩展 固定能力,改代码才能加 Skills 声明式定义 + 自动加载 + 热插拔扩展
集群安全 单机运行 Redis 租约互斥 + JVM 任务注册 + 租约续期
可观测性 全链路 Trace + 可视化观测面板
知识路由 无,全库检索 三级漏斗(Scope → Topic → Document)+ 混合打分自动锁定文档
文档结构 Neo4j 图数据库构建 Document → Section → Item 层级图谱
路由质量观测 影子路由静默对比 + 命中率追踪 + 持续优化闭环

一句话:每个环节都不是调个 API 就完事的,而是有完整的设计和工程考量。

适合什么人

在校生 / 校招同学:

  • 简历上已经有了商城、外卖等常规项目,需要一个有区分度的项目来拉开差距。Super Agent 能让你在面试中聊 AI + 工程化,而不是千篇一律的 CRUD
  • 想转 AI 应用方向但不想从 Python 入手。项目基于 Java 技术栈,学习曲线平滑
  • 大厂校招越来越看重候选人对新技术的敏感度,简历上有 AI 项目经验,能直接证明学习能力和技术视野

社招同学:

  • 1-3 年经验:日常写业务代码,想往 AI 方向转型但不知道从哪下手。技术栈你都熟悉,学的是 AI 应用层的东西,上手快
  • 3-5 年经验:技术能力不差,但面试被问到 AI 相关问题答不上来,少了一个谈薪筹码。通过项目补上 RAG、Agent 这些知识点,面试时能聊得有深度
  • 想跳槽到 AI 团队:越来越多的 JD 要求有 AI 相关经验,项目能帮你快速建立 RAG 系统的全局认知

一句话:学完 Super Agent,你既能跟面试官聊 RAG、Agent、MCP 的技术深度,也能证明自己的项目工程化水平。不管是校招还是社招,这个项目都能成为你简历上最有区分度的一笔。

用到的技术一览

技术 说明 官网
Jdk 编译和运行版本 https://openjdk.org
Spring Boot 应用框架 https://spring.io/projects/spring-boot
Spring AI AI 能力基础框架 https://spring.io/projects/spring-ai
Spring AI Alibaba 阿里云 AI 适配,提供 ReactAgent https://github.com/alibaba/spring-ai-alibaba
MyBatis Plus ORM 框架 https://baomidou.com
MySQL 业务数据库 https://www.mysql.com
PostgreSQL + PGVector 向量数据库 https://github.com/pgvector/pgvector
Elasticsearch 关键词搜索引擎 https://github.com/elastic/elasticsearch
Neo4j 图数据库,文档结构图谱 https://neo4j.com
Redis 分布式缓存 https://redis.io
Redisson 分布式 Redis 工具 https://redisson.org
Kafka 异步消息队列 https://kafka.apache.org
MinIO 对象存储 https://min.io
Apache Tika 多格式文档解析 https://tika.apache.org
阿里云百炼 DashScope 大模型服务 https://dashscope.aliyun.com
Tavily 联网搜索服务 https://tavily.com
SiliconFlow Rerank 精排服务(可选) https://siliconflow.cn
Vue 3 + Vite 前端框架 https://vuejs.org
Log4j2 日志框架 https://logging.apache.org/log4j/2.x
Knife4j Swagger 增强 https://doc.xiaominfo.com
Lombok Java 语言增强 https://projectlombok.org
Hutool Java 工具类库 https://hutool.cn
JWT 登录认证 https://github.com/jwtk/jjwt

如何启动项目

文档和视频目录

为了更好地帮助大家学习 Super Agent 项目,配置了非常详细完整的文档和视频,把每个知识点都会讲到,包括非常全的 AI 的技术知识,以及项目中如何使用的、为什么这么用、形成从 AI 基础到项目实战的一套完整体系。学习过程中遇到问题可以在社区反馈,本人会详细解答。

👉 文档和视频目录地址

欢迎联系我

小伙伴想要实时关心项目更新的进展情况的话,可以关注公众号:阿星不是程序员

在项目中的学习过程中遇到了什么问题或者有哪些建议,欢迎添加本人wx,备注:super 来领取详细的项目学习资料