AI智能体
学习开发一个AI应用+拥有自主规划的超级智能体
一、技术选型
项目以 Spring Al 开发框架实战为核心,涉及到多种主流 A1 客户端和工具库的运用。
- Java 21 + Spring Boot 3 框架
- Spring Al + LangChain4j
- RAG 知识库
- PGvector 向量数据库
- Tool Calling 工具调用
- MCP 模型上下文协议
- ReAct Agent 智能体构建
- Serverless 计算服务
- AI大模型开发平台百炼
- Cursor Al代码生成+MCP
- 第三方接口:如 SearchAPl/Pexels API。
- Ollama 大模型部署
- Kryo 高性能序列化
- Jsoup 网页抓取
- iText PDF 生成
Knife4i接口文档
二、架构设计
架构整体分为客户端、服务端、应用层、Spring AI 服务以及外部依赖五层。
客户端
包含前端浏览器、服务器、小程序、桌面 APP 这些终端形式,负责发起对话请求。
服务端
可通过 Serverless 部署或 Docker 部署,依托 Tomcat 应用服务器来承接客户端的请求。
应用层
有 AI 恋爱大师、AI 超级智能体以及其他应用 1、其他应用 2 等各类应用,为用户提供不同的 AI 相关功能服务。
Spring AI 服务
这一层是核心处理层,包含多个模块:
- 拦截器相关:有 Advisors 前置拦截器(含安全守卫、ReReading 功能)和 Advisors 后置拦截器(包含会话记忆、日志功能),用于在请求前后进行相关处理。
- 模型交互:ChatModel、ChatClient 负责与 AI 大模型(通义、DeepSeek、豆包等)进行交互。
- RAG 模块:通过 ETL 写入操作,将数据存入 VectorStore 向量存储,同时结合检索增强(检索过程),实现检索增强生成相关能力。
- Tools 工具模块:提供文件处理、资源下载、PDF 生成、联网搜索、网页抓取、终端操作等工具能力,支持各类操作需求。
- MCP 模块:分为 MCP 客户端和 MCP 服务端,承担相应的客户端与服务端交互逻辑。
- Memory 记忆模块:包含内存存储 ChatMemory 和文件存储 ChatMemory,用于对对话记忆等进行存储管理。
外部依赖
依赖向量数据库、互联网、终端、API 服务、内存、文件、数据库等外部资源,Spring AI 服务会调用这些外部依赖来完成各项功能,比如从向量数据库获取向量数据、通过互联网进行搜索等。
三、项目功能
在项目推进过程中,我们计划研发一款 AI 恋爱大师应用、一个具备自主规划能力的 超级智能体,同时打造一系列工具以及 AIMCP 服务。具体需求阐述如下:
AI 恋爱大师应用
在恋爱场景里,用户常常会碰到各类棘手问题,此应用能借助 AI 为用户提供贴心的情感指导。它具备多轮对话能力,能留存对话记忆并实现持久化存储,还支持 RAG 知识库检索、工具调用以及 AIMCP 服务调用。
AI 超级智能体
该智能体能够依据用户的需求,自主开展推理并采取行动,持续推进直至达成用户设定的目标。
提供给 AI 的工具
涵盖联网搜索、文件操作、网页抓取、资源下载、终端操作以及 PDF 生成等功能,为 AI 执行任务提供多样支持。
AIMCP 服务
具备从指定网站搜索图片的功能,可满足特定的图片获取需求。
四、学习大纲
第 1 期:AI 大模型接入
- AI 大模型概念
- 接入 AI 大模型(3 种方式)
- 后端项目初始化
- 程序调用 AI 大模型(4 种方式)
- 本地部署 AI 大模型
- Spring AI 调用本地大模型
第 2 期:AI 应用开发
- Prompt 工程概念
- Prompt 优化技巧
- AI 恋爱大师应用需求分析
- AI 恋爱大师应用方案设计
- Spring AI ChatClient / Advisor / ChatMemory 特性
- 多轮对话 AI 应用开发
- Spring AI 自定义 Advisor
- Spring AI 结构化输出 - 恋爱报告功能
- Spring AI 对话记忆持久化
- Spring AI Prompt 模板特性
- 多模态概念和开发
第 3 期:RAG 知识库基础
- AI 恋爱知识问答需求分析
- RAG 概念(重点理解核心步骤)
- RAG 实战:Spring AI + 本地知识库
- RAG 实战:Spring AI + 云知识库服务
第 4 期:RAG 知识库进阶
- RAG 核心特性
- 文档收集和切割(ETL)
- 向量转换和存储(向量数据库)
- 文档过滤和检索(文档检索器)
- 查询增强和关联(上下文查询增强器)
- RAG 最佳实践和调优
- 检索策略
- 大模型幻觉
第 5 期:工具调用
- 工具概念
- Spring AI 工具开发
- 主流工具开发
- 文件操作
- 联网搜索
- 网页抓取
- 终端操作
- 资源下载
- PDF 生成
- 工具进阶知识(原理和高级特性)
第 6 期:MCP
- MCP 概念
- 使用 MCP(3 种方式)
- Spring AI MCP 开发模式
- Spring AI MCP 开发实战 - 图片搜索 MCP
- MCP 开发最佳实践
- 部署 MCP
- MCP 安全问题
第 7 期:AI 智能体构建
- AI 智能体概念
- 智能体实现关键
- 使用 AI 智能体(2 种方式)
- 自主规划智能体介绍
- OpenManus 实现原理
- 自主实现 Manus 智能体
- 智能体工作流
第 8 期:AI 服务化
- AI 应用接口开发(SSE)
- AI 智能体接口开发
- AI 生成前端代码
- AI 服务 Serverless 部署