图片

9年Java架构师 + 4年豪华品牌售后顾问,用你最熟悉的场景讲透Agent体系

一、开篇:为什么我们要重新理解Agent?

  • 痛点引入:最近半年“Agent”概念铺天盖地,LLM、Memory、RAG、Skill、MCP、Prompt Engineering……术语多到让人无从下手。

  • 我的视角:从汽车售后服务体系出发——诊断技师 + 记忆系统 + 维修手册 + 诊断设备,这套组合恰好映射Agent完整技术栈。

  • 本文目标:一张全景图 + 五个核心概念 + 售后场景类比,让你一次性建立完整的Agent认知地图。

二、Agent全景图(六层架构)

┌─────────────────────────────────────────────┐│ 用户交互层(UI/API) │├─────────────────────────────────────────────┤│ Prompt Engineering(提示工程) │ ← 控制LLM输出质量├─────────────────────────────────────────────┤│ LLM(大语言模型)—— 推理引擎 │├─────────────────────────────────────────────┤│ Memory(记忆机制)—— 上下文持久化 │├─────────────────────────────────────────────┤│ Skill(技能)—— 可执行原子能力 │├─────────────────────────────────────────────┤│ MCP(模型上下文协议)—— 标准化连接 │├─────────────────────────────────────────────┤│ 外部数据源 / 工具 / 服务 ││ ├── RAG(知识检索) ││ ├── 业务系统(DMS/CRM) ││ └── 第三方API │└─────────────────────────────────────────────┘

一句话概括:Agent = LLM(大脑) + Memory(记忆) + Skill(手脚) + MCP(神经连接) + RAG(知识库) + Prompt Engineering(指令系统)。

📎 [此处插入一张架构图:LLM作为大脑 → 接收指令 → 调用Skill → 通过MCP协议连接外部工具 → 输出可执行结果]

概念 一句话定义 汽车售后类比
LLM(大语言模型) Agent的“大脑”,负责理解意图、推理决策、生成回复 资深诊断技师&资深服务顾问,听懂故障描述,判断可能原因
Skill(技能) Agent能执行的“原子能力”,如查询天气、发送邮件、调用API 维修工单上的单项操作:查维修记录、查配件库存、写工单
MCP(模型上下文协议) Agent与外部工具/数据源之间的标准化“连接协议” 诊断仪与车辆ECU之间的OBD-II标准协议

三、核心概念详解(用汽车售后场景逐层拆解)

3.1 LLM —— 大脑,但不是万能的

资深诊断技师,看懂故障码,但需要工具和资料才能修车。

  • 本质:概率预测引擎,不是逻辑推理引擎。

  • 局限:无行动能力、无记忆(默认上下文窗口有限)、无实时知识。

  • 在Agent中的角色:负责意图理解、任务规划、结果生成。

  • 售后类比:一个只看过维修手册但没有实操经验的毕业生——理论满分,但不会换火花塞。

3.2 Memory —— 短期记忆 + 长期记忆 + 向量记忆

一个优秀服务顾问的记忆系统:  

  • 短期记忆:当前客户正在说什么(对话上下文)  

  • 长期记忆:这个客户上次修了什么、什么偏好(会话历史/用户画像)  

  • 向量记忆:海量维修案例中快速找到相似的故障模式(语义检索)

分类详解

记忆类型 技术实现 售后类比
短期记忆 上下文窗口(如 128K token) 当前车主描述故障时的对话上下文
长期记忆 外部数据库/Redis + 会话ID关联 客户历史维修记录、车辆档案
向量记忆 Embedding + 向量数据库(如 Milvus/Pinecone) 从数万份维修报告中找到同类故障

代码骨架(Spring AI 整合向量数据库):

<span role="presentation"><span><span leaf="">// 保存用户反馈为向量记忆</span></span></span><br><span role="presentation"><span><span leaf="">VectorStore</span></span><span><span leaf="">vectorStore</span></span><span><span leaf="">=</span></span><span><span leaf="">new</span></span><span><span leaf="">MilvusVectorStore</span></span><span leaf="">(...);</span></span><br><span role="presentation"><span><span leaf="">List</span></span><span><span leaf="">&lt;</span></span><span><span leaf="">Document</span></span><span><span leaf="">&gt;</span></span><span><span leaf="">docs</span></span><span><span leaf="">=</span></span><span><span leaf="">List</span></span><span leaf="">.</span><span><span leaf="">of</span></span><span leaf="">(</span></span><br><span role="presentation"><span leaf="">&nbsp; &nbsp;&nbsp;</span><span><span leaf="">new</span></span><span><span leaf="">Document</span></span><span leaf="">(</span><span><span leaf="">"客户A: 刹车异响,更换刹车片后解决"</span></span><span leaf="">,&nbsp;</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="">,&nbsp;</span><span><span leaf="">"WAUZZZ..."</span></span><span leaf="">))</span></span><br><span role="presentation"><span leaf="">);</span></span><br><span role="presentation"><span><span leaf="">vectorStore</span></span><span leaf="">.</span><span><span leaf="">add</span></span><span leaf="">(</span><span><span leaf="">docs</span></span><span leaf="">);</span></span><br><span role="presentation"></span><br><span role="presentation"><span><span leaf="">// 语义检索</span></span></span><br><span role="presentation"><span><span leaf="">List</span></span><span><span leaf="">&lt;</span></span><span><span leaf="">Document</span></span><span><span leaf="">&gt;</span></span><span><span leaf="">similar</span></span><span><span leaf="">=</span></span><span><span leaf="">vectorStore</span></span><span leaf="">.</span><span><span leaf="">similaritySearch</span></span><span leaf="">(</span></span><br><span role="presentation"><span leaf="">&nbsp; &nbsp;&nbsp;</span><span><span leaf="">SearchRequest</span></span><span leaf="">.</span><span><span leaf="">query</span></span><span leaf="">(</span><span><span leaf="">"刹车异响"</span></span><span leaf="">).</span><span><span leaf="">withTopK</span></span><span leaf="">(</span><span><span leaf="">3</span></span><span leaf="">)</span></span><br><span role="presentation"><span leaf="">);</span></span>

