把代码当成人话写,比把道理堆成山更让人难受 接手那个叫“智能客服”的模块时,我差点抱着电脑哭。老毕,也就是教导主任,那会儿给我交作业,直接甩过来一堆全是“起初、其次、并且、总而言之”的文档。

我心想,这老师是不是昨晚没睡好?看着那些像语法一样严丝合缝的术语,我分不清自己是在写文档,还是在写说明书。直到真正启动重构,才惊觉:原来最难的压根儿不是逻辑,是如何把逻辑还给用户。 写第一版的时候,我恨不得把每个字段都注释得密密麻麻,生怕后面的人看不懂。结局呢?上线后翻了一周,客服还在弹窗提示用户输入“无法识别以下单词”。

那一刻我意识到,用户根本不需求懂啥叫“上下文窗口”,他们只需求知道“我刚刚说的那个事,目前能够接着说了”。我们那会儿忒像那些写论文的老师,喜爱用宏大的概念去框住一个个具体的操作,结局用户只认定我们在绕晕圈。 有一次跟用户沟通,客户嫌系统忒“硬”,表情里全是无奈。

我想起自己那会儿写这局部的经历,都是先查资料,再列提纲,最终还要顺带加个“特此说明”。结局客户反而认定我在卖弄专业术语,把原本一句“稍等,正在为您查询中”变成了“鉴于当前并发量峰值及数据库一致性校验机制的复杂交互逻辑,系统出于对数据整个性最高优先级之考量,拍板执行该操作流程,请您务必耐心配合”。 看着屏幕上的那些代码,我突然认定对不起用户。我们总想着把系统写得越稳越好,结局把界面搞得像个审讯室。

实际上,服务里最见心意的地方,往往是最迟钝的“好办”。 有一次遇到一个特别尖锐的难题,用户急得直接拨打了电话,声音都带着哭腔。我瞬间慌了,想着要是把数据库查出来,说不定要用几小时。但回头一看,那是一些乱七八糟的日志,根本没法用。我慌忙去查知识库,翻啊翻,找到一个旧版本的处理文档,上面写着“遇到这种情况,直接告诉客服主管”。

那一瞬间,我突然明白了啥叫“服务”。 之前我认定服务是技术堆出来的,是系统自动化的结局。可目前我发现,真正的服务,是那个在深夜默默写好“稍等”四个字的人。是那个在系统报错时,第一反应不是去看日志,而是先关心用户还疼不疼。 我们忒喜爱用数据讲话,喜爱用报表证明我们多努力了。但实际上,用户眼里最稀缺的不是“系统运行时长”,而是“系统在我需求的时刻,没有出于我的情绪而停机”。有一次大促,系统确实扛住了压力,但用户依然认定卡顿。我反思了挺久,发现难题不在流量,而在我们对“等待”的定义。我们一直在追求毫秒级的响应,却忘了在某些时候,人类大脑的“延迟”,才是一种高级的缓冲。 记得那个老毕那会儿教我们写代码,说“代码是死的,但服务是活的”。

后来我发现,活下来的秘诀,实际上就是少说点“为了”,多说点“便”和“然后”。 比如用户投诉商品缺货,系统报错超时。

那会儿我会写:“经核查,库存系统数据异常,局部批次未同步,建议用户联系客服,我们将尽快为您补充。”这别看逻辑通顺,但忒像一封通知单了。 目前我会改写成:“刚刚下单的哥们儿别急,外面是不是缺货?哪怕只是等个三五分钟。我们立马在后台给你调货,你下单后直接等通知,不用反复确认库存,我们保证你下单那一刻就能拿到货。” 你看,原来把“缺货”变成了“等个三五分钟”,把“调货”变成了“直接拿货”,把“通知”变成了“下单后直接等”,整个事件的语气就变了。用户听的是语气,用的不是文字。我们那会儿忒沉迷于文字的完美,忒沉迷于逻辑的自洽,却忘记了用户是用来服务的,不是用来做阅读理解大赛的。 今天重新跑了一遍那个模块,感觉慢了一些。慢是出于我想把每一个细节都解释清楚,慢是出于我把“为啥”想得比“是啥”更关键。但当我们终于放下了那些教科书式的条条框框,真正站在用户的角度,把那些复杂的逻辑“翻译”成他们能听懂、能接纳、能用的“人话”时,我发现,技术本身并没有那么难。 实际上,最好的服务,就是承认自己的不足,然后诚实地告诉用户:我目前搞不清楚,让我再想想,要么,我这就去问那个更懂我的哥们儿。 下次再写文档的时候,我不带那些“起初、其次”了。我只带几个具体的例子,比如“当用户输入那些生僻字时”,我就直接告诉他“请重新输入几个常用字试试”,要么直接让他把我的系统交给客服,而不是让他在那儿傻等。 毕竟,服务不是为了展示我们的技术有多牛,而是为了证明我们有多懂用户。当我们不再把代码当成儿戏,不再把用户当敌人时,那些繁琐的文档自然会消亡。我们只需求一颗真诚的心,和一双能听懂“人话”的眼。 技术能够迭代,但服务的心性,一辈子得靠我们自己去修。修不好,系统跑得再快,也只是一台冰冷的机器;修好了,哪怕迟钝一点,也能温暖整个深夜的客厅。