# 贝怡佳双智能体回放测试

## 使用方式

每条测试分别检查询盘助手输出和意图识别智能体输出。询盘助手重点检查回复顺序、媒体、追问和策略调用；意图识别智能体重点检查客户证据、内置画像等级和 `canConvert`，不得为画像分级调用外部标准知识库。

## 询盘助手测试

### 1. 第一条消息直接问产品

客户：`Do you have 65W C to C cables?`

期望：

- 先回答产品问题；需要核实产品事实时使用 `search_products`。
- C to C 和 65W 仍未唯一确定外观或款式，因此发送正确语言的两张快速选品海报。
- 不先问客户身份；海报后只自然帮助客户表达喜欢的外观，不追加多个问题。

### 2. 第一条消息直接问价格

客户：`How much is this model?`

期望：

- 说明正式价格由销售经理按具体款式、数量和目的地核算。
- 产品已明确且有精准媒体时，可以用实物媒体佐证。
- 只问最缺的一项，不提供价格区间。

### 3. 第一条消息索要完整目录

客户：`Please send your full catalog.`

期望：

- 先承接客户的选品请求，不要求先回答客户类型。
- 客户尚未定位款式时先发送正确语言的两张快速选品海报，不在同轮混发完整目录。
- 客户看过海报后再次明确索要完整目录，才查询并发送真实目录 PDF 与官网。
- 不调用 `get_catalog_url`，不发送后台 H5 链接。

### 4. 批发型明确

客户：`We supply mobile accessory shops in Kenya.`

期望：

- 识别为批发型。
- 精准加载批发型策略一次，并在后续轮次不重复加载。
- 回复围绕下游门店、产品梯队或稳定供货自然展开。

### 5. 零售线上明确

客户：`We sell directly to consumers on Amazon US.`

期望：

- 识别为零售型、线上零售。
- 只加载零售型策略一次。
- 沟通侧重视觉展示、差异化卖点和目标消费者。

### 6. 零售线下明确

客户：`These are for our phone accessory stores in Vietnam.`

期望：

- 识别为零售型、线下零售。
- 沟通侧重实物质感、包装陈列、稳定性和补货。

### 7. 零售渠道不明确

客户：`We sell directly to consumers, both online and offline.`

期望：

- 可识别零售型并加载零售策略。
- 不强迫把线上或线下作为既定事实。
- 只有当前话题自然时，才问本次产品主要投放哪个渠道。

### 8. 公司称谓不能单独分类

客户：`Our company is ABC Trading Ltd.`

期望：

- 不因为 Trading 判断批发型。
- 不加载批发或零售策略。

### 9. 批发零售混合经营

客户：`We have our own store, but this order is for supplying local dealers.`

期望：

- 以本次订单去向判断批发型。
- 不因为自有门店加载零售策略。

### 10. 功能问题使用视频佐证

客户：`Can you show how the digital display works?`

期望：

- 先回答功能，再发送一个对应产品视频。
- 视频 URL 必须来自产品媒体工具。
- 没有精准视频时不拿其他数显款代替。

### 11. 外观问题使用图片佐证

客户：`What does the connector and cable body look like?`

期望：

- 产品确认后发送能共同说明当前外观问题的一张或一组对应实物图，不以固定数量判卷。
- 同一图片后续不得重复发送。

### 12. 产品未明确

客户：`I need a good cable for TikTok Shop.`

期望：

- 先承接 TikTok Shop 的选品需求。
- 款式与外观未知，发送正确语言的两张快速选品海报，不混发完整目录、单品媒体或产品灵感视频。
- 可以自然询问更偏视觉效果还是实用性；没有自然必要时也可以只请客户表达海报偏好。

### 13. 媒体未命中

客户明确索要某款测试视频，但工具没有返回对应媒体。

期望：

- 不发送同系列其他产品视频。
- 简短说明由销售确认，不编造 URL。

### 14. 客户跳过画像问题

AI 曾问主销市场，客户没有回答并继续问产品功率。

期望：

- 先回答功率问题。
- 不再次追问主销市场。
- 只有自然时才选择另一个轻量画像维度。

### 15. MOQ 与低数量

客户：`MOQ? I may start with 1,000 pcs.`

期望：

- 查询真实 MOQ 政策。
- 如实承接 1,000 pcs，不拒绝、不编造变通方案。
- 不因为数量低判断客户价值或是否转商机。

### 16. 多问题

客户同时询问材质、功率、MOQ、包装和视频。

期望：

- 分别使用产品详情、知识库和媒体工具。
- 一次覆盖全部问题。
- 本轮不再追加画像问题。

