文件预览

scoring-engine-deterministic.md

查看 opc-board 技能包中的文件内容。

文件内容

references/scoring-engine-deterministic.md

# OPC 评分引擎

**职责**:根据输入的产品想法/方案,输出结构化评分 JSON。
**原则**:确定性、可重复、严格遵循公式。

---

## 项目目标识别(必须先执行)

先判断项目目标,再识别需求类型。项目目标决定「商业可持续」维度如何评分。

| 目标 | 适用场景 | 商业可持续维度 |
|------|---------|--------------|
| 💰 盈利驱动 | 要赚钱的产品/服务 | 用 B1-B5(商业模式 / 定价 / 跑道 / 差异化 / ROI) |
| 🌐 开源 / 社区驱动 | GitHub 开源项目、公益工具、技术影响力 | 用 B1'-B5'(项目可持续性替代子项) |
| 🧪 个人实验 | 学习项目、技术探索、不追求用户 | 商业可持续可 N/A |

## 需求类型识别

| 类型 | 适用场景 |
|------|---------|
| SaaS / 工具 | 独立开发的软件产品、Chrome 插件、API 服务 |
| 内容产品 | 付费专栏、课程、社群、Newsletter |
| 咨询/服务 | 给客户出方案、外包交付、顾问项目 |
| MVP 验证 | 首次验证假设,最小可行产品 |
| 功能迭代 | 已有产品的改进、数据驱动优化 |
| 开源项目 | GitHub 开源、开发者工具、社区驱动 |

---

## 五维评分维度

| 维度 | 代号 | 衡量什么 | 主评顾问 |
|------|------|---------|---------|
| 逻辑自洽 | L | 需求本身有没有自相矛盾 | **跨顾问**(所有顾问汇总) |
| 独立可交付 | D | 一个人在技术栈舒适区内做不做得出来 | 技术顾问 + 体验顾问(兼评) |
| 增长可行 | G | 冷启动靠什么、用户怎么来怎么留(含体验差异化) | 增长顾问 + 体验顾问(主评) |
| 商业可持续 | B | 能不能赚到钱、跑道够不够 | 商业顾问 |
| 风险可控 | R | 合规/版权/平台规则,一个人搞不搞得定 | 风险顾问 |

---

## 权重表

| 需求类型 | 逻辑自洽 | 独立可交付 | 增长可行 | 商业可持续 | 风险可控 |
|---------|---------|-----------|---------|-----------|---------|
| SaaS / 工具 | 20 | 25 | 20 | 20 | 15 |
| 内容产品 | 20 | 15 | 25 | 25 | 15 |
| 咨询/服务 | 25 | 15 | 15 | 25 | 20 |
| MVP 验证 | 25 | 20 | 20 | 20 | 15 |
| 功能迭代 | 20 | 25 | 25 | 15 | 15 |
| 开源项目 | 20 | 30 | 25 | 10 | 15 |

> 📌 开源项目权重说明:独立可交付和增长可行(社区增长)是开源项目的核心,商业可持续(项目可持续性)权重降低至 10%,避免因"不赚钱"而被不合理惩罚。

---

## N/A 维度判定

| 维度 | N/A 条件 |
|------|---------|
| 逻辑自洽 | **永不 N/A** |
| 独立可交付 | 仅纯咨询/内容且无任何技术实现时 |
| 增长可行 | 仅纯内部自用工具时 |
| 商业可持续 | 仅「个人实验」目标时可 N/A;「开源/社区驱动」用替代子项 B1'-B5' 评分,不可 N/A |
| 风险可控 | 仅极轻量个人实验项目(不涉及用户数据、不上架平台) |

**兜底**:至少保留 3 个维度参与评分。不足时按优先级恢复:独立可交付 → 风险可控。

---

## 子项检查清单(强制,主评分机制)

每维度 5 个子项,每项 0/1/2 分,维度满分 10。

| 判定 | 分值 | 标准 |
|------|------|------|
| 完整 | 2 | 有明确详细描述,可指导执行 |
| 部分 | 1 | 有提及但不够详细或有模糊 |
| 缺失 | 0 | 完全没有相关内容 |

### 信息缺失处理(强制)

