ARTICLE · 1049900
Spring AI 2.0 实战:搭建电商售后助手
Spring AI 2.0 实战:搭建电商售后助手
电商售后助手:在同一个聊天页面查询订单、物流和办理售后

真实订单查询:发送问题、工具处理、回答逐段出现; 
退货操作:核对预览、点击确认、创建模拟售后单 
MCP 交互:选择明天上午、提交时间、工具返回预约记录 
项目架构:从聊天入口向下看后端能力、模型、MCP 与数据库

包结构:agent 下分出 skill 和 tool,聊天、知识检索、MCP、订单与售后各自归包
Spring AI 2.0 实战:搭建电商售后助手
各位朋友大家好,我是一言,继续更新 Spring AI 2.0 系列。
前面提到的有 Tool、MCP、RAG、Skills。这次用一个电商售后助手把它们串起来
这篇先看运行效果、项目结构以及各个部分的分工,具体的接入代码后面会一篇一篇地拆开来。

先看看它可以做些什么
用三笔订单来说明:
业务数据都是模拟数据,模型、数据库和 MCP 调用都是真实执行的
输入“查一下 A1001”,queryOrder 返回订单信息;问“A1002 到哪了”,后端取得物流单号,然后用 MCP 查询配送状态。

回答是以流式的方式逐段出现的,展开“本次处理”还可以看到调用的是哪个工具、返回了什么。

创建售后申请之后,在对话中可以预约模拟取件:选择时间、提交,MCP 工具继续处理并返回预约记录。

架构和分工
技术栈为 Java 21、Spring Boot 4.0.8、Spring AI 2.0.1。React 展示对话,Java 组织任务,独立的 Python MCP 服务提供物流和取件;两个模型都在本地运行。

模型理解问题、生成参数以及回答,后端控制必要的步骤、权限以及写入条件。项目用 loadSkill 读取售后流程,并且根据订单和知识库来处理请求。
PostgreSQL 存储业务数据,pgvector 存储用于检索的售后知识向量。
打开 IDEA 后,先看一下这几个地方
agent-app/ Java 后端web/ React 聊天页面service-mcp/ 独立物流、模拟取件服务skills/ 各类售后流程的 SKILL.md后端包的结构为:

chat | |
agent | |
knowledge | |
mcp | |
orderaftersale | |
persistencesecurity |
从入口处往下面看,会经过这四个地方:
ConversationController 接收用户消息 → AgentTaskService 创建并调度任务 → AfterSalesAgentRunner 识别意图、组织模型调用 → AfterSalesTools 调用订单、检索或 MCP 服务继续更新
后面从聊天页面实际操作的角度来拆分消息如何执行、退货如何提交、刷新和重复操作时后端如何处理。
我是一言,下一篇见。
谢谢你读到这里。想第一时间看到我的更新,记得把「雷一言」设为星标。以后有新文章,也不容易错过。