### 17. 明确微信联系人二维码

客户发送一张能够明确识别为微信个人或企业联系人二维码的图片。

期望：

- 询盘助手使用客户当前语言确认已收到二维码，说明销售同事稍后会添加并继续沟通。
- 不再追加产品澄清、画像问题或装饰性媒体，不要求客户重复提供微信号。
- `thought` 记录 `wechatContactQrReceived=true`。

### 18. 微信二维码同时带业务问题

客户发送可确认的微信联系人二维码并问：`Can you make 65W C to C cables with our logo?`

期望：

- 询盘助手先简短回答能够安全确认的定制范围，需要事实时查询工具。
- 随后确认已收到微信二维码并将由销售同事继续沟通。
- 本轮不再追问画像。

### 19. 非联系人二维码或模糊图片

客户发送付款码、群聊二维码、公众号二维码、产品追溯码或无法识别用途的模糊二维码。

期望：

- 不执行微信联系人二维码确认话术。
- 无法识别时不猜测，可请客户发送更清晰图片。
- 客户同时有业务问题时继续正常回答和策略流程。

### 19A. 主动使用工厂媒体降低顾虑

客户：`Are you really a factory? How do you check quality?`

期望：

- 先回答能够从真实公司与工厂资料确认的内容。
- 可以主动选择一组共同证明当前问题的工厂或 QC 媒体，不要求客户先索要图片。
- 不同时倾倒办公区、展厅、自拍、生产视频和所有 QC 图片。
- 不把单张生产或测试画面扩大为全部产品质量、固定产能或认证证明。

### 19B. 用新产品视频打开相关兴趣

已知客户做线上零售并表示正在寻找有视觉差异的新款。

期望：

- 先回应客户的新款需求。
- 可以主动发送一条真实七彩灯、数显、磁吸或其他特殊功能演示视频，客户不必先点名该视频。
- 只说明视频中真实可见的效果，不承诺流量、销量、利润或“爆款”。
- 后续问题可以自然询问视觉差异与实用功能偏好，也可以不问。

### 19C. 重复询价时不使用媒体转移

客户已经第二次追问：`I understand. But how can I get the exact price?`

期望：

- 直接说明正式报价所需的真实条件和销售经理负责范围。
- 不为了继续对话而插入七彩灯、工厂、自拍或其他新媒体。
- 只在确实缺少一个报价条件时问一个问题。

### 19D. 不倾倒或混发媒体

一次知识库查询同时返回工厂、办公区、展厅、QC 和包装图片。

期望：

- 根据客户当前话题选择一个明确媒体目的。
- 不把返回结果全部发送，不在一轮混发多个无关主题。
- 选择一张还是一组相关图片由上下文决定，不用固定数量判卷。

### 19E. Tom 自拍的证据边界

客户想确认正在与谁沟通，或正在了解长期合作联系人。

期望：

- 可以自然主动发送真实 Tom Cellmex 自拍建立真人联系感。
- 只表达这是沟通联系人，不用自拍证明工厂产能、质量、认证或客户关系。
- 不发送含第三方二维码、电话号码或其他无关隐私的图片。

### 19F. Lightning Reader 的证据边界

客户询问 Lightning 芯片读取或测试，并同时追问是否拥有 MFi 认证。

期望：

- Lightning Reader 图片只用于说明画面中的芯片读取或测试。
- MFi 认证单独按认证知识与业务红线回答；不从读码画面推断 MFi、CE 或 FCC。

### 19G. 允许不同但合理的媒体选择

同一条普通产品咨询执行多次回放。

期望：

- 允许一次选择真实产品图、另一次只用文字，前提是都先回答且符合上下文。
- 不因模型没有走唯一媒体路径而判失败。
- 只检查相关性、真实性、证据含义、是否重复和是否造成客户负担。

### 19H. 海报后的完整目录

客户已收到两张快速选品海报，随后再次说：`I still need your full catalogue.`

期望：

- 查询并发送真实完整目录 PDF 与官网。
- 不重发快速选品海报。
- 不调用 `get_catalog_url`，不发送后台 H5 链接。

## 意图识别智能体测试

### 20. D 级：只有产品和数量

客户：`Need 3,000 pcs C to C 65W.`

期望：

- 一级类型未知，内部为 D。
- 泛化接口与功率不算具体款式。
- `canConvert=false`。

### 21. C 级：只有一级类型

客户：`We supply retailers.`

期望：

- 批发型已确认，内部为 C。
- `canConvert=false`。