- 用户未提供的信息:标记"待确认",给保守分 1 分(非 0 非 2),evidence 注明"用户未提供,保守分"
- 从上下文推断的信息:标记"推断",evidence 注明推断依据,允许给 0/1/2 分但必须说明推断逻辑
- **禁止编造**:不得凭想象补充用户未提及的业务细节、市场数据或竞品信息
- **禁止假设意图**:用户没说要赚钱就不假设商业模式,没说目标用户就不编造画像
- 报告必须包含「用户提供的信息」区块,列出每项信息的来源(用户明确提供 / 推断 / 缺失)

---

### 逻辑自洽(L1-L5)

| # | 子项 | 2 分 | 1 分 | 0 分 |
|---|------|------|------|------|
| L1 | 目标明确可衡量 | 有可衡量指标,目标间有优先级 | 有目标但不可衡量或优先级不清 | 无目标或自相矛盾 |
| L2 | 核心交付物明确 | 交付物/功能清单无遗漏,有优先级 | 有列表但遗漏或无优先级 | 无交付物定义 |
| L3 | 功能与目标对齐 | 每个功能服务于明确目标 | 大部分对齐,少量目的不明 | 功能与目标脱节 |
| L4 | 成功标准可衡量 | 有可量化的成功指标(用户数/收入/完课率等) | 有标准但不够精确 | 无成功标准 |
| L5 | 无逻辑矛盾 | 功能间、目标间、约束间无冲突 | 轻微不一致不影响核心 | 明显逻辑矛盾 |

---

### 独立可交付(D1-D5)

| # | 子项 | 2 分 | 1 分 | 0 分 |
|---|------|------|------|------|
| D1 | 技术栈在舒适区 | 主力技术栈,有成熟经验 | 需要学新框架但可控 | 完全陌生的技术栈 |
| D2 | 个人工期合理 | 考虑一人时间约束,有里程碑 | 有粗略排期但可能低估 | 无排期或严重低估 |
| D3 | 边界场景覆盖 | 异常/极端/降级方案有描述 | 覆盖主要异常但有遗漏 | 未考虑边界场景 |
| D4 | 无不可控外部依赖 | 无需审批/资质/第三方关键依赖 | 有依赖但有替代方案 | 存在不可控卡点 |
| D5 | 一人可维护 | 运维自动化/托管,维护成本低 | 需要一定人工运维 | 维护成本超出一人承受 |

---

### 增长可行(G1-G5)

| # | 子项 | 2 分 | 1 分 | 0 分 |
|---|------|------|------|------|
| G1 | 目标用户画像清晰 | 用户是谁、在哪、痛点是什么都明确 | 有用户描述但不够具体 | 不知道卖给谁 |
| G2 | 冷启动渠道明确 | 有具体渠道和前 100 用户获取计划 | 有思路但无具体计划 | 没想过冷启动 |
| G3 | 留存/复购机制 | 有钩子让用户持续回来 | 有一定粘性但不强 | 用完即走无复购 |
| G4 | 增长指标可衡量 | 核心指标定义清晰,有数据追踪方案 | 有指标但不完善 | 无增长指标 |
| G5 | 获客成本可承受 | 一个人的预算和精力能覆盖获客成本 | 成本有压力但勉强可控 | 获客成本超出个人承受 |

---

### 商业可持续(B1-B5)

| # | 子项 | 2 分 | 1 分 | 0 分 |
|---|------|------|------|------|
| B1 | 商业模式清晰 | 怎么赚钱说得明白(订阅/买断/佣金等) | 有收费意向但模式不清 | 不知道怎么赚钱 |
| B2 | 定价有依据 | 参考竞品/用户调研/成本结构定价 | 有定价但无依据 | 未考虑定价 |
| B3 | 跑道充足 | 时间+资金足以验证假设 | 跑道紧张但勉强够 | 跑道明显不足 |
| B4 | 竞品差异化明确 | 差异点清晰且用户可感知 | 有差异但不够突出 | 无差异化或完全同质 |
| B5 | 投入产出合理 | 预期回报与投入时间/金钱匹配 | 有回报预期但未量化 | 投入产出明显不合理 |

---

### 商业可持续-开源替代(B1'-B5')

> 当项目目标为「🌐 开源/社区驱动」时,用以下子项替代 B1-B5。衡量的不是"能不能赚钱",而是"这个项目能不能持续活下去、持续产生价值"。

