第 19 章:迭代与增长:路线图、实验与定价¶

迭代不是做更多功能,而是更快下结论。在 AI 时代,你最大的优势是速度,但最大的风险也是速度:没有刹车机制的赛车,跑得越快,撞毁得越惨。[4][6]
当你已经能上线、能回滚、能评测,增长才有意义。否则增长只是把问题放大:更多用户体验到更多不稳定,更多成本暴露更多亏损。
你将收获什么¶
- 一张验证式路线图:不再写“要做什么功能”,而是写“要验证什么假设”。[4]
- 一套实验节拍:两周一轮,一张卡片定生死(保留/回滚/改进)。[6]
- 一套定价护栏:让商业模式直接映射到系统流控与熔断策略。[6]
核心逻辑:增长是闭环的放大器¶
1. 读者目标¶
你要建立一个能持续推进的节奏:每两周交付一个可验证的结论,而不仅仅是一堆代码。
2. 论证链条¶
迭代的链条不是“开发 -> 上线”,而是: 假设 -> 实验 -> 观测 -> 裁决 -> (归档/扩量)
缺少裁决与归档,你的迭代就是无效空转。[4][6]
3. 落地标准¶
验收不是“上线了”,而是: - 有对比:关键指标涨了吗? - 有底线:守门指标(成本/延迟/错误率)守住了吗? - 有结论:是继续做,还是杀掉这个功能?[6]
关键流程:两周迭代节拍(裁决驱动)¶
不要让“开发”占满两周。留出时间给“设计实验”和“裁决”。
第 1 天:定义假设(北极星指标 -> 断点地图 -> 实验卡片)
第 2-9 天:开发与灰度(代码 + 埋点 + 门禁)
第 10 天:全量与观测(线上数据积累)
第 11-13 天:离线回归 + 线上对比
第 14 天:裁决会议(保留/暂停/回滚) -> 归档 -> 更新路线图
路线图:把“功能列表”改成“验证列表”¶
传统路线图:我们要开发 A、B、C 功能。 增长路线图:我们要验证 A、B、C 假设,如果不成立,就不做后续的 D、E、F。[4]

