既然不想买服务器,我就在边缘计算上动脑筋,那总得把省下来的钱花在刀刃上。客服这块的人力开销,每个月看着都肉疼,尤其是那些重复了一万遍的“怎么登录”、“密码忘了怎么办”、“订单没收到”。招来的小孩,培训三天,干俩月就跑,我他妈都快成客服培训专业户了。行,服务器钱省了,这人力成本,我得用 API 给它啃下来。
这次试的是基于 BERT 的句子相似度匹配,没上微调,直接用预训练模型计算语义向量。流程很简单:我把历史客服对话里那些高频、标准的问题和答案,抽出来做成一个“知识库”,每条 Q-A 对就是一个向量。用户新问题进来,同样转成向量,然后去库里算余弦相似度,取最高的那个,直接把答案吐回去。技术栈就 Python + sentence-transformers 库,跑在我那台破笔记本上,通过 nginx 反向代理出去,对外就是个简单的 HTTP API。关键点在于,我根本没搞意图识别或者实体抽取那些花里胡哨的,就死磕“相似度”。因为绝大多数问题,用户问得再乱七八糟,核心意思就那几个变体。“我登不进去了”和“账号无法登录”,在向量空间里离得其实非常近。
匹配逻辑我调了三天。最开始直接取 Top-1,发现经常跑偏,用户问“发货地是哪里”,它可能匹配到“发货时间要多久”,因为句子结构太像了。后来我加了个阈值,相似度低于 0.75 的,直接转人工(其实也是转到我微信上)。但阈值设高了,很多其实能回答的问题也被拦下了,设低了又瞎匹配。最后搞了个动态策略:Top-1 相似度 > 0.85,直接自动回复;在 0.7 到 0.85 之间,把 Top-3 的候选答案连同相似度得分,推给一个简易的审核后台(就我一个用户),我点一下就能确认发送,这相当于半自动标注,还能积累数据;低于 0.7,才转人工。这么一来,大部分简单问题被拦截了,模糊地带的问题我花一秒点一下,真正复杂的才需要人处理。
最让我感慨的不是技术多牛逼,而是这东西的“稳定性”。它不会闹情绪,不会嫌问题傻,不会在月底琢磨涨工资,更不会在凌晨三点给我打电话说不想干了。API 调用一次的成本,几乎可以忽略不计,尤其是和我付出的管理成本、情绪成本相比。我训练一个员工,得讲产品逻辑、沟通话术、安抚技巧,还得防着他被客户骂崩了心态。这模型呢?我喂给它 500 条历史问答,它就把那套业务逻辑吃得透透的,回答得比有些新员工还标准。有时候我看着后台日志,那些它自动处理掉的问题,心里就一个想法:我过去几年到底在干嘛?花那么多时间管人,解决人的问题,而不是业务本身的问题。
当然有翻车的时候。有次用户问“你们的苹果产品有货吗”,我们是个卖健身补剂的,但知识库里有一条关于“苹果味蛋白粉”的问答。好家伙,相似度冲到了 0.82,模型兴高采烈地回复了苹果味蛋白粉的库存信息。用户估计一脸懵逼。这事给我提了个醒,语义相似度解决不了指代歧义和领域边界问题。后来我在预处理时加了个简单的关键词过滤,提到“手机”、“电脑”这类明显跨界词的问题,直接降低相似度权重或者转人工。模型是死的,业务是活的,最终还是得靠规则去兜底。
身体还是有点跟不上了。搞这玩意儿那几天,又坐到了凌晨,脖子僵硬得跟锈了一样。现在不敢像前几年那样硬熬了,到点必须起来活动,做几组深蹲。不然省下来的钱,怕不是最后都得送给医院。管理团队那两年落下的颈椎病和焦虑,现在还在还债。不过想想,至少现在焦虑的源头,从“人”变成了“模型参数”和“阈值”,后者虽然也头疼,但不会让我心累。这算是一种进步吧。
边缘计算省了服务器硬成本,AI 自动化在啃人力软成本。这条路算是摸到点门道了。接下来得想想,怎么把多个这样的“边缘智能体”用 n8n 之类的工具串起来,形成一个能自我流转的自动化业务流程。单点智能解决了,流程的“缝合”才是下一个战场。














