00 - Enterprise Agent Hub 项目全景概览

企业级多Agent AI平台 — 从架构到实现的完整学习指南

AI 初学者阅读路线

建议先看项目全景,再补 AI 基础概念,随后沿单次对话、LLM、RAG、Graph 编排、安全与多端接入逐步深入。页面中带虚线下划线的新名词支持悬停查看解释。

推荐顺序:00 → 01 → 02 → 03 → 05 → 07 → 10 → 04/13/14 → 08/09/17 → 12/27 → 15/16 → 20 以后工程化专题。

模块A:项目全景与 AI 基础(00-06)

按文档编号排序

目录顺序严格跟随文档编号;初学者推荐阅读路径见上方。

模块B:项目核心技术(07-19)

项目实现与面试亮点导航

模块C:运行时扩展与 Spring AI Alibaba 集成(20-26)

框架扩展与 Agent 运行时导航

模块D:扩展、安全与流式体验(27-30)

企业级能力与边界说明

模块E:分布式与工程化面试专题(31-34)

部署、运行态与多端接入导航

一、项目是什么?

Enterprise Agent Hub 是一个企业级多Agent AI平台,类似于一个内部的"AI助手应用商店"。它提供了100+内置的AI Agent(智能体),覆盖6大领域(creative/enterprise/education/lifestyle/productivity/specialized),例如:知识库问答、简历优化、数据分析(NL2SQL)、文案写作、智能相册管理、深度研究、合同审查等。

通俗理解:你可以把它想象成一个企业版的ChatGPT + 插件系统,但每个"插件"(Agent)都有独立的专业能力、工具和交互方式。

二、技术栈全景

前端层
API层
Agent编排层
LLM/向量/防护层
基础设施层
Vue 3.5 + TypeScript
Vite 8 + Pinia
Spring Boot 3.5
Spring AI 1.1.2
90+ Controller
Graph执行引擎
并行执行引擎
任务编排器
多模型适配
RAG六阶段管线
5层防护 + Key池
MySQL 8.0
Milvus 2.6
Redis Cluster
RocketMQ

三、13个Maven模块

基础层

hub-common — 共享DTO、工具类

hub-doc-parser — 文档解析(PDF/DOCX/MD策略模式)

hub-conversation — 对话持久化(27个JPA实体)

AI核心层

hub-llm-core — LLM核心引擎、RAG管线、Agent基类

hub-vector-store — Milvus向量存储、双写、去重

hub-key-pool — API密钥池管理、降级策略

hub-prompt-guard — 多层提示词注入防护

Agent层

hub-agent-core — Graph执行引擎、Agent编排

hub-agents — 100+内置Agent实现(6大领域)

hub-mcp-client — MCP协议客户端

hub-tools — 工具市场/生活工具体系(生日、记账、收纳等)

接入层

hub-api — REST API、SSE流式推送

hub-agent-channels — 飞书/钉钉/QQ 入站机器人、企微出站推送 + Voice 通道

hub-frontend — Vue 3 前端应用

四、面试主线与核心亮点

面试时不建议逐条背 42 个功能点,而是按主线讲:Agent 扩展机制RAG 可信问答复杂任务编排模型与任务可靠性提示词安全与合规多端接入复用可观测与成本分析分布式运行态演进。下面的亮点都可以归到这些主线里展开。

