
在之前的文章中,我们已经掌握了 Spring AI 的核心模块(对话、Embedding、RAG)实战技巧。随着 AI 技术的演进,AI 已成为从 “信息提供者” 升级为 “任务执行者” 的关键方向。本文作为 Spring AI 系列的 Agent 入门篇,将先带你理解 AI Agent 的核心概念与特点,再通过 Spring AI 构建基础版 Agent 案例,帮你快速入门这一前沿技术,后续会逐步深入 Agent+RAG+Tool+MCP 的复杂场景。
Agent 是一类由大语言模型、工具组件、任务编排层及运行时服务共同构建的智能程序,其核心机制是通过循环调用大语言模型的认知与推理能力

大语言模型堪称 “身怀强大认知能力却缺乏执行能力的天才”,而 Agent 则是通过软件工程的方法论,将其封装为可独立完成特定任务的自动化软件系统。
比如你说 “帮我整理本周工作周报”,大模型可能只能告诉你 “你需要提供工作内容、统计数据、总结成果”,而 AI Agent 会自动扫描你的邮件、提取会议纪要、统计项目进度,最终生成完整的周报文档。
3. AI Agent 分类
从架构层面划分,Agent 可分为两大类型:人工流程编排类(Workflow Agent) 与 自主规划类(Autonomous Agent)。
无论是人工流程编排类还是自主规划类智能体,其底层均构建于增强型大语言模型(Augmented LLM) 之上,核心依托检索增强、工具增强与记忆增强三大能力体系实现功能拓展。
二、Agent 的核心架构
Agent 的自主执行能力,依托推理引擎、指令、记忆、工具四大核心组件的协同运作,四者各司其职、层层衔接,共同构成完整的智能执行链路。

1. 推理引擎(LLM)
目前绝大多数 Agent 均以多模态大语言模型(如 GPT-4、Claude、通义千问)为核心推理引擎。大模型的价值远不止文字生成,更关键是赋予 Agent 核心认知能力
2. 指令
指令即系统提示词(System Prompt)或上下文工程(Context Engineering),其核心作用是定义 Agent 的核心目标与行为边界,为推理引擎提供明确的执行准则。
3. 记忆(Memory)
没有记忆的 Agent 如同 “一次性交互工具”,无法沉淀历史信息、适配长期需求。Agent 的记忆系统通常分为短期记忆和长期记忆两类,各司其职:
4. 工具(Tools)
工具就像是 Agent 的“手脚”,Agent通过工具来执行任务、获取信息或完成操作。随着生态系统的成熟,工具的使用方式也在不断变得更加标准化。
三、Agent 是如何工作的?
举个例子,当你对 Agent 说 “帮我订一张明天去杭州的高铁票”,它会一步步完成整个任务:
1. 意图解析:明确你要订高铁票,还会考虑是否需要同步发邮件通知你行程信息。
2. 行动流程规划:
3. 执行与结果反馈:告诉你结果:“已为您预订 G7531 次列车(8:15 上海虹桥→9:20 杭州东),行程详情:xxx”。
4. 异常策略调整:要是碰到没票或者时间不合适的情况,它会自己换个条件重新查,再给你新的选择。
这种 “定目标 → 看情况 → 去执行 → 看反馈 → 再调整” 的循环流程,正是 Agent 的核心运行逻辑。