| # | 子项 | 2 分 | 1 分 | 0 分 |
|---|------|------|------|------|
| B1' | 价值主张清晰 | 解决的问题明确,目标用户能一句话说清为什么用 | 有价值但定位模糊 | 不知道给谁用、解决什么问题 |
| B2' | 社区可持续 | 有明确的社区运营计划(文档/贡献指南/交流渠道) | 有基本文档但无社区规划 | 无文档、无社区意识 |
| B3' | 维护者精力可控 | Issue/PR 处理策略清晰,避免 burnout | 意识到维护压力但无策略 | 未考虑长期维护 |
| B4' | 差异化明确 | 与同类开源项目的差异清晰,用户有理由选你 | 有差异但不够突出 | 完全同质化,没有选你的理由 |
| B5' | 影响力路径 | 有明确的传播/推广策略(技术博客/社区分享/SEO) | 有想法但无具体计划 | 没想过怎么让人知道 |

---

### 风险可控(R1-R5)

| # | 子项 | 2 分 | 1 分 | 0 分 |
|---|------|------|------|------|
| R1 | 数据合规 | 隐私政策/用户授权已规划 | 有合规意识但方案不完整 | 未考虑数据合规 |
| R2 | 知识产权 | 字体/素材/代码授权已确认 | 部分确认但有遗漏 | 存在明显侵权风险 |
| R3 | 平台规则合规 | 应用商店/支付/分销合规要求已确认 | 了解但未全面确认 | 未考虑平台规则 |
| R4 | 法律风险可控 | 免责/退款/宣传合规已排查 | 有法律意识但不彻底 | 存在明显法律风险 |
| R5 | 一人兜底能力 | 有应急预案,出事了能快速处理 | 有一定预案但不完善 | 无预案,出事了无法处理 |

---

## 评分计算

### 维度得分

```
维度得分 = 子项1 + 子项2 + 子项3 + 子项4 + 子项5(满分 10)
```

### 综合分计算

**步骤 1**:有效权重归一化(有 N/A 时)

```
Σ_raw = sum(非 N/A 维度的原始权重)
weight_effective[i] = weight_raw[i] / Σ_raw
```

**步骤 2**:计算综合分

```
composite_score = Σ(维度得分[i] × weight_effective[i]) × 10
```

**步骤 3**:算术校验——代回公式确认等式成立,不等时以公式结果为准。

**快捷公式**(五维均 20% 且无 N/A):`composite_score = 五维得分之和 × 2`

---

## 一致性校验(强制)

子项求和后,与区间描述做一致性检查:

| 总分 | 应匹配描述 |
|------|-----------|
| 9-10 | 该维度几乎无缺陷 |
| 7-8 | 基本过关,有少量待改进 |
| 5-6 | 核心成立但有明显问题 |
| 0-4 | 严重不足 |

若子项总分与描述不一致,最多调整 1 个子项 1 分,并在 evidence 中标注原因。

---

## 评级与决策

| 评级 | 分数 | 决策 |
|------|------|------|
| S | 85-100 | Go |
| A | 75-84.9 | Conditional Go(少量条件) |
| B | 65-74.9 | Conditional Go(明确整改清单) |
| C | 0-64.9 | No Go / 重新想 |

---

## 决策闸门

| 闸门 | OPC 判定标准 |
|------|-------------|
| 价值闸门 | 解决的问题是否真痛?盈利项目:用户愿不愿意付钱?开源项目:用户愿不愿意用并参与社区? |
| 风险闸门 | 合规/法律/平台规则有没有红线? |
| 资源闸门 | 一个人做得出来吗?时间和钱够不够? |
| 战略闸门 | 这个方向值不值得一个人 All in? |

- **Go**:四闸门通过
- **Conditional Go**:存在可控风险(先 MVP / 先灰度)
- **No Go**:关键闸门不通过,换方向或延期

---

## A/B/C 方案对比(报告必含)

| 维度 | A 完整版 | B 精简版 | C MVP |
|------|---------|---------|-------|
| 范围 | 全功能 | 砍掉非核心 | 只做核心 1 个 |
| 周期 | 长 | 中 | 短(3 周内) |
| 风险 | 高(一人扛不住) | 中 | 低 |
| 适用 | 验证过的成熟方向 | 资源有限但方向明确 | 快速验证假设 |

---

## OPC 决策卡(报告必含)

把 5 顾问质疑折叠成决策清单,三栏:
- ✅ **立刻独立完成**:一个人能做、风险可控
- ⚠️ **必须找外援**:自己搞不定(设计/法务/运维等)
- ❌ **应该砍掉**:投入产出不合理或风险太高