1. 零配置Agent注册 — 基于Spring DI自动发现,新增Agent只需实现接口+@Component,无需手动注册
2. RRF多查询融合 — LLM生成N个查询变体,并行检索后用Reciprocal Rank Fusion算法融合,大幅提升RAG召回率
3. Milvus + MySQL双写向量存储 — 向量存Milvus做语义搜索,元数据存MySQL做关键词搜索,共享向量指针避免冗余
4. 通道降级框架 — 三态熔断器(CLOSED/OPEN/HALF_OPEN),支持多触发条件组合、降级链和半开探测恢复,LLM供应商故障时自动降级对用户透明
5. 金丝雀令牌泄露检测 — 在系统提示词中嵌入隐藏令牌,如果LLM输出中出现了该令牌,说明发生了提示词泄露
6. 飞书 WebSocket 与卡片化回复 — 通过 Lark WebSocket 接收事件,复用通道公共链路,完成后发送结果卡片、来源和推荐追问
7. 意图驱动多技能路由 — 单个Agent内部根据用户意图自动路由到不同的处理技能
8. 全链路LLM可观测性 — 记录每次LLM调用的模型、Token消耗、延迟,支持统计分析和性能优化
9. 能力驱动动态UI — 27种AgentCapability枚举值,前端根据能力自动渲染对应的面板、工具栏和交互组件
10. 5层提示词注入防护 — 输入扫描 → 提示词隔离 → 金丝雀令牌 → 输出扫描 → Shell工具安全,形成纵深防御体系
11. 拦截器链(洋葱模型) — 项目运行时扩展层的洋葱模型拦截器链,before 正序 / after 逆序,内置缓存(TTL 5分钟)和指数退避重试拦截器,并与 Spring AI Alibaba 调用链路集成
12. 上下文工程与记忆管理 — 双层 4+4 策略体系:Context 层运行时裁剪(TRIM/SUMMARIZE/SLIDING_WINDOW/COMPOSITE),Memory 层持久化管理(TRIM/SUMMARIZE/DELETE/FILTER)
13. 多Agent编排引擎 — 4种编排模式:Sequential 串行 / Parallel 并行(300s超时+有界线程池)/ Loop 循环 / LLM Routing 智能路由
14. 结构化输出 — 从 Java 类型自动生成 JSON Schema 注入提示词,StructuredOutputConverter 解析 LLM 文本为强类型对象(含 markdown 代码块剥离)
15. 图时间旅行调试 — TimeTravelService 在 Graph 执行过程中保存状态快照,支持从任意历史节点回溯重放,REST API 调试接口
16. 全链路运行监控 — TelemetryHook 基于 Micrometer Tracing 记录 Agent 执行 Span,3 个系统仪表盘聚合拦截器、上下文记忆、Graph/Hook 与编排指标

更多工程能力(详见各章节)

17. 拦截器诊断与代码层管理  |  18. 三层模型降级  |  19. TodoList任务追踪  |  20. 长期记忆系统  |  21. Graph Observation  |  22. Redis/MySQL双Checkpoint  |  23. Prompt评测平台  |  24. BackgroundTask异步任务  |  25. AgentSpec声明式配置  |  26. PII检测与脱敏  |  27. Agent健康监控  |  28. Agent任务生命周期  |  29. Agent流水线(Pipeline)  |  30. 15个分布式契约 + 19个运行态开关  |  31. 异步工具执行  |  32. 多模态工具结果  |  33. 状态感知工具  |  34. LLM调用追踪  |  35. AI智能相册  |  36. 内容创作库  |  37. 100+ Agent矩阵  |  38. 飞书/钉钉/QQ 入站 + 企业微信出站 + Voice 适配  |  39. 通知模板引擎  |  40. 分布式任务保护  |  41. 用户级限流  |  42. Skill技能热加载

五、100+ 内置Agent一览(核心/特色入口)

分类Agent能力概述
聊天chat(通用对话)自由对话、Plan模式、快速提问
rag(知识库助手)RAG问答、来源引用、文档管理
办公resume(简历优化)STAR重写、JD匹配、面试准备
resume-screen(简历筛选)6维评分(100分制)、A/B/C/D评级
ppt(PPT大纲)结构化演示大纲生成、迭代优化
copywriting(文案写作)AIDA/FAB结构、多版本对比
工具translate(翻译助手)自动语言检测、术语表支持
crawler(网页助手)网页内容提取、安全管线
photo(智能相册)AI分析、标签、相册、时间线、地图
wechat(微信备份)聊天记录导入、统计分析
netdisk(超级网盘)AI摘要、思维导图、向量关系图
book-scraper(小说抓取)小说网站爬取、结构分析
mosaic(马赛克拼图)感知加权RGB距离算法拼图生成
创意novel(小说书库)大纲提取、角色分析、续写建议
audiobook(有声读物)章节音频播放、内容管理
culture(文博珍藏)历史背景分析、时代关联
drama(剧本工坊)情节结构分析、角色设计
专业data(数据分析)NL2SQL自然语言查数据、Schema感知
deep-research(深度研究)多步骤研究、MCP工具、ReAct推理

💡 以上仅展示核心 Agent,完整列表含 100+ 个覆盖 creative/enterprise/education/lifestyle/productivity/specialized 六大领域的专业 Agent。

六、核心设计模式

策略模式(Strategy)

文档解析:PDFBox/POI/CommonMark 三个策略实现 ParserStrategy 接口,运行时根据文件类型选择。

LLM Provider:按协议适配 ChatModel 工厂,包括智谱原生、OpenAI 兼容、Anthropic/MiniMax 兼容;管理端供应商目录覆盖 DeepSeek、DashScope、Ollama、自定义等。

装饰器模式(Decorator)

TrackedChatModel — 包装原始ChatModel,自动记录Token消耗和延迟。

