三个月前,我坐在工单系统后台,看着积压的327条待处理工单,意识到人工处理已经到极限了。客户的咨询五花八门——有的是问发票怎么开,有的是报系统Bug,还有的是催单。客服团队只有两个人,每天疲于奔命,回复质量也参差不齐。
当时我们正在做一个小程序项目,客户量不大但问题杂。我本来是做开发的,对业务不熟,但技术上的痛点很明确:工单分类靠人工打标签,回复靠复制粘贴模板,升级靠经验判断。我就在想,能不能用AI把这套流程自动化?
一、背景:为什么决定用AI Agent
先说数据。上线前,我们统计了三个月的工单:平均每天新增35张,分类准确率只有78%(人工标注常有遗漏),首次响应时间超过4小时,而客户满意度只有61%。更关键的是,很多工单是重复的——比如“怎么重置密码”这类问题占了20%。
我希望AI能做到三件事:自动分类(比如区分咨询、Bug、需求)、自动回复(针对常见问题给出标准答案)、自动升级(遇到紧急或复杂问题转给人工)。但我知道,这不能简单调个API就完事,需要结合RAG(检索增强生成)和提示词工程,还得设计一个人工介入的兜底机制。
核心思路:不是让AI完全替代人,而是让AI处理80%的常规问题,把人的精力留给真正需要判断的事情。二、技术方案:RAG + 提示词工程 + 人工介入
我们用了三个核心组件:
- RAG知识库:把历史工单、产品文档、FAQ整理成向量数据库(用了开源的Milvus),每次来新工单,先检索最相关的知识片段。
- 提示词模板:设计了一套结构化的提示词,让AI输出JSON格式的结果,包含分类、置信度、建议回复和是否升级。
- 人工介入机制:当置信度低于阈值(我们设了0.85)或者分类为“紧急Bug”时,自动转给人工。
提示词大概是这样的:
你是一个工单分类助手。给定工单内容,结合以下知识片段,输出JSON: {"category": "咨询|Bug|需求|投诉", "confidence": 0.0-1.0, "reply": "建议回复", "escalate": true/false} 规则: 1. 如果用户提到系统崩溃、数据丢失等,必须升级。 2. 如果置信度低于0.85,必须升级。 3. 回复要礼貌、简洁,引用知识片段。 知识片段:{{context}} 工单内容:{{ticket}}这里有个小细节:上下文窗口有限,我们不能把所有历史工单都塞进去,所以用向量检索只取top-3相关片段。这大大提高了准确率,也降低了token消耗。
三、实施过程中的三个大坑
理想很丰满,实际落地时踩了不少坑。
坑一:知识库质量参差不齐。我们直接把历史工单扔进去,结果发现很多工单描述含糊,比如“页面出错”这种,导致检索结果不相关,AI回答也跑偏。后来花了整整一周清洗数据——去重、补全信息、删除无效工单,知识库才可用。
坑二:提示词过拟合。一开始我们设计了很复杂的提示词,包含很多边界情况,结果在实际工单上表现反而差。因为AI太死板,遇到稍微不同的表述就判断错误。后来简化了提示词,只保留核心规则,准确率反而提升。
坑三:置信度阈值太绝对。我们最初设0.9,结果大量工单被转人工,人工负担没减轻多少。后来改成动态阈值——比如对于“咨询”类,置信度可以低一点(0.8),但对于“投诉”或“Bug”,必须高(0.95)。这样平衡了准确率和召回率。
四、效果数据:上线三个月后的变化
现在,AI每天处理约30张工单,占比86%。具体数据:
- 分类准确率:从78%提升到94%(我们每周抽100条人工复核)。
- 首次响应时间:从4小时缩短到5分钟以内(AI秒回,人工复核的除外)。
- 客户满意度:从61%提升到82%。
- 人工工单量:从每天35单降到每天5单左右,客服可以专注处理复杂问题。
这里有个对比:以前客服回一单平均要6分钟,现在AI只需要2秒。虽然我们用了GPT-4,但成本并不高——每天调用约500次,月成本不到1000元,相比节省的人力成本很划算。
当然,还有14%的工单需要人工介入。我们保留了一个专门的“人工队列”,AI会带着建议回复和分类转过去,客服只需确认或修改,效率也提高了不少。
五、经验总结:如果再做一次,我会怎么做
复盘下来,最重要的三点:
- 先清洗数据再谈模型。没有高质量的知识库,RAG就是空中楼阁。
- 提示词要简洁。复杂的规则让模型无所适从,不如让模型自己理解核心逻辑。
- 人机协同是王道。AI不是替代人,而是让人更高效。置信度阈值要动态调整,不要一刀切。
这个方案我们还在持续优化,比如加入用户情绪识别,或者多轮对话。如果你也在做类似的AI改造,欢迎交流。我们铭锦数智也提供AI应用定制服务,包括这类工单系统集成,有需要可以聊聊。