模板:验证式路线图¶
把你的 Excel 表头改一改,逼自己填上数字。
| 模块 | 你要验证的假设 | 成功门槛 (Must Have) | 失败/止损线 (Killer) | 证据来源 |
|---|---|---|---|---|
| Onboarding | 缩短路径能提升首日闭环率 | 首日闭环率 $\ge$ 35% 且 较基线提升 $\ge$ 5% |
首日闭环率 $<$ 30% 或 7 日留存下降 $>$ 1% -> 回滚 |
埋点面板 / 漏斗图 |
| 质量 | 引用原文能提升用户信任 | 引用点击率 $\ge$ 20% 且 负反馈率 $\le$ 1% |
出现越权引用 或 幻觉率 $>$ 5% -> 阻断并回滚 |
离线回归报告 / 红队日志 |
| 定价 | 分层方案能筛选高价值用户 | Pro 版转化率 $\ge$ 3% 且 毛利率 $\ge$ 20% |
退款率连续两周 $>$ 3% 或 毛利率 $<$ 10% -> 暂停扩量 |
支付对账单 / 成本监控 |
门槛数字从哪来
上表中的 35%、5%、20% 等不是普适真理,而是起跑点。确定门槛的方法:(1) 先跑 1-2 轮无门槛迭代,收集基线数据;(2) 基线 ± 1σ 作为初始门槛;(3) 每 3 轮迭代根据实际分布修订。没有基线就先用行业均值(如 SaaS 首日留存 15-40%),但必须在第二轮替换为自有数据。
注意:不要写"提升用户体验"这种废话。体验提升必须翻译成"留存涨了"或"投诉少了"。
实验:每次只回答一个问题¶
一人团队最忌讳“顺手优化”。在这个版本里改了模型,顺便改了 Prompt,又顺便动了 UI。最后数据变了,你根本不知道是哪个动作带来的。[4]
模板:增长实验卡片¶
每次改动前,强迫自己写完这张卡片。写不出来就别动代码。
| 字段 | 说明 | 示例:新用户引导优化 |
|---|---|---|
| 假设 | 改动 -> 指标变化 (Why) | 把注册后强制弹窗改为侧栏提示 -> 减少干扰,提升首日闭环率 |
| 目标用户 | 谁会看到 (Who) | 新注册用户,首次进入核心页面 |
| 变量控制 | 改了什么 (What) | Feature Flag new_onboarding_v1,灰度 50% |
| 成功门槛 | 达到多少算赢 | 首日闭环率 $\ge$ 35% |
| 守门指标 | 只要触碰就立刻输 | 7 日留存下降 $>$ 1%;客诉率 $>$ 0.3%;P95 延迟增加 $>$ 50ms |
| 观察窗口 | 跑多久 | 14 天 或 累计 1000 个新用户样本 |
| 回滚预案 | 输了怎么办 | 关闭 Flag 恢复旧版;将流失用户的 Session ID 记入失败样本集 |
可执行示例:用 AI 帮你设计实验¶
如果你只有一个模糊的想法,可以让模型帮你生成更严谨的实验卡片。
# 假设你想做个功能:在文档里自动插入相关图片
# 让 AI 帮你把这个想法变成可执行的实验设计
cat <<'PROMPT' | <LLM_CLI> > experiment_design.md
我是独立开发者。我想在 AI 生成的文档里自动插入相关图片,目的是提升用户的阅读体验。请把这个想法转化为一个标准的'增长实验卡片'。
要求输出 Markdown 表格,包含:
1. 具体的假设(Hypothesis)
2. 成功指标与量化门槛(Success Metrics)
3. 守门指标与止损线(Guardrail Metrics,必须包含成本和延迟)
4. 失败后的回滚动作(Rollback Plan)
PROMPT
cat experiment_design.md
证据留档:给未来的自己留条后路¶
你现在觉得“我肯定记得为什么这么改”,两周后你绝对会忘。建立一个极简的证据目录,不是为了写周报,是为了复盘。
目录结构规范¶
reports/
└── 2025-12-24_exp-onboarding-001/
├── experiment-card.md # 上面的实验卡片
├── judge.baseline.json # 改造前的评测结果
├── judge.candidate.json # 改造后的评测结果
├── decision.md # 最终裁决:保留 / 暂停 / 回滚
└── evidence/ # 截图、日志、Trace ID
自动化裁决流程¶
用脚本把“感觉”变成“数据”。
步骤 1:准备实验卡片
DATE=$(date +%F)
EXP_ID="exp-image-insertion-001"
mkdir -p "reports/$DATE/$EXP_ID"
# 把上面生成的 experiment_design.md 存进去
步骤 2:跑通门禁(模拟) 确保你的改动没有击穿底线。
# 运行成对比较评测(基线 vs 候选)
python3 docs/examples/evaluation/judge_pairwise.py \
--in docs/examples/evaluation/sample.jsonl \
--judge mock \
--out "reports/$DATE/$EXP_ID/judge.candidate.json"
# 假设基线已经存在(实际使用中应取上一版本的报告)
cp "reports/$DATE/$EXP_ID/judge.candidate.json" "reports/$DATE/$EXP_ID/judge.baseline.json"
# 运行门禁裁决
python3 docs/examples/evaluation/judge_gate.py \
--baseline "reports/$DATE/$EXP_ID/judge.baseline.json" \
--candidate "reports/$DATE/$EXP_ID/judge.candidate.json" \
--max-win-rate-drop 0.01 \
--max-tie-rate-increase 0.03
步骤 3:写下裁决 只允许三选一。
# 裁决结论
- [ ] **保留 (Keep)**: 指标显著提升,守门指标正常,全量发布。
- [ ] **暂停 (Pause)**: 数据波动大或样本不足,延长观察期或补充日志。
- [x] **回滚 (Rollback)**: 触发止损线(如延迟飙升),立即下线并修复。
定价:系统最硬的护栏¶
不要把定价看作营销,要看作流控。 定价的本质是:你只允许用户在“你能承受的成本范围”内消耗资源。
0->1 定价策略:先止损,后盈利¶
别搞复杂的 Token 计费,初期没人看得懂。 推荐策略: 1. 按任务/结果计费:一份报告、一次润色、一个项目。用户容易懂,你也容易算毛利。 2. 分层即风控: * 免费/试用版:严格限制上下文长度、禁止高成本工具(如联网搜索)、低优先级队列。 * Pro 版:放开限制,但必须有明确的配额(如每日 50 次)。 * 企业版:卖的是“可治理性”(日志、审计、SLA),不仅仅是量。
成本护栏对照表¶
把这些规则写死在代码里,而不是运营文档里。[6]
| 护栏层级 | 触发条件 | 系统动作(自动) | 话术提示 |
|---|---|---|---|
| 单次请求熔断 | 预估 Cost $>$ 0.2 元 | 强制降级模型 (Pro -> Flash) 或 截断上下文 |
"任务过于复杂,已切换至极速模式处理" |
| 单用户日限额 | 当日 Cost $>$ 5 元 | 拒绝服务 或 仅允许访问历史数据 |
"今日算力配额已耗尽,请明日再来或升级套餐" |
| 全局亏损熔断 | 当月总 Cost $>$ 预算的 80% | 停止所有拉新广告投放 关闭高耗能实验特性 |
(内部告警) "警告:月度预算即将耗尽" |
| 反薅羊毛 | 1 分钟内失败请求 $>$ 10 次 | 封禁 IP 1 小时 记录 Fingerprint |
"请求过于频繁,请稍后再试" |
只有两个字:对齐¶
价值线(用户买单的理由)必须与 成本线(你付出的代价)对齐。 如果用户买的是"无限次对话",而你付出的是"GPT-4 的 Token",你一定会破产。 如果用户买的是"生成一份可用的代码",而你付出的是"多次 Agent 迭代 + 运行测试",这是健康的,因为价值和成本是正相关的。
指标冲突裁决¶
实际运营中,指标之间必然冲突。质量提升往往意味着成本上涨,成本压缩往往导致留存下降。不要假装冲突不存在。
裁决优先级(从高到低):
- 安全/合规指标(不可妥协):触碰红线直接回滚,不允许用其他指标补偿。
- 守门指标(底线):成本、延迟、错误率。允许在 ±10% 范围内弹性调整,但超出必须有书面豁免。
- 北极星指标(增长目标):留存率、闭环率。在守门指标安全的前提下最大化。
典型冲突与处置:
| 冲突场景 | 处置策略 |
|---|---|
| 质量↑ 但 成本↑ 30% | 先计算单用户 LTV/CAC 比,若 > 3 则保留;否则降级模型或限制调用频次 |
| 留存↑ 但 延迟↑ 超 SLO | 回滚功能变更,保留延迟优化,异步化高成本计算 |
| 转化↑ 但 退款率↑ | 暂停扩量,排查退款集中在哪类用户/功能,针对性修复后重新灰度 |
复现检查清单¶
在开始增长前,自查这几项。缺一项,增长就是自杀。
- [ ] 路线图已清洗:没有模糊的“优化体验”,只有带数字门槛的“验证假设”。[4]
- [ ] 实验有闭环:每张实验卡片都填好了“失败怎么回滚”。[6]
- [ ] 定价即防线:成本最高的接口,都有对应的硬编码限额或降级策略。[6]
- [ ] 门禁可执行:
judge_gate.py能跑通,且配置了非 0 退出码来阻断烂代码。
常见陷阱(失败样本)¶
1. 只有功能,没有假设¶
现象:两周做了 5 个功能,用户无感。 修正:砍掉 3 个功能,只做 2 个最有把握提升北极星指标的,并为它们设计埋点。
2. 定价与成本倒挂¶
现象:用户量暴涨,云账单暴涨,但收入没涨。 修正:立即检查哪类请求在烧钱。如果是低价值请求(如闲聊),立即用模型降级或限额切断。
3. 为了增长牺牲防线¶
现象:为了让用户觉得“爽”,去掉了内容安全过滤,或者放开了 Context 限制。 修正:这是饮鸩止渴。一旦被攻击或刷爆 Token,项目直接死亡。把守门指标(安全/成本)作为不可逾越的红线。
交付物清单¶
- 验证式路线图(Excel/Notion,带门槛列)。
- 实验卡片库(Markdown,带裁决记录)。
- 定价与流控策略代码(在 API 网关或应用层实现的限流/降级逻辑)。
下一章¶
增长把系统放大了,同时也把风险放大了。如何确保你的 AI 不会因为吐出敏感数据、侵犯版权或产生有害内容而让你惹上官司? 见 20-governance.md:治理、合规与伦理。