PooledChatModel — 包装原始ChatModel,集成Key池轮转。

观察者模式(Observer)

SSE流式推送:LLM生成Token时,通过Flux事件流实时推送给前端。

模板方法模式(Template Method)

AbstractLlmAgent — 定义了系统提示词、历史管理、模型选择、流式响应的骨架流程,子类只需实现特定逻辑。

熔断器模式(Circuit Breaker)

Agent任务编排器内置熔断器,当某个Agent连续失败时自动熔断,保护系统稳定。

能力驱动(Capability-Driven)

前端根据Agent声明的27种能力枚举值,动态渲染对应的面板组件和工具栏。

七、整体架构流程图

┌──────────────┐   ┌──────────────┐   ┌──────────────┐   ┌──────────────┐
│   Web 前端    │   │   飞书机器人   │   │   钉钉机器人   │   │ 小程序/企微出站│
│  Vue 3 + SSE  │   │  WebSocket卡片 │   │    Stream    │   │              │
└──────┬───────┘   └──────┬───────┘   └──────┬───────┘   └──────┬───────┘
       │                  │                  │                  │
       └──────────────────┴──────────────────┴──────────────────┘
                                    │
                            ┌───────▼───────┐
                            │    hub-api     │
                            │  90+ Controller │
                            │  JWT认证 + SSE  │
                            └───────┬───────┘
                                    │
                     ┌──────────────▼──────────────┐
                     │    AgentTaskOrchestrator     │
                     │  超时控制 + 熔断 + 并发控制    │
                     └──────────────┬──────────────┘
                                    │
              ┌─────────────────────┼─────────────────────┐
              │                     │                     │
     ┌────────▼────────┐   ┌───────▼───────┐   ┌────────▼────────┐
     │  Graph执行引擎   │   │  LLM核心引擎   │   │  提示词防护层    │
     │ ReAct/并行/HITL │   │ 多模型适配     │   │ 5层纵深防御      │
     └────────┬────────┘   └───────┬───────┘   └─────────────────┘
              │                    │
     ┌────────▼────────┐   ┌──────▼──────┐   ┌──────────────┐
     │  100+ 内置Agent │   │  RAG管线     │   │  密钥池管理   │
     │  各自独立能力     │   │ 6阶段处理    │   │ 轮转+降级     │
     └────────┬────────┘   └──────┬──────┘   └──────────────┘
              │                   │
       ┌──────▼───────────────────▼──────┐
       │         基础设施层                │
       │  MySQL │ Milvus │ Redis │ RocketMQ │
       └─────────────────────────────────┘

八、面试30秒介绍模板

"Enterprise Agent Hub 是我独立开发的企业级多Agent AI平台,基于 Spring Boot 3.5 + Spring AI Alibaba + Vue 3.5 构建。平台内置了100+专业AI Agent,统一接入 Web、小程序、飞书/钉钉/QQ 入站机器人、企业微信出站和语音入口。面试时我会重点讲三条主线:Agent Hub 扩展机制、RAG 可信问答链路、复杂任务编排与可控执行;再补企业级工程能力,包括提示词安全、密钥池降级、任务生命周期、运行监控,以及 15 个分布式契约接口 + 19 个运行态开关支撑 local/Redis 渐进演进。"

新增功能模块

以下是项目新增的全部功能模块,涵盖拦截器、Hook、图执行、记忆系统、安全防护等多个维度:

ModuleDescriptionStatus
拦截器诊断管理InterceptorChainManager 注册、排序、诊断,代码层预留启停能力✅ 已上线
模型降级ModelFallbackInterceptor 多模型容灾✅ 已上线
TodoList 任务追踪Agent 自动规划复杂任务进度✅ 已上线
大结果驱逐LargeResultEviction 防上下文爆炸✅ 已上线
工具动态筛选ToolSelection 关键词评分 + system prompt 建议性筛选;当前不是物理移除 tool callbacks 的硬筛选✅ 已上线(软筛选)
子Agent委派SubAgent 自动任务路由✅ 已上线
上下文编辑ContextEditing 自动压缩✅ 已上线
长期记忆跨会话持久化与工具读写✅ 已上线
PII检测隐私数据脱敏保护✅ 已上线
自动摘要Hook上下文溢出压缩✅ 已上线
人机协同增强工具粒度审批控制✅ 已上线
Graph ObservationMicrometer 监控指标✅ 已上线
Redis Checkpoint高性能图状态持久化✅ 已上线
Prompt评测平台A/B测试自动评分✅ 已上线
后台任务系统Agent异步长任务执行✅ 已上线
AgentSpecYAML声明式规格解析、校验、管理端 CRUD 与手动 reload;不等同于文件监听式自动热替换✅ 已上线(配置治理)
DataAgentNL2SQL自然语言查询✅ 已上线
VoiceChannelHTTP 单轮语音入口:ASR → Agent → 可选 TTS;当前不是流式双工语音会话✅ 已上线(语音入口)
沙箱执行ProcessBuilder 进程级执行器,支持超时、工作目录和环境变量清洗;强隔离 Docker/VM 属于后续增强✅ 已上线(基础隔离)
结构化输出增强Schema注入+JSON验证✅ 已上线
学习和面试时建议按 8 条主线组织:Agent 扩展、RAG 知识能力、执行编排、可靠性、安全合规、多端接入、可观测性、分布式演进。不要逐条背功能清单。