3.3 Skill —— 让LLM长出“手”

维修工单上的每一项具体操作:查VIN、查保修、创建工单、调度技师。

  • 定义:封装业务逻辑的可调用函数,LLM根据用户意图选择并调用。

  • 关键:每个Skill必须有明确的输入输出Schema(JSON格式),LLM才能准确生成调用参数。

  • Skill是什么?封装好的可执行函数/API,LLM通过“函数调用”触发它。

  • 一个Agent可以有多个Skill,每个Skill解决一个特定任务。

  • 售后类比:

  • Skill A:查询车辆VIN对应的保养记录

  • Skill B:根据保养里程计算下次保养项目

  • Skill C:生成保养工单并推送给车间

  • 关键点:Skill的输入输出需要结构清晰(JSON Schema),LLM才能准确调用。

  • 售后示例

  • queryWarranty(vin) → 返回保修截止日期

  • createServiceOrder(customerId, vin, description) → 生成工单号

  • searchRepairHistory(vin, faultCode) → 返回历史维修记录

3.4 MCP —— Agent与世界的“通用插座”

OBD-II诊断接口:无论哪个品牌,插上就能读故障码。

  • 为什么需要:避免为每个外部系统(DMS、CRM、ERP)写定制的适配代码。

  • 核心组成

  • Resources:只读数据(如车辆档案)

  • Tools:可写操作(如创建工单)

  • Prompts:预置提示模板(如生成维修建议)

  • 状态演进:2025年从有状态(会话绑定)演进到无状态(纯请求-响应),降低服务端运维成本(第7期深讲)。

  • 售后类比:OBD-II标准——不管什么品牌车型,诊断仪插上就能读故障码。

3.5 RAG —— 让Agent“开卷考试”

服务顾问在回答客户问题时,随时查阅官方维修手册/TIS技术信息系统。

  • 传统LLM的困境:知识截止到训练日期,无法知晓最新召回信息、最新维修工艺。

  • 售后类比:维修技术手册、TPI手册。

  • RAG的工作流

  1. 用户提问 → 2. 用问题检索知识库(向量检索) → 3. 将检索到的上下文注入Prompt → 4. LLM生成基于事实的回答。
  • 技术演进预览(第9期深入):

  • Naive RAG:简单向量检索 + 拼接

  • GraphRAG:构建知识图谱,增强关系推理

  • LightRAG:轻量化图结构,适合实时场景

代码骨架(Spring AI + 向量检索):

3.6 Prompt Engineering —— 如何“教”LLM干活

服务顾问如何准确描述故障给诊断技师——问法不同,答案天差地别。

核心要素

要素 说明 售后示例
系统提示 定义LLM的角色、边界、输出格式 “你是奥迪售后服务专家,回答需包含维修建议和预估工时”
结构化提示 用JSON/XML格式约束输入输出,便于解析 要求输出 {"action":"queryWarranty", "params":{"vin":"..."}}
Few-shot示例 给2-3个范例,让LLM模仿 给一个“刹车异响”的处理流程示例
上下文注入 将Memory、RAG结果动态拼入Prompt 将客户历史维修记录拼入提示
链式思考 引导LLM“先想后说” “请按如下步骤思考:1. 确认VIN 2. 查保修 3. 判是否在保 4. 输出建议”

Java实践(Spring AI 的 PromptTemplate):

四、六层协作完整流程(模拟一次真实售后咨询)

场景:车主问:“我的奥迪Q5 2022款最近低速刹车有异响,还在保修期吗?能不能预约检测?”

步骤 执行层 工作内容 涉及概念
1 LLM 理解意图:查保修 + 预约检测 意图识别
2 Memory 读取会话历史:之前是否提过VIN 短期记忆
3 RAG 检索“Q5 制动异响”相关维修案例 知识检索
4 Prompt 组装系统提示 + 检索结果 + 用户问题 提示工程
5 LLM 生成计划:先查VIN,再查保修,再创建工单 规划
6 Skill 调用 queryVINFromCustomer 获取VIN 工具调用
7 MCP 通过MCP协议查询DMS系统保修状态 标准协议
8 Memory 将本次查询结果写入长期记忆(客户档案) 长期记忆
9 LLM 生成最终回复,含预约链接 生成

五、常见误区澄清

误区 正解
RAG = 向量数据库 向量数据库是RAG的检索组件,RAG还包括检索策略、重排序、提示增强等
Memory = 数据库存储 Memory包含短期(上下文窗口)和长期(外部存储)两层,且有向量化与非向量化之分
Prompt Engineering = 写提示词 还包括System Prompt设计、Few-shot选择、动态上下文构建、输出解析等系统工程
Skill = API调用 还包含Schema定义、错误重试、调用链追踪、权限校验等工程化内容