四、Spring AI 构建基础版 AI Agent:任务规划助手
搭建一个简单的任务规划 Agent,用户输入复杂任务(如 “准备周末家庭野餐”),Agent 会自动拆解为具体子任务,无需手动干预,适配入门级 Agent 核心能力。
技术模块 | 选项方案 |
|---|---|
开发框架 | Spring Boot 3.5.3 + Spring AI 1.0.0-SNAPSHOT |
大模型 | 智普 AI(Chat:GLM-4-Flash) |
核心依赖 | Spring Web、Spring AI 智普 AI Starter |
辅助工具 | Lombok |
(三)项目初始化与配置
SpringAIAgentDemo2. 配置 pom.xml 依赖
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.example</groupId>
<artifactId>Weiz-SpringAI-Agent</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>Weiz-SpringAI-Agent-QuickStart</artifactId>
<name>Weiz-SpringAI-Agent-QuickStart</name>
<description>Weiz-SpringAI-Agent-QuickStart</description>
<properties>
<java.version>17</java.version>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-starter-model-zhipuai</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-client-chat</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>3. 配置 application.properties
# 应用基础配置
spring.application.name=SpringAIAgentDemo
server.port=8084
# 智普 AI 配置
spring.ai.zhipuai.api-key=你的智普 AI API Key
spring.ai.zhipuai.base-url=https://open.bigmodel.cn/api/paas
spring.ai.zhipuai.chat.options.model=GLM-4-Flash
# 日志配置(便于调试)
logging.level.org.springframework.ai=INFO
logging.level.com.example=DEBUG(四)核心开发:构建任务规划 Agent
创建com.example.weizspringai.service.TripPlanningAgentService 类,封装Agent 的行程规划与任务拆解能力:
package com.example.weizspringai.service;
import org.springframework.ai.chat.client.ChatClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class TripPlanningAgentService {
@Autowired
private ChatClient chatClient;
/**
* Agent 核心能力:接收出行需求,生成完整行程规划
*
* @param tripDemand 用户出行需求(包含时间、地点、偏好等)
* @return 完整行程规划(按天/按时段拆分)
*/
public String planTrip(String tripDemand) {
// 定义 Agent 行为规则:引导大模型完成行程规划
String systemPrompt = """
你是一个专业的智能行程规划 Agent,核心职责是根据用户出行需求,生成完整、可执行的行程方案,规则如下:
1. 先拆解需求核心要素:出行时间、目的地、人数、偏好(景点类型、饮食、交通方式)、禁忌;
2. 行程按天拆分,每天按时间段(上午/下午/晚上)规划,包含景点、交通、餐饮、停留时长;
3. 景点选择贴合用户偏好,餐饮适配饮食禁忌,交通路线合理(避免绕路);
4. 补充实用提示(如景点开放时间、预约要求、穿搭建议);
5. 语言简洁明了,结构清晰,便于用户直接参考执行。
""";
StringBuilder response = new StringBuilder();
try {
// 调用大模型完成行程规划(模拟 Agent 自主规划能力)
return chatClient.prompt()
.system(systemPrompt)
.user("请根据以下出行需求生成完整行程规划:" + tripDemand)
.call()
.content();
}catch (Exception e) {
System.out.println("调用AI模型失败"+e.getMessage());
return "调用AI模型失败"+e.getMessage();
}
}
}创建com.example.weizspringai.controller.AgentController 类,提供 HTTP 接口供测试:
package com.example.weizspringai.controller;
import com.example.weizspringai.service.TripPlanningAgentService;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.Map;
@RestController
@RequestMapping("/agent/trip")
@RequiredArgsConstructor
public class AgentController {
@Autowired
private TripPlanningAgentService tripPlanningAgentService;
/**
* 行程规划接口:接收出行需求,返回完整行程方案
*/
@GetMapping("/plan")
public Map<String, String> planTrip(@RequestParam("demand") String demand) {
String tripPlan = tripPlanningAgentService.planTrip(demand);
return Map.of(
"userDemand", demand,
"tripPlan", tripPlan,
"agentType", "智能行程规划 Agent"
);
}
}访问http://localhost:8084/agent/trip/plan?demand=周末两天北京短途游,2人,偏好人文景点,不吃辣,交通以地铁为主,响应结果:
{
"userDemand": "周末两天北京短途游,2人,偏好人文景点,不吃辣,交通以地铁为主",
"tripPlan": "### 北京周末两天短途游行程规划\n\n#### 第一天:历史文化体验\n\n**上午**\n- **9:00-10:30**:**天安门广场**\n - 景点:参观毛主席纪念堂(需提前预约),游览天安门广场。\n - 交通:地铁1号线天安门东站下车。\n - 餐饮建议:附近有王府井小吃街,可品尝京味小吃,但请注意避免辣食。\n\n- **10:45-12:00**:**故宫博物院**\n - 景点:参观故宫,了解中国古代皇家文化。\n - 交通:步行至故宫东华门,乘坐地铁1号线或2号线至天安门东站。\n - 餐饮建议:故宫附近有“故宫角楼餐厅”,提供不辣的宫廷小吃。\n\n**下午**\n- **12:30-14:00**:午餐\n - 餐饮建议:选择“老北京炸酱面”或“豆汁儿”等不辣的北京特色美食。\n\n- **14:30-16:00**:**南锣鼓巷**\n - 景点:游览南锣鼓巷,体验老北京胡同文化。\n - 交通:步行或乘坐地铁8号线南锣鼓巷站下车。\n\n- **16:15-17:30**:**什刹海**\n - 景点:参观后海、前海,感受北京古都的宁静。\n - 交通:步行从南锣鼓巷前往什刹海。\n\n**晚上**\n- **18:00-19:30**:晚餐\n - 餐饮建议:选择“全聚德”烤鸭或其他不辣的北京菜馆。\n\n- **20:00-21:30**:**王府井步行街**\n - 景点:逛王府井步行街,体验北京现代都市风貌。\n - 交通:步行或乘坐地铁1号线王府井站下车。\n\n#### 第二天:艺术与休闲\n\n**上午**\n- **9:00-10:30**:**国家大剧院**\n - 景点:参观国家大剧院,欣赏建筑艺术。\n - 交通:地铁1号线天安门东站下车,步行至国家大剧院。\n\n- **11:00-12:00**:**中央美术学院美术馆**\n - 景点:参观美术馆,感受艺术氛围。\n - 交通:步行至中央美术学院美术馆。\n\n**下午**\n- **12:30-14:00**:午餐\n - 餐饮建议:选择“京味斋”等提供不辣的北京菜馆。\n\n- **14:30-16:00**:**798艺术区**\n - 景点:游览798艺术区,感受现代艺术气息。\n - 交通:乘坐地铁6号线至东四十条站,步行至798艺术区。\n\n**晚上**\n- **18:00-19:30**:晚餐\n - 餐饮建议:选择“西四老馆”等不辣的北京特色餐厅。\n\n- **20:00-21:30**:**后海酒吧街**\n - 景点:在酒吧街享受夜晚的休闲时光。\n - 交通:乘坐地铁6号线至南锣鼓巷站,步行至后海酒吧街。\n\n### 实用提示\n- **预约**:故宫、毛主席纪念堂等景点需提前预约。\n- **穿搭建议**:根据天气情况,建议穿着舒适、便于行走的服装。\n- **交通**:以地铁为主,部分景点间步行可达,避免高峰期拥堵。\n\n希望这份行程规划能帮助您享受愉快的北京周末之旅!",
"agentType": "智能行程规划 Agent"
}访问 http://localhost:8084/agent/trip/plan?demand=单日西安历史文化游,1人,喜欢古建筑,素食主义者,希望行程宽松,响应结果:
{
"userDemand": "单日西安历史文化游,1人,喜欢古建筑,素食主义者,希望行程宽松",
"tripPlan": "### 西安历史文化单日游行程规划\n\n#### 出行日期:[请填写具体日期]\n#### 人数:1人\n#### 偏好:\n- 景点类型:古建筑\n- 饮食:素食\n- 交通方式:步行为主,公共交通辅助\n\n#### 禁忌:\n- 无特殊禁忌\n\n### 行程安排\n\n#### 上午:\n- **08:00 - 09:00**:**早餐** - 在回民街品尝素食早餐,如素食肉夹馍、豆腐脑等。\n- **09:30 - 11:30**:**陕西历史博物馆** - 参观古建筑,了解陕西历史文化。建议提前在线预约门票,博物馆内可自备午餐。\n- **停留时长**:1.5小时\n\n#### 下午:\n- **12:00 - 13:00**:**午餐** - 在博物馆附近的素食餐厅用餐,如“素满园”。\n- **13:30 - 15:30**:**大雁塔** - 参观唐代著名佛塔,周围有多个古建筑群,适合悠闲漫步。\n- **停留时长**:1.5小时\n\n#### 晚上:\n- **16:00 - 17:30**:**小雁塔** - 参观另一座唐代古塔,欣赏周边夜景。\n- **18:00 - 19:00**:**晚餐** - 在大雁塔附近选择一家素食餐厅,如“素食园”。\n- **停留时长**:1小时\n\n#### 实用提示:\n- **陕西历史博物馆**:建议提前一天预约,开放时间为9:00-17:00,16:00停止入场。\n- **素食餐厅**:西安有众多素食餐厅,可根据个人口味选择。\n- **穿搭建议**:建议穿着舒适,以休闲装为主,适合步行。\n- **交通**:步行为主,如需公共交通,可使用西安公交或地铁,注意查看路线和时间表。\n\n### 行程总结\n本行程以参观古建筑为主,结合素食饮食,适合喜欢悠闲游览的素食主义者。行程安排宽松,让游客能够充分感受西安的历史文化氛围。",
"agentType": "智能行程规划 Agent"
}从上面的测试结果可以看到:智能行程规划 Agent 具备完整的核心能力,接收用户需求后无需人工干预即可自动拆解并完成行程规划,覆盖景点、交通、餐饮、实用提示等全要素且贴合人文景点、素食、地铁出行等用户偏好,时间安排合理、步骤清晰可直接落地执行,还能根据人数、饮食禁忌、交通偏好等不同需求灵活调整行程细节,充分满足 “宽松”“不赶时间” 等实际使用场景。
本案例通过 Spring AI 快速搭建了基础版智能行程规划 Agent,核心逻辑如下:
这个基础版 Agent 虽未涉及工具调用、记忆存储等高级能力,但已体现 AI Agent 的核心价值 —— 将 “模糊需求” 转化为 “明确方案”,为后续复杂 Agent 开发奠定基础。
1. 短期:为 Agent 添加记忆能力(如存储用户偏好的景点类型、饮食禁忌,下次规划时自动复用);
2. 中期:集成工具调用(如调用景点预约 API、天气 API、餐饮预订 API,实现 “规划 + 执行” 一体化);
3. 长期:实现多 Agent 协作(如一个 Agent 负责规划,一个 Agent 负责预订,一个 Agent 负责实时调整行程)。
本文作为 Spring AI 系列的 Agent 入门篇,带你理解了 AI Agent 的核心概念与特点,并通过 Spring AI 构建了基础版智能行程规划 Agent。通过案例我们发现,Spring AI 简化了 Agent 的开发门槛,借助大模型的推理能力,无需复杂架构即可实现核心功能。
后续文章将逐步深入 Agent 的高级特性,依次讲解 Agent+RAG(知识库增强,如接入景点最新开放信息)、Agent+Tool(工具调用,如实现自动预约)、Agent+MCP(标准化交互)等组合场景,帮助你构建更强大的生产级 Agent 系统。
如果本文对你有帮助,欢迎点赞、在看、转发,关注我们获取更多 Spring AI 实战干货!
《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《
我的新书《从零开始学 Spring Cloud微服务架构》已在各大线上线下书店全面上架,热切期待大家前去选购!让我们携手共赴这场精彩绝伦的微服务架构学习盛宴吧!💪
点击图片购买 🙏🙏🙏🙏