客户 C · 天津
「发个位置,假期如果有空过去看看」——他本来要来,我们给了一个福建的地址
7 月加上微信后,他只说过一句“在外地出差呢,回天津后再联系”。9 月 24 日上午召回的一段服务流程海报,5 分钟就把他唤了回来,而且主动要门店位置、说假期想过来看——这是整段对话里意向最高的一刻。AI 回的是:“漳州有的!地址在福建省漳州市龙文区居然之家二楼……” 一分钟后他回“拜拜,我在天津”,随即删了好友。我方补发的天津地址没能送达。
完整聊天记录与逐句来源标注
时间为北京时间。我方消息标注来源:召回(Windows 个微标题召回)、AI 代回(有真实调用记录)、来源待核对(该会话 09-24 10:34 才建档,此前的消息库里没有,是否人工发出无法核对)。
用户背景与核心需求
两个多月只说过两句话,但第二句就是“我想来看看”。这不是一个冷客户,是一个有空才来的客户。
他在哪
天津。销售备注的地区码是「津A」,9-18 他自己也说“回天津后再联系”。唯一一件他明确说过的事,恰好就是城市。
为什么沉默
在外地出差。不是没兴趣,是没时间。
意向信号
召回后 5 分钟就回,主动要位置、说假期想过去看。整段对话里意向最高的一刻。
未知信息
房子情况、面积、预算、装修阶段都不知道。
完整转化时间线
从“我想来看看”到“拜拜”,一共 76 秒。
加微,收到配置单和两张 868 海报
之后两个月无互动(08-03 有 3 条电脑端无法显示的内容,发送方不明)。
“在外地出差呢,回天津后再联系”
他主动说了城市。这时这位客户还没有被 AI 接管(会话 09-24 才建档),这句话服务端从头到尾没有收到。
标题召回:全流程服务海报 + 两张流程图
召回建档时间是 10:34。发了一段“签单前是上帝,签单后是孙子”的服务保障话术。
“发个位置,假期如果有空过去看看” → “漳州有的!”
23 秒后 AI 回了漳州门店地址。53 秒后客户回“拜拜,我在天津”,删了好友。AI 随后生成了正确的天津地址,但已经发不出去了。
技术卡点:为什么给天津客户报了漳州
10:41 那一轮模型看到了什么,我们从 Langfuse 取回了完整输入,逐项核对。三层原因叠在一起,缺一层都不会出事。
服务端不知道他在天津
城市判断只看三处:客户画像(会话 10:34 才建档,空的)、客户这一句(“发个位置”,没有城市)、客户之前说过的话(9-18 那句“回天津后再联系”不在这一轮的输入里)。三处全空。备注开头的「津A」一直在,但城市判断从来不看备注。
证据:Langfuse 输入里提示词写的是“客户昵称:未知”,没有任何“客户所在城市已识别为…”那一段;聊天记录只有 3 条我方消息和客户这一句。
不知道城市,模型却挑了漳州
提示词里白纸黑字写着:“没给客户城市 = 还不知道客户在哪,只许问城市,不许从清单里挑一家说成最近。”模型没照做。为什么偏偏是漳州?那一轮有 3 条我方消息,触发了“别复读”提示,这段提示里写死了一句示例:“也别每轮都甩‘芗城还是龙文方便/我帮您约门店’”——芗城、龙文都是漳州的区。这句话每轮都塞给模型,等于每轮都给它一个漳州暗示。
证据:把那一轮原样重放(同样 3 条我方消息、同一句客户原话、不给备注城市)10 次,9 次报漳州(8 次“漳州有的!”、1 次“您在漳州哪个区方便?”),只有 1 次先问城市。删掉这句示例后 10/10 先问城市。近两个月 AI 一共说过 55 次“X有的!地址在…”,报错城市 4 次,其中 3 次报的是漳州(08-05、08-07 两位上海客户,和这一位)。
出门检查没拦住
回复发出前有一道检查,会删掉“客户没问却硬推门店”的句子。但它不认“发个位置”是在问门店;也没有“城市不明却断言某地有店”这一条。于是这句带着错误前提的地址原样发了出去。
9-18 那句话为什么没被看到
一是那时 AI 还没接管这个客户,服务端没收到;二是 10:41 这一轮客户端读屏,只读到了召回那段话的后半截(输入里第二条我方消息就是截断的重复气泡),更上面的 9-18 对话在屏幕外,没读到。
这一条是根据输入内容反推的:客户端上传的原始读屏数据不落库,没法直接看。
本案暴露的问题,现在修到哪了
本案对话发生在修复之前,页面上的原话不会因此改变。
| 问题 | 怎么修的 | PR | 状态 |
|---|---|---|---|
| 城市判断不看备注 | 画像、客户原话都没有城市时,备注地区码是京/津/沪/渝的直接按直辖市算(省内的字母和城市对不上,不用)。提示词会写明“客户所在城市已识别为天津”,问位置时附天津到店卡和导航链接。原样重放 10/10 报天津地址 | #1631 | ✓ 已上线 |
| “别复读”提示里写死了漳州的区名 | 换成不带任何城市的说法。原样重放:删之前 10 次 9 次报漳州,删之后 10/10 先问城市 | #1636 | ✓ 已上线 |
| 出门检查没拦住错城市 | “发个位置”算问门店;城市不明时“X有的!”整条换成“您方便说下在哪个城市吗?我把那边的门店地址发您。”;已知城市却报了别的城市,连同那家地址一起删(昆山↔苏州这类同城别名不算错) | #1636 | ✓ 已上线 |
| 客户之前说过的话(“回天津后再联系”)读不到 | 要客户端往上多读一屏,或把会话列表上的时间、历史一起上报 | — | 未修 · 需出客户端包 |
| 召回前没看客户最近说过什么 | 标题召回第 1 轮本来就不判断沉默和上下文(为保证发得出去做的取舍);本案召回内容本身没问题,客户也回了 | — | 现状保留 · 待决定 |
案例复盘:做对什么,还能改什么
做得好的地方
标题召回把一个沉默两个月的客户在 5 分钟内唤了回来,他主动要位置、约假期——召回话术和时机都成立。AI 在客户说出“天津”后,下一轮立即报对了天津地址。
可以优化的地方
9-18 客户说“回天津后再联系”,我方回“什么时候回来?”后就没有再跟;这句话里最有用的信息——城市——没有被记下来。
这条链路最伤的一处
客户意向最高的那一刻,我们给了一个一千多公里外的门店地址,还用“漳州有的!”替他认定了城市。对客户来说,这等于告诉他“你刚才说的话我们没在听”——他说过天津,备注里写着天津,我们报了漳州。
更合理的推进方式
他说“发个位置”时,直接发天津门店地址和导航:“天津的店在东丽区津昆桥居然之家五楼,导航发您,假期您定好哪天告诉我,我让店里提前准备。”不知道城市时,只问一句“您在哪个城市?我把那边的门店地址发您”,绝不先说“X有的”。
证据边界与待补充信息
可核对的证据
消息表 4 条(09-24 10:35–10:42);调用记录 4 条(2 次 AI 代回、2 次画像抽取);10:41 那次 AI 代回的 Langfuse 完整输入;原样重放评测:主干 10 次 9 次报漳州 → 修复后 10/10 先问城市;近两月 55 条“X有的!地址在”的城市核对。
仍需补充
07-11 首触与 09-18 “好嘞,什么时候回来?”是否人工发出;08-03 三条电脑端无法显示的内容是什么;客户端 10:41 那一轮的原始读屏数据(不落库,无法直接看);客户是否还能重新加回。