workshop-session-3-voc.md 16 KB


name: workshop-session-3-voc description: VOC虾工作坊 Session 3 — 教虾抓评论·VOC初体验 + Side Quests version: 3.0.0 session: 3 prevSession: workshop-session-2-brand.md

nextSession: workshop-session-4-deep.md

Session 3:教虾抓评论 · VOC初体验(Day1晚)

前置依赖:必须先加载 workshop-global-rules.md

对应工作坊环节:Day1 19:00-21:30「教虾抓评论·VOC初体验」 目标:虾第一次"下海捕虾"——批量采集用户评论,完成初步情感分析和关键词地图 关键点:本阶段只做采集+初步感知,深度分析(痛点/功能/场景)在阶段四进行

前置检查

  • 🛑 GATE CHECK: 检查 workshop-progress.jsonsession-2.status。如果为 awaitingCalibrationexploring禁止开始 Session 3,必须先等待用户完成 Session 2 的校准和探索。
  • stage-2-output.json 存在
  • ✅ 已确认的竞品ASIN列表
  • ✅ 读取 calibration-notes.sessions.session-2.forwardActions → 获取需要在本阶段应用的调整
  • ✅ 读取 stage-2-output._anomalies → 关注竞品异常信号

Side Quest 触发条件速查(主线执行时参考)

Agent 在执行主线分析时,必须同时对照此表检测触发信号,发现匹配时写入 _sideQuestTriggers

questId 名称 触发信号(满足任一即触发)
negative-review-deep-dive 😤 差评深潜 ① 某差评维度提及率 >15%(如"漏液"在所有差评中被提到 >15%) ② 某维度差评近3月环比增长 >50% ③ 品牌独有的差评模式(竞品无此类投诉)
five-star-decoder ⭐ 好评解码 ① 品牌5星好评率与竞品差距 >10个百分点(高或低) ② 好评中某关键词出现频率 >20% ③ 好评中出现竞品未提及的独特卖点
review-battle 🆚 评论对决 ① 品牌vs某竞品情感分差距 >15分 ② 品牌与某竞品在同维度上情感极性相反 ③ 用户校准中对某竞品的评论表现表示惊讶

校准前向传递

读取 session-1 + session-2 的校准意见:

  • 用户拒绝的竞品 → 从采集列表中移除
  • 用户新增的竞品 → 加入采集列表
  • session-2 中发现的竞品弱点 → 采集评论时重点关注对应 ASIN 的差评

自动构建ASIN列表

从 brand-context.brandAsins + stage-2-output.competitorAsins 合并去重(共5-8个ASIN) 注意:必须使用经过 session-2 校准确认后的竞品列表

对话开场

虾:💬 阶段三:评论采集 + VOC初体验
━━━━━━━━━━━━━━━━━━━━

接下来虾要第一次"下海捕评论"了!

这个阶段我会:
① 📥 批量采集自家+竞品的用户评论(300-500条)
② 📊 做初步情感分类(正面/中性/负面分布)
③ 🔤 生成关键词情感地图

待分析ASIN列表({{totalAsins}}个):
• 自家:{{brandAsins}}
• 竞品:{{competitorAsins}}

预计需要3-5分钟。开始捕评论!

技能调用序列

Step 3.1: review-batch-collection(
  asins = mergedAsinList,
  pages = 3,  // 每个ASIN采3页
  domain = brand-context.amazonDomain
)
→ 输出: reviewCorpus (300-500条结构化评论)
→ 附带: 竞品VOC对比汇总(本店vs竞品均分/差评率)

Step 3.2: review-sentiment-analysis(
  reviews = reviewCorpus
)
→ 输出: sentimentResult (三维情感分类+问题维度细分)

Step 3.3: review-keyword-cloud(
  reviews = reviewCorpus
)
→ 输出: keywordCloud (关键词+情感标签)

--- 数据合成步骤 ---

Step 3.4: [数据合成] 使用 Prompt 3A "voice-classification-synthesis"
  输入: Step3.2情感结果 + 原始评论
  → 输出: voiceClassification (v2结构: 情感分布+维度细分)

Step 3.5: [数据合成] 使用 Prompt 3E "brand-vs-competitor-synthesis"
  输入: 品牌+竞品分组的情感数据
  → 输出: brandVsCompetitor (品牌vs竞品情感对比)

Step 3.6: 将 Step3.4~3.5 的输出 + reviewCorpus元数据 + keywordCloud 写入 memory/stage-3-output.json
  注意: reviewCorpus 原始数据也需保存,供阶段四深度分析使用

