图片

让Java开发者像写Spring Boot一样开发AI应用——第二阶段收官之篇

写在前面

14天前,我们从“什么是AI Agent”开始,踏上了这段旅程。

第一阶段(第1-6天),我们完成了“核心范式与架构篇”——从AI Agent的概念启蒙,到ReAct循环、多Agent协作、Graph工作流编排,最后用一个完整的“智能天气助手”项目收了官。那时候,Agent已经能“思考”、能“动手”、能“协作”。

第二阶段(第7-14天),我们进入了“核心能力实战篇”——7天时间,完整走过了Agent四大核心能力:

| 天数

|

主题

|

核心收获

第7-8天

| 工具调用 |

让Agent从“会说”进化为“会做”

| |

第9-11天

| 记忆系统 |

短时+长时+画像,三层记忆闭环

| |

第12天

| 结构化输出 |

让Agent的回复从“人类友好”升级为“机器友好”

| |

第13天

| Skills技能体系 |

让Agent从“全能但臃肿”进化为“按需学习”

|

今天,是第二阶段的收官之战。

我们要把前13天学到的所有能力整合到一个真实项目中——智能旅行规划助手。

📌 本文是第二阶段“核心能力实战篇”的最后一篇。14天,我们从零开始,完整走过了AI Agent应用开发的核心路径——从概念到范式,从架构到能力,从Demo到项目。今天之后,你将具备独立构建功能完整的Agent应用的能力。

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

在开始实战之前,先快速回顾第二阶段全部知识:

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

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

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

项目名称:智能旅行规划助手

一句话定位:用户只需输入目的地、日期和偏好,系统自动生成包含每日行程、预算明细的完整旅游攻略。

四大核心需求

需求一:多工具协同查询

| 工具

|

功能

|

数据来源

高德POI查询

|

景点搜索、名称校准、地址/经纬度获取

|

高德地图API

| |

天气查询

|

目的地天气、穿衣指数、出行提醒

|

高德天气API

| |

酒店搜索

|

住宿候选、位置平衡、预算约束

|

高德酒店API

| |

餐饮搜索

|

三餐推荐、类型过滤

|

高德餐饮API

|

需求二:三层记忆架构

| 记忆层

|

存储内容

|

实现方式

短时记忆

|

当前会话的对话历史、推理步骤

|

RedisSaver

| |

长时记忆

|

用户的历史旅行记录、偏好摘要

|

向量数据库 + RAG

| |

用户画像

|

交通偏好、住宿偏好、预算区间

|

结构化数据库

|

需求三:结构化输出

生成标准化的旅行攻略POJO(TravelGuide),包含行程概览、每日详细安排、预算明细、旅行贴士。

需求四:Skill扩展

支持小红书内容接入Skill——用户提供小红书链接,Agent自动读取笔记内容,提炼景点、避坑和预约信息。

三、架构设计

整体架构图

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

多Agent协作拆分

采用“职责单一 + 数据顺流 + 热点独立扩容”的策略:

| Agent

|

职责

|

输入

|

输出

IntentAgent

意图识别、参数补全

|

用户自然语言

|

结构化旅行需求

| | SearchAgent |

小红书内容检索(Skill)

|

目的地关键词

|

旅行笔记摘要

| | POIAgent |

景点POI查询与校准

|

景点名称/关键词

|

POI列表

| | WeatherAgent |

天气查询

|

城市+日期

|

天气信息+穿衣指数

| | HotelAgent |

酒店与餐饮查询

|

城市+位置+预算

|

住宿与餐饮候选

| | PlannerAgent |

行程生成(结构化输出)

|

上述所有数据

|

TravelGuide POJO

| | ReviewAgent |

质量校验

|

TravelGuide

|

校验通过/需修正

|

StateGraph工作流设计

<span leaf=""><span>StateGraph</span>&nbsp;<span>graph</span>&nbsp;<span>=</span>&nbsp;<span>new</span>&nbsp;<span>StateGraph</span>(”trip_planning”);</span>

四、分层实现

4.1 工具层实现(高德POI工具)

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

💡 生产环境需要配置高德地图API Key。未配置密钥时明确报错,不返回模拟数据。

4.2 记忆层实现(三层协同)

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

💡 长时记忆与短时记忆形成“Record→Retrieve”的双向交互闭环——短时记忆沉淀到长时记忆,长时记忆反哺短时记忆的上下文。

4.3 结构化输出实现(PlannerAgent)

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

💡 outputType(TravelGuide.class)是确保攻略格式可控的关键——Spring AI的BeanOutputConverter负责将模型JSON转换为Java对象。

4.4 Skill扩展实现(小红书接入)

Step 1:创建Skill目录结构

<span leaf="">skills/</span>

Step 2:编写SKILL.md

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

4.4 处理结果

  • 保留全部景点

  • 使用高德Service逐项补全POI信息

  • 校验笔记景点是否全部进入最终行程

五、从“能用”到“好用”的优化思路

可观测性优化

稳定性优化

输出质量优化

六、测试与验收

功能测试用例

验收标准

七、课后挑战

任务:完成“智能旅行规划助手”的完整开发

要求:

  • 至少实现5个工具(POI、天气、酒店、餐饮、地理编码)

  • 集成三层记忆(短时+长时+用户画像)

  • 使用结构化输出(TravelGuide POJO)

  • 至少创建1个Skill(小红书提取或自定义)

  • 编写API文档和部署说明

验收标准:

  • 所有Maven依赖正确,项目编译通过

  • 至少5个工具能正常注册和调用

  • 三层记忆均能正常工作

  • 结构化输出返回正确的TravelGuide JSON

  • 至少1个Skill能正常加载和执行

  • 提交完整的可运行代码 + 测试截图

八、14天核心收获

第一阶段(第1-6天):核心范式与架构篇

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

📌 14天,我们完整走过了AI Agent应用开发的核心路径——从概念到范式,从架构到能力,从Demo到项目。你现在已经具备了独立构建功能完整的Agent应用的能力。第三阶段“工程化与生产部署篇”即将开启,我们将深入可观测性、性能优化、安全与合规、持续集成与持续部署——让Agent从“能跑”走向“能上线”。

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


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

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