人容易带着情绪上班,我就用最新 RAG 实现了一个自动语义匹配、永远保持理性的客服。对着屏幕模拟了一个滑动的物理动作,把客户群里那些带着火药味的、语焉不详的、半夜三更发来的语音转文字,一股脑儿扔进了我昨晚刚调好的流程里。看着 n8n 节点一个个亮起绿色,最后在 Slack 频道里弹出那条语气平稳、逻辑清晰、甚至还带点安抚意味的回复,我靠在椅背上,感觉这十年兜兜转转,终于摸到了点“优雅”的边。
十年前,2016年,我处理客户情绪的方式是硬扛。那时候哪有什么 RAG,连个像样的中文分词库都难找。客户在微信上骂一句,我这边心跳能飙到一百二,然后手忙脚乱地去翻知识库文档,复制粘贴,祈祷对方能看懂。效率?不存在的。情绪劳动才是最大的成本,一天下来脑子是木的,胃是疼的。后来搞团队,指望着招人来分担,结果发现管理带来的情绪内耗是几何级数增长。你不仅要处理客户的情绪,还得处理员工的情绪、合伙人的情绪,最后你自己的情绪像个高压锅,随时要炸。那几年赚的钱,差不多都付了医药费和心理咨询费。
现在这个流程,核心就三块。第一块是摄入和清洗。微信、邮件、工单系统的消息通过 webhook 进到 n8n,语音的用 Whisper 转,图片里带字的用 OCR 扒,乱码和表情符号先过滤一轮。关键在这里:我加了个情绪极性分析的轻量级模型跑一遍,不是为了让 AI 共情,恰恰相反,是为了把“愤怒”、“焦虑”、“催促”这些情绪标签打上,然后从原始query里剥离掉。剥离不是删除,是存档。剩下的才是相对干净的“事实描述”和“核心诉求”。这一步太重要了,人脑很难做到,我们总会下意识地被对方的语气带跑偏。
第二块才是 RAG 的戏肉。我用的不是简单的向量检索。光靠 embedding 相似度,经常匹配出一些似是而非的废话。我搞了个混合检索层。先走关键词快速筛,用的是老手艺,TF-IDF 加上一些业务词表,把知识库(现在是一堆不断更新的 Notion 页面和 API 文档)里可能相关的文档圈出来。再用 Cohere 的 embed 模型做稠密向量检索,在圈定的范围里找语义最接近的。这还没完,最后加了个重排序模型,对 Top 10 的结果再做一次精细打分,考虑句法结构、实体匹配度(比如客户说的“那个后台按钮”到底对应我们系统的哪个具体 UI 元素)。这个匹配逻辑调了得有两个月,光标注 bad case 就看了几千条,才把“充值没到账”和“显示支付成功但余额未更新”这种人类一眼觉得是一回事、但机器容易搞岔的情况给掰扯明白。
第三块是生成和校准。匹配到的文档片段,连同剥离情绪后的原始 query,一起塞给 GPT-4。系统指令写得极其“冷酷”:你是一个客服 AI,禁止使用“我理解您的心情”这种空话。必须基于提供的文档片段,用分点或步骤的形式给出解决方案。如果文档信息不足,明确列出缺失的信息点,并引导用户提供。然后,生成回复后会过一个“毒性检测”和“事实一致性校验”,确保不会胡说八道或者突然发疯。最后,那条冷静到近乎性冷淡的回复,会带着情绪标签和匹配到的文档来源链接,一起抛回给真人客服(或者直接发给客户)。真人要做的,就是点一下“发送”,或者在最坏的情况下,介入一下。
这玩意儿永远准时,永远理性。它不会因为昨晚没睡好就对客户不耐烦,不会因为对方是个难缠的大客户就过度承诺,更不会因为问题重复了一百遍而心生怨念。它把情绪从服务流程里抽离了出来,变成了一个可观察、可分析的客观对象。而我,从那个被情绪淹没的客服、管理者,变成了站在岸上设计河道的人。
十年前我焦虑的是流量和技能,五年前我焦虑的是管理和交付,两年前我焦虑的是会不会被 AI 取代。现在,我焦虑的是怎么把这套理性的框架,封装得再傻瓜一点,让那些还在用“亲”、“您好”和熬夜硬扛的兄弟们,也能滑一下鼠标,就把情绪的重负卸下来。技术终究是工具,但工具用对了地方,它解放的不仅仅是时间,更是你那颗随时准备炸裂的、属于人的心。














