没有真实用户,就造一批合成客户当风洞——把「企微 AI 聊到客户信任几分、才推得动到店」这件事 量出来;同时用一个话术裁判挑出蓝方的毛病、排出优先级修复工单,标定完再把结论固化进生产蓝方。本页是 grill 逐条钉死的方案本身,先评估、不动手。
生产里蓝方 AI 看不到客户「真实信任」,只能靠措辞猜。但模拟里,扮客户的红方 LLM 是知道自己信没信的—— 这就给出一个校准闭环:用红方的真值当尺子,把「将来能上线的信号秤」校准,顺便量出该在几分推到店。
红方每轮吐 trust: 0–100 + 一句涨跌理由。客户心里真实信到几分——标定唯一可信锚。上线后功成身退。
代码读 transcript,用可观测硬信号估分(报城市户型 +、答非所问 −…)。生产上线那版——因为线上没有红方自报。
两轨共用同一张涨跌清单:C 秤是 A 尺的「可观测子集」——A 能感知「催单感」这种软信号, C 只认「同一轮抛了 ≥2 个钩子」这种能代码判的硬信号。校秤 = 看 C 的硬信号子集能多大程度还原 A 的全集。
每张卡 = 一个必答的设计岔路、候选项、选中项、以及为什么这么选(多数扣在全局 CLAUDE.md 的硬规则上)。
scenario_26.json 已是 26 类真实刁难的沉淀(价格纠缠 / 环保甲醛 / 竞品对比 / 早期观望 / 强意向递进…)。直接拿它当性格骨架、每组配一张 persona 卡,比重新聚类省一大截,还与现有 harness 无缝接。llm.ts 已沉淀大量血泪实证——「答非所问是信任流失第一杀手」「写进合同是最强信任锚」「开空头支票发图」「催单感」。别另写一套(会和线上打架,违反第 7/11 条),直接抽成红方评分锚点,A 轨真值就和线上「什么真的建 / 伤信任」同源,阈值才迁得回生产。sparingly/always 钩子开关、dispatch/shared 确定性控通道同构(第 11 条惯例优先)。LLM 只管「到店这句怎么说得自然」,「现在该不该说」由代码按 C 分闸。(推时真实信任, 接受了没) 拟合成曲线,拐点即阈值——一次跑完出全曲线,比逐档扫描省,且同批点还能顺便校 C 秤。OPENROUTER_EVAL_KEY 且后台设额度封顶;蓝方必须用生产同款 qwen3-235b-a22b-2507。不同性格的信任曲线不一样——爽快型推晚了他自己急,货比三家型推早了显得你急着成交掉价,早期观望型不能硬约定方案、得换软邀约。 所以阈值按性格分档 + 到店目标也随档变。下表的具体数字是标定期由曲线拟合产出、非预设,此处只示意骨架。
| 性格档(骨架取自 scenario_26) | 典型信号 | 阈值档 | 推的时机逻辑 |
|---|---|---|---|
| 爽快高意向型 g26 全案递进 / g23 发定位 |
主动报城市户型、问「怎么定」「多久能做」 | 激进 · 低 | 信任早早到位,推晚了他自己都急,早推反而顺 |
| 价格敏感型 g15 砍价 / g22 预算有限 |
纠缠单价、「别人报 530」、「先做哪几样划算」 | 标准 · 中 | 先把价格口径答稳、信任攒够再推,别陷价格深聊 |
| 货比三家 / 专业刁难型 g10 竞品对比 / g05 板材三连 |
张口欧派索菲亚、精板素板 / 颗粒板刁难 | 保守 · 高 | 信任到很高才推,早推显得急着成交、掉价 |
| 早期观望型 g24 交房未定 / g06 新房模糊 |
「房子明年才交」「现在问是不是太早」 | 保守 · 高 → 软邀约 | 也要引导到店,但换低压力软目标:不约「量尺定方案」,而是「设计周期长,先来看看样板、混个脸熟,交房正好接得上」——信任攒够才发这种邀约 |
_eval-wecom-redblue.ts 的双裁判 5 维评分卡(规范 docs/wecom-eval-set-v1.md)。它读蓝方每句、按 5 维打 1/差·2/及格·3/好,双裁判用 glm-4.6 + deepseek-v4(都不是蓝方 qwen 同家,天然防「自己判自己」)。你原来担心的「裁判模型」问题,现成方案已经解决。本节要做的不是造裁判,是把它的分接上优先级。
这个裁判 ≠ 决策 02 砍掉的那个(那个是想让它打信任分、和 A 轨重叠才砍)。它是「挑话术毛病」的裁判,且已有 v1。
你要的真人感正是它 5 维里的第一维 human;到店推进是第三维 advance。事后读整段 transcript 跑,能抓「反复问已说过的城市」「前后价格口径打架」这种跨轮模式。
| 现成 5 维(wecom-eval-set-v1) | 判什么 | 对应你提的点 |
|---|---|---|
human 像真人吗 | AI 腔 / 机器人 / 堆砌 / 复读 / 答非所问 | ← 你要的「真人感」 |
redline 守红线吗 | 见面前别深聊价格、别评竞品、别开空头支票发图、禁「量尺免费」 | 信任杀伤命门 |
advance 推进了吗 | 有没有把对话往「加微 → 约到店」推一步,还是原地答题 | ← 到店推进力 |
accurate 准确吗 | 868→568 投影㎡ / 284㎡ 房产证为已核实口径,编数字扣分 | 穿帮风险 |
catch 会接住吗 | 客户报户型/面积/进度(高意向信号)有没有顺势接住 | 接住率 |
最终产物不是一句「话术要优化」,而是一张能直接照着改 llm.ts 的工单(数字为标定期产出、下表示意结构):
| 话术毛病 | 犯 N 次 | 累计砸信任 | 搞黄到店 | 对应 llm.ts 段 | 建议改法 |
|---|---|---|---|---|---|
| 答非所问(问 A 答 B) | — | 高 | — | §疑问照答分支 |
强制「第一句先一口价/正面接住疑问,再走推进档」 |
| 催单机器人 / 硬推到店 | — | 中 | — | sparingly 钩子克制 |
收紧钩子触发条件,纯咨询轮一律不抛到店钩子 |
| 真人感 · 一次抖太满 | — | 中 | — | decision 单气泡≤50字 |
强化「只答这一点、答完就停」,禁一轮铺开多卖点 |
| 反复问已说过的城市 | — | 低 | — | §问城市有无 |
命中历史城市即禁止再问,直接报该城门店真址 |
注:「犯 N 次 / 累计砸信任 / 搞黄到店」三列由冒烟→放量的真实对话跑出来后回填,上表仅示意工单结构与归因逻辑。
你说「这部分能更好」,对——我把仓翻了一遍,发现红蓝评测 + 双裁判 + 5 维评分卡 + 花费隔离 + golden 门禁全是 07-17 前后已建的现成件。所以这次真正要新造的只有薄薄几样(右栏)。左栏每条都带真实文件名,不是泛指。
大部分是 2026-07-17 与野荞对齐后落的
_eval-wecom-redblue.tsdocs/wecom-eval-set-v1.md_judge-*-0719.ts 还有补分 + JSON 写回 pattern。_eval-intent-golden.ts + eval-fixtures/*.jsonlrecordScore / Langfuse 在线打分opener-detector.ts 已有「在线质检打分」通路——上线后 C 秤在生产实时记分直接接这。detectDecisionSignals · sparingly/always · red_loop.py刻意薄——能复用就不重写
detectDecisionSignals 从「有没有」扩成「加权成一个信任分」,并拿 A 尺校准。外部方法论仅作理论锚,不引依赖:S 曲线 / 逻辑回归拟合拐点(决策 07 落地算法)· reward-model 式「自报即真值」(A 轨依据)· 销售信任阶梯 / BANT 分级(性格轴与软到店的业务语言)。
同一套东西,两个模式跑法相反。写设计时必须分清,别混。
OPENROUTER_EVAL_KEY 并在后台设额度封顶——碰不到生产额度(2026-06-03 生产 402 干涸的教训)。蓝方用生产同款模型,红方演客户可稍便宜但别太弱。
_eval-wecom-redblue.ts 等)。真正要新造的只有:红方演性格、A/C 信任双轨、随机试推标定阈值、优先级聚合层。_eval-wecom-redblue.ts 上改红方为 LLM 演性格 + 挂 A 轨自报 + 随机试推,复用其双裁判 5 维分做优先级聚合,落成冒烟脚本。