从接车到交车:LLM + Skill + MCP 如何编排一次完整的4S店售后体验
你在4S店经历过最“共情”或最“糟心”的一次售后服务是什么?评论区分享你的故事,下期我拆解里面的技术痛点!
一个奥迪Q5车主从“刹车异响”到“放心离店”背后的Agent工作流
一、开篇:当服务顾问遇上AI
场景还原
上午9:15,一辆奥迪Q5驶入售后接待区。客户张先生下车后对我说:“师傅,最近低速刹车的时候有尖锐异响,特别是倒车的时候更明显。我马上要跑一趟长途,有点担心安全问题。”
作为一个干过5年豪华品牌服务顾问的Java架构师,我太熟悉这个场景了。这句话背后藏着多少信息——客户的真实焦虑、车辆的潜在隐患、服务流程的启动信号、还有后续一连串工单、诊断、维修、质检、交车的链条。
今天这篇文章,我用Agent技术栈来拆解这个链条:
LLM(大语言模型) → 听懂客户没说出来的话Skill(技能) → 调用各个系统的原子能力MCP(模型上下文协议) → 让这些系统能“说同一种语言”
这不是概念堆砌,而是一套完整的编排工作流(Orchestration Workflow)。下面我结合真实售后流程,逐段拆解。
二、全景图:一个Agent编排的完整售后流程
<span role="presentation"><span leaf="">┌─────────────────────────────────────────────────────────────────────────┐</span></span><br><span role="presentation"><span leaf="">│ AI Agent 售后编排工作流 │</span></span><br><span role="presentation"><span leaf="">├─────────────────────────────────────────────────────────────────────────┤</span></span><br><span role="presentation"><span leaf="">│ │</span></span><br><span role="presentation"><span leaf="">│ ① 接车倾听 ──→ ② 历史查询 ──→ ③ 开单派工 ──→ ④ 诊断检测 ──→ ⑤ 维修执行 ──→ ⑥ 质检交车 │</span></span><br><span role="presentation"><span leaf="">│ │ │ │ │ │ │</span></span><br><span role="presentation"><span leaf="">│ LLM理解意图 Skill+MCP Skill+MCP Skill+MCP Skill+MCP LLM生成话术 │</span></span><br><span role="presentation"><span leaf="">│ 情感识别 维保系统 DMS系统 诊断设备 维修系统 总结报告 │</span></span><br><span role="presentation"><span leaf="">│ │</span></span><br><span role="presentation"><span leaf="">└─────────────────────────────────────────────────────────────────────────┘</span></span>
每一站都是一个人机协同的Agent节点,也是汽车售后独有的“共情时刻”。
三、逐站拆解:Agent技术如何嵌入每个售后节点
站点①:接车倾听 —— LLM的“意图识别 + 情感计算”
售后真实场景
张先生站车前,我拿接车单开始记录。他嘴上说“刹车异响”,但语速偏快,反复问“跑长途安全吗”,手一直在敲引擎盖。这是一个焦虑型客户——他真正关心的是“我的车会不会在高速上出问题”。
Agent技术映射
| 售后能力 | Agent技术 | 说明 |
|---|---|---|
| 听懂故障描述 | LLM意图识别 | 从自然语言中提取:故障现象(刹车异响)、触发条件(低速/倒车)、紧急程度(长途出行) |
| 感知客户情绪 | LLM情感分析 | 焦虑指数、信任度、决策风格(理性型/感性型/技术型) |
| 生成接车话术 | LLM生成回复 | 共情回应 + 专业安抚 + 下一步行动引导 |
技术实现骨架
<span role="presentation"><span><span leaf="">// 1. LLM解析客户描述</span></span></span><br><span role="presentation"><span><span leaf="">String</span></span><span><span leaf="">customerVoice</span></span><span><span leaf="">=</span></span><span><span leaf="">"我的Q5低速刹车有尖锐异响,倒车更明显,马上要跑长途"</span></span><span leaf="">;</span></span><br><span role="presentation"></span><br><span role="presentation"><span><span leaf="">PromptTemplate</span></span><span><span leaf="">parsePrompt</span></span><span><span leaf="">=</span></span><span><span leaf="">new</span></span><span><span leaf="">PromptTemplate</span></span><span leaf="">(</span><span><span leaf="">"""</span></span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">你是奥迪认证服务顾问,请从客户描述中提取以下结构化信息:</span></span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">-</span></span><span><span leaf="">车型:</span></span><span leaf="">{</span><span><span leaf="">carModel</span></span><span leaf="">}</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">-</span></span><span><span leaf="">故障现象:</span></span><span leaf="">{</span><span><span leaf="">symptom</span></span><span leaf="">}</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">-</span></span><span><span leaf="">触发条件:</span></span><span leaf="">{</span><span><span leaf="">triggerCondition</span></span><span leaf="">}</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">-</span></span><span><span leaf="">紧急程度:</span></span><span leaf="">{</span><span><span leaf="">urgencyLevel</span></span><span leaf="">} (</span><span><span leaf="">高</span></span><span><span leaf="">/</span></span><span><span leaf="">中</span></span><span><span leaf="">/</span></span><span><span leaf="">低</span></span><span leaf="">)</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">-</span></span><span><span leaf="">客户情绪:</span></span><span leaf="">{</span><span><span leaf="">emotion</span></span><span leaf="">} (</span><span><span leaf="">焦虑</span></span><span><span leaf="">/</span></span><span><span leaf="">平静</span></span><span><span leaf="">/</span></span><span><span leaf="">急切</span></span><span leaf="">)</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">-</span></span><span><span leaf="">隐性需求:</span></span><span leaf="">{</span><span><span leaf="">hiddenNeed</span></span><span leaf="">}</span></span><br><span role="presentation"></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">客户原话:</span></span><span leaf="">{</span><span><span leaf="">voice</span></span><span leaf="">}</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">""");</span></span></span><br><span role="presentation"></span><br><span role="presentation"><span><span leaf="">// 调用LLM得到结构化意图</span></span></span><br><span role="presentation"><span><span leaf="">Intent</span></span><span><span leaf="">intent</span></span><span><span leaf="">=</span></span><span><span leaf="">llm</span></span><span leaf="">.</span><span><span leaf="">parse</span></span><span leaf="">(</span><span><span leaf="">customerVoice</span></span><span leaf="">);</span></span><br><span role="presentation"><span><span leaf="">// 输出: { "symptom": "刹车异响", "trigger": "低速+倒车", "urgency": "高", "emotion": "焦虑" }</span></span></span><br><span role="presentation"></span><br><span role="presentation"><span><span leaf="">// 2. 根据意图触发后续Skill编排</span></span></span><br><span role="presentation"><span><span leaf="">if</span></span><span leaf=""> (</span><span><span leaf="">intent</span></span><span leaf="">.</span><span><span leaf="">getUrgency</span></span><span leaf="">().</span><span><span leaf="">equals</span></span><span leaf="">(</span><span><span leaf="">"高"</span></span><span leaf="">)) {</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">workflowEngine</span></span><span leaf="">.</span><span><span leaf="">trigger</span></span><span leaf="">(</span><span><span leaf="">"紧急诊断流程"</span></span><span leaf="">, </span><span><span leaf="">intent</span></span><span leaf="">);</span></span><br><span role="presentation"><span leaf="">}</span></span>
共情力提升点:LLM生成的接车话术可以自动融入“理解您的担忧,长途安全确实最重要”——这不是机械回复,而是基于情绪识别的智能共情。这里的Agent不是替代SA,而是让SA从记录员变成真正的倾听者。
站点②:历史查询 —— Skill + MCP 的“数据编织”
售后真实场景
我一边安抚张先生,一边快速调出这辆Q5的维保档案。2022款,行驶4.2万公里,去年8月做过一次刹车片更换,但当时用的是副厂件。这条信息足以改变整个维修策略——如果当时用的是原厂件,刹车异响大概率是正常磨损;但副厂件意味着可能出现了偏磨或材质问题。
Agent技术映射
| 售后能力 | Agent技术 | 说明 |
|---|---|---|
| 查询维保历史 | Skill - queryMaintenanceHistory(vin) | 调用DMS系统接口,返回所有维保记录 |
| 查询车辆档案 | Skill - getVehicleSpec(vin) | 获取车型、年款、配置、在保状态 |
| 查询配件记录 | Skill - getPartReplacementHistory(vin, partType) | 查询某配件更换历史 |
| 标准化通信 | MCP协议 | 所有Skill通过MCP统一访问DMS/ERP/CRM系统 |
技术实现骨架
<span role="presentation"><span><span leaf="">// MCP Client 统一调度多个Skill</span></span></span><br><span role="presentation"><span><span leaf="">MCPClient</span></span><span><span leaf="">mcpClient</span></span><span><span leaf="">=</span></span><span><span leaf="">MCPClient</span></span><span leaf="">.</span><span><span leaf="">builder</span></span><span leaf="">()</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">serverUrl</span></span><span leaf="">(</span><span><span leaf="">"mcp://dms.audi-dealer.com"</span></span><span leaf="">)</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">build</span></span><span leaf="">();</span></span><br><span role="presentation"></span><br><span role="presentation"><span><span leaf="">// Skill 1: 查询维保历史(通过MCP)</span></span></span><br><span role="presentation"><span><span leaf="">SkillCall</span></span><span><span leaf="">historySkill</span></span><span><span leaf="">=</span></span><span><span leaf="">SkillCall</span></span><span leaf="">.</span><span><span leaf="">builder</span></span><span leaf="">()</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">name</span></span><span leaf="">(</span><span><span leaf="">"queryMaintenanceHistory"</span></span><span leaf="">)</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">input</span></span><span leaf="">(</span><span><span leaf="">Map</span></span><span leaf="">.</span><span><span leaf="">of</span></span><span leaf="">(</span><span><span leaf="">"vin"</span></span><span leaf="">, </span><span><span leaf="">"WAUZZZ8M9PA123456"</span></span><span leaf="">))</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">build</span></span><span leaf="">();</span></span><br><span role="presentation"><span><span leaf="">MaintenanceHistory</span></span><span><span leaf="">history</span></span><span><span leaf="">=</span></span><span><span leaf="">mcpClient</span></span><span leaf="">.</span><span><span leaf="">execute</span></span><span leaf="">(</span><span><span leaf="">historySkill</span></span><span leaf="">);</span></span><br><span role="presentation"></span><br><span role="presentation"><span><span leaf="">// Skill 2: 查询配件更换记录(通过MCP)</span></span></span><br><span role="presentation"><span><span leaf="">SkillCall</span></span><span><span leaf="">partSkill</span></span><span><span leaf="">=</span></span><span><span leaf="">SkillCall</span></span><span leaf="">.</span><span><span leaf="">builder</span></span><span leaf="">()</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">name</span></span><span leaf="">(</span><span><span leaf="">"getPartReplacementHistory"</span></span><span leaf="">)</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">input</span></span><span leaf="">(</span><span><span leaf="">Map</span></span><span leaf="">.</span><span><span leaf="">of</span></span><span leaf="">(</span><span><span leaf="">"vin"</span></span><span leaf="">, </span><span><span leaf="">vin</span></span><span leaf="">, </span><span><span leaf="">"partType"</span></span><span leaf="">, </span><span><span leaf="">"brake_pad"</span></span><span leaf="">))</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">build</span></span><span leaf="">();</span></span><br><span role="presentation"><span><span leaf="">PartHistory</span></span><span><span leaf="">partHistory</span></span><span><span leaf="">=</span></span><span><span leaf="">mcpClient</span></span><span leaf="">.</span><span><span leaf="">execute</span></span><span leaf="">(</span><span><span leaf="">partSkill</span></span><span leaf="">);</span></span><br><span role="presentation"></span><br><span role="presentation"><span><span leaf="">// 关键发现:副厂件,4.2万公里</span></span></span><br><span role="presentation"><span><span leaf="">if</span></span><span leaf=""> (</span><span><span leaf="">partHistory</span></span><span leaf="">.</span><span><span leaf="">getSupplier</span></span><span leaf="">().</span><span><span leaf="">equals</span></span><span leaf="">(</span><span><span leaf="">"aftermarket"</span></span><span leaf="">)) {</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">// 触发专项检查流程</span></span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">workflowEngine</span></span><span leaf="">.</span><span><span leaf="">trigger</span></span><span leaf="">(</span><span><span leaf="">"副厂件专项检查"</span></span><span leaf="">, </span><span><span leaf="">partHistory</span></span><span leaf="">);</span></span><br><span role="presentation"><span leaf="">}</span></span>
共情力提升点:“张先生,我查到您去年换过一副刹车片,是副厂件。副厂件在这个里程数出现异响的案例我们遇到不少——这不是您的使用问题,是配件适配的问题。我们来做一个免费深度检测。”——这句话背后的信息,是MCP+Skill从三个不同系统里“编织”出来的。
站点③:开单派工 —— Skill + MCP 的“任务路由”
售后真实场景
确认张先生同意检测后,我需要在DMS系统里下工单:开维修项目“制动系统异响诊断”,分配工位(优先用带举升机的快保工位),指派技师(最好是擅长制动系统的李师傅),预估工时(约45分钟),预估费用(诊断免费,维修另报)。
Agent技术映射
| 售后能力 | Agent技术 | 说明 |
|---|---|---|
| 创建工单 | Skill - createServiceOrder(vin, items) | 写入DMS工单系统 |
| 分配工位 | Skill - allocateWorkBay(bayType) | 调度车间资源 |
| 指派技师 | Skill - assignTechnician(skillMatch) | 基于技能匹配和负载均衡 |
| 费用预估 | Skill - estimateCost(parts, labor) | 调用配件价格库+工时标准 |
技术实现骨架
<span role="presentation"><span><span leaf="">// 编排多个Skill完成开单</span></span></span><br><span role="presentation"><span><span leaf="">@Orchestration</span></span><span leaf="">(</span><span><span leaf="">name</span></span><span><span leaf="">=</span></span><span><span leaf="">"createServiceOrder"</span></span><span leaf="">)</span></span><br><span role="presentation"><span><span leaf="">public</span></span><span><span leaf="">ServiceOrder</span></span><span><span leaf="">createOrder</span></span><span leaf="">(</span><span><span leaf="">Intent</span></span><span><span leaf="">intent</span></span><span leaf="">, </span><span><span leaf="">MaintenanceHistory</span></span><span><span leaf="">history</span></span><span leaf="">) {</span></span><br><span role="presentation"><span leaf=""> </span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">// Step 1: 创建工单</span></span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">SkillCall</span></span><span><span leaf="">createOrder</span></span><span><span leaf="">=</span></span><span><span leaf="">SkillCall</span></span><span leaf="">.</span><span><span leaf="">builder</span></span><span leaf="">()</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">name</span></span><span leaf="">(</span><span><span leaf="">"createServiceOrder"</span></span><span leaf="">)</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">input</span></span><span leaf="">(</span><span><span leaf="">Map</span></span><span leaf="">.</span><span><span leaf="">of</span></span><span leaf="">(</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">"vin"</span></span><span leaf="">, </span><span><span leaf="">vin</span></span><span leaf="">,</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">"customerId"</span></span><span leaf="">, </span><span><span leaf="">customerId</span></span><span leaf="">,</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">"serviceType"</span></span><span leaf="">, </span><span><span leaf="">"brake_diagnosis"</span></span><span leaf="">,</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">"priority"</span></span><span leaf="">, </span><span><span leaf="">"high"</span></span></span><br><span role="presentation"><span leaf=""> ))</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">build</span></span><span leaf="">();</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">ServiceOrder</span></span><span><span leaf="">order</span></span><span><span leaf="">=</span></span><span><span leaf="">mcpClient</span></span><span leaf="">.</span><span><span leaf="">execute</span></span><span leaf="">(</span><span><span leaf="">createOrder</span></span><span leaf="">);</span></span><br><span role="presentation"><span leaf=""> </span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">// Step 2: 分配最优工位(通过MCP调用车间调度系统)</span></span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">SkillCall</span></span><span><span leaf="">allocateBay</span></span><span><span leaf="">=</span></span><span><span leaf="">SkillCall</span></span><span leaf="">.</span><span><span leaf="">builder</span></span><span leaf="">()</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">name</span></span><span leaf="">(</span><span><span leaf="">"allocateWorkBay"</span></span><span leaf="">)</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">input</span></span><span leaf="">(</span><span><span leaf="">Map</span></span><span leaf="">.</span><span><span leaf="">of</span></span><span leaf="">(</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">"bayType"</span></span><span leaf="">, </span><span><span leaf="">"lift_quick_service"</span></span><span leaf="">,</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">"estimatedDuration"</span></span><span leaf="">, </span><span><span leaf="">45</span></span></span><br><span role="presentation"><span leaf=""> ))</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">build</span></span><span leaf="">();</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">WorkBay</span></span><span><span leaf="">bay</span></span><span><span leaf="">=</span></span><span><span leaf="">mcpClient</span></span><span leaf="">.</span><span><span leaf="">execute</span></span><span leaf="">(</span><span><span leaf="">allocateBay</span></span><span leaf="">);</span></span><br><span role="presentation"><span leaf=""> </span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">// Step 3: 指派最佳技师(通过MCP调用HR/排班系统)</span></span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">SkillCall</span></span><span><span leaf="">assignTech</span></span><span><span leaf="">=</span></span><span><span leaf="">SkillCall</span></span><span leaf="">.</span><span><span leaf="">builder</span></span><span leaf="">()</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">name</span></span><span leaf="">(</span><span><span leaf="">"assignTechnician"</span></span><span leaf="">)</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">input</span></span><span leaf="">(</span><span><span leaf="">Map</span></span><span leaf="">.</span><span><span leaf="">of</span></span><span leaf="">(</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">"skillRequired"</span></span><span leaf="">, </span><span><span leaf="">"brake_system"</span></span><span leaf="">,</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">"currentLoad"</span></span><span leaf="">, </span><span><span leaf="">"min"</span></span><span leaf="">,</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">"preferredTech"</span></span><span leaf="">, </span><span><span leaf="">"Li"</span></span><span leaf=""> </span><span><span leaf="">// 基于历史评价</span></span></span><br><span role="presentation"><span leaf=""> ))</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">build</span></span><span leaf="">();</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">Technician</span></span><span><span leaf="">tech</span></span><span><span leaf="">=</span></span><span><span leaf="">mcpClient</span></span><span leaf="">.</span><span><span leaf="">execute</span></span><span leaf="">(</span><span><span leaf="">assignTech</span></span><span leaf="">);</span></span><br><span role="presentation"><span leaf=""> </span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">order</span></span><span leaf="">.</span><span><span leaf="">setBay</span></span><span leaf="">(</span><span><span leaf="">bay</span></span><span leaf="">).</span><span><span leaf="">setTechnician</span></span><span leaf="">(</span><span><span leaf="">tech</span></span><span leaf="">);</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">return</span></span><span><span leaf="">order</span></span><span leaf="">;</span></span><br><span role="presentation"><span leaf="">}</span></span>
站点④:诊断检测 —— Skill + MCP 的“人机协同”
售后真实场景
车辆入车间,李师傅先做路试——确实听到低速刹车异响,倒车更明显。上举升机检查:左后轮刹车片外侧磨损明显比内侧严重,制动盘表面有不规则沟槽。他掏出诊断仪接OBD接口,读取制动系统数据流:左后轮制动分泵压力响应延迟约0.3秒。
Agent技术映射
| 售后能力 | Agent技术 | 说明 |
|---|---|---|
| 读取OBD故障码 | Skill - readOBD(vin) | 通过MCP连接诊断仪,读取ECU数据 |
| 采集传感器数据 | Skill - collectSensorData(vin, system) | 获取制动压力、轮速等实时数据流 |
| 匹配历史案例 | RAG检索 | 从维修案例库中检索相似故障 |
| 生成诊断报告 | LLM生成 | 综合数据生成可读诊断结论 |
技术实现骨架
<span role="presentation"><span><span leaf="">// 诊断节点的多Skill编排</span></span></span><br><span role="presentation"><span><span leaf="">@Orchestration</span></span><span leaf="">(</span><span><span leaf="">name</span></span><span><span leaf="">=</span></span><span><span leaf="">"brakeDiagnosis"</span></span><span leaf="">)</span></span><br><span role="presentation"><span><span leaf="">public</span></span><span><span leaf="">DiagnosisReport</span></span><span><span leaf="">diagnose</span></span><span leaf="">(</span><span><span leaf="">ServiceOrder</span></span><span><span leaf="">order</span></span><span leaf="">) {</span></span><br><span role="presentation"><span leaf=""> </span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">// Skill 1: 读取OBD故障码(MCP连接诊断仪)</span></span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">SkillCall</span></span><span><span leaf="">obdSkill</span></span><span><span leaf="">=</span></span><span><span leaf="">SkillCall</span></span><span leaf="">.</span><span><span leaf="">builder</span></span><span leaf="">()</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">name</span></span><span leaf="">(</span><span><span leaf="">"readOBD"</span></span><span leaf="">)</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">input</span></span><span leaf="">(</span><span><span leaf="">Map</span></span><span leaf="">.</span><span><span leaf="">of</span></span><span leaf="">(</span><span><span leaf="">"vin"</span></span><span leaf="">, </span><span><span leaf="">vin</span></span><span leaf="">, </span><span><span leaf="">"system"</span></span><span leaf="">, </span><span><span leaf="">"brake"</span></span><span leaf="">))</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">build</span></span><span leaf="">();</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">OBDData</span></span><span><span leaf="">obdData</span></span><span><span leaf="">=</span></span><span><span leaf="">mcpClient</span></span><span leaf="">.</span><span><span leaf="">execute</span></span><span leaf="">(</span><span><span leaf="">obdSkill</span></span><span leaf="">);</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">// 发现: 左后制动分泵响应延迟</span></span></span><br><span role="presentation"><span leaf=""> </span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">// Skill 2: 采集传感器数据流</span></span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">SkillCall</span></span><span><span leaf="">sensorSkill</span></span><span><span leaf="">=</span></span><span><span leaf="">SkillCall</span></span><span leaf="">.</span><span><span leaf="">builder</span></span><span leaf="">()</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">name</span></span><span leaf="">(</span><span><span leaf="">"collectSensorData"</span></span><span leaf="">)</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">input</span></span><span leaf="">(</span><span><span leaf="">Map</span></span><span leaf="">.</span><span><span leaf="">of</span></span><span leaf="">(</span><span><span leaf="">"vin"</span></span><span leaf="">, </span><span><span leaf="">vin</span></span><span leaf="">, </span><span><span leaf="">"channels"</span></span><span leaf="">, </span><span><span leaf="">List</span></span><span leaf="">.</span><span><span leaf="">of</span></span><span leaf="">(</span><span><span leaf="">"wheel_speed"</span></span><span leaf="">, </span><span><span leaf="">"brake_pressure"</span></span><span leaf="">)))</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">build</span></span><span leaf="">();</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">SensorData</span></span><span><span leaf="">sensorData</span></span><span><span leaf="">=</span></span><span><span leaf="">mcpClient</span></span><span leaf="">.</span><span><span leaf="">execute</span></span><span leaf="">(</span><span><span leaf="">sensorSkill</span></span><span leaf="">);</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">// 发现: 左后轮压力曲线异常</span></span></span><br><span role="presentation"><span leaf=""> </span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">// Skill 3: 视觉检测(AI识别制动盘磨损)</span></span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">SkillCall</span></span><span><span leaf="">visionSkill</span></span><span><span leaf="">=</span></span><span><span leaf="">SkillCall</span></span><span leaf="">.</span><span><span leaf="">builder</span></span><span leaf="">()</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">name</span></span><span leaf="">(</span><span><span leaf="">"analyzeBrakeDiscImage"</span></span><span leaf="">)</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">input</span></span><span leaf="">(</span><span><span leaf="">Map</span></span><span leaf="">.</span><span><span leaf="">of</span></span><span leaf="">(</span><span><span leaf="">"imageUrl"</span></span><span leaf="">, </span><span><span leaf="">bay</span></span><span leaf="">.</span><span><span leaf="">getPhotos</span></span><span leaf="">().</span><span><span leaf="">get</span></span><span leaf="">(</span><span><span leaf="">"rear_left_brake"</span></span><span leaf="">)))</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">build</span></span><span leaf="">();</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">VisionResult</span></span><span><span leaf="">vision</span></span><span><span leaf="">=</span></span><span><span leaf="">mcpClient</span></span><span leaf="">.</span><span><span leaf="">execute</span></span><span leaf="">(</span><span><span leaf="">visionSkill</span></span><span leaf="">);</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">// 发现: 制动盘磨损深度1.2mm,超过标准值0.8mm</span></span></span><br><span role="presentation"><span leaf=""> </span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">// 综合诊断: LLM + RAG</span></span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">String</span></span><span><span leaf="">diagnosis</span></span><span><span leaf="">=</span></span><span><span leaf="">ragChain</span></span><span leaf="">.</span><span><span leaf="">query</span></span><span leaf="">(</span><span><span leaf="">"Q5 左后制动分泵延迟 + 制动盘磨损 + 刹车异响"</span></span><span leaf="">);</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">// 输出: 分泵导向销润滑不良 + 制动盘异常磨损,建议更换制动盘+分泵维修包</span></span></span><br><span role="presentation"><span leaf=""> </span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">return</span></span><span><span leaf="">DiagnosisReport</span></span><span leaf="">.</span><span><span leaf="">builder</span></span><span leaf="">()</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">rootCause</span></span><span leaf="">(</span><span><span leaf="">"左后制动分泵导向销卡滞,导致制动盘偏磨"</span></span><span leaf="">)</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">recommendation</span></span><span leaf="">(</span><span><span leaf="">"更换左后制动盘 + 分泵导向销维修包"</span></span><span leaf="">)</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">urgency</span></span><span leaf="">(</span><span><span leaf="">"中高,建议本次维修"</span></span><span leaf="">)</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">estimatedCost</span></span><span leaf="">(</span><span><span leaf="">2450</span></span><span leaf="">)</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">build</span></span><span leaf="">();</span></span><br><span role="presentation"><span leaf="">}</span></span>
共情力提升点:诊断报告不再是冷冰冰的“需更换”,而是带着数据和推理过程——“张先生,我们发现左后轮制动分泵的导向销润滑不良,导致刹车片偏磨,已经磨到制动盘了。这不是您开车的习惯问题,是上次副厂件安装时导向销润滑没做到位。 我们建议换制动盘和维修包,费用2450元。”——这句话比“需要换”多了三层信息:谁的责任、为什么坏、什么方案。
站点⑤:维修执行 —— Skill + MCP 的“过程管控”
售后真实场景
张先生确认维修。李师傅领取配件(原厂制动盘1个、导向销维修包1套、刹车油1L),按标准流程更换。我在系统中实时跟踪进度,每15分钟更新一次状态。期间系统自动通知客户等待状态。
Agent技术映射
| 售后能力 | Agent技术 | 说明 |
|---|---|---|
| 配件锁定/出库 | Skill - lockParts(partNos) | 调用WMS库存系统 |
| 工时记录 | Skill - recordLabor(techId, hours) | 记录实际工时 |
| 进度推送 | Skill - notifyCustomer(progress) | 多渠道推送状态更新 |
| 异常预警 | Rule Engine + LLM | 如发现工时超标则自动预警 |
站点⑥:质检交车 —— LLM的“总结生成 + 客户教育”
售后真实场景
维修完成,李师傅做路试确认异响消失。质检员检查制动液位、制动盘安装扭矩、ABS传感器插头。全部合格后,我准备交车。但交车不是简单的“修好了,您可以走了”——我需要告诉张先生:到底什么坏了、怎么修的、以后怎么避免、下次保养什么时候。
Agent技术映射
| 售后能力 | Agent技术 | 说明 |
|---|---|---|
| 生成质检报告 | LLM生成 | 将技术数据转化为客户可读报告 |
| 交车话术生成 | LLM生成 | 结合维修内容生成个性化交车话术 |
| 保养提醒 | Skill - scheduleNextService | 根据当前里程+时间计算下次保养 |
| 满意度回访 | Skill - triggerSurvey | 自动触发CSAT调查 |
技术实现骨架
<span role="presentation"><span><span leaf="">// 交车环节的LLM生成 + Skill调用</span></span></span><br><span role="presentation"><span><span leaf="">@Orchestration</span></span><span leaf="">(</span><span><span leaf="">name</span></span><span><span leaf="">=</span></span><span><span leaf="">"deliveryHandover"</span></span><span leaf="">)</span></span><br><span role="presentation"><span><span leaf="">public</span></span><span><span leaf="">DeliveryPackage</span></span><span><span leaf="">prepareDelivery</span></span><span leaf="">(</span><span><span leaf="">ServiceOrder</span></span><span><span leaf="">order</span></span><span leaf="">, </span><span><span leaf="">DiagnosisReport</span></span><span><span leaf="">diag</span></span><span leaf="">, </span><span><span leaf="">RepairResult</span></span><span><span leaf="">repair</span></span><span leaf="">) {</span></span><br><span role="presentation"><span leaf=""> </span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">// 1. LLM生成客户友好版维修报告</span></span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">String</span></span><span><span leaf="">customerReport</span></span><span><span leaf="">=</span></span><span><span leaf="">llm</span></span><span leaf="">.</span><span><span leaf="">generate</span></span><span leaf="">(</span><span><span leaf="">"""</span></span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">将以下维修信息转化为客户友好的交车报告(含工作原理说明、原因分析、预防建议):</span></span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">维修项目:</span></span><span leaf="">{</span><span><span leaf="">repairItems</span></span><span leaf="">}</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">故障根因:</span></span><span leaf="">{</span><span><span leaf="">rootCause</span></span><span leaf="">}</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">维修措施:</span></span><span leaf="">{</span><span><span leaf="">actions</span></span><span leaf="">}</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">费用:</span></span><span leaf="">{</span><span><span leaf="">cost</span></span><span leaf="">}</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">下次保养里程:</span></span><span leaf="">{</span><span><span leaf="">nextMileage</span></span><span leaf="">}</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">""", Map.of(</span></span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">"repairItems"</span></span><span leaf="">, </span><span><span leaf="">repair</span></span><span leaf="">.</span><span><span leaf="">getItems</span></span><span leaf="">(),</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">"rootCause"</span></span><span leaf="">, </span><span><span leaf="">diag</span></span><span leaf="">.</span><span><span leaf="">getRootCause</span></span><span leaf="">(),</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">"actions"</span></span><span leaf="">, </span><span><span leaf="">"更换左后制动盘 + 分泵导向销维修包"</span></span><span leaf="">,</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">"cost"</span></span><span leaf="">, </span><span><span leaf="">"2450"</span></span><span leaf="">,</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">"nextMileage"</span></span><span leaf="">, </span><span><span leaf="">"47000"</span></span></span><br><span role="presentation"><span leaf=""> ));</span></span><br><span role="presentation"><span leaf=""> </span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">// 2. 生成交互式交车话术(含视觉引导)</span></span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">String</span></span><span><span leaf="">deliveryScript</span></span><span><span leaf="">=</span></span><span><span leaf="">llm</span></span><span leaf="">.</span><span><span leaf="">generate</span></span><span leaf="">(</span><span><span leaf="">"""</span></span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">你是资深奥迪服务顾问,请生成一段交车话术,要求:</span></span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">-</span></span><span><span leaf="">共情开场:</span></span><span><span leaf="">"让您久等了"</span></span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">-</span></span><span><span leaf="">技术通俗化:</span></span><span><span leaf="">"简单说,就是上次副厂件安装时导向销没润滑到位"</span></span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">-</span></span><span><span leaf="">可视化引导:</span></span><span><span leaf="">"您看这个旧盘上的沟槽..."</span></span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">-</span></span><span><span leaf="">预防建议:</span></span><span><span leaf="">"下次保养时我会提醒您检查右后轮"</span></span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">-</span></span><span><span leaf="">后续关怀:提供一键预约回访</span></span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">""");</span></span></span><br><span role="presentation"><span leaf=""> </span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">// 3. 记录本次服务到客户档案(长期记忆)</span></span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">SkillCall</span></span><span><span leaf="">saveMemory</span></span><span><span leaf="">=</span></span><span><span leaf="">SkillCall</span></span><span leaf="">.</span><span><span leaf="">builder</span></span><span leaf="">()</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">name</span></span><span leaf="">(</span><span><span leaf="">"saveCustomerMemory"</span></span><span leaf="">)</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">input</span></span><span leaf="">(</span><span><span leaf="">Map</span></span><span leaf="">.</span><span><span leaf="">of</span></span><span leaf="">(</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">"vin"</span></span><span leaf="">, </span><span><span leaf="">vin</span></span><span leaf="">,</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">"serviceEvent"</span></span><span leaf="">, </span><span><span leaf="">repair</span></span><span leaf="">,</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">"satisfactionTag"</span></span><span leaf="">, </span><span><span leaf="">"high"</span></span><span leaf="">, </span><span><span leaf="">// LLM自动标注</span></span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">"nextServiceReminder"</span></span><span leaf="">, </span><span><span leaf="">LocalDate</span></span><span leaf="">.</span><span><span leaf="">now</span></span><span leaf="">().</span><span><span leaf="">plusMonths</span></span><span leaf="">(</span><span><span leaf="">3</span></span><span leaf="">)</span></span><br><span role="presentation"><span leaf=""> ))</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">build</span></span><span leaf="">();</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">mcpClient</span></span><span leaf="">.</span><span><span leaf="">execute</span></span><span leaf="">(</span><span><span leaf="">saveMemory</span></span><span leaf="">);</span></span><br><span role="presentation"><span leaf=""> </span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">return</span></span><span><span leaf="">DeliveryPackage</span></span><span leaf="">.</span><span><span leaf="">builder</span></span><span leaf="">()</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">customerReport</span></span><span leaf="">(</span><span><span leaf="">customerReport</span></span><span leaf="">)</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">deliveryScript</span></span><span leaf="">(</span><span><span leaf="">deliveryScript</span></span><span leaf="">)</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">nextServiceDate</span></span><span leaf="">(</span><span><span leaf="">LocalDate</span></span><span leaf="">.</span><span><span leaf="">now</span></span><span leaf="">().</span><span><span leaf="">plusMonths</span></span><span leaf="">(</span><span><span leaf="">3</span></span><span leaf="">))</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">build</span></span><span leaf="">();</span></span><br><span role="presentation"><span leaf="">}</span></span>
共情力提升点:交车不是修完就完了,而是一次客户关系的强化。“张先生,您看这是换下来的旧盘(举起旧的制动盘),上面这一圈圈的沟槽就是导向销卡滞以后偏磨出来的。我们这次把维修包和制动盘一起换了,右后轮的我们做了专项润滑和检查,状态OK。 下次保养在47000公里或3个月后——我会在您手机上设好提醒。”——这段话背后是LLM生成的个性化总结 + Skill调用的行程规划 + MCP协同的客户档案更新。
四、完整编排:一次售后服务的全链路代码实现
<span role="presentation"><span><span leaf="">@RestController</span></span></span><br><span role="presentation"><span><span leaf="">@RequestMapping</span></span><span leaf="">(</span><span><span leaf="">"/api/agent/service-workflow"</span></span><span leaf="">)</span></span><br><span role="presentation"><span><span leaf="">public</span></span><span><span leaf="">class</span></span><span><span leaf="">ServiceWorkflowOrchestration</span></span><span leaf=""> {</span></span><br><span role="presentation"></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">@Autowired</span></span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">private</span></span><span><span leaf="">MCPClient</span></span><span><span leaf="">mcpClient</span></span><span leaf="">;</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">@Autowired</span></span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">private</span></span><span><span leaf="">LLMService</span></span><span><span leaf="">llm</span></span><span leaf="">;</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">@Autowired</span></span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">private</span></span><span><span leaf="">RAGService</span></span><span><span leaf="">rag</span></span><span leaf="">;</span></span><br><span role="presentation"></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">/**</span></span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">* 从接车到交车的完整Agent编排</span></span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">*/</span></span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">@PostMapping</span></span><span leaf="">(</span><span><span leaf="">"/orchestrate"</span></span><span leaf="">)</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">public</span></span><span><span leaf="">ServiceOrchestrationResult</span></span><span><span leaf="">orchestrate</span></span><span leaf="">(</span><span><span leaf="">@RequestBody</span></span><span><span leaf="">CustomerVoice</span></span><span><span leaf="">voice</span></span><span leaf="">) {</span></span><br><span role="presentation"><span leaf=""> </span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">// ====== 阶段1: 接车倾听 (LLM理解) ======</span></span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">Intent</span></span><span><span leaf="">intent</span></span><span><span leaf="">=</span></span><span><span leaf="">llm</span></span><span leaf="">.</span><span><span leaf="">parseIntent</span></span><span leaf="">(</span><span><span leaf="">voice</span></span><span leaf="">.</span><span><span leaf="">getDescription</span></span><span leaf="">());</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">EmotionProfile</span></span><span><span leaf="">emotion</span></span><span><span leaf="">=</span></span><span><span leaf="">llm</span></span><span leaf="">.</span><span><span leaf="">analyzeEmotion</span></span><span leaf="">(</span><span><span leaf="">voice</span></span><span leaf="">.</span><span><span leaf="">getDescription</span></span><span leaf="">());</span></span><br><span role="presentation"><span leaf=""> </span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">if</span></span><span leaf=""> (</span><span><span leaf="">intent</span></span><span leaf="">.</span><span><span leaf="">getUrgency</span></span><span leaf="">().</span><span><span leaf="">equals</span></span><span leaf="">(</span><span><span leaf="">"高"</span></span><span leaf="">)) {</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">// 触发加急流程标记</span></span></span><br><span role="presentation"><span leaf=""> }</span></span><br><span role="presentation"><span leaf=""> </span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">// ====== 阶段2: 历史查询 (Skill+MCP) ======</span></span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">MaintenanceHistory</span></span><span><span leaf="">history</span></span><span><span leaf="">=</span></span><span><span leaf="">mcpClient</span></span><span leaf="">.</span><span><span leaf="">execute</span></span><span leaf="">(</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">SkillCall</span></span><span leaf="">.</span><span><span leaf="">builder</span></span><span leaf="">().</span><span><span leaf="">name</span></span><span leaf="">(</span><span><span leaf="">"queryMaintenanceHistory"</span></span><span leaf="">)</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">input</span></span><span leaf="">(</span><span><span leaf="">Map</span></span><span leaf="">.</span><span><span leaf="">of</span></span><span leaf="">(</span><span><span leaf="">"vin"</span></span><span leaf="">, </span><span><span leaf="">voice</span></span><span leaf="">.</span><span><span leaf="">getVin</span></span><span leaf="">()))</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">build</span></span><span leaf="">()</span></span><br><span role="presentation"><span leaf=""> );</span></span><br><span role="presentation"><span leaf=""> </span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">PartHistory</span></span><span><span leaf="">partHistory</span></span><span><span leaf="">=</span></span><span><span leaf="">mcpClient</span></span><span leaf="">.</span><span><span leaf="">execute</span></span><span leaf="">(</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">SkillCall</span></span><span leaf="">.</span><span><span leaf="">builder</span></span><span leaf="">().</span><span><span leaf="">name</span></span><span leaf="">(</span><span><span leaf="">"getPartReplacementHistory"</span></span><span leaf="">)</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">input</span></span><span leaf="">(</span><span><span leaf="">Map</span></span><span leaf="">.</span><span><span leaf="">of</span></span><span leaf="">(</span><span><span leaf="">"vin"</span></span><span leaf="">, </span><span><span leaf="">voice</span></span><span leaf="">.</span><span><span leaf="">getVin</span></span><span leaf="">(), </span><span><span leaf="">"partType"</span></span><span leaf="">, </span><span><span leaf="">"brake_pad"</span></span><span leaf="">))</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">build</span></span><span leaf="">()</span></span><br><span role="presentation"><span leaf=""> );</span></span><br><span role="presentation"><span leaf=""> </span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">// ====== 阶段3: 开单派工 (Skill+MCP) ======</span></span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">ServiceOrder</span></span><span><span leaf="">order</span></span><span><span leaf="">=</span></span><span><span leaf="">createServiceOrder</span></span><span leaf="">(</span><span><span leaf="">intent</span></span><span leaf="">, </span><span><span leaf="">history</span></span><span leaf="">);</span></span><br><span role="presentation"><span leaf=""> </span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">// ====== 阶段4: 诊断检测 (Skill+MCP+RAG) ======</span></span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">OBDData</span></span><span><span leaf="">obd</span></span><span><span leaf="">=</span></span><span><span leaf="">mcpClient</span></span><span leaf="">.</span><span><span leaf="">execute</span></span><span leaf="">(</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">SkillCall</span></span><span leaf="">.</span><span><span leaf="">builder</span></span><span leaf="">().</span><span><span leaf="">name</span></span><span leaf="">(</span><span><span leaf="">"readOBD"</span></span><span leaf="">)</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">input</span></span><span leaf="">(</span><span><span leaf="">Map</span></span><span leaf="">.</span><span><span leaf="">of</span></span><span leaf="">(</span><span><span leaf="">"vin"</span></span><span leaf="">, </span><span><span leaf="">voice</span></span><span leaf="">.</span><span><span leaf="">getVin</span></span><span leaf="">(), </span><span><span leaf="">"system"</span></span><span leaf="">, </span><span><span leaf="">"brake"</span></span><span leaf="">))</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">build</span></span><span leaf="">()</span></span><br><span role="presentation"><span leaf=""> );</span></span><br><span role="presentation"><span leaf=""> </span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">String</span></span><span><span leaf="">diagnosticKnowledge</span></span><span><span leaf="">=</span></span><span><span leaf="">rag</span></span><span leaf="">.</span><span><span leaf="">query</span></span><span leaf="">(</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">String</span></span><span leaf="">.</span><span><span leaf="">format</span></span><span leaf="">(</span><span><span leaf="">"Q5 %s 故障原因 维修方案"</span></span><span leaf="">, </span><span><span leaf="">intent</span></span><span leaf="">.</span><span><span leaf="">getSymptom</span></span><span leaf="">())</span></span><br><span role="presentation"><span leaf=""> );</span></span><br><span role="presentation"><span leaf=""> </span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">DiagnosisReport</span></span><span><span leaf="">diagnosis</span></span><span><span leaf="">=</span></span><span><span leaf="">llm</span></span><span leaf="">.</span><span><span leaf="">generateDiagnosis</span></span><span leaf="">(</span><span><span leaf="">obd</span></span><span leaf="">, </span><span><span leaf="">diagnosticKnowledge</span></span><span leaf="">);</span></span><br><span role="presentation"><span leaf=""> </span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">// ====== 阶段5: 维修执行 (Skill+MCP) ======</span></span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">PartsLockResult</span></span><span><span leaf="">parts</span></span><span><span leaf="">=</span></span><span><span leaf="">mcpClient</span></span><span leaf="">.</span><span><span leaf="">execute</span></span><span leaf="">(</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">SkillCall</span></span><span leaf="">.</span><span><span leaf="">builder</span></span><span leaf="">().</span><span><span leaf="">name</span></span><span leaf="">(</span><span><span leaf="">"lockParts"</span></span><span leaf="">)</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">input</span></span><span leaf="">(</span><span><span leaf="">Map</span></span><span leaf="">.</span><span><span leaf="">of</span></span><span leaf="">(</span><span><span leaf="">"partNos"</span></span><span leaf="">, </span><span><span leaf="">diagnosis</span></span><span leaf="">.</span><span><span leaf="">getRequiredParts</span></span><span leaf="">()))</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">build</span></span><span leaf="">()</span></span><br><span role="presentation"><span leaf=""> );</span></span><br><span role="presentation"><span leaf=""> </span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">RepairResult</span></span><span><span leaf="">repair</span></span><span><span leaf="">=</span></span><span><span leaf="">executeRepair</span></span><span leaf="">(</span><span><span leaf="">order</span></span><span leaf="">, </span><span><span leaf="">diagnosis</span></span><span leaf="">, </span><span><span leaf="">parts</span></span><span leaf="">);</span></span><br><span role="presentation"><span leaf=""> </span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">// ====== 阶段6: 质检交车 (LLM生成+Skill调用) ======</span></span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">String</span></span><span><span leaf="">customerReport</span></span><span><span leaf="">=</span></span><span><span leaf="">llm</span></span><span leaf="">.</span><span><span leaf="">generateCustomerReport</span></span><span leaf="">(</span><span><span leaf="">diagnosis</span></span><span leaf="">, </span><span><span leaf="">repair</span></span><span leaf="">);</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">String</span></span><span><span leaf="">deliveryScript</span></span><span><span leaf="">=</span></span><span><span leaf="">llm</span></span><span leaf="">.</span><span><span leaf="">generateDeliveryScript</span></span><span leaf="">(</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">diagnosis</span></span><span leaf="">, </span><span><span leaf="">repair</span></span><span leaf="">, </span><span><span leaf="">emotion</span></span><span leaf="">, </span><span><span leaf="">history</span></span></span><br><span role="presentation"><span leaf=""> );</span></span><br><span role="presentation"><span leaf=""> </span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">mcpClient</span></span><span leaf="">.</span><span><span leaf="">execute</span></span><span leaf="">(</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">SkillCall</span></span><span leaf="">.</span><span><span leaf="">builder</span></span><span leaf="">().</span><span><span leaf="">name</span></span><span leaf="">(</span><span><span leaf="">"saveCustomerMemory"</span></span><span leaf="">)</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">input</span></span><span leaf="">(</span><span><span leaf="">Map</span></span><span leaf="">.</span><span><span leaf="">of</span></span><span leaf="">(</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">"vin"</span></span><span leaf="">, </span><span><span leaf="">voice</span></span><span leaf="">.</span><span><span leaf="">getVin</span></span><span leaf="">(),</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">"serviceEvent"</span></span><span leaf="">, </span><span><span leaf="">repair</span></span><span leaf="">,</span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">"emotionTag"</span></span><span leaf="">, </span><span><span leaf="">emotion</span></span><span leaf="">.</span><span><span leaf="">getDominantEmotion</span></span><span leaf="">()</span></span><br><span role="presentation"><span leaf=""> ))</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">build</span></span><span leaf="">()</span></span><br><span role="presentation"><span leaf=""> );</span></span><br><span role="presentation"><span leaf=""> </span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">// ====== 返回全链路结果 ======</span></span></span><br><span role="presentation"><span leaf=""> </span><span><span leaf="">return</span></span><span><span leaf="">ServiceOrchestrationResult</span></span><span leaf="">.</span><span><span leaf="">builder</span></span><span leaf="">()</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">intent</span></span><span leaf="">(</span><span><span leaf="">intent</span></span><span leaf="">)</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">diagnosis</span></span><span leaf="">(</span><span><span leaf="">diagnosis</span></span><span leaf="">)</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">repairResult</span></span><span leaf="">(</span><span><span leaf="">repair</span></span><span leaf="">)</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">customerReport</span></span><span leaf="">(</span><span><span leaf="">customerReport</span></span><span leaf="">)</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">deliveryScript</span></span><span leaf="">(</span><span><span leaf="">deliveryScript</span></span><span leaf="">)</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">nextServiceReminder</span></span><span leaf="">(</span><span><span leaf="">LocalDate</span></span><span leaf="">.</span><span><span leaf="">now</span></span><span leaf="">().</span><span><span leaf="">plusMonths</span></span><span leaf="">(</span><span><span leaf="">3</span></span><span leaf="">))</span></span><br><span role="presentation"><span leaf=""> .</span><span><span leaf="">build</span></span><span leaf="">();</span></span><br><span role="presentation"><span leaf=""> }</span></span><br><span role="presentation"><span leaf="">}</span></span>
五、为什么这个编排模式是“降本增效”的关键?
| 传统售后痛点 | Agent编排解决 | 效果量化 |
|---|---|---|
| 接车记录不规范,漏信息 | LLM结构化提取意图,强制字段 | 信息完整度 ↑ 60% |
| 查历史要切3个系统 | MCP统一调度,一键聚合 | 查询耗时 ↓ 80% |
| 派工凭经验,负载不均 | Skill智能分配+负载均衡 | 工位利用率 ↑ 25% |
| 诊断靠人经验,误判率高 | RAG检索历史案例辅助诊断 | 首次诊断准确率 ↑ 35% |
| 交车话术依赖SA个人水平 | LLM生成标准化+个性化话术 | 客户满意度 ↑ 15% |
| 客户信息散落,无持续服务 | Memory机制持久化客户画像 | 回店率 ↑ 20% |
六、下期预告 & 互动
今天我们用一个真实的奥迪Q5刹车异响案例,完整走了一遍从接车到交车的Agent编排工作流,拆解了LLM、Skill、MCP在每个节点的角色。
第2期预告:Agent架构设计模式深度解析——ReAct模式如何模拟SA的“倾听→思考→行动”循环?Plan-and-Execute如何对应“开单→派工→执行”的管理流程?什么时候用Single-Agent,什么时候用Multi-Agent?
互动话题:你在4S店经历过最“共情”或最“糟心”的一次售后服务是什么?评论区分享你的故事,下期我拆解里面的技术痛点!
📎 本文配套资源:
-
售后Agent编排工作流全景图(高清PDF)
-
完整代码仓库:
agent-in-action/chapter-01-orchestration -
Spring AI + MCP 最小可运行Demo
关于作者:10年+Java架构师 × 5年豪华品牌汽车售后服务顾问。用Java的确定性,驾驭AI的不确定性。在这里,Agent不是概念,是车间里正在发生的事。
- 原文作者:知识铺
- 原文链接:https://index.zshipu.com/ai002/post/20260822/%E4%BB%8E%E6%8E%A5%E8%BD%A6%E5%88%B0%E4%BA%A4%E8%BD%A6LLM-Skill-MCP-%E5%A6%82%E4%BD%95%E7%BC%96%E6%8E%92%E4%B8%80%E6%AC%A1%E5%AE%8C%E6%95%B4%E7%9A%844S%E5%BA%97%E5%94%AE%E5%90%8E%E4%BD%93%E9%AA%8C/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。
- 免责声明:本页面内容均来源于站内编辑发布,部分信息来源互联网,并不意味着本站赞同其观点或者证实其内容的真实性,如涉及版权等问题,请立即联系客服进行更改或删除,保证您的合法权益。转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。也可以邮件至 sblig@126.com