wx_pc_54335e50cd。这位客户 9 月 21 日在另一个会话里聊过(会话
adae1b28…,见那一页),备注和手机尾号一致;这次是重新加好友,系统开了新会话 2dd3cb34…,两段历史没有接上。10 月 9 日 17:46,销售 A 的个人微信号重新加上这位厦门客户。客户通过验证后问的还是那个窗台柜:"做一个窗台收纳柜 3.2/0.87/0.4 一个要多少钱"。
9 月 21 日他问过几乎一样的问题,当时 AI 报了 1581(漏了"不足 1 米按 1 米算"),销售撤回改口,客户问"怎么涨价了"(见 9-21 那一页)。这次报价由代码算:0.87 米不到 1 米按 1 米算,1,817.6 元,和 9-21 销售人工核出来的数一致,没有改口。之后客户问材料、问店在哪,第二天早上 08:51 发来"定位发一下今天过去看看"。
按"谁说的"逐条标注。AI 那条是数据库原文(一字不差),下面附当时那一次调用的真实记录。销售手打的不经过系统,标为人工。两张原始截图放在本节末尾,点击放大。
wx_pc_54335e50cd。adae1b28…,见那一页),备注和手机尾号一致;这次是重新加好友,系统开了新会话 2dd3cb34…,两段历史没有接上。这是一位回头客:18 天前他就带着同一个窗台柜来问过价,被一次改口吓了一下,说过"那天有时间我去看一下样品",之后没有到店记录。这次他换了个说法重新问价,价格对上之后,一晚上就从问材料走到了"今天过去看看"。
9-21 问的是 3.2/0.87/0.5,这次是 3.2/0.87/0.4——同一个窗台柜,深度改了 5 厘米(深度不计价,金额不受影响)。
通过验证后的第一句就是问价。这次拿到的数和上次销售人工核的一致(1817.6),他没有再追问价格。
"材料怎么样""板面好不好"——价格过关后马上转去确认东西值不值这个价。
"你们过来测量"——比问价更深一步,说明他已经在想落地。
"店在哪里" → 销售给地址并追"哪天方便" → 第二天早上"定位发一下今天过去看看"。
约到店(今天)。本页截稿时(10-10 上午)还没有到店回填,不写成"已到店"。
从加好友(10-9 17:46)到客户说"今天过去看看"(10-10 08:51)约 15 小时,中间隔了一夜。真正花在对话上的时间不到一小时;最长的一段空白是开头那 82 分钟。
招呼语是加好友时填的模板。客户通过后直接给尺寸问价,没有寒暄。
告警原文:"客户这 1 句端上读到了、当时没进代回(已补落库,本轮回复会一并参考)"。这段等待是本案最大的时效损失;客户没有流失是运气,不是机制。
"收纳柜高 0.87 米不到 1 米按 1 米算,3.2×1=3.2㎡,按 568 一平算是 1,817.6 元"。算式写明了口径,客户能自己核。和 9-21 销售人工核出的数一致。
"材料怎么样""你们过来测量 / 板面好不好"都进了库,但 19:00–19:45 整个个微通道只有一次 chatReply(19:08:48,就是上面那条报价),这两句没有触发任何模型调用。原因待查(见 04)。
"兔宝宝、莫干山、千年舟的 ENF 级多层实木,具体品牌和配置到店结合方案确认会更清楚"——答了材料,并把"板面好不好"引向到店。上门测量那句没有正面回应。
给地址的同一句里追了时间。9-21 那次客户也问过"在哪里看样板",当时只发了位置卡片、没有追时间,后来停在"那天有时间我去看一下"。
消息 09:01:36 落库(端上又晚了约 10 分钟),4 秒后系统判"客户给出了到店时间"、会话转人工并推卡;09:03 销售手发位置卡片。到店是否发生、谁接待,本页截稿时还没有回填。
| 阶段 | 销售 / 自动化动作 | 解决的顾虑 | 结果信号 | 归类 |
|---|---|---|---|---|
| 重新加微 | 加好友验证语(868→568 补贴) | 凭什么加你 | 通过,直接问价 | 人工 · 非 AI |
| 问价应答 | 代码按尺寸算价、写明口径,AI 照指令发出 + 环保海报 | 到底多少钱、会不会变 | 客户不再追价,转问材料 | 代码报价(#1656) · 真实调用 |
| 材料 / 测量 | 销售手打品牌 + "到店确认更清楚" | 东西值不值 | 客户问店在哪 | 人工 · AI 未发起回复 |
| 到店邀约 | 地址 + "这两天哪天方便过去?" | 去哪、什么时候 | 次日"今天过去看看" | 人工 · 本案最该复用的一句 |
| 到店转人工 | 系统判到店承诺 → 转人工推卡;销售发定位 | 怎么找过去 | 到店待回填 | 系统判定 + 人工发位置 |
格子里的数字取自 19:09 那一次的真实调用记录。和 9-21 那条 1581 比,变的是第 04 格:金额不再靠模型自己乘。
第 06 格:出门闸用 dimensionQuoteForGate 按同一尺寸再算一遍,回复里的金额对不上或没给金额,就整条换成代码算的那句。9-21 那次的价格闸只看单价在不在授权区间,所以 1581 能过;这次闸看的是总价本身。本条实发文字和代码句式一字不差,是模型照指令写的、还是被闸整条替换的,调用记录里分不出来——两种情况客户收到的都是对的数。
这一轮模型拿到的三类东西都摊开在下面。本案报价对不对,已经不取决于它们——金额是代码给的。
文中【怎么算】一段:按柜体投影面积(宽×高)算……柜体高度不足 1m 的按延米算(1m 单价=1 平方单价)。
这次命中的是另一篇,但写着同一条口径。9-21 那次命中《预报价算例》也写着它,模型仍然漏了;所以这次算对,不能归功于知识检索。
8fdef3ca(q9)"主要想做衣柜和橱柜";315d7bb0(q9)"想用生态板做柜门便宜点";5de32005(q10)"你这价太高了"。都不是"按尺寸问价"。
与本句相关的是一条 conf=10 的规则:客户问的那句答完就停,再用一句自然的话把客户往到店上带。这条回复答完就停了,但没有往到店上带——往到店上带的那句是 19:38 销售手打的。
9-21:AI 用 3.2×0.87 算出 1581,销售撤回改口 1817.6,客户"怎么涨价了"。那页的 07 行动建议第一条是"金额不由模型算"。三天后 #1656 合并(09-24)。10-09 同一位客户问同一个柜子,回复里的金额由代码算出,一次就是 1,817.6,口径写在句子里,没有改口。
能说的:报价这一步不再是这条链路的风险点。不能说的:客户这次到店"是因为"报价对了——他也可能本来就打算来,没有对照组。
客户 17:46 通过并问价(问价那句在微信里和 17:46 归在同一个时间分组下,到达时刻按此推算),19:08 才落库。告警说的是"端上读到了、当时没进代回"。本页没有查到这 82 分钟具体卡在哪一步,只知道不是服务端慢(落库后 44 秒就发出了)。
"材料怎么样""你们过来测量 / 板面好不好""店在哪里"都在库里,但 19:00–19:45 整个个微通道只有一次 chatReply(19:08:48,就是 1817.6 那条)。一个可疑点:19:11:25 客户问材料,3 秒后库里多了一行 role=ai(招呼语被回读),会话"最后一条"变成了我方。它能不能解释 19:12 和 19:32 两句也没触发,现有记录答不上来。验证方法写在 09。
19:31 答板材时顺手把"板面好不好"引向"到店结合方案确认";19:38 给地址时追"这两天哪天方便过去"。9-21 那次停在"那天有时间",就差这一句。
客户主动要上门量尺,回复里没有正面回应。按店长口径,量尺要先交定金(算进总价)、交定后才安排——这句话本可以顺势讲清,也可以作为到店的理由。
库里 19:11:28 有一行 role=ai,内容是加好友验证语原文。那一刻没有任何模型调用;截图里 19:11 之后也没有再出现这句话。也就是说客户没收到第二次,但系统以为我方又说了一句。后果有两个:会话历史里多了一条假的"我方发言";如果回复逻辑看"最后一条是不是我方",客户下一句可能被当成已回复。
chatReply / 指令记录的 role=ai 行,不是 AI 发的。两次都是"微信里已经到了、系统晚了才知道":17:46 → 19:08、08:51 → 09:01。第二次 10 分钟问题不大(客户说的是"今天"),第一次 82 分钟是新客户的首问。
本案那句报价末尾是"板材五金柜门安装全包"。10-09 21:08 合并的 #2043 规定客户话术不许出现"全包",统一改成"包含板材、柜门、基础五金和安装",做法是在模型回复收尾时把"全包"二字替换掉。但代码报价句式本身没改,于是下一位按尺寸问价的客户:模型照抄指令时,替换后变成"板材五金柜门安装包含板材、柜门、基础五金和安装"这种重复句;被出门闸整条换成代码句时,"全包"原样发出。
9-21 会话 adae1b28… 和这次 2dd3cb34… 是同一个人(备注、手机尾号一致),系统当成了新客户。这次碰巧没出事;如果客户说"上次你们说过……",AI 是看不到的。
报价由代码算、口径写进句子,这一条 9-21 暴露的硬伤在同一位客户身上验证修好了;销售在客户问店时同一句里追了时间;客户说出"今天"后系统 4 秒内转人工推卡,销售 2 分钟内发了定位。
首问晚了约 82 分钟才进系统;19:11 之后三句客户消息没有触发任何 AI 回复,全靠人工;招呼语被回读成一条假"AI 消息";"你们过来测量"没有接;同一个人重新加好友后历史没接上;报价句式里的"全包"会和新规则撞出重复句。
首问能在几分钟内回(端上读到即落库);报价后紧跟一句往到店带("样柜和板材在店里都能摸到,您这两天哪天方便?");客户说"你们过来测量"时讲清量尺流程(交定后安排、定金算进总价)并顺势约到店;识别出是 9-21 的老客户,把上次的尺寸和报价带进上下文。
今天到店后回填:实际到店时间、谁接待、方案和预算、下一步。回填后本页第 8 步改成"已到店"。
按 09 的两步查:服务端日志看这三句是被哪道判断跳过的;对照假 role=ai 行出现的时刻。
取那台电脑的执行器本地日志,看新好友会话何时进入轮询。
源头句式改成新口径,避免替换后出现重复句。
把量尺流程(交定后安排)写进到店邀约的理由里。
重新加好友时按备注 / 手机号认出老客户,接上历史会话。
客户报尺寸问价,金额走计价函数,回复里写明口径(不足 1 米按 1 米)。
答完就停,再加一句到店理由和时间问题。
品牌 + 环保等级,细节引向到店摸样板。
量尺交定后安排、定金算进总价;顺势约到店先看样。
"您看这两天哪天方便过去?"——不只发地址。
系统判到店承诺 → 转人工;销售发定位、安排接待。
到店时间、接待人、方案、预算、下一步。
会话 2dd3cb34… 的 8 行 messages(6 客户 / 2 记为 AI,其中 1 行无模型调用);19:08:48 那次 chatReply 的提示词版本、模型、token、耗时、成本、命中知识与规则;weixin_friend_lifecycle.accepted_at 17:46;conversations 的转人工时间与到店证据;19:08:50 与 09:01:41 两张告警卡原文。
19:31、19:38 两条销售手打消息;09:03 的位置卡片;加好友验证语的发送时间(截图只显示 17:46 这个分组时间)。
① 17:46–19:08 客户首问卡在端上的原因。② 19:11、19:12、19:32 三句为什么没触发 chatReply——查法:服务端 /api/wecom/chat/reply 在 19:11–19:40 对本会话的请求与跳过原因;对照 19:11:28 那行假 role=ai。
客户今天是否到店、接待人、方案与预算、有无交定。
不断言"报价对了所以客户来了"(没有对照组);不断言 19:11 之后没回是被假 role=ai 行挡住的(只是时间上相邻);不断言客户已到店。