面试指南 — 快速准备

30秒版本

"我做的是一个企业级多 Agent AI 平台。它把知识库问答、数据分析、深度研究、简历、相册、网盘、内容创作等能力统一成 Agent Hub,通过 Spring Boot 多模块后端、Vue 前端、微信小程序、飞书/钉钉/QQ 入站机器人、企业微信出站和语音通道提供服务。技术重点不只是接大模型,而是围绕 Agent 扩展、RAG 可信回答、复杂任务编排、提示词安全、密钥池降级、任务生命周期、可观测和分布式运行态做工程化平台。"

技术亮点速记(7大核心)

1. 6阶段RAG流水线 — QueryRewrite → RetrievalCache → MultiQueryExpander(RRF融合) → LLM Reranker → ContextAssembler → LLM Stream,每阶段独立可降级
2. 多查询扩展 + RRF融合 — LLM 生成3个扩展查询,并行检索后用 score(d) = Σ 1/(k + rank_i(d)) 融合,只依赖排名不需分数归一化
3. 严格RAG防幻觉 — 检索结果为空时直接返回固定提示,不调用LLM。代码级拦截是确定性的,比 Prompt 约束更可靠
4. 检索缓存 — Caffeine本地缓存,Key=SHA-256(rewrittenQuery),500条上限+30分钟TTL+LRU淘汰,命中跳至ContextAssembler
5. 双重文档去重 — SHA-256哈希精确匹配(O(1)) + Embedding语义相似度(≥0.8阈值),两层互补
6. 模块化单体 — 13个Maven模块单向依赖,模块间接口解耦,支持分布式运行态(Redis + RocketMQ)
7. 策略模式文档解析DocumentParser 接口 + ParserFactory 路由,新增格式只需实现接口加 @Component

高频问题速答

Q: 为什么不用微服务架构?
A: 项目核心复杂度在"检索准确率"和"文档解析质量",不在架构规模。模块化单体模块间通过 Java 接口解耦,如果后续文档解析成为瓶颈,可以直接将 hub-doc-parser 提升为独立服务,迁移成本很低。
Q: 如何防止LLM幻觉?
A: 四层防护:① 代码级拦截(检索为空不调LLM)② 多路检索验证(3角度RRF融合)③ Prompt约束(只能基于上下文回答)④ 来源强制标注([来源N]编号可验证)
Q: 为什么用RRF而不是其他融合算法?
A: RRF只依赖排名不需分数归一化(不同检索系统分数量纲不同),天然投票机制(多路命中加分),只有一个k参数(默认60)不需训练,几行代码实现。比Borda Count对长尾更鲁棒,比CombMNZ不需原始分数。
Q: 系统瓶颈在哪?
A: ① LLM调用延迟(最大,2-5秒)→ 流式输出+RetrievalCache已优化 ② 多查询扩展开销 → 固定线程池并行+缓存命中跳过 ③ 大PDF解析慢 → 异步解析已预留 ④ 向量检索单机 → 可集群部署

项目难点速答

难点: RAG流水线降级容错
6阶段流水线每阶段依赖外部服务(LLM、Milvus、MySQL),采用每阶段独立 try-catch:查询改写失败→用原始查询;多查询扩展LLM失败→回退单查询;LLM重排序失败→用原始排序;缓存异常→跳过缓存。核心原则:"能回答"优于"精确回答",降级后质量略低但远好于报错。
难点: SSE流式输出与消息持久化时序
AI回复是流式生成的,但需在流结束后持久化到MySQL。方案:用 StringBuilder 在流处理中累积文本片段,在 Flux.concatWith(Flux.defer(...)) 中做最终持久化和来源发送,保证持久化在流结束后按序执行。