系统判断的三道筛
30 分钟给手头产品下结论
第二章 系统判断的三道筛:你的 AI 产品该不该是「系统」
一、PRD 不缺判断,缺自检
去年我看到一份 AI 产品 PRD。开篇术语表写得正,状态机定义有,定价按账户算。每个细节都对——除了一个埋得很深的数据:用户平均一周用 1.3 次。
PRD 是按系统型写的。用户行为是工具型的。
这种错配从 2024 年下半年开始大量出现。读了几篇「AI 产品要做成系统」的文章之后,PM 把判断搬到了 PRD 第一节,但忘了回头看自己产品的实际情况是否承得起这种判断。
上一章解决了怎么区分工具和系统。这一章解决一个上一章没碰的问题——你怀疑自己该是系统,怎么验证这件事是否真的成立?
答案是三道筛:使用频率、价值粘性、定价机会。30 分钟内能给手头产品下结论。
判断方向和判断时机是两件不同的事。前者来自语言,后者来自数据。
二、三道筛
三道筛的设计逻辑:系统型 AI 产品有三个支柱,缺一不可。
筛 1:使用频率。 用户在一个稳定的时间窗口内来产品多少次?
- 每天 3 次以上:系统型有效
- 每天 1 次:可行但要补设计
- 每周 1 次:警告,系统型护城河会浅
- 每月 1 次或更少:工具型更合适
筛 2:价值粘性。 AI「记得」这件事,能让用户得到不重复的回报吗?
- 强:AI 记得你过去做过的事,下次省你时间或避免重复错误
- 中:AI 记得你的偏好,体验更顺
- 弱:AI 记得你是谁,省下一次自我介绍
- 零:每次任务独立,记忆无用
筛 3:定价机会。 用户愿意为「AI 记得我」按月或按账户付费吗?
- 是:按月订阅成立,定价合理性能写进官网首屏
- 不确定:按月可能成立,但需要营销说服
- 否:按月会被按用量竞品打掉
三道筛不是 AND 关系,也不是 OR 关系,是加权关系。
频率是底线——筛 1 必须达到每周至少 1 次,不然另外两道都失去意义。粘性是天花板——筛 2 决定你能盖多高。定价是商业可行性——筛 3 决定能不能持续。
三道筛能挑出 70% 的产品形态错误,剩下 30% 是执行问题,不是判断问题。
三、opencode 自己过三道筛
把三道筛应用到 opencode:
筛 1:频率。 开发者每天用,每次 30 分钟到几小时不等。一周 5-7 天高强度使用。
证据在 AGENTS.md:148-159 那段 V2 Session Core 不变式声明里——所有不变式都假设「长会话内多次 provider turn」是常态,不是异常。这种工程契约只有在使用频率足以让"长会话"成为产品基本单位时才会被立法。
筛 1 满分。
筛 2:粘性。 AI 记得这个 codebase 的结构、上次的进展、当前 plan / build 模式、整个 Context Epoch 的 baseline。
证据在 CONTEXT.md:26-32 的 Context Epoch 定义。这个概念本质上是「AI 记得过去事实保持有效」的物理实现。packages/opencode/src/session/ 是会话持久化层;packages/effect-drizzle-sqlite/ 是支撑这种持久化的双驱动之一。
这种「记得」给开发者的回报不重复——每次回来 agent 都比上次更懂这个项目。换一个 agent 意味着重新喂代码,迁移成本本身就是粘性。
筛 2 满分。
筛 3:定价机会。 opencode 自己是开源免费,但同档对手 Claude Code、Cursor、Replit Agent 都是按月订阅,每月 $20 起步。
packages/enterprise/ 单独存在,是定价分层的物理表达——免费版能用 build/plan 双 agent,企业版有更多。开发者愿意为「长期会话的 AI 记得我代码风格」按月付费这件事,已经被三个对手验证。
筛 3 满分。
opencode 三道筛 3/3。「做成系统」不是它的选择,是它落进「全过」区间的必然。
当一个产品三道筛全过,做成工具是放弃护城河;做成系统才是与场景对齐。
四、把 8 个 AI 产品按三道筛重新打分
继承上一章的工具↔系统光谱,但用三道筛重打分:
| 产品 | 频率 | 粘性 | 定价 | 得分 | 形态 |
|---|---|---|---|---|---|
| opencode / Replit Agent | 满 | 满 | 满 | 3/3 | 系统 |
| Claude Code | 满 | 满 | 满 | 3/3 | 系统 |
| Cursor | 满 | 满 | 满 | 3/3 | 系统 |
| ChatGPT (web) | 满 | 中(Memory 在补) | 满 | 2.5/3 | 半系统(在迁) |
| GitHub Copilot | 满 | 中 | 满 | 2.5/3 | 半系统 |
| Notion AI | 满 | 中 | 满(含在 Notion 订阅里) | 2.5/3 | 半系统 |
| Grammarly | 满 | 中 | 满 | 2.5/3 | 半系统 |
| Perplexity | 满 | 弱 | 满 | 2/3 | 工具偏系统 |
| Aider | 满 | 弱(CLI 重启就忘) | —(开源) | 1.5/3 | 半工具 |
| Claude API / ChatGPT API | —(取决于业务) | 零 | 满(按 token) | 1/3 | 工具 |
| DeepL / Remove.bg | 弱 | 零 | 满(按用量/订阅) | 1/3 | 工具 |
这张表里有几个值得记住的观察。
Aider 跟 Cursor 同样是 coding 工具,差距在筛 2。 Aider 每次 CLI session 独立,重启就忘;Cursor 有持久 workspace state、长寿的 codebase 记忆。这一道筛的差距,直接决定了 Aider 的开源 + 工具属性 vs Cursor 的订阅 + 系统属性。同一个赛道、相近的能力,护城河深度可以差一个数量级。
Notion AI 跟 Grammarly 都卡在筛 2 中段。 两者都是「嵌入式 AI」——AI 是宿主产品(笔记、文档编辑器)的功能,不是主体。AI 的「记得」被宿主吸收了,AI 本身的粘性不强。这是它们护城河比 Cursor 浅的根本原因。
ChatGPT 给自己加 Memory 是在补筛 2。 OpenAI 在 2024-2025 把 Memory + Projects + Custom GPTs 全堆进 ChatGPT,是从「工具偏系统」主动向「系统」迁的动作。补完之后 ChatGPT 跟 Cursor 在三道筛上几乎齐平。
今天的得分不是终点,是起点。给自己产品打分的同时也要给对手打。当对手在补某一道筛时,留给你的窗口期就在那道筛上。
五、三道筛怎么变成 PRD 三个章节
筛 1 的答案决定 PRD 里「会话」这个概念的定义。
低频产品(每周 1 次)的「会话」是相对独立的,agent 应该假设用户每次回来都是「从某种程度上重新开始」——把上次的核心结论摘要给他看,而不是让他直接进入。高频产品(每天 3 次)的「会话」应该是连续的——上次的工具调用、context source、未完成的待办都应该 resume 出来。
PRD 里写下「会话」两个字时,背后藏着两种完全不同的产品形态。三道筛筛出来的频率决定它在 PRD 里到底意味着什么。
筛 2 的答案决定 PRD 里「故障 / 失忆 / 恢复」章节的体积。
粘性强的产品里,「AI 记得」是核心卖点,所以「AI 忘了」是事故。PRD 要详细写忘了什么、什么时候忘、怎么告诉用户。粘性弱的产品里,「AI 记得」是 nice-to-have,「AI 忘了」是默认状态,不需要立法。
opencode 的 Context Epoch、Mid-Conversation System Message、Baseline System Context 三个概念,是「AI 记得这件事」被立法的极致版本。PRD 里有没有这种立法,反映的就是粘性这一道筛打了几分。
筛 3 的答案决定 PRD 里定价合理性章节的论证方式。
定价过了(按月订阅成立),PRD 要写「为什么按月而不是按次」——核心论点是「AI 记得你」有持续价值。定价没过(必须按用量),PRD 里要承认这件事,把粘性论证留给营销而不是定价。
三道筛在 PRD 里不是三个章节,是三个章节的体积比例。
六、反方:三道筛容易被误用的三种情况
三道筛全过,不等于产品现在就能做成。
第一种误用:把三道筛当成「做 vs 不做」的决策,忽略资源约束。 一家 10 人小公司即使三道筛全过,也未必做得动系统——系统的工程成本(持久化、状态机、跨设备会话)是工具的 3-5 倍。三道筛回答的是「该不该做」,不回答「现在能不能做」。
第二种误用:用三道筛排斥未来。 一道筛不过就放弃,会错过「用产品设计创造粘性」的机会。Notion AI 的筛 2 偏弱,但 Notion 团队可以通过让 AI 跟整个 workspace 数据深度耦合,把筛 2 推到满分。这件事正在做、还没做完。三道筛是当下的体检,不是未来的判决。
第三种误用:用三道筛绕过用户调研。 三道筛的三个问题都需要数据支撑——频率从分析工具来,粘性从用户访谈来,定价从付费率来。如果用直觉填三道筛,得到的只是直觉的结构化版本,没有更多信息。
三道筛是工具不是答案。它逼你把「我们该是系统」这种含糊的判断,变成三个可验证的问题,然后用数据回答这些问题。
三道筛筛出来的不是产品该是什么,是你对自己产品的理解有多确定。
七、自检 + 偷走清单
读完这一章,问自己 5 件事:
- 频率数据是真实的吗? 我手头产品的「用户一周用几次」,是分析工具里的真数,还是产品同学的估计?如果是估计——先去拿数。
- 粘性是已经存在的,还是希望存在的? 我说「用户回来是因为 AI 记得他」,是观察到的,还是希望发生的?后者是市场假设,不是产品事实。
- 定价机会被验证过吗? 我们按月订阅的转化率是多少?如果你不知道这个数——筛 3 还没真打分。
- 三道筛的结果跟工程的判断一致吗? 我打 3/3 的产品,工程说「做不动」,谁错了?多半是 PRD 写的「系统」被翻译成了「完整的状态机持久化」,但其实可以小步走。
- 如果一年后回头看,今天打错了哪一道? 这是 PM 给自己留的预案。设想 12 个月后某一道筛的打分变了,今天该怎么对冲?
| # | 你能立刻做的 | 难度 | 收益 |
|---|---|---|---|
| 1 | 用三道筛给自己产品打分,写进 PRD 附录 | 1 小时 | 把含糊判断变成可争论的数据 |
| 2 | 给最近 3 个对手也打三道筛 | 1 小时 | 看清窗口期在哪一道筛上 |
| 3 | 在团队群里问:「我们筛 2 是观察来的还是假设来的?」 | 5 分钟 | 暴露市场假设 |
| 4 | 跟数据同学要「用户一周登录次数分布」,不要 DAU 平均值 | 15 分钟 | 频率分布比均值能说更多 |
| 5 | 看你的对手最近 12 个月在补哪一道筛 | 30 分钟 | 预判他们下一步的产品动作 |
给产品打三道筛不需要 30 分钟。30 分钟里的 25 分钟,会花在你不肯承认的那道筛上。
八、推演场景(虚构):FinanceMate 过三道筛
继续上一章的虚构产品 FinanceMate(中小企业老板的 AI 财务助手,¥99/月)。上一章判断它该是系统。这一章用三道筛重新验证。
筛 1:频率
老板每周登录 1 次,约 30 分钟;月底集中处理 1 次,约 2 小时。
按月统计 ≈ 4.5 次。按周统计 ≈ 1.1 次。
这是偏低的频率。在三道筛体系里,每周 1 次正好踩在「警告」线。
这是上一章没暴露的隐藏问题——上一章看到了系统化的方向,但忽略了频率不足意味着每次会话之间间隔长,AI 的「记得」在用户感知上会被遗忘曲线稀释。
筛 1 得分:1.5/3
筛 2:粘性
老板教 AI 80 条分类规则之后离不开。对老板而言,换一个 AI 财务助手意味着重新教 80 条规则——这个迁移成本本身就是粘性。
AI「记得」的价值在 FinanceMate 里是核心,不是附加。
筛 2 得分:3/3
筛 3:定价机会
按月 ¥99 已经在用,用户没拒绝。这是定价被市场接受的初步证据(哪怕样本小)。
按账户算而不是按笔次,跟「AI 记得每个老板的生意」这个产品论点一致。
筛 3 得分:3/3
总分:7.5/9 ≈ 83%
结论:FinanceMate 应该是系统,但是低频系统。这是上一章看不到的细节。
低频系统的产品后果
低频系统跟高频系统看上去都叫「系统」,但 PRD 落地完全不同:
- 每次回来要「重新进入」的设计成本高。 老板上周教了一条规则,这周回来时,要么把这条规则的应用反馈给他看(建立记忆感),要么 AI 用得当场出错(破坏信任)。中间状态——无声地用了规则——是最糟的设计。
- Onboarding 不是一次性的。 每次回来都是某种程度的 re-onboarding。Dashboard 第一屏要显示「上次到这里」+「本周还需要做什么」。
- Email / 通知是产品的一部分。 低频用户每月主动登录 ≤4 次,所以「AI 帮你看了一下」这种 outbound 通知是产品体验的核心,不是 marketing 功能。
- 流失监测的指标不是 DAU,是月留存。 低频用户即使 6 周没登录,也可能没流失,因为「月底来一次」是他们的自然节奏。把流失阈值设成 7 日不登录会得到一份满是误判的 churn 报告。
团队下周该做的事
| # | 行动 | 触发的筛 |
|---|---|---|
| 1 | 把首屏第一块改成「上次到这里 + 本周还需要做什么」 | 筛 1 |
| 2 | 加一封每月一次的「AI 帮你看了一下」邮件 | 筛 1 |
| 3 | 把流失监测从「7 日不登录」改成「两个完整月结周期未登录」 | 筛 1 |
| 4 | 在用户教 AI 规则的当下加一句「已记住 X 条规则」的可视化反馈 | 筛 2 |
| 5 | 在官网首屏加一段「为什么按月而不是按笔」的论证 | 筛 3 |
5 件事里 4 件来自筛 1。这是上一章看不见、这一章才暴露的盲区。
上一章告诉你方向是对的。这一章告诉你方向上有一段没人走过的路。
下一章,我们离开判断,进入命题——AI 产品 = 显式建模的事件流。这是贯穿全系列的中心命题,也是 FinanceMate 第三次被重审。