Skip to content

课程设计:把 Spring AI Alibaba 学成一条工程主线

这页是整套教程的讲师备课稿。它不急着讲源码细节,而是先回答:学员学完要会什么、每章为什么这样排、案例为什么从“智能客服邮件处理助手”开始。

学完你能做什么

读完整套教程后,你应该能做到四件事:

  1. 能把 Spring AI Alibaba 解释成一套 Agentic AI 工程框架,而不是一个模型 SDK。
  2. 能从 examples/chatbot 跑通最小闭环,再顺着 ReactAgent -> Graph Core -> LLM Node -> Tool Node 读源码。
  3. 能把工具调用、记忆、结构化输出、Hooks、Graph、中断恢复、多 Agent 和路由放进同一个业务案例里。
  4. 能判断一个真实 Spring Boot 项目应该用 ChatClientReactAgent、自定义 StateGraph 还是多智能体编排。

适合谁读

读者建议读法
Spring Boot 程序员从第 1 章开始,先跑通 Chatbot,再读课后源码索引。
已用过大模型 API 的后端开发重点看第 2、3、4、7、8、11 章,建立 Agent 工程化思路。
准备维护公司 AI 项目的人重点看第 6、8、10、11、13 章,关注治理、恢复、路由和源码定位。
想做多 Agent 应用的人先读第 1 到 7 章,再读第 9、10、12 章,不要一上来跳多 Agent。

本教程用到的来源

来源用途
Spring AI Alibaba 官方文档校对 Quick Start、Agent、Graph、结构化输出、Studio 等概念。
docs/CODEX_PROJECT_CONTEXT.md作为本地源码阅读地图,避免每次从零扫描。
examples/chatbot建立最小可运行闭环。
examples/documentation查官方示例代码,尤其是 Agent、Graph、结构化输出和文档教程样例。
spring-ai-alibaba-agent-framework验证 ReactAgentFlowAgent、Hooks、Interceptors、工具节点等实现。
spring-ai-alibaba-graph-core验证 StateGraphCompiledGraphOverAllState、中断和状态流转。
spring-boot-starters验证工程化入口、Starter、Observation、Nacos、内置节点。

版本提醒:版本号、依赖坐标、Starter 名称和示例入口以官方文档和本地源码为准。教程里涉及版本时,不把某一次调研看到的版本写成永久事实。

整体学习路线

贯穿案例

整套教程都围绕同一个案例慢慢加能力:智能客服邮件处理助手

阶段新增能力对应章节
能回答最小 ReactAgent第 1、2 章
会查资料工具调用第 3 章
会记上下文threadId 和记忆第 4 章
会给结构结构化输出第 5 章
会守规则Hook / Interceptor第 6 章
会跑流程Graph Core、中断恢复第 7、8 章
会分工多 Agent、LLM Routing第 9、10 章
能上线工程化入口、复杂案例、源码定位第 11 到 13 章

教学设计矩阵

单元学员问题教学目标官方/源码依据案例设计检查标准
框架地图这到底是不是模型 SDK?先建立 Agentic AI 应用框架心智模型官方 README、examples/chatbotReactAgentStateGraph跑通 Chatbot,再讲 App、Agent、Graph、Tool、State能画出一次对话数据流
最小 AgentReactAgent 怎么装起来?会写最小 Bean 和一次调用ReactAgent.javaBuilder.java、官方示例Java 学习助教 Agent能解释 model/instruction/call
工具调用模型怎么“干活”?区分模型判断和工具执行AgentToolNode.java、Spring AI ToolCallback查询工单工具能说出权限和审计边界
记忆线程多轮上下文放哪里?理解 threadId 和 checkpointMemorySaverCompileConfigOverAllState客户售后连续追问能设计记忆保留规则
结构化输出怎么让结果进程序?能输出可校验字段官方结构化输出文档、示例代码邮件意图抽取能定义字段和校验口径
Hook/Interceptor怎么加检查站?区分流程拦截和调用切面Agent Framework Hooks、Interceptors退款前人工确认能选择 Hook 或 Interceptor
Graph Core复杂流程怎么白盒化?会用节点、边、状态讲流程StateGraph.javaCompiledGraph.java分类、检索、草拟、审核能说明节点状态如何流转
中断恢复工作流怎么暂停再继续?理解人工介入和恢复interruptBefore/After、Saver草拟回复后人工确认能说清中断不是异常
多 Agent / Routing多角色怎么分工?会选择顺序、并行、路由、循环FlowAgentLlmRoutingAgent售前/售后/技术支持分诊能设计兜底路由
工程化收尾怎么放进真实 Spring Boot?会考虑配置、日志、异常、观测Starters、Studio、ObservationREST 接口封装 Agent能列出上线检查清单

练习路线

每章练习都覆盖三类能力:

类型训练什么例子
概念题能不能讲明白用自己的话解释 ReactAgentGraph Core 的区别。
改造题能不能动手改给最小 Agent 增加工具、记忆或结构化输出。
排错题能不能定位问题工具没有被调用时,沿 AgentLlmNode -> AgentToolNode -> messages 排查。

教程审计口径

这套教程后续每次改写都按下面口径检查:

  • 是否先让学员知道“学完能做什么”?
  • 是否先跑通最小闭环,再讲源码?
  • 每章是否有讲师案例,而不是只有概念解释?
  • 关键结论是否能追到官方文档或源码路径?
  • 练习题是否有参考答案?
  • 是否避免暴露本机绝对路径到公开站点?
  • 如果同步到 VitePress,是否执行 npm.cmd run docs:syncnpm.cmd run docs:build

来源

Built with VitePress. Deployed on Cloudflare Pages.