# Coze C端消费者 Agent 问题报告

**报告日期**: 2026-02-06  
**报告人**: Lovable 项目经理  
**优先级**: 🔴 紧急 (P0)  
**影响范围**: C端消费者聊天功能完全失效

---

## 📋 问题摘要

Coze Agent 在处理商品推荐请求时，存在两个严重问题：

1. **回复内容问题**：返回"我暂时无法回答您的问题"而非正常回复
2. **产品ID幻觉问题**：在 picks 中返回虚假的 UUID，而非使用提供的真实产品目录 ID

---

## 🔍 问题详情

### 问题 1: 无法回答问题

**现象**：
用户发送正常的购物咨询（如"推荐一款手机"），Coze 返回：
```
"我暂时无法回答您的问题"
```

**期望**：
Coze 应该正常回复商品推荐，并按照约定格式输出 picks。

---

### 问题 2: 产品ID幻觉（核心问题）

**现象**：
当 Coze 尝试推荐产品时，返回的 `picks` 中包含**虚假的 UUID**：

```json
{
  "picks": [
    {"product_id": "07a8b9c0-1234-5678-abcd-ef0123456789", "note": "小米手机"},
    {"product_id": "e5f6a7b8-9999-aaaa-bbbb-ccccddddeeee", "note": "红米手机"}
  ]
}
```

**问题**：
- 这些 ID 是 Coze 自己**编造/幻觉**出来的
- 它们**不存在**于我们提供的产品目录中
- 前端无法根据这些假 ID 渲染产品卡片

---

## 📤 我们提供给 Coze 的数据

### System Prompt 中包含完整产品目录

```
## ⚠️⚠️⚠️ 最重要的规则 - 产品推荐格式 ⚠️⚠️⚠️

当推荐产品时，你**必须且只能**使用下面产品目录中的真实 product_id！

**可用产品目录（共50个，请从这里选择）：**
• ID="242a6f6e-3afd-4c0d-b8a2-aaaeee077157" | 红米Note 13 Pro | ¥1699
• ID="5e8f2a3b-7c4d-4e9f-8a1b-2c3d4e5f6a7b" | 小米14 Ultra | ¥5999
• ID="9a8b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d" | 华为Mate 60 | ¥6999
...

**输出格式（必须在回复末尾包含）：**
\`\`\`json
{
  "picks": [
    {"product_id": "从上面目录复制的真实ID", "note": "推荐理由"}
  ]
}
\`\`\`

**⚠️ 严格规则：**
1. product_id **必须**从上面产品目录中复制，不要编造！
2. 如果目录中没有匹配的产品，返回空 picks: []
3. 错误示例：`"product_id": "e5f6a7b8-xxxx"` ❌（这是编造的）
4. 正确示例：`"product_id": "242a6f6e-3afd-4c0d-b8a2-aaaeee077157"` ✅（从目录复制）
```

### 数据注入位置
- System Prompt 中明确列出所有产品 ID 和名称
- Query 末尾附带可用产品列表（前20个）

---

## ✅ 修改要求

### 要求 1: 正确响应用户问题

Coze Agent 应该：
- 理解用户的购物咨询意图
- 给出专业、友好的回复
- **不要**返回"我暂时无法回答您的问题"

### 要求 2: 使用真实产品ID（必须）

Coze Agent 在生成 picks 时**必须**：

| 规则 | 说明 |
|------|------|
| ✅ 复制真实ID | 从 System Prompt 中的产品目录复制完整 UUID |
| ✅ 精确匹配 | 用户说"小米手机" → 找到目录中包含"小米"的产品 → 复制其 ID |
| ❌ 禁止编造 | 永远不要生成/猜测/编造任何 UUID |
| ❌ 禁止截断 | 不要返回截断的 ID（如 `242a6f6e-...`） |

### 要求 3: 空 picks 优于假 picks

如果目录中没有匹配的产品：
```json
{
  "picks": []
}
```
**不要**返回编造的 ID！空数组比假数据更安全。

---

## 🧪 测试用例

### 测试 1: 基础推荐
**输入**: "推荐一款手机"  
**期望输出**:
```
为您推荐以下手机：

1. 红米Note 13 Pro - ¥1699
   性价比之选，适合日常使用

\`\`\`json
{
  "picks": [
    {"product_id": "242a6f6e-3afd-4c0d-b8a2-aaaeee077157", "note": "性价比之选"}
  ]
}
\`\`\`
```

### 测试 2: 特定品牌推荐
**输入**: "有没有小米手机"  
**期望**: 从目录中找到包含"小米"的产品，返回其**真实 ID**

### 测试 3: 无匹配产品
**输入**: "推荐一款折叠屏手机"  
**期望**（如果目录中没有折叠屏）:
```
抱歉，目前店铺暂无折叠屏手机，以下是其他热门推荐...

\`\`\`json
{
  "picks": []
}
\`\`\`
```

---

## 📊 验收标准

| # | 标准 | 验证方式 |
|---|------|----------|
| 1 | Coze 正常回复用户问题，不再返回"无法回答" | 发送"推荐手机"，收到正常回复 |
| 2 | picks 中的 product_id 100% 存在于提供的目录 | 前端能成功渲染产品卡片 |
| 3 | 无幻觉 ID | 日志中不再出现 "产品ID不在目录中" 警告 |
| 4 | 格式正确 | picks 格式符合 JSON 规范 |

---

## 📎 附件

- 相关代码: `supabase/functions/coze-chat/index.ts`
- Agent 规范: `docs/coze-consumer-agent-spec.md`
- API 端点: `https://tlsofopqzrzuduinsicm.supabase.co/functions/v1/consumer-agent-spec`

---

## ⏰ 期望修复时间

由于此问题导致**C端消费者聊天功能完全失效**，请尽快修复：
- **临时修复**: 2026-02-06（今天）
- **完整修复**: 2026-02-07

---

**联系方式**: 如有疑问请回复此文档或在项目群中沟通。