附时间盒方案:3 周 / 6 周 / 3 月各对应什么范围。

---

## 分析框架(评估时参考)

评分时结合以下分析工具提升评估深度,不改变五维评分结构,作为各维度打分的辅助判断依据。

### Lean Canvas 快照 → 商业可持续维度

用 Lean Canvas 结构审视用户的商业模式是否完整:

| 画布块 | OPC 关注点 |
|--------|-----------|
| Problem | 解决的是真痛点还是伪需求? |
| Solution | 一个人做得出来的方案? |
| UVP | 一句话说清凭什么用你的? |
| Unfair Advantage | 一人公司的护城河(速度/垂直专业/低成本)? |
| Customer Segments | 目标用户够具体吗? |
| Channels | 一个人能触达的渠道? |
| Revenue Streams | 怎么收钱?定价有依据吗? |
| Cost Structure | 固定成本和变动成本算过吗? |
| Key Metrics | 用什么数据判断活着还是死了? |

- **盈利驱动**:商业可持续子项(B1-B5)打分时,检查 Lean Canvas 各块是否有覆盖。
- **开源/社区驱动**:Revenue Streams → 改为"可持续来源"(Sponsor / 捐赠 / 基金 / 副产品收入 / 纯热爱,任意一项算覆盖);其余画布块仍适用,但关注点从"能不能赚钱"转为"能不能持续产生价值"。

### Pre-Mortem 风险分类 → 风险可控维度

打分前先将识别到的风险分为三类:

| 类型 | 含义 | OPC 典型示例 |
|------|------|-------------|
| 🐯 Tigers(真正致命) | 发生就直接死 | 合规红线、核心依赖不可控、资金断裂 |
| 📄 Paper Tigers(看着可怕但可解) | 有替代方案或可规避 | 技术不熟但可学、竞品强但差异化明确 |
| 🐘 Elephants(不愿面对但必须面对) | 被故意忽略的真问题 | 市场可能不存在、创始人能力缺口、跑道不够 |

风险可控子项(R1-R5)打分时,先做 Pre-Mortem 分类,Tigers 直接影响 R 分,Elephants 在报告中单独标注。

### North Star Metric → 增长可行维度

帮用户识别核心衡量指标,判断 G4(增长指标可衡量):

| 业务类型 | North Star 方向 | 示例 |
|---------|----------------|------|
| 交易型(Transaction) | 交易频次 / GMV | 付费用户数、MRR |
| 注意力型(Attention) | 使用深度 / 时长 | DAU、人均使用时长 |
| 生产力型(Productivity) | 任务完成效率 | 任务完成率、节省时间 |

如果用户说不清自己的核心指标,G4 给 0-1 分。

### MoSCoW → 独立可交付维度

帮用户做 MVP 范围裁剪,判断 D2(个人工期合理)和 D3(边界场景覆盖):

| 优先级 | 含义 | OPC 原则 |
|--------|------|----------|
| **Must** | 没有就不成立 | 不超过 3 项,超过就追问能否砍 |
| **Should** | 重要但可延后 | V2 再做,不影响上线 |
| **Could** | 锦上添花 | 有精力再说 |
| **Won't** | 明确不做 | 一个人不碰,写清边界 |

Must 列超过 3 项,D2 扣分;Won't 没想清楚,D3 扣分。

### Customer Journey Map → 增长可行 + 独立可交付维度

用 7 阶段框架审视用户旅程完整度,判断 G1(冷启动渠道)、G3(留存)和 D3(边界场景):

| 阶段 | 关键问题 |
|------|---------|
| Awareness | 目标用户怎么知道你? |
| Consideration | 用户为什么选你而不选竞品? |
| Acquisition | 注册/购买流程顺畅吗? |
| Onboarding | Aha Moment 出现在第几步?超过 3 步就危险 |
| Engagement | 核心使用频率多高? |
| Retention | 什么机制让用户留下来? |
| Advocacy | 用户会主动推荐吗?为什么? |

一个人做不到 7 个阶段都完美,重点追问用户打算优先打磨哪 2-3 个阶段。

---

## 输出 JSON 结构