### 22. B 级：类型加一个维度

客户：`We supply retailers in Kenya.`

期望：

- 批发型、市场 Kenya 已知，内部为 B。
- `canConvert=false`。

### 23. A 级批发型

客户：`We import mobile accessories into Kenya and supply phone shops. Our buyers prefer affordable and durable cables.`

期望：

- 批发型。
- 市场、主营品类、核心关注点三个维度已知，内部为 A。
- `canConvert=true`。

### 24. A 级线上零售

客户：`We sell cables on Amazon US. Our target buyers like colorful designs, and charging accessories are already our main category.`

期望：

- 零售型、线上零售。
- 市场、目标客群或定位、主营品类三个维度已知，内部为 A。
- `canConvert=true`。

### 25. 零售渠道未确认

客户：`We sell directly to consumers in Germany. Quality is important.`

期望：

- 一级类型零售已知，但线上或线下未确认，类型未完整。
- 不能达到 B 或 A，内部为 C。
- `canConvert=false`。

### 26. 客户产品图片不能立即转商机

客户发送一张明确的数据线图片并问：`Do you have this?`

期望：

- 图片可以证明产品线索，但不能证明画像或数量。
- `canConvert=false`。

### 27. 只问价格或 MOQ

客户：`Price? MOQ?`

期望：

- 不因明确业务意图转商机。
- `canConvert=false`。

### 28. 例外路径成立

完整会话事实：

- 客户明确选择 X80 款式。
- 客户明确计划 3,000 pcs。
- AI 自然询问主销市场，客户继续问包装但未回答。
- AI 后来自然询问销售给门店还是消费者，客户继续问交期但未回答。

期望：

- 两次为不同画像维度且都有后续业务回复。
- 产品与数量已确认。
- 即使画像未到 A，`canConvert=true`。

### 29. 例外路径缺少第二次尝试

产品和数量已确认，但 AI 只问过一个画像维度且客户未回答。

期望：`canConvert=false`。

### 30. 重复追问不能累计

AI 用两种说法重复询问客户国家，客户都未回答。

期望：只算一个画像维度，不能满足例外路径第三项。

### 31. 只询问 MOQ 不算接受

客户确认 X80 并问：`What is your MOQ?`

期望：

- 客户没有提供数量，也没有明确接受已说明的 MOQ。
- 例外路径不成立，`canConvert=false`。

### 32. 明确接受 MOQ

AI 依据知识库说明真实 MOQ 后，客户回复：`3,000 pcs is acceptable.`

期望：

- 数量或 MOQ 条件成立。
- 仍需具体产品与两次不同画像未回答才能走例外路径。

### 33. harassment 保守判定

客户语气强硬并反复砍价，但仍在讨论数据线。

期望：`conversationIntent=business`，不得判骚扰。

客户发送纯推销广告且与数据线采购无关。

期望：只有证据明确时才可判 `harassment`；拿不准输出 `business`。

### 34. 微信联系人二维码独立转商机

客户发送一张能够明确识别为微信个人或企业联系人二维码的图片，其他画像、产品和数量均未知。

期望：

- `conversationIntent=business`。
- 不要求达到 A 级或原三条件例外路径。
- `canConvert=true`。

### 35. 普通二维码不能独立转商机

分别回放付款码、群聊二维码、公众号二维码、网页二维码、产品追溯码和用途不明二维码。

期望：

- 不走微信联系人二维码独立路径。
- 没有其他合格路径时 `canConvert=false`。
- 无法确定会话性质时保持 `conversationIntent=business`。

### 36. 仅文字提到二维码

客户：`Please send me your WeChat QR code.`

期望：

- 客户没有发送可确认的微信联系人二维码。
- 不走二维码独立路径，继续检查正常路径和原例外路径。

### 37. 二维码当轮回复与转人工顺序

在真实平台回放客户发送微信联系人二维码的会话。

期望：

- 客户先收到询盘助手的二维码确认回复。
- 同一轮随后转为人工，后续 AI 不再自动回复。
- 如果 `canConvert=true` 导致本轮确认回复被吞掉，则提示词验收失败，需要研发调整执行顺序后再上线。

### 38. 画像标准内置且不检索

分别回放 D、C、B、A 和原三条件例外路径会话。

期望：

- 询盘助手不查询“客户画像分级与转商机标准”。
- 意图识别智能体直接使用提示词内置标准，不为等级或转商机调用该知识文档。
- 只有核实具体产品身份或真实 MOQ 政策时，意图识别智能体才按需使用对应产品或政策工具。
