我们网站右下角有个对话气泡,点开是一个 AI 客服。它每天在回答”多少钱””多久能做好””包不包含维护”这类问题。
这篇把它的实际情况写出来——包括它做得到什么、做不到什么,以及我们踩过的坑。因为这类功能的宣传通常离现实很远。
它实际接住了什么
最主要的价值不是”替代人工”,是覆盖没人在的时间。
新西兰的华人生意有个特点:客户经常在晚上或者周末看网站,因为白天在上班。而这些时间没人回消息。以前的结果是客户带着问题离开,第二天早上他已经不记得这件事了。
现在他能立刻拿到答案。价格、周期、包含什么、源码归谁——这些问题的答案是固定的,AI 答得和我们一样准。
第二个价值是降低提问门槛。很多人不好意思为了问一个价格专门发邮件或者加微信,怕被销售缠住。对着一个对话框问就没有这个顾虑。这部分人以前是直接流失的,现在至少留下了一次接触。
它接不住的部分
需要判断的事。“我这个项目大概多少钱”——真实答案取决于页面数量、功能复杂度、内容是否现成、有没有现有系统要对接。AI 只能给区间,给不了报价。它被明确要求在这种时候说”具体报价需要沟通”,而不是编一个数字。
需要承诺的事。交期、能不能做某个特定功能、能不能接受某个付款方式。这些一旦 AI 说了,客户就会当成承诺。所以这类问题它一律转给人。
情绪。已经不满意的客户,最不想要的就是跟机器人说话。这种时候它出现只会加剧问题。
它答错过价格,而且是对所有人
这件事值得写出来。
我们涨过一次价:单页从 799 涨到 1,499,多页从 1,499 涨到 2,499。网站上的价格全部更新了,报价单更新了,但 AI 客服的提示词没人想起来改。
于是在那段时间里,每一个问价格的访客拿到的都是旧数字——比实际低了约四成。而且它答得很自信,因为对它来说那就是事实。
这个错误没有任何报错,网站上其他地方全是对的,只有一个对话框在持续给错误信息。发现它是因为有一次我随手问了一句。
教训很具体:AI 客服的知识是另一份内容,它不会跟着网站自动更新。任何价格、政策、服务范围的变动,都要把它列进检查清单。我们现在把”改价格”这件事定义成一个包含四个地方的动作:网站文案、结构化数据、llms.txt、AI 提示词。少改一处就会出现上面这种情况。
另外两个坑
它会用 markdown 格式回复。对话框是纯文本显示的,不渲染格式。但模型习惯性地输出加粗、标题、列表,用户看到的就是一堆星号和井号。
我们先在提示词里写了”不要用 markdown”,没用。写得更严厉,还是没用。靠提示词约束输出格式本来就不可靠——模型会遵守大部分时候,然后在某一次忘掉。
最后改成在返回给用户之前用代码把这些标记直接剥掉。确定性的处理,不依赖模型自觉。凡是能用代码保证的事,就不该指望模型每次都记得。
页面缓存和身份令牌打架。这个比较技术但有代表性:网页里带了一个有时效的令牌用于调用接口。我们给页面加了缓存之后,缓存的页面里那个令牌会过期,导致 AI 客服在缓存页上完全无法使用。
表现是:新访客能用,但页面被缓存住之后的访客点开对话框没反应。这种”部分用户不能用”的问题,自己测试时几乎测不出来——因为你测的时候通常刚好触发了页面重新生成。
怎么判断值不值得做
问三个问题:
你的访客最常问的问题,答案是不是固定的?如果大部分问题是”多少钱””在哪””营业时间””能不能做 X”,那 AI 客服的命中率会很高。如果大部分问题需要看具体情况,那它能做的有限。
你现在多久回一次消息?如果你本来就能十分钟内回,AI 客服的边际价值不大。如果经常隔一天,那它填的是一个真实的缺口。
答错了后果多大?报个价格错了可以解释;但如果是医疗、法律、移民这类领域,一句错误的说法可能是真的麻烦。这类行业要么不做,要么把范围限制得很死——只回答流程性问题,任何涉及个案的都转人工。
关于”替代前台”这个说法
我们自己不这么描述它。它替代的不是前台,是那些本来根本不会发生的对话——晚上十点看到网站的人、不想留联系方式的人、只想先问一句价格的人。
这些人以前不会联系你,也不会成为你的客户。现在其中一部分留下了。这个增量是真实的,但它和”省掉一个人工”是两回事。
如果有人跟你说装个 AI 客服可以少雇一个人,那是在卖东西。
我们站上那个你可以直接点开试——问它价格、问它周期、问它一些刁钻的,看它在哪里露怯。它也是我们能提供的功能之一,但先试再决定比听描述靠谱。