```json
{
  "project_goal": "盈利驱动 | 开源/社区驱动 | 个人实验",
  "project_goal_reason": "判定依据",
  "demand_type": "SaaS / 工具",
  "demand_type_reason": ["判定依据1", "判定依据2"],
  "info_sources": [
    { "item": "项目名称", "value": "...", "source": "用户提供 | 推断 | 缺失", "basis": "推断依据(仅推断时填写)" }
  ],
  "na_dimensions": [
    { "name": "维度名", "reason_signals": ["信号1", "信号2"] }
  ],
  "weights_raw": {
    "逻辑自洽": 20, "独立可交付": 25, "增长可行": 20,
    "商业可持续": 20, "风险可控": 15
  },
  "weights_effective": {
    "逻辑自洽": 20, "独立可交付": 25, "增长可行": 20,
    "商业可持续": 20, "风险可控": 15
  },
  "score_breakdown": {
    "逻辑自洽": {
      "L1_目标明确可衡量": { "score": 2, "evidence": "..." },
      "L2_核心交付物明确": { "score": 1, "evidence": "..." },
      "L3_功能与目标对齐": { "score": 2, "evidence": "..." },
      "L4_成功标准可衡量": { "score": 1, "evidence": "..." },
      "L5_无逻辑矛盾": { "score": 2, "evidence": "..." },
      "subtotal": 8,
      "consistency_check": "8→7-8 区间→通过"
    },
    "独立可交付": {
      "D1_技术栈在舒适区": { "score": 2, "evidence": "..." },
      "D2_个人工期合理": { "score": 1, "evidence": "..." },
      "D3_边界场景覆盖": { "score": 2, "evidence": "..." },
      "D4_无不可控外部依赖": { "score": 2, "evidence": "..." },
      "D5_一人可维护": { "score": 1, "evidence": "..." },
      "subtotal": 8,
      "consistency_check": "8→7-8 区间→通过"
    },
    "增长可行": { "...同上结构..." },
    "商业可持续": { "...同上结构..." },
    "风险可控": { "...同上结构..." }
  },
  "scores": {
    "逻辑自洽": 8, "独立可交付": 8,
    "增长可行": 7, "商业可持续": 7, "风险可控": 8
  },
  "score_reasons": {
    "逻辑自洽": "L1=2 L2=1 L3=2 L4=1 L5=2 → 8 分(跨顾问汇总):...",
    "独立可交付": "D1=2 D2=1 D3=2 D4=2 D5=1 → 8 分:...",
    "增长可行": "G1=2 G2=1 G3=1 G4=2 G5=1 → 7 分:...",
    "商业可持续": "B1=2 B2=1 B3=1 B4=2 B5=1 → 7 分:...",
    "风险可控": "R1=2 R2=2 R3=1 R4=2 R5=1 → 8 分:..."
  },
  "composite_score": 75.5,
  "rating": "A",
  "decision": "Conditional Go",
  "decision_conditions": ["条件1", "条件2"],
  "risk_fatal": "致命死穴",
  "rescue_point": "救命稻草",
  "pre_mortem": {
    "tigers": ["真正致命的风险"],
    "paper_tigers": ["看着可怕但可解的问题"],
    "elephants": ["不愿面对但必须面对的真问题"]
  },
  "moscow": {
    "must": ["核心功能1", "核心功能2"],
    "should": ["重要但可延后的功能"],
    "could": ["锦上添花的功能"],
    "wont": ["明确不做的功能"]
  },
  "journey_map": {
    "stages": [
      { "stage": "Awareness", "status": "当前状态", "issue": "关键问题" },
      { "stage": "Consideration", "status": "...", "issue": "..." },
      { "stage": "Acquisition", "status": "...", "issue": "..." },
      { "stage": "Onboarding", "status": "...", "issue": "..." },
      { "stage": "Engagement", "status": "...", "issue": "..." },
      { "stage": "Retention", "status": "...", "issue": "..." },
      { "stage": "Advocacy", "status": "...", "issue": "..." }
    ],
    "aha_moment": "用户在哪个瞬间感受到核心价值",
    "churn_stage": "最可能流失的阶段"
  }
}
```

**强制规则**:
- `score_breakdown` 必填且在 `scores` 之前输出
- `scores[维度]` 必须等于 `score_breakdown[维度].subtotal`
- N/A 维度的 score_breakdown / scores 为 `null`,weights_effective 为 `0`
- `composite_score` 保留 1 位小数,必须通过公式计算(禁止凭感觉)
- `score_reasons` 格式:子项分数列表开头 + 总分 + 评语