做产品的过程中有一个反复出现的困境:团队在项目阶段形成的「把场景一条条列出来」的做法,到了平台阶段还在继续用,结果是能力条目跟着场景数量一起涨,平台的成本始终降不下来。
这多半不是能力问题,而是阶段错配。穷举在需求阶段是对的——场景清单能直接对上需求、排期和验收,还有看得见的产出。但平台阶段的复用单元不是场景,而是场景背后的原语。用同一套方法做两件不同的事,偏差是必然的。
这篇文章把产品演进分成三段:定制交付、平台化、平台编排,分别对应「看山是山、看山不是山、看山还是山」。
一、两个阶段的差别在哪
| 维度 | 项目阶段 | 平台阶段 |
|---|---|---|
| 交付物 | 可验收的功能 | 可复用的能力 |
| 复用单元 | 场景 | 原语与编排 |
| 增长方式 | 场景增加,工作量线性增加 | 场景增加,能力不增加 |
| 成功标志 | 按时按需交付 | 边际成本随场景增加而下降 |
| 主要风险 | 交付延期 | 能力齐备而无人使用 |
| 工作产物 | 需求清单、排期表 | 原语契约、编排规则 |
所以穷举不该被否定,该被限定范围。真正要回答的是:穷举在哪儿停,抽象在哪儿接。
二、三重境界
| 境界 | 所见的「场景」 | 产品形态 | 判定标志 | 典型死法 |
|---|---|---|---|---|
| 一重 看山是山 | 场景即需求 | 定制交付 | 能对着清单排期与验收 | 复用率为零,成本随场景线性增长 |
| 二重 看山不是山 | 场景是原语的编排 | 平台化 | 新增场景只新增编排 | 抽象过度:能力齐备而无人使用 |
| 三重 看山还是山 | 场景仍是场景 | 平台的编排 | 新增场景零新增能力,使用者不必理解能力层 | 止步于二重,把能力表做全当成终点 |
需要说明的是:多数团队并不是卡在第一重,而是停在第二重。抽象一旦开始,工作成果会从「功能」变成「能力」,这种整齐的形态容易被误认为已经完成,唯独漏掉了最后一层——回到使用者的视角。
三、一重:看山是山——定制交付
| 项 | 内容 |
|---|---|
| 核心动作 | 收集场景,逐条实现 |
| 直接收益 | 需求可追溯、排期可承诺、验收可度量 |
| 适合的场景 | 场景数量少、需求方明确、交付周期短 |
| 主要代价 | 每新增一个场景,都要重新投入 |
| 隐性负债 | 能力沉淀为零,人员流动即知识流失 |
这一阶段,场景清单是好用的工具。它让需求、排期、验收三件事在同一个载体上对齐,本身没什么可批评的。
什么时候该离开这一阶段
| 信号 | 观察方式 |
|---|---|
| 边际成本不下降 | 第 N 个场景的投入与第一个相当 |
| 同类动作反复出现 | 冒出大量「查询类」「控制类」功能 |
| 交付受人数限制 | 产能随人力线性变化 |
| 需求开始带组合 | 需求以「先……再……」的方式描述 |
判断很简单:当第 N 个场景的成本和第一个场景差不多时,就该动手抽象了。
四、二重:看山不是山——平台化
4.1 按动词抽象,不按名词抽象
这是平台化阶段最关键的一次选择。按业务名抽象,得到的是只能用一次的东西;按动词抽象,才能看出场景之间的同构关系。
| 抽象方式 | 结果示例 | 复用情况 | 后果 |
|---|---|---|---|
| 按业务名 | 「智能家居能力」「订单查询能力」 | 只在单一场景内可用 | 新增场景即新增能力,平台持续膨胀 |
| 按动词 | 查、控、生、答、记、推 | 跨场景通用 | 场景数量增长而能力数量稳定 |
依据只有一条:场景是无限的,动词是有限的。抽象的目的,是让后者成为前者的唯一增量来源。
4.2 给动词定契约
把动词收敛还不够,每个动词都要有契约,否则同一个动词在不同场景里会漂移出不同的含义。
| 字段 | 说明 | 缺失的后果 |
|---|---|---|
| 输入约束 | 参数类型、取值范围、必填项 | 调用方只能靠猜 |
| 输出形态 | 结构化结果与错误语义 | 无法编排,也无法重试 |
| 副作用 | 是否产生状态变更 | 重复执行导致数据错误 |
| 幂等性 | 是否可安全重放 | 无法支持自动重试 |
| 权限边界 | 可访问的数据与资源范围 | 越权与合规风险 |
4.3 抽象做对了没有
| 信号 | 做对了 | 没做对 |
|---|---|---|
| 新增场景的增量 | 只多一条编排 | 要加能力,或要改原语 |
| 能力的复用度 | 同一个能力被多个场景调用 | 能力与场景一一对应 |
| 编排的表达力 | 非研发也能完成简单编排 | 任何组合都要研发介入 |
概括下来:抽象成功的标志是,新增一个场景时不需要新增能力,只需要新增一条编排。
4.4 二重最常见的死法:抽象过头
| 症状 | 成因 | 怎么纠 |
|---|---|---|
| 能力很多,实际调用很少 | 分类依据来自内部归类,不是真实需求 | 按调用数据组织能力,而不是按分类体系 |
| 使用者不知从哪下手 | 交付停在能力层,没给编排范式 | 补上编排层和示例 |
| 能力语义互相重叠 | 没有契约约束,同名不同义 | 收敛动词,固定契约 |
| 被评价为「不实用」 | 抽象和场景之间的最后一公里没打通 | 以场景为入口重排能力 |
二重的风险就在这里:抽象工作本身很整齐,容易被当成完成态。一旦没回到场景,平台就长期停在「能力齐备而无人使用」。
五、三重:看山还是山——平台编排
5.1 外面看着和一重一样,里面账本不一样
到了第三重,产品在使用者眼里和第一阶段没什么区别:需求方照样用业务语言描述场景,操作路径照样短。差别发生在平台内部。
| 视角 | 一重(定制交付) | 三重(平台编排) |
|---|---|---|
| 使用者所见 | 一个可用的功能 | 一个可用的功能 |
| 需求描述方式 | 业务语言 | 业务语言 |
| 平台内部 | 没有抽象 | 原语与编排 |
| 新增场景的成本 | 重新开发 | 新增一条编排 |
| 成本结构 | 与人力和场景数正相关 | 与场景数的相关性显著减弱 |
如果使用者必须理解能力层才能操作,那还在二重。
5.2 交付的是编排,不是能力清单
| 角色 | 交付界面 | 关注点 |
|---|---|---|
| 需求方 | 场景入口 | 能不能完成业务动作 |
| 编排者 | 编排规则 | 能不能组合原语达成目标 |
| 平台维护者 | 原语与契约 | 能力稳定性与复用度 |
5.3 进入三重的三个信号
| 信号 | 观察方式 |
|---|---|
| 零新增能力 | 连续多个新场景接入,都没有产生新能力 |
| 使用者无感 | 使用者不碰能力层就能完成组合 |
| 成本结构改变 | 场景增加时,交付周期不再线性增长 |
六、境界是螺旋,不是台阶
三重境界不是一次性走完的。产品每跨一个新量级,都会被重新打回第一重,需要再走一遍「穷举—抽象—回归」。
| 量级切换 | 被打回的重数 | 需要重新抽象的对象 |
|---|---|---|
| 单模态到多模态 | 一重 | 输入形态(文本、语音、图像)的统一表达 |
| 单一形态到多形态 | 一重 | 能力在不同载体上的可用边界 |
| 单租户到多租户 | 二重 | 能力的隔离、授权与计量维度 |
| 单平台到跨平台 | 二重 | 编排的可移植性与协议边界 |
| 平台化到生态化 | 三重 | 第三方能力的接入规范与编排契约 |
这也解释了为什么平台建设经常出现「刚理顺又被打回」:不是方向错了,是量级变了就必然要重走一遍。区别在于,第二次走完应该明显比第一次快。
七、自查清单
| 序号 | 自查问题 | 答「否」说明什么 |
|---|---|---|
| 1 | 新增一个场景,需不需要新增能力? | 还在一重,或二重没走完 |
| 2 | 同一个能力有没有被多个场景调用? | 抽象粒度不够,或还在按业务名划分 |
| 3 | 每个原语有没有明确契约(输入、输出、副作用、幂等、权限)? | 抽象不完整,编排不可靠 |
| 4 | 使用者不碰能力层能不能完成操作? | 还在二重,编排层缺失 |
| 5 | 场景变多了,交付周期还会不会线性增长? | 成本结构没变,平台化没生效 |
八、结论
三重境界讲的不是能力高低,而是产品与场景之间关系的迁移:定制交付以场景为交付单元,平台化以原语为复用单元,平台编排以编排为交付单元。
三段的判定标准依次是:能不能按期验收、新增场景是否只新增编排、使用者是否不必理解能力层。
最后收成一句:
抽象成不成功,不看能力表有多全,而看新增场景时需不需要新增能力。
文章评论