Competitor Research — 竞品调研与差异化定位
回答"我该在哪避开正面竞争",不是"市面上有哪些类似产品"。
模式选择
- 用户明说"快速扫一下""简单看看" → 快速扫描
- 用户明说"深度调研""正式分析" → 深度调研
- 未指定 → 默认快速扫描,报告尾部提供"升级深度调研"入口
- 升级深度调研时,被动复用已有
cards/和evidence/文件(非主动缓存机制——若上次快速扫描恰好生成了文件则用,否则从零开始)。v2 再做主动增量缓存
执行流程
阶段 0:定义项目(模糊输入补 1 轮提问)
↓
阶段 1:市场发现(共享检索 + 轻量线索,两轮无新增即停)
↓
阶段 2:分类筛选(四类地图 + 四维评分;深度模式暂停确认清单)
↓
阶段 3:逐品调研(全部走 subagent 委托+文件交接,主上下文只回传一行摘要)
↓
阶段 4:综合分析(只读 cards/,横向对比 → 市场共识/未满足需求/差异化方向)
↓
阶段 5:Coverage Gate(四条件检查,不通过→回环补搜→回到阶段4,快速≤1轮/深度≤2轮)
├── 5.1 反证搜索(强制,不许静默丢弃)
└── 5.2 反同质化检查(9问4档结论)
↓
阶段 6:报告产出(Markdown → 构建数据层 → 可选多格式导出)
各阶段详细规则见 references/,按需加载:
| 阶段 | 加载文件 | 说明 |
|---|---|---|
| 0-2 | references/discovery-playbook.md | 项目定义 + 市场发现 + 分类筛选 |
| 3 | references/product-card.md | 逐品调研 + 产品卡模板 + 预算指导线 |
| 4,6 | references/report-template.md | 综合分析(+价值主张/叙事分析) + 报告产出 |
| 5 | references/checks.md | Coverage Gate + Bull/Bear/Judge辩论 + 反同质化检查 |
| 升级 | references/caching.md | 增量调研缓存协议(v2) |
| 监控 | references/monitoring.md | 竞品持续监控协议(v2) |
| 追问 | references/follow-up.md | 报告产出后的追问与迭代模式 |
| 数据层 | references/research-data-schema.md | 统一研究数据结构(JSON Schema),多格式输出的唯一数据源 |
工具脚本 (scripts/):
| 脚本 | 用途 |
|---|---|
competitor_fetcher.py | 零依赖爬虫:App Store / Product Hunt / 元数据 / 定价 |
gate_checker.py | Coverage Gate 自动计算:解析 cards/ → 四条件评分 |
build_research_data.py | 构建统一数据层:cards/ + report.md → research-data.json |
export_excel.py | 多 Sheet Excel 导出:research-data.json → competitor-analysis.xlsx |
monitor.py | 持续监控:init / check / report / list |
Coverage Gate 回环说明
阶段4综合分析后,Gate 检查四条件(证据覆盖度 / 来源多样性 / 声明置信度 / 反证风险):
- 🟢 全部通过 → 进入阶段6
- 🟠 有失败 → 生成缺口查询 → 回环补搜(阶段1或阶段3)→ 重新分析(阶段4)→ 重新 Gate
- 🔴 达到回环上限 → 标注"证据不足"但仍继续产出报告
回环上限:快速模式 ≤1 轮,深度模式 ≤2 轮。
防幻觉硬规则(全程强制)
- 断言标记:所有断言按类型标记——
[来源: URL](可验证事实)、[反馈源: 出处](用户评价)、[推断](AI 分析)。禁止混写。 - 关键事实带源:定价、核心功能、运营状态必须附可点击 URL。查不到写"未找到公开信息"。
- 断言-来源匹配:严格按
references/product-card.md中的匹配表判定来源资格。 - 禁止项:估算市场规模、估算营收、估算用户量(无公开数据写"未公开")、把用户抱怨直接当机会。
- 证据分级:每条未满足需求和市场共识带强度标签——🟢强 / 🟡中 / 🔴弱。产品卡中核心事实字段带置信度标记(🟢官方一手 / 🟡二手估算 / 🔴推断补全),卡片级置信度为加权汇总。
- 时间有效性:报告标注调研日期;产品卡标注运营状态 + 最后活跃证据。
- 反证不静默丢弃:反证搜索结果必须写入报告,不得粉饰或省略。
- 来源退化标注:评论数少、有推广痕迹、信息过期时明确降级。
- 禁止推测当事实:没有可验证来源的判断一律标
[推断]。
模型路由
| 任务 | 模型 |
|---|---|
| 从压缩证据包抽取结构化字段(subagent) | haiku |
| 批量处理 2-3 个相似小产品(subagent) | haiku |
| 独立 subagent 深挖复杂竞品 | 默认模型 |
| 综合分析、差异化判断、反同质化检查 | 主模型 |
| 日常对话与流程编排 | 默认模型 |
关键设计:阶段 3 无论快速还是深度模式,全部通过 subagent 委托执行。主上下文仅准备压缩证据包(摘要+URL,~5行),派 subagent 写卡,subagent 只回传一行摘要。搜索过程和证据原文永不进入主上下文。阶段 4 主上下文只读 cards/。
边界情况
| 情况 | 处理 |
|---|---|
| 找不到任何候选竞品 | 扩大关键词再搜一轮;仍无则报告写明原因,标记低置信度 |
| 候选不足 5 个 | 全量纳入核心竞品,标注候选量少 |
| Subagent 失败/超时 | 该竞品降级为轻量线索 + 标注"调研失败 - 原因",不阻塞后续 |
| 差异化方向不足 3 个 | 反证阶段全量反证,不截断 |
| 所有方向反同质化 ≥ 🟠 | 报告标注"当前差异化不足",建议重新审视方向 |
| 中断后升级深度模式 | 读取已有 report.md + cards/ + evidence/,从阶段 3 增量补充 |
阶段 6 产出与追问
6.1 报告产出
- 生成
report.md(六段 Markdown 报告) - 运行
build_research_data.py <报告目录>→ 生成research-data.json(统一数据层) - 询问用户是否需要额外补充竞品
- 询问用户是否需要其他输出格式
6.2 多格式输出
所有格式从 research-data.json 统一生成,不是独立撰写:
| 格式 | 命令/生成方式 | 适用场景 |
|---|---|---|
| Markdown | 默认产出 report.md | 阅读、修改、进入知识库 |
转 PDF → convert_pdf.py | 正式汇报、发送合作方 | |
| Excel | 转 Excel → export_excel.py | 横向比较、筛选排序、团队协作 |
| JSON | 自动生成 research-data.json | 脚本调用、监控系统、增量调研 |
| CSV | export_excel.py --csv | 导入其他数据分析工具 |
Excel 包含 7 个 Sheet:Overview / Competitor Map / Product Cards / Claims & Evidence / Opportunity Matrix / Sources / Quality Gate。不是报告的简单复制,而是结构化的横向对比工具。
6.3 追问模式
报告产出后不退出,加载 references/follow-up.md:
| 命令 | 行为 |
|---|---|
补充 [产品名] | 新增竞品到调研 |
深挖 [产品名] | 扩展产品卡为完整卡 + evidence/ |
对比 A vs B | 生成两产品专项对比表 |
反证 [方向] | 额外反证搜索 → 追加附录 A |
这个赛道还有什么 | 补搜遗漏竞品 |
转深度模式 | 快速→深度升级 |
转 PDF / 转 Excel | 导出其他格式 |
完成 | 结束追问 |
追问后自动重新生成 research-data.json 以保持数据层同步。最多 5 轮追问。