prd-success-metrics.html
7.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8" /><meta name="viewport" content="width=device-width,initial-scale=1" />
<title>成功指标 · LemonBoss PRD</title>
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link href="https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,300;9..144,500;9..144,700&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;700&display=swap" rel="stylesheet" />
<link rel="stylesheet" href="assets/shell.css" />
</head>
<body data-page="prd-success-metrics.html">
<div class="shell">
<aside id="sidebar"></aside>
<main class="page">
<header class="page-head">
<div class="crumb"><span class="pill">01 · PRD</span><span class="sep">/</span><span>成功指标</span></div>
<h1>成功指标与 KPI</h1>
<p class="deck">三层指标:P0 阶段验收(每阶段闸门)、P1 北极星(整体存活)、P2 长期质量(运营期)。每条都给具体数字,便于「过没过」的二值判断。</p>
</header>
<article class="body">
<section>
<h2>P0 · 阶段闸门指标(每阶段必须 100%)</h2>
<table>
<thead><tr><th>阶段</th><th>指标</th><th>目标</th><th>测量方式</th></tr></thead>
<tbody>
<tr><td rowspan="3"><b>P1</b></td><td>curl 一句话需求 → 三份文档落盘</td><td>≥ 90% 成功率(10 次抽样)</td><td>integration test</td></tr>
<tr><td>PRD/SDD HTML 通过 cheerio 校验</td><td>100%</td><td>DocStore.validateHTML</td></tr>
<tr><td>units.json schema 校验</td><td>100%</td><td>typebox</td></tr>
<tr><td rowspan="3"><b>P2</b></td><td>单 Unit 红→绿收敛率</td><td>≥ 80% 在 3 次 retry 内</td><td>10 个 demo Unit 跑 100 次</td></tr>
<tr><td>retryWithReflection 二次失败率</td><td>≤ 30%</td><td>同上</td></tr>
<tr><td>沙箱越权写</td><td>0 次</td><td>越权写直接拒绝</td></tr>
<tr><td rowspan="3"><b>P3</b></td><td>「contract_mismatch」演示自愈</td><td>≥ 90% 一轮内修复</td><td>注入 5 种典型 mismatch</td></tr>
<tr><td>L2 总修复轮次</td><td>平均 ≤ 1.5</td><td>同上</td></tr>
<tr><td>impl_bug 与 spec_ambiguous 归类正确率</td><td>≥ 85%</td><td>30 个标注 case</td></tr>
<tr><td rowspan="3"><b>P4</b></td><td>Dashboard SSE 端到端延迟</td><td>≤ 2s(P95)</td><td>手动 stopwatch + 浏览器 perf</td></tr>
<tr><td>PRD diff 面板渲染正确率</td><td>100%</td><td>10 个 rev 切换</td></tr>
<tr><td>L3 反馈 → 增量 reset 准确率</td><td>≥ 95%</td><td>diff_units 单测</td></tr>
</tbody>
</table>
</section>
<section>
<h2>P1 · 北极星 KPI(系统整体)</h2>
<div class="grid-3">
<div class="card l3">
<h4>速度</h4>
<h1 style="font-size:48px;margin:0;font-family:Fraunces">< 30min</h1>
<p>「TODO API + 前端」从需求 → shipped 端到端</p>
</div>
<div class="card l3">
<h4>成本</h4>
<h1 style="font-size:48px;margin:0;font-family:Fraunces">< 50万</h1>
<p>Token / 上述 demo</p>
</div>
<div class="card l3">
<h4>无人化率</h4>
<h1 style="font-size:48px;margin:0;font-family:Fraunces">≥ 80%</h1>
<p>项目从启动到 shipped 不需人工干预的比例</p>
</div>
</div>
<p class="sig">在 P4 演示日同时满足三条 = 系统达成 MVP。任意一条不达就视为<b>失败</b>,回到 P3 调优。</p>
</section>
<section>
<h2>P2 · 长期质量 KPI(运营期)</h2>
<table class="dense">
<thead><tr><th>维度</th><th>指标</th><th>目标</th><th>采集</th></tr></thead>
<tbody>
<tr><td>收敛性</td><td>blocked 项目比例(30 天内)</td><td>≤ 10%</td><td>UnitRegistry 累计</td></tr>
<tr><td>收敛性</td><td>l2_exhausted 比例</td><td>≤ 5%</td><td>LoopController 日志</td></tr>
<tr><td>质量</td><td>shipped 项目人工返工率</td><td>≤ 20%</td><td>人工标注</td></tr>
<tr><td>质量</td><td>contract.json 与 SDD 一致性</td><td>100%</td><td>DocStore 校验</td></tr>
<tr><td>反思有效性</td><td>retry-2 比 retry-1 失败率降幅</td><td>≥ 40%</td><td>runs/result.json 统计</td></tr>
<tr><td>成本</td><td>平均 Token / 项目</td><td>持续下降趋势</td><td>token_budget 累计</td></tr>
<tr><td>速度</td><td>平均墙钟 / 项目</td><td>≤ 1 小时</td><td>project.json 时间戳</td></tr>
<tr><td>文档健康</td><td>PRD section 与代码 unit 对齐率</td><td>≥ 90%</td><td>每周脚本扫描</td></tr>
<tr><td>复现力</td><td>外部 Claude Code 复现成功率</td><td>≥ 70%</td><td>季度复现实验</td></tr>
</tbody>
</table>
</section>
<section>
<h2>反指标(不要追的东西)</h2>
<div class="callout warn">
<ul style="margin:0">
<li><b>不追「项目数量」</b> — 一个跑通的项目 >> 十个挂起的项目。</li>
<li><b>不追「代码行数」</b> — Coder 写 200 行能解决的就不要 500 行。</li>
<li><b>不追「Agent 调用次数」</b> — 调用次数越多越花钱,不是越「努力」越好。</li>
<li><b>不追「PRD rev 数量」</b> — rev 多说明需求不清晰,不说明产品丰富。</li>
</ul>
</div>
</section>
<section>
<h2>验收清单(P4 演示日)</h2>
<table class="dense">
<thead><tr><th>#</th><th>项</th><th>判定</th></tr></thead>
<tbody>
<tr><td>1</td><td>从空项目 curl 启动 TODO 需求</td><td>30s 内 prd.html v1 落盘 ✓</td></tr>
<tr><td>2</td><td>L1 全部 Unit 通过</td><td>≤ 3 次 retry / Unit ✓</td></tr>
<tr><td>3</td><td>L2 通过</td><td>≤ 1 次 L2 round ✓</td></tr>
<tr><td>4</td><td>追加「加 OAuth」反馈</td><td>仅 oauth-be + oauth-fe + auth-mw 入 L1,其他不动 ✓</td></tr>
<tr><td>5</td><td>注入 contract mismatch</td><td>BugTriager 一轮内修复 ✓</td></tr>
<tr><td>6</td><td>Dashboard 全程实时跟随</td><td>SSE 不丢、不重复 ✓</td></tr>
<tr><td>7</td><td>shipped 后归档</td><td>history/ 完整 ✓</td></tr>
<tr><td>8</td><td>外部 Claude Code 用 PRD 复现整套 DevLoop</td><td>5 文件 + 6 模板生成,单测 ≥ 80% 绿 ✓</td></tr>
</tbody>
</table>
<p class="sig">8 项全 ✓ → 系统可对外宣布 v1.0。</p>
</section>
</article>
<nav class="prev-next"></nav>
<footer class="site"><div><b>Section</b>01 · PRD</div><div><b>Page</b>prd-success-metrics.html</div></footer>
</main>
</div>
<script src="assets/shell.js"></script>
</body>
</html>