结果展示 — Part 1: 采集概览 + 分ASIN明细

展示规则:以下所有 Part 都是必须展示的,不可省略任何一个 Part。 每个 ASIN 必须展示独立的情感数据,不能只给汇总数据。

虾:评论分析完成!采集了 {{totalReviews}} 条评论。

━━━━━━━━━━━━━━━━━━━━
📥 评论采集概览
━━━━━━━━━━━━━━━━━━━━

采集时间:{{collectionTimestamp}}
评论时间跨度:{{dateRange.from}} ~ {{dateRange.to}}
ASIN覆盖:{{asinsCovered.length}} 个

📋 分ASIN采集明细:
| ASIN | 品牌 | 类型 | 评论数 | 平均评分 | 好评率 | 差评率 | 1星占比 | 5星占比 |
|------|------|------|--------|---------|--------|--------|---------|---------|
{{#each asinDetails}}
| {{asin}} | {{brand}} | {{type}} | {{reviewCount}} | {{avgRating}} | {{positiveRate}}% | {{negativeRate}}% | {{star1Rate}}% | {{star5Rate}}% |
{{/each}}
| **汇总** | — | — | **{{totalReviews}}** | **{{avgRating}}** | **{{positiveRate}}%** | **{{negativeRate}}%** | — | — |

⭐ 评分分布(全部评论):
| 星级 | 数量 | 占比 | 分布条 |
|------|------|------|--------|
| ⭐⭐⭐⭐⭐ | {{star5Count}} | {{star5Rate}}% | {{star5Bar}} |
| ⭐⭐⭐⭐ | {{star4Count}} | {{star4Rate}}% | {{star4Bar}} |
| ⭐⭐⭐ | {{star3Count}} | {{star3Rate}}% | {{star3Bar}} |
| ⭐⭐ | {{star2Count}} | {{star2Rate}}% | {{star2Bar}} |
| ⭐ | {{star1Count}} | {{star1Rate}}% | {{star1Bar}} |

结果展示 — Part 2: 情感分析

━━━━━━━━━━━━━━━━━━━━
📊 用户声音初步分类
━━━━━━━━━━━━━━━━━━━━

🎯 情感健康分:{{overallSentimentScore}}/100

┌─────────────────────────────────────────┐
│ 正向 {{positiveRate}}% │ 中性 {{neutralRate}}% │ 负向 {{negativeRate}}% │
│ ████████████████     │ ████         │ ████████    │
└─────────────────────────────────────────┘

✅ 正向声音 Top 5({{positiveCount}} 条)
{{#each positive.items}}
  • {{text}} — {{reviewCount}}次提及 | 平均评分 {{avgRating}}
    ↳ "{{representativeQuote}}"
    ↳ 关联关键词:{{relatedKeywords}}
{{/each}}

❌ 负向声音 Top 5({{negativeCount}} 条)
{{#each negative.items}}
  • {{text}} — {{reviewCount}}次投诉 | 严重度 {{severity}}
    ↳ "{{representativeQuote}}"
    ↳ 影响评分:{{ratingImpact}} | 退货关联:{{returnCorrelation}}
{{/each}}

💡 中性声音洞察({{neutralCount}} 条)
{{#each neutral.suggestions}}
  • {{text}} — "如果能...就好了" 类建议 × {{count}}
{{/each}}

📂 问题维度细分:
| 维度 | 提及次数 | 占差评比 | 严重度 | 典型原文 |
|------|---------|---------|--------|---------|
{{#each categoryBreakdown}}
| {{category}} | {{count}} | {{percentOfNegative}}% | {{severity}} | "{{quote}}" |
{{/each}}

结果展示 — Part 3: 品牌 vs 竞品对比

━━━━━━━━━━━━━━━━━━━━
🏷️ 品牌 vs 竞品 VOC 对比
━━━━━━━━━━━━━━━━━━━━

📊 情感健康分对比:
| 对象 | 情感分 | 好评率 | 差评率 | 平均评分 | 评论数 |
|------|--------|--------|--------|---------|--------|
| **{{brandName}}(你)** | **{{brandSentimentScore}}** | **{{brandPositiveRate}}%** | **{{brandNegativeRate}}%** | **{{brandAvgRating}}** | **{{brandReviewCount}}** |
{{#each competitorSentiment}}
| {{brand}} | {{sentimentScore}} | {{positiveRate}}% | {{negativeRate}}% | {{avgRating}} | {{reviewCount}} |
{{/each}}
| **竞品平均** | **{{competitorAvgSentimentScore}}** | **{{competitorAvgPositiveRate}}%** | **{{competitorAvgNegativeRate}}%** | **{{competitorAvgRating}}** | — |

📈 差距分析:
• 情感分差距:{{brandSentimentScore}} vs {{competitorAvgSentimentScore}}(差 {{sentimentGap}} 分)
• 差评率差距:{{brandNegativeRate}}% vs {{competitorAvgNegativeRate}}%
• 要追平竞品平均评分({{competitorAvgRating}}),预计需要:
  → 消除约 {{negReviewsToRemove}} 条差评 + 获取约 {{posReviewsNeeded}} 条5星好评

🔍 竞品正面高频词(你缺少的):
{{#each competitorPositiveKeywords}}
  • "{{keyword}}" — 竞品提及 {{count}} 次,你的评论中 {{brandMentionCount}} 次
{{/each}}

🔴 你独有的差评痛点(竞品很少提到的):
{{#each brandUniqueNegatives}}
  • "{{keyword}}" — 你的差评 {{brandCount}} 次 vs 竞品平均 {{competitorAvgCount}} 次
{{/each}}

结果展示 — Part 4: 关键词情感地图

━━━━━━━━━━━━━━━━━━━━
🔤 关键词情感地图
━━━━━━━━━━━━━━━━━━━━

✅ 正面关键词 Top 10:
{{#each keywordCloud.positive}}
  {{@index+1}}. "{{keyword}}" — {{count}}次 | 情感强度 {{intensity}}/5
{{/each}}

❌ 负面关键词 Top 10:
{{#each keywordCloud.negative}}
  {{@index+1}}. "{{keyword}}" — {{count}}次 | 情感强度 {{intensity}}/5
{{/each}}

📈 趋势关键词(近期上升):
{{#each keywordCloud.trending}}
  • "{{keyword}}" — 近30天 +{{growthRate}}% | 情感 {{sentiment}}
{{/each}}

校准环节(养虾人教虾读评论)

对应工作坊环节:Day1 20:45-21:15「养虾人教虾读评论」 教练引导:挑出3条最有价值的差评,和养虾人一起分析

虾:以上是评论的全面分析!老板你是品类专家,帮虾校准一下:

📊 情感分布:
1️⃣ 正面/负面的比例和你平时看到的评论体感一致吗?
2️⃣ 情感健康分 {{overallSentimentScore}}/100 合理吗?

❌ 差评聚焦:
3️⃣ 我挑了3条最典型的差评,你来看看:
   • "{{topNegReview1}}"
   • "{{topNegReview2}}"
   • "{{topNegReview3}}"

   这些问题你已经知道了吗?还是有新发现?
   请标记:✅已知 / ⚡新发现 / ❌误判

📂 问题维度:
4️⃣ 差评的维度细分(质量/功能/包装/服务等)排序合理吗?有没有遗漏的维度?

🏷️ 品牌 vs 竞品:
5️⃣ 你和竞品的差评率对比符合体感吗?
6️⃣ "你独有的差评痛点"列表里有没有误判的?

🔤 关键词:
7️⃣ 关键词情感地图里,正面/负面关键词排序合理吗?
8️⃣ 有没有你觉得重要但虾没发现的关键词?

明天上午我会基于这些评论做深度分析——痛点挖掘、功能评估、场景识别。
今晚的校准直接影响明天分析的方向!

校准记录

将用户反馈记录到 memory/calibration-notes.json:

{
  "session3": {
    "timestamp": "...",
    "voiceClassification": { "confirmed": true/false, "corrections": [] },
    "initialReviewFeedback": {
      "sentimentAccuracy": "consistent/inconsistent",
      "userMarkedKnown": [],
      "userMarkedNewDiscovery": [],
      "userMarkedMisjudged": [],
      "keywordAccuracy": "consistent/inconsistent",
      "additionalNotes": ""
    }
  }
}

阶段交付

存入 stage-3-output.json(含 _goalAlignment + _anomalies + _contextFromPreviousStages + _sideQuestTriggers) 记录校准到 calibration-notes → 填写 forwardActions(特别是 knownPainPointsToDeprioritizenewDiscoveriesToHighlightmisjudgedItemsToRemove)→ 更新 _forwardPassSummary

注意:stage-3-output.json 保存以下数据供阶段四使用:

  • reviewCorpus — 原始评论数据(阶段四深度分析的输入)
  • voiceClassification — 情感分布+维度细分
  • keywordCloud — 关键词情感地图
  • brandVsCompetitor — 品牌vs竞品情感对比
  • _goalAlignment — 目标对齐(阶段四继续深入的方向)
  • _anomalies — 异常发现(阶段四验证或追踪)

目标回扣(必做)

虾:🎯 回到你最初的问题:「{{workshopGoal}}」
从用户评论中,虾发现了:
• {{goalAlignmentInsight}}
明天上午的深度分析会进一步挖掘这些发现。
虾:✅ 阶段三主线完成!

📦 已产出交付物:
• 📥《结构化评论语料库》— {{totalReviews}}条评论,覆盖{{asinCount}}个ASIN,已清洗去重
• 📋《分ASIN采集明细》— 每个ASIN的评论数/评分/好评率/差评率独立统计
• ⭐《评分分布分析》— 1-5星详细分布 + 品牌vs竞品对比
• 📊《情感分析报告》— 情感健康分 {{overallSentimentScore}}/100 + 正面/中性/负面Top5 + 维度细分
• 🏷️《品牌vs竞品VOC对比》— 逐竞品情感对比 + 差距分析 + 独有痛点识别
• 🔤《关键词情感地图》— 正面/负面/趋势关键词Top10 + 情感强度
• 📂《问题维度细分表》— 差评按维度分类 + 严重度 + 典型原文

所有评论数据已存入记忆。

🛑 SESSION GATE: 此处 HARD STOP。Agent 必须停止并等待用户回复校准意见。禁止自动进入 Side Quest 菜单或 Session 4。 更新 workshop-progress.json: session-3.status = "awaitingCalibration"


Side Quest 发现(主线分析中自动标记)

Agent 在执行主线分析时,根据数据发现标记 Side Quest 触发器。以下为各 Side Quest 的典型触发条件:

😤 差评深潜 (negative-review-deep-dive)

技能调用:review-pain-point-extraction(reviews=目标维度差评子集, focusDimension=触发维度)
关键输出:根因追溯(表面投诉+根本原因+影响范围+关联退货率) | 差评时间线(按月/季) | 修复方案(短期0成本+中期迭代+长期战略) | 预计评分提升
轻量校准:这个差评根因分析准确吗?修复优先级合理吗?

⭐ 好评解码 (five-star-decoder)

技能调用:review-highlight-extraction(reviews=4-5星好评, mode="deep")
关键输出:用户自发推荐核心原因Top5(原因+提及次数+代表原文+Listing植入建议+竞品是否提到) | 好评vs竞品好评关键词差异 | Listing优化优先级
轻量校准:这些好评驱动因素和你的产品优势一致吗?

🆚 评论对决 (review-battle)

技能调用:review-batch-collection(asins=[品牌+竞品], pages=5) → review-sentiment-analysis(mode="comparative")
关键输出:一对一情感对比表(维度+双方分数+差距+判定) | 你赢/对手赢/势均力敌的维度 | 最有价值对比发现 | 差异化策略建议

轻量校准:这个对比结果符合你的体感吗?

校准后进入探索模式

当用户回复校准意见后,Agent 执行以下流程:

  1. 记录校准到 calibration-notes.json
  2. 更新 workshop-progress.json: session-3.status = "exploring"
  3. 将所有 discovered 的 Side Quest 状态改为 available
  4. 按照全局规则 SQ2 展示 Side Quest 菜单

    虾:校准意见已记录!
    
    🗺️ 在评论分析中,虾发现了几条值得深入的线索:
    
    ┌─────────────────────────────────────────────┐
    │  🎮 Side Quest 支线任务                      │
    ├─────────────────────────────────────────────┤
    {{#each availableSideQuests}}
    │  {{emoji}} {{name}}                          │
    │  📍 {{trigger}}                              │
    │  ⏱️ 预计 {{estimatedTime}}                   │
    │                                              │
    {{/each}}
    ├─────────────────────────────────────────────┤
    │  ⏭️ 说"继续"直接进入阶段四:深度VOC+社媒       │
    │  💾 说"暂停"保存进度下次再探索                   │
    └─────────────────────────────────────────────┘
    
    你对哪条线索感兴趣?选一个深入探索,或者直接继续主线。
    虾建议:如果某个差评维度让你特别在意,现在深入挖掘可以为明天的深度分析指明方向!
    

当用户说"继续"时:

  • 将所有 available 的 Side Quest 标记为 skipped
  • 更新 session-3.status = "completed"
  • 进入 Session 4