去年认识一个做跨境电商的朋友。公司20人左右,每天来自Shopify和WhatsApp的客户咨询高峰时有500-600条。他们只有3个客服,两班倒,人手一直不够。招人吧,业务量还没大到能撑起一个客服团队。不招吧,现有的人天天加班到晚上十点,离职率很高。

他们老板问我能不能用AI解决这个问题。我说可以试试,但不能指望一次到位。

这篇文章是这个项目从0到1的完整记录。从技术选型到上线运行到持续优化,中间踩了很多坑。

一、需求分析

先去他们公司待了一天,观察客服是怎么工作的。记录了几类典型对话:

前四类问题有明确答案,规则清晰,AI能处理。最后一类必须人工。

目标很明确:让AI处理70%的常规问题,人工只处理剩下的30%。

二、技术选型

评估了几个方案:

方案一:用大模型API直接做
最简单——调用GPT/DeepSeek API,prompt里写上客服规范,直接回复用户。问题是:对订单数据、库存信息完全不知道,容易编造答案。而且每次对话都从头开始,记不住上下文。

方案二:RAG(检索增强生成)
把产品信息、退换货政策、尺码表等文档做成知识库,AI根据检索到的内容回答。这个方案能解决"不知道"的问题,但对订单查询这种需要实时数据的场景无能为力。

方案三:AI Agent(最终选择)
基于Dify搭建的Agent方案,核心思路是:AI理解用户意图后,调用对应的工具函数(查订单API、查库存API等)获取实时数据,再基于数据生成回复。这样既有知识库支撑,又能获取实时业务数据。

最终选了方案三。选Dify而不是从零搭LangGraph,主要是因为他们的IT能力有限——可视化的流程编排比写代码容易维护。

三、具体实现

API对接

需要对接三个数据源:

Dify提供了工具函数(Function Call)的能力。写三个简单的API封装函数,配置好鉴权信息就行。不需要开发复杂的后端逻辑。

意图识别

关键的一步:用户发来的消息,先判断属于哪一类。在Dify里配置了一个LLM节点来做语义分类:

系统提示词:
你是一个客服消息分类器。用户发来的消息属于以下类别之一:
- order_query: 查订单、物流、配送
- product_question: 产品咨询、尺码、功能
- after_sale: 退换货、退款、售后
- price_inquiry: 价格、优惠、折扣
- complex: 复杂问题、投诉、需要人工

返回格式:{"category": "分类名", "need_human": true/false}
如果用户情绪激动或涉及投诉,need_human设为true。

这个节点跑下来,分类准确率在90%左右。误分类的主要是模棱两可的问题,比如"这个能退吗?"既可能是产品咨询(问退换货政策),也可能是售后申请(真要退货)。解决方案是设置回退策略——AI不确定时,转人工处理。

知识库构建

把他们的产品文档、FAQ、退换货政策整理成了结构化的知识库。踩了一个坑:直接把PDF扔进去不行,AI检索到的段落经常信息不完整。

解决办法:把文档拆成问答对的形式。

Q: 退货时效是多少天?
A: 收到货后30天内可以申请退货,商品需保持原包装和吊牌。
来源: 退换货政策 V3.2

Q: 尺码偏大还是偏小?
A: 该款产品为标准尺码,如果脚背较高建议选大半码。
来源: 运动鞋系列 - 产品FAQ

改成问答格式后,检索相关度明显提升。

四、上线过程

第一阶段:人工+AI并行(2周)

AI的回复先不给客户看,只给客服参考。客服可以看到AI推荐的回复,可以选择"直接发送""修改后发送"或"忽略"。

这个阶段收集了两类重要数据:

第一周准确率只有60%左右。主要问题是AI的回复太长,客户不耐烦。调整prompt要求"每句话控制在20字以内"后,准确率提到了75%。

第二阶段:半自动(3周)

AI开始自动回复部分问题。规则是:

这个阶段出现了新的问题——AI在一些场景下过于"热情"。客户说"还没发货?"AI直接道歉并主动提出赔偿方案,而公司的实际流程是第一单先安抚再看情况补偿。临时在知识库里加了一条规则:"没有明确证据表明物流延误的情况下,AI不主动提出赔偿。"

第三阶段:全自动(上线至今)

持续调整一个月后,AI可以处理70%的咨询量。3个客服减少到1个人+AI配合。剩下那个客服主要处理售后和投诉。

AI没处理的30%中:

五、遇到的坑和解决办法

坑1:用户用英文问,AI用中文回答
他们的客户有部分是海外华人,用英文提问但AI默认用中文回答。修复方式:在prompt里加入了"根据客户使用的语言来回答"。

坑2:AI把"10%折扣"说成"10元折扣"
一次促销活动,知识库里写的是"全场10%折扣",但AI理解成了金额,回复客户"优惠10元"。修复方式:结构化数字信息,在知识库中使用标准格式"折扣率:10%(百分比)"。

坑3:多轮对话后AI"忘记"之前的确认信息
客户说"我要退货",AI问"订单号多少",客户给了,AI去查了。然后AI问"退货原因",客户回答了。这时候AI突然重新问"您的订单号是多少?"。这个是因为Dify的上下文窗口管理问题,调整了Agent的记忆配置后解决。

坑4:深夜无人监控时AI犯了低级错误
有一次凌晨2点,客户问"你们公司的地址在哪",AI把公司地址和一个工厂的地址搞混了,给了错误的信息。后来加了地址类问题的特殊处理——强制从知识库检索并验证。

六、几点经验

AI客服不是替代人,而是放大人的能力。一个客服+AI的组合,效率大概相当于三个纯人工客服。不是AI替代了两个人,而是AI处理了琐碎的重复问题,让客服能专注于高价值的工作。

知识库质量决定一切。90%的问题来源不是模型不够强,而是知识库里的信息不够全、不够准、不够结构化。

给AI设置边界很重要。知道什么能做比什么不能做更难定义。每一类场景都要想清楚:"AI能不能处理这个问题?如果不能,什么条件下转人工?"

上线不是终点,是起点。上线后的持续调优才是真正的工作量。我们上线后的头两个月,几乎每周都在调整prompt、补充知识库、优化转人工策略。