作者:小傅哥
博客:https://bugstack.cn
❝沉淀、分享、成长,让自己和他人都能有所收获!😜
❞
大家好,我是技术UP主小傅哥。
这是一套综合前后端 + Dev-Ops,基于 Spring Ai 框架实现,Ai Agent 智能体。耗时7个多月,38节课程(视频+文档),从 RAG 到 MCP,再实现出互联网企业级,可编排的 Ai Agent 智能体,现已全部开发完成 + 部署上线。💐
这套项目,比互联网企业,起步的还早,完成的还快!
讲个我的经历;前年我在公司里分享了 OpenAi 的场景使用,实现了代码自动评审。去年又分享了 RAG、MCP(年尾刚开始发布 MCP 协议),告诉大家这类技术如何结合场景落地,领导说:“你研究的挺深呀!“。今年公司也开始成立一个虚拟组,来结合 AI + 业务,领导让我作为小组的技术指导。—— 这些年,这些技术,我一直走的很靠前,所以也有很多很多的机会。机会,等于晋升 + 涨薪😄
AI 不会替代研发,但是会给研发的能力进行加成,让研发在进行需求分析、工程设计、编码实现、单测编写、服务验证等场景时,都可以通过 AI 提效。但 AI 不会让研发更轻松,反而会有更多的工作量进来。不过,越往后来看,不会 AI 应用,不具备 AI 场景开发,肯定会缺少竞争力。
所以,小傅哥也一直在构建自己的技术体系完整度,形成自己的技术闭环,让自己在就业市场具备充足的竞争力。
我能学到什么?
首先,这是一整套从0到1,包含前后端 + DevOps 的综合实战项目,全程文档 + 视频,带着实现的 AI Agent 智能体项目。所以,你可以非常完整的学习到关于 AI Agent 智能体的全部内容,让你具备企业级项目开发能力。
- 积累 Spring AI 框架应用开发能力,同时 Alibaba 提供的 AI 框架,与此框架具有通用性(已有伙伴进入到阿里 AI 应用场景开发)。
- 掌握 AI Agent 开发能力,包括;顾问角色(RAG、记忆上下文)、MCP 工具服务、Model 对话模型(API)等。
- 学习 AI Agent 多类执行设计模式,包括;固定链路模式、动态决策模式、规划分析模式。学习后,可以自行设计其他类型执行模式。
- 拓展设计模式;规则树(组合模式),在复杂场景的运用。解决多类型数据加载和对话过程链路处理。
- 掌握一套可视化链路编排运用能力,通过前端页面的拖拉拽操作,完成 AI Agent 智能体的动态配置、加载和使用(非常丝滑)。
- 掌握 RAG、MCP 的开发能力,对 MCP 可以自己实现一套任意场景的客户端和服务端进行对接。如,你自己有一个Xxx商城,也可以对下单接口包装出下单-MCP服务。
- 基于 Spring 源码,自定义一套轻量任务执行器,把配置的 AI Agent 动态刷新到任务中心自动化执行。
- 积累应用设计经验,面向对象开发,在整个工程实现中,都有非常干净,清晰,具备高内聚,低耦合,有单一职责的逻辑体现。
适合哪些伙伴?
- 需要快速🔜写到简历,用于秋招/社招面试(可以只刷第3阶段,1周写到简历,2周完成学习)。
- 对 AI Agent 智能体感兴趣,但不知道如何自己实现一套的。
- 希望提高自己的架构设计思维,设计模式运用的。
- 增强核心竞争力,储备一些非业务的核心技术类知识的。
项目运行效果
本项目分为,用户端、管理端和服务端,服务端统一提供接口能力,管理端维护 AI Agent 智能体配置、用户端提供使用服务。
1. 登录界面
- 这一部分在数据库表增加了 admin_user 表,有配置登录账号和密码,可以简单做校验。
2. 管理界面
- 管理后台目前提供了,代理管理(拖拉拽编排方式配置智能体),资源管理(model、client、mcp、advisor、prompt)
- 数据分析、系统设置,是样例,你可以继续扩展你所需要的内容。
3. 代理管理
3.1 代理列表
- 这里的代理列表,就是通过拖拉拽配置的智能体。可以点击【查看】看到明细,也可以【新建】,还可以删除。
- 点击【加载】则是调用服务端,把数据加载到 Spring 容器,之后就可以使用了。
3.2 代理配置
- 当你点击一个代理配置,则会展示出拖拉拽的数据到页面上。这部分会从数据库读取,之后展示出来,全部可视化。
- 如果你点击了Save则会做出一份新的,之后对于旧的,你可以自己手动删除。
4. 资源管理
- 资源管理下,是配置一个智能体所需的各项资源信息,你可以在这里进行维护。如,MCP 工具管理。
5. 页面使用
5.1 对话交流
5.2 场景解析
5.3 监控分析
- 配置后的智能体,可以在智能体选择里进行获取使用。之后进行提问。
- 效果还不错,这里小傅哥验证了配置的智能体进行提问。
关于系统设计
本套系统设计,也是花费了非常大的心思。
1. 执行流程
在整个 Ai Agent 的实现中,小傅哥带着大家分析设计了4种方案,包括;固定执行的、循环执行的、智能分析决策的还有一个按照步骤规划的。这些流程都有适合于自己业务场景使用。在代码中也都有不同方案的实现,之后通过用户选择后进行动态化的策略调度。
2. 核心动作
2.1 数据装配
- 首先,以构建 AiClientNode 的对话客户端为目的,已经完成了相关的元素实例化步骤。本节这里要处理的是,顾问角色的构建,以及构建 AiClientNode 节点。
- 之后,AiClientNode 的构建,是关联了其他各项元素的,所以在构建时,需要在 AiClientNode 节点,从 Spring 容器通过 getBean 的方式,检索到对应的各项元素。
2.2 动态调度
- 这里会根据用户的请求,进行策略路由,找到所需的 Ai Agent 执行策略进行处理。这里小傅哥也有意加入不同的策略,让大家可以看到很多的 Ai Agent 设计思路。
2.3 执行策略(01)
- 以程序启动为开始,进行自动化装配。这个过程我们先把一些想预先启动的数据库中的 agent 配置所需的 client 客户端进行服务初始化。之后写入到 Spring 容器,方便在执行 Agent 时进行使用。
前面有伙伴问,为什么把实例化的对象写入到 Spring 容器,这里就是原因 - 客户端(UI),进行 POST 接口请求,这个过程需要封装一个 SSE 流式响应的接口,让 Step 1~4 各个执行步骤,把过程信息写入到流式接口。这里要注意,需要给接口返回的对象添加上对应的类型(什么步骤、什么节点、什么过程),以便于反馈给用户 Agent 在做什么。
2.4 执行策略(02)
- 这是其中的一种 Ai Agent 执行策略方式,通过用户的提问进行分析、规划、列出执行步骤,之后依次执行。
- 所有的这些实现都有相应的代码,带着大家使用规则树框架清晰的实现出来。