图片

让Java开发者像写Spring Boot一样开发AI应用——第六课

写在前面

六天前,我们从“什么是AI Agent”开始,一步步走到了今天。

这六天,我们学了什么?

第一天:理解AI Agent与Chatbot的本质区别,搭建开发环境,创建了第一个Agent——一位“智能心理咨询师”。

第二天:深入ReAct范式,理解“思考→行动→观察”的核心循环,掌握了ReactAgent.Builder的每一个方法。

第三天:从单Agent走向多Agent,学会了Sequential、Parallel、Routing、Loop四种协作模式。

第四天:对比了ReAct和Plan-and-Execute两种架构,理解了各自的优缺点和适用场景。

第五天:深入到Graph工作流引擎,理解了State、Node、Edge三大核心概念。

今天,是第一阶段“核心范式与架构篇”的收官之战——我们将用前五天学到的全部知识,从零开始构建一个完整的、可运行的、生产级的Agent应用。

📌 本文是第一阶段“核心范式与架构篇”的最后一篇。后续将进入第二阶段“核心能力实战篇”(第7-14天),深入学习Agent的四大核心能力,掌握工具调用、RAG、记忆系统、多智能体协同等实战技能。


一、第一阶段知识全景回顾

在开始实战之前,先快速回顾前五天的知识体系:

<span leaf="">┌───────────────────────────────────────────────────────────┐</span>

今天,我们将把这些知识全部用上。

二、项目需求:我们要构建什么?

项目名称:智能天气助手Agent

一句话定位:让用户通过自然语言查询天气信息,并获得带有“天气冷笑话/谐音梗”的趣味回复。

三大核心功能

功能一:支持城市天气查询

用户输入城市名称,Agent自动查询并返回天气信息。

用户:“上海今天天气怎么样?”Agent:“上海今天晴转多云,气温22-28°C,东南风3级。顺便说一句:上海的天,就像女朋友的脸——说变就变!🌤️”

功能二:用户位置自动识别

当用户未明确指定城市时,Agent自动获取用户位置再查询。

用户:“今天需要带伞吗?”Agent:(先获取位置“杭州”)→“杭州今天小雨,降水概率70%,建议带伞哦!杭州的雨,就像初恋——说来就来,说走也不走!☔”

功能三:多轮对话记忆

Agent记住用户的对话历史,支持连续对话。

用户:“我在深圳,今天热吗?” → Agent查询深圳天气

用户:“明天呢?” → Agent自动识别“明天”指的是“深圳的明天”

非功能需求

| 需求

|

说明

响应速度

|

单次查询 < 5秒

| |

可扩展性

|

支持后续接入真实天气API

| |

可观测性

|

记录Thought→Action→Observation全过程

| |

会话隔离

|

不同用户的对话互不干扰

|

三、架构设计

技术选型

系统架构图

<span leaf="">┌──────────────────────────────────────────────────────────┐</span>

标准目录结构

<span leaf="">weather-agent/</span>

四、核心代码实现

1. 工具层:天气查询工具

<span leaf=""><span>@Component</span></span>

2. 工具层:用户位置获取工具

<span leaf=""><span>@Component</span></span>

3. Agent配置层:这是最关键的部分

<span leaf=""><span>@Configuration</span></span>

💡 关键设计:systemPrompt是Agent行为的“宪法”——它告诉Agent“你是谁、你能做什么、你应该怎么做”。一个好的systemPrompt可以显著提升Agent的回复质量,性价比远高于调参。

4. Service层

<span leaf=""><span>@Service</span></span>

5. Controller层

<span leaf=""><span>@RestController</span></span>

五、测试验证

测试用例

| 用例

|

输入

|

预期输出

TC-01

|

“上海今天天气怎么样?”

|

返回上海天气 + 冷笑话

| |

TC-02

|

“今天需要带伞吗?”

|

先获取位置 → 查询天气 → 给出建议

| |

TC-03

|

①“我在杭州” ②“明天呢?”

|

②自动识别为“杭州的明天”

|

使用Postman测试

<span leaf="">POST http://localhost:8080/api/weather/chat</span>

预期响应:

<span leaf="">{</span>

六、第一阶段总结与第二阶段预告

第一阶段核心收获

这六天,我们完成了一次完整的Agent认知跃迁:

| 阶段

|

核心收获

|

对应能力

第1天

|

理解Agent vs Chatbot的本质区别

|

认知升级

| |

第2天

|

掌握ReAct范式和Builder模式

|

基础开发

| |

第3天

|

学会4种多Agent协作模式

|

架构设计

| |

第4天

|

理解ReAct vs Plan-and-Execute

|

模式选型

| |

第5天

|

掌握Graph工作流编排

|

底层定制

| |

第6天

|

综合运用,完成完整项目

|

全栈交付

|

你现在已经掌握了:

  • ✅ AI Agent的核心概念与范式

  • ✅ Spring AI Alibaba框架的完整使用

  • ✅ 从单Agent到多Agent的架构演进

  • ✅ Graph工作流编排的能力

  • ✅ 从需求到交付的完整项目流程

第二阶段预告:核心能力实战篇(第7-14天)

接下来的8天,我们将深入Agent的四大核心能力,从“能跑起来”进化为“真正能用”:

| 天数

|

主题

|

核心内容

第7-8天

| 工具调用(Tool Calling) |

让Agent调用外部API、操作数据库、与微服务通信

| |

第9-10天

| RAG(检索增强生成) |

让Agent访问私有知识库,回答专属问题

| |

第11-12天

| 记忆系统(Memory) |

短期记忆 + 长期记忆,Agent不再“失忆”

| |

第13-14天

| 多智能体协同(Multi-Agent) |

从“团队协作”到“组织运作”

|

第二阶段目标:掌握Agent四大核心能力,能构建功能完整的、可投入生产的Agent应用。

📌 本文是第一阶段“核心范式与架构篇”的最后一篇。我们用了6天时间,从零开始构建了一个完整的Agent应用。第二阶段“核心能力实战篇”即将开启,我们将深入工具调用、RAG、记忆系统、多智能体协同四大核心能力——让Agent从“能跑”到“能用”。

有任何问题,欢迎在评论区留言交流!


作者:Java老兵搞AI,专注Java生态下的AI应用开发

如果觉得有用,点个「在看」支持一下吧,下期见!