第十一章 不是算法的问题
林知行盯着屏幕上的数据,手指悬在键盘上方,迟迟没有敲下去。
客服对话记录。用户满意度评分。平均响应时间。解决率。
这是张老板介绍的新客户,一家做母婴用品的电商公司,想用AI客服替代一部分人工。四组数据,他调了三天,还是不对。
他把光标移到“满意度”那一栏,数字是67%。比行业平均低了八个百分点。比他设定的目标低了十八个百分点。
不对。哪里不对。
他打开代码,从头开始检查。prompt设计没问题,知识库覆盖没问题,响应速度没问题。每一个模块单独测试都达标,但组合在一起,用户就是不满意。
方小满推门进来,手里拎着一袋橘子。“吃不吃?”
“不吃。”
“咋了?脸跟便秘似的。”
林知行没回头。“客服系统调不通。”
方小满把橘子放在桌上,凑过来看屏幕。“这不挺好的吗?回复速度0.3秒,知识库覆盖率98%,错误率0.5%……”
“但满意度只有67%。”
“67%咋了?不低了吧?”
林知行转过椅子,看着他。“行业平均75%,我的目标是85%。”
方小满挠了挠头。“那……继续调呗?”
“调了三天了。”林知行说,“模型换了三个,prompt改了七版,参数调了二十多次。数据都达标,但满意度就是上不去。”
“会不会是数据有问题?”
“我核对过三次。”
“那……会不会是用户的问题?”
林知行愣了一下。“什么意思?”
“我是说,”方小满坐到床边,“会不会是用户太挑剔了?”
林知行没接话。他转回去,继续盯着屏幕。
用户太挑剔了?
他调出几条对话记录,逐条看。
用户:我的订单三天了还没发货,怎么回事?
AI客服:您好,您的订单号是20231201058。根据物流信息,您的包裹目前在XX分拣中心,预计明天送达。如有问题,请拨打物流客服电话XXX-XXXX-XXXX。
用户满意度:3分(满分5分)
林知行皱眉。回答准确,信息完整,为什么只给3分?
他继续看下一条。
用户:我买的手机壳有色差,跟图片差太多了!
AI客服:您好,关于商品色差问题,根据我们的退换货政策,您可以申请7天无理由退换。请登录APP,进入“我的订单”,选择该商品,点击“申请售后”。
用户满意度:2分
林知行的眉头皱得更紧了。解决方案清晰,步骤明确,为什么只给2分?
他又看了十几条,发现一个规律:满意度低的对话,AI回答都“正确”,但用户似乎……不满意。
他把屏幕转向方小满。“你看看这几条。”
方小满凑过来,看了一会儿。“咋了?回答没问题啊。”
“但用户只给了2分、3分。”
方小满又看了一遍,突然说:“这回答……有点冷冰冰的。”
“什么?”
“你看这句,‘根据我们的退换货政策’,听着就像念条款。”方小满说,“还有这句,‘如有问题,请拨打物流客服电话’,感觉像在推卸责任。”
林知行盯着那几行字,没说话。
“你想想,”方小满说,“要是你买了个东西有问题,客服跟你说‘根据政策’、‘请拨打电话’,你啥感觉?”
林知行想了想。“觉得……被敷衍了。”
“对啊!”方小满一拍大腿,“用户要的不是正确答案,是被当人看!”
林知行愣住了。
被当人看。
他调出更多对话记录,一条一条看。他发现,满意度高的对话,AI的回复往往更“啰嗦”,会加一些无关紧要的话,比如“非常抱歉给您带来不便”、“我理解您的心情”、“我们会尽快为您处理”。
而满意度低的对话,AI的回复都“简洁高效”,直接给方案、给步骤、给联系方式。
他打开代码,找到prompt模板。
“你是一个专业的客服AI,需要准确、快速地解答用户问题。回答要简洁明了,提供具体解决方案和操作步骤。”
简洁明了。具体解决方案。操作步骤。
每一个词都对,但组合在一起,就是不对。
他想起张老板的话:“想法不错,但东西差火候。”
火候。
他当时以为火候是技术问题,是校验不够、知识库不全。现在他觉得,火候可能是别的东西。
方小满在旁边剥橘子,突然说:“你去现场看看呗。”
“什么?”
“去客户公司看看,”方小满把一瓣橘子塞进嘴里,“看看真正的客服是怎么接电话的。”
林知行转过椅子,看着他。
“你在这儿调参数、改模型,都是自己瞎琢磨。”方小满说,“去现场看看人家怎么干的,说不定能发现问题。”
林知行沉默了几秒。“你说得对。”
第二天下午,林知行和方小满到了客户公司。
那是一家电商公司,在城东的写字楼里租了半层。客服中心在角落,十几排工位,每个工位上都坐着人,戴着耳机,对着电脑说话。
前台把他们领到客服主管办公室。主管姓周,三十出头,头发梳得一丝不苟,穿着衬衫西裤,说话很快。
“你们就是做AI客服的?”
“对。”林知行说,“我们来看看实际场景,优化一下系统。”
周主管点了点头,带他们去了客服中心。
“你们坐这儿看,”周主管指了指角落的空位,“有什么问题随时问我。”
林知行和方小满坐下,开始观察。
最近的工位上坐着一个女孩,二十出头,马尾辫,耳机里传来用户的声音。
“我的订单三天了还没发货,怎么回事啊?”
女孩深吸一口气,声音立刻变得柔和:“哎呀,真的很抱歉让您等这么久。您把订单号告诉我,我马上帮您查。”
林知行愣了一下。
这句话,AI客服说过类似的,但感觉完全不同。
女孩查完订单,说:“查到了,您的包裹在XX分拣中心,可能是那边爆仓了,所以慢了一点。我帮您催一下,让他们尽快处理,好吗?”
“那到底什么时候能到?”
“这个我没法给您确切时间,但我帮您加急了,应该会快一些。您放心,我会跟进的,有消息第一时间告诉您。”
用户沉默了两秒,语气缓和下来:“行吧,那你帮我催一下。”
“好的,您稍等。”
女孩在电脑上操作了几下,然后说:“已经帮您催了,您可以在APP里看到状态更新。如果明天还没动静,您再联系我,我帮您想办法。”
“嗯,谢谢。”
“不客气,不好意思让您等这么久。”
通话结束。
林知行盯着女孩的屏幕,没说话。
方小满凑过来,压低声音:“听见没?”
“听见了。”
“跟AI的回复有啥区别?”
林知行想了想。“信息差不多,但……感觉不一样。”
“对,”方小满说,“她没说‘根据物流信息’、‘预计明天送达’,她说‘可能是那边爆仓了’、‘我帮您催一下’、‘您放心,我会跟进的’。”
林知行点了点头。
“还有,”方小满说,“她加了一句‘不好意思让您等这么久’,AI从来没说过这种话。”
林知行没接话。
他们又观察了一个小时。林知行发现,每个客服的回复都不一样,但有一些共同点:
他们会先道歉,不管是不是自己的错。 他们会用猜测的语气,而不是确定的语气(“可能是爆仓了”而不是“包裹在XX分拣中心”)。 他们会承诺跟进,而不是推给其他部门。 他们会加一些“人话”,比如“您放心”、“不好意思”、“我理解”。
这些话,在算法看来是“冗余信息”,不影响问题解决,但对用户来说,这些话才是关键。
林知行拿出笔记本,开始记录。
下午五点,他们离开客服中心。周主管送他们到门口,问:“怎么样?有收获吗?”
“有。”林知行说,“收获很大。”
“那就好。期待你们的优化方案。”
林知行点了点头,和方小满走出写字楼。
外面天快黑了,路灯亮起来。方小满伸了个懒腰:“累死了,看了一下午。”
林知行没说话,低头走路。
“你发现啥了?”方小满问。
“我发现,”林知行说,“我的算法有问题。”
“啥问题?”
“我把用户当成了需要解决问题的机器。”林知行说,“但他们不是。他们是人。”
方小满没听懂。“啥意思?”
林知行停下脚步,看着他。“用户来问发货问题,表面上是想知道包裹在哪儿,实际上是焦虑、是着急、是觉得自己被忽视了。AI客服给出了正确答案,但没有解决他的情绪。”
方小满想了想,点头:“对,客服小姐姐先道歉,就是先解决情绪。”
“对。”林知行说,“我的算法只关注‘问题解决率’,没关注‘情绪解决率’。但用户满意度,是这两个指标的综合。”
方小满拍了拍他的肩膀:“那你打算咋办?”
林知行没回答。他继续往前走,脑子里在转。
回到宿舍,他打开电脑,把之前的代码调出来。
prompt模板。知识库。对话流程。参数设置。
每一个模块,他都设计得“最优”——最快响应、最准回答、最简洁方案。
但“最优”不等于“最好”。
他想起今天下午那个客服女孩的话:“哎呀,真的很抱歉让您等这么久。”
这句话,没有任何信息量,但用户听了,情绪立刻缓和了。
算法不会说这种话。因为算法觉得这是“废话”。
但人需要这种“废话”。
林知行盯着屏幕,手指放在键盘上。
他深吸一口气,然后开始删除。
prompt模板,删掉重写。 知识库,删掉重写。 对话流程,删掉重写。
方小满从厕所出来,看见他在删代码,愣了一下。“你干嘛?”
“重写。”
“全部重写?”
“对。”
方小满张了张嘴,没说话。他坐到自己床上,看着林知行删代码、写代码、删代码、写代码。
凌晨一点,林知行停下来。
他看着新写的prompt模板,念出声来:
“你是一个温暖的客服AI。你的首要目标不是解决问题,而是让用户感到被理解。当用户情绪偏高时,先道歉,再倾听,最后提供方案。回答不要追求简洁,要追求‘像人说话’。”
方小满已经睡着了,打着呼噜。
林知行继续写。
他在代码里加了一个新模块:情绪检测。
当用户的消息里出现“怎么回事”、“太慢了”、“差评”、“投诉”等关键词时,系统会标记“情绪偏高”,然后切换到“安抚模式”。
安抚模式下,AI不会直接给方案,而是先说一句:“非常抱歉给您带来不好的体验,我完全理解您的心情。”
然后再问:“您方便告诉我具体情况吗?我帮您看看怎么解决。”
最后才给方案,但方案的措辞也会变——从“根据政策,您可以申请退换货”变成“我建议您申请退换货,这样处理最快。您看可以吗?”
林知行写完最后一行代码,保存。
他靠在椅背上,看着屏幕。
窗外天已经蒙蒙亮了。
他想起今天下午那个客服女孩的话:“您放心,我会跟进的。”
这句话,AI永远不会主动说。因为算法觉得“跟进”是后续动作,不是当前必要。
但用户需要这句话。因为这句话意味着“有人在管你的事”。
林知行打开新的prompt模板,在最后加了一行:
“每次对话结束前,主动告诉用户:‘如果有任何问题,随时联系我。’”
他保存文件,关上电脑。
方小满翻了个身,嘟囔了一句:“你还没睡啊?”
“刚写完。”
“写啥了?”
林知行站起来,走到窗边。天边泛起鱼肚白,楼下的早餐摊已经支起来了。
“写了一段规则。”他说。
“啥规则?”
林知行转过身,看着还在迷糊的方小满。
“当用户情绪值偏高的时候,”他说,“AI不做最优回答,做最像人的回答。”
方小满眨了眨眼睛,没完全听懂,但点了点头。
“听起来……挺对的。”
林知行笑了笑,没再解释。他拉上窗帘,爬上床。
困意涌上来的时候,他脑子里还在转。
不是算法的问题。
是人的问题。
他闭上眼睛,沉沉睡去。