摘要
Agent 平台产品设计过程中存在一类高频偏差:产品经理沿用需求定义阶段的穷举方法,逐条罗列业务场景,并以此作为平台设计的输入。该方法在需求定义阶段具有合理性,但在平台构建阶段会带来三类系统性代价——覆盖不可完备、维护成本递增、缺乏结构信息。
本文提出一条从场景到能力的抽象路径:以动作结构统一场景描述,以动词收敛压缩场景空间,以契约属性划分能力边界,并以"新增场景是否零新增能力"作为抽象是否完成的验收标准。在此基础上,给出平台级场景的判定标准,包括平台级场景应具备的六项特征、不具备平台化价值的场景类型,以及打样场景的选择标准,并给出可对照判断的场景示例。文末给出 16 条典型偏差对照表与 5 项自检问题。
一、问题的提出
1.1 穷举在需求定义阶段的合理性
穷举并非方法错误,其合理性取决于所处的设计阶段。
| 阶段 | 主要方法 | 方法有效的原因 |
|---|---|---|
| 需求定义阶段 | 穷举场景 | 场景清单可直接映射为需求条目、排期单元与验收标准,产出具备可核对性 |
| 平台构建阶段 | 抽象能力 | 平台须支撑尚未出现的使用方式,抽象的目标是压缩未来的实现成本 |
偏差的产生机制是阶段错配:将需求定义阶段形成的工作习惯直接沿用到平台构建阶段,导致所有场景均被当作独立需求处理。
1.2 平台阶段沿用穷举的三类代价
| 代价 | 具体表现 |
|---|---|
| 覆盖不可完备 | 平台须支撑未来场景,任何场景清单都无法穷尽,遗漏不可避免 |
| 维护成本递增 | 清单条目随版本迭代线性增长,最终因维护成本过高而失去维护价值 |
| 缺乏结构信息 | 清单只能记录"已经实现的内容",无法为"新增场景应如何实现"提供决策依据 |
1.3 三类判断信号
当设计过程中出现下列信号时,说明方法已与阶段不匹配:
| 信号 | 含义 |
|---|---|
| 场景清单条目超过 30 条且仍在增加 | 缺少维度抽象,清单未能收敛 |
| 同一能力被 5 个以上场景分别描述 | 该能力已具备上收条件,但尚未上收 |
| 就"某场景是否应实现"的讨论超过 10 分钟仍未收敛 | 缺少抽象的判定标准,决策依赖个体判断 |
二、穷举与抽象的适用边界
穷举与抽象并非互斥,二者作用于不同对象。
2.1 适用对象的划分
| 应对其穷举 | 应对其抽象 |
|---|---|
| 失败路径(识别失败、网络异常、权限不足、意图歧义等) | 成功路径 |
| 用户角色与场景的约束边界 | 具体场景的实现方式 |
| 能力不可用时的替代路径 | 能力本身 |
基本原则:对失败路径穷举,对成功路径抽象。
失败路径须逐条穷举,原因是交互体验的显著劣化集中发生在异常处理环节,且该环节的条目数量有限,通常为 8 至 12 条,处于可控范围。
2.2 兜底路径清单
下表可直接作为设计检查项使用。
| 序号 | 失败路径 | 兜底要求 |
|---|---|---|
| 1 | 输入识别失败或置信度不足 | 应复述确认,不得依赖模型猜测 |
| 2 | 输入识别成功但意图解析失败 | 应给出 2 至 3 个候选,不应使交互陷入等待 |
| 3 | 意图明确但必要参数缺失 | 应仅就缺失的参数进行单点追问 |
| 4 | 意图歧义(多个候选均匹配) | 应给出候选集由用户选择,不应自行选定 |
| 5 | 能力不可用 | 应明确说明能力边界,并给出替代路径 |
| 6 | 网络异常 | 应降级处理或明确报错,禁止静默失败 |
| 7 | 依赖服务超时 | 应设定超时上限并支持重试 |
| 8 | 执行成功但无法按预期呈现 | 应适配输出形态,不应删减内容 |
| 9 | 用户中途打断 | 应立即终止当前输出,不应继续播放 |
| 10 | 多来源信息冲突 | 应明确优先级规则 |
| 11 | 权限被拒绝 | 应说明拒绝原因及授权方式 |
| 12 | 执行结果错误 | 应提供确认与撤回机制 |
三、平台级场景的判定标准
并非所有场景都具备平台化价值。将缺乏可抽象性的场景上收,会产生"伪平台能力"——契约模糊、无法复用、维护成本高于收益。因此在上收之前,须先判定场景是否具备平台级特征。
3.1 平台级场景的六项特征
| 特征 | 判据 | 不具备时的后果 |
|---|---|---|
| 重复性 | 同一动作在多个客户、业务线或用户群中重复出现 | 能力仅被单点使用,上收收益低于维护成本 |
| 动作结构稳定 | 执行步骤固定,不依赖人工逐次判断 | 无法定义契约,能力退化为人工流程的外壳 |
| 接口可标准化 | 输入输出可事先定义,无需按场景修改协议 | 每次接入均需改接口,平台退化为定制开发 |
| 判定边界清晰 | 成功与失败可观测、可验收 | 无法灰度、无法度量,上线后不具备可运营性 |
| 依赖可共用 | 依赖同一批外部资源、鉴权方式或数据 | 上收未减少重复建设,仅增加一层调用 |
| 规模可延展 | 预期场景数量将增长而非收敛 | 为固定且封闭的场景集合建设平台,投入无法摊薄 |
3.2 不具备平台化价值的场景
| 场景类型 | 处理方式 |
|---|---|
| 一次性定制,仅服务单一客户 | 留在业务侧实现 |
| 强绑定客户私有流程 | 留在业务侧实现 |
| 缺乏可观测的验收标准 | 先补齐度量方式,再讨论是否上收 |
| 需求处于高频变动期的探索型场景 | 明确其探索属性,不纳入能力契约 |
判据的补充说明:场景集合是收敛还是发散,决定了平台化是否成立。 若已知场景集合有限且封闭,平台化只会抬高实现成本。
3.3 打样场景的选择标准
平台化的第一步是完成 1 至 2 个真实场景,作为抽象的样本来源。打样场景的选择直接影响抽象结果的质量。
| 标准 | 要求 | 原因 |
|---|---|---|
| 真实性 | 具备真实用户与真实调用量 | 虚构场景无法暴露真实约束 |
| 有失败代价 | 场景失败会产生可感知的损失 | 无代价的场景不会暴露边界问题 |
| 可代表性 | 属于未来会被反复使用、代表一类问题的场景类型,而非长尾特例 | 长尾场景抽出的能力缺乏复用价值 |
| 有兄弟场景 | 已知第二个同类场景已在规划之中 | 抽象须以两个及以上真实场景为前提 |
补充说明:若当前仅有单一场景,应记录其动作结构并保留抽象可能,但不应立即上收。过早抽象产出的契约,会在第二个场景出现时被推翻。
3.4 典型场景示例
(一)适合平台化的场景
| 场景示例 | 符合的主要特征 | 可抽象出的能力 |
|---|---|---|
| 查询账户余额、话费或流量 | 多客户重复、动作结构稳定、接口可标准化 | 查询类能力(涉及隐私,须带鉴权契约) |
| 查询工单或订单进度 | 同上,且失败结果可观测 | 查询类能力(若鉴权方式与上例不同,应独立拆分) |
| 基于企业知识库的问答 | 重复性高、依赖可共用(同一批知识源) | 检索问答能力 |
| 生成周报或会议纪要 | 动作结构固定、输出形态一致 | 内容生成能力 |
| 定时提醒与事件通知 | 结构稳定、判定边界清晰 | 通知类能力 |
| 创建工单或提交审批 | 动作结构稳定、结果可验收 | 提交类能力(写操作,须与查询类拆分) |
| 查询报表或计算指标 | 输入输出可标准化 | 数据分析类能力 |
(二)不适合平台化的场景
| 场景示例 | 原因 | 处理方式 |
|---|---|---|
| 某一客户独有的审批流程 | 强绑定私有流程,不具备重复性 | 留在业务侧实现 |
| 一次性的活动运营需求 | 场景集合封闭,使用即止 | 留在业务侧实现 |
| 效果依赖主观判断的创意类需求 | 缺乏可观测的验收标准 | 先定义度量方式,再评估是否上收 |
| 需求高频变化的探索型功能 | 契约无法稳定,定义后即失效 | 明确探索属性,不纳入能力契约 |
| 仅为演示而设计的场景 | 无真实调用量与失败代价 | 不作为打样样本 |
(三)打样场景的选择示例
| 打样场景示例 | 适合作为打样的原因 | 可预留的兄弟场景 |
|---|---|---|
| 查询工单进度 | 真实调用量大、结果错误有实际代价、可代表"查询类"整体 | 查询余额、查询订单、查询物流 |
| 生成会议纪要 | 动作固定、输出可验收 | 生成周报、生成摘要、生成待办 |
补充说明:上述示例的共同做法是——先用两个真实场景验证动作是否重复出现,再决定是否上收。表(一)中列出的是已经具备平台级特征的场景类型,而非可以直接上收的结论。
四、从场景到能力的抽象路径
抽象过程可拆解为四个顺序步骤。
4.1 四步法
| 步骤 | 工作内容 | 关键动作 |
|---|---|---|
| 第一步 | 场景改写为动作式 | 将全部场景统一改写为「主体 + 动词 + 对象 + 约束」结构,例:用户 查询 订单、用户 生成 周报 |
| 第二步 | 动词归一 | 将大量场景的动词收敛为 10 至 20 个原语动词,如查询、控制、生成、应答、记忆、推荐、转发等。场景数量无上界,动词数量有限 |
| 第三步 | 定义动词契约 | 同一动词若在输入、输出、副作用、鉴权方面存在差异,须拆分为不同能力 |
| 第四步 | 契约收敛为能力 | 能力划分的依据为契约属性,包括鉴权方式、幂等性、时延要求、是否存在副作用,而非业务名称 |
4.2 契约判据
第三步的判断依据为下列四问,任一项存在差异即须拆分。
| 判据 | 结论 |
|---|---|
| 输入是否同类 | 不同类则拆分 |
| 输出形态是否一致 | 不一致则拆分 |
| 是否存在副作用(写操作与只读操作的差异) | 存在差异则拆分 |
| 鉴权方式是否相同 | 不相同则拆分 |
示例:同属"查询"语义,查询天气(无副作用、结果可缓存)与查询订单(涉及隐私数据、须鉴权)应拆分为两个独立能力。
五、抽象的验收标准
判定原则:若新增一个场景不需要新增能力、仅需新增一条编排,则抽象已完成。
三个可验证信号:
| 信号 | 达标线 |
|---|---|
| 新场景的落地增量 | 仅新增编排,不新增能力 |
| 能力复用程度 | 单个能力被 3 个以上场景引用 |
| 契约可描述性 | 能力契约可在 5 行以内完整说明;超出则说明粒度划分有误 |
反向判据:若每新增一个场景均需新增能力,则抽象尚未完成。
六、转化阶段的四类典型偏差
| 偏差 | 表现 | 修正方式 |
|---|---|---|
| 按业务名称抽象 | 产出"智能家居能力""音箱能力"等仅适用于单一场景的能力 | 以动词与契约为划分依据;能力名称是可复用性形成后的结果,而非设计目标 |
| 过早抽象 | 仅完成一个场景即开始抽象,第二个场景出现后设计被推翻 | 设定硬性条件:同一动作在 2 个以上真实场景中出现后方可上收 |
| 抽象粒度过粗 | 收敛为"通用执行器",单一能力承担全部职责,实质等同于未抽象 | 以契约可描述、可独立鉴权、可独立替换作为粒度判据 |
| 抽象完成后冻结 | 不再调整,新增场景被强制纳入既有能力,导致契约被污染 | 将能力的拆分与合并视为常规维护操作 |
补充一项流程层面的偏差:以场景清单作为交付验收依据。交付物应为"能力与编排",而非场景列表。
七、场景层与能力层的职责划分
| 层级 | 划分维度 | 典型形态 | 维护主体 |
|---|---|---|---|
| 场景层 | 行业、角色、工作流 | 方案包、应用模板 | 业务与运营 |
| 能力层 | 接口契约 | 可复用的动作单元 | 开发者 |
| 平台层 | 横向支撑 | 网关、注册、鉴权、沙箱、计量 | 平台团队 |
结论:场景通过编排能力实现,而非通过新增能力实现。
以能力作为场景的划分依据是该方法论中最常见的混淆:场景按行业与工作流划分,能力按契约划分,二者不属于同一维度。该划分方式将导致能力数量随"场景数 × 动作数"增长,无法收敛。
八、能力的可运营性要求
能力完成抽象后,若缺乏必要的运营手段,则无法在生产环境中持续使用。
| 运营手段 | 作用 | 缺失的后果 |
|---|---|---|
| 灰度发布 | 按人群、环境、版本逐步放量 | 新能力直接全量上线,出现问题时仅能整体回滚 |
| 远程开关 | 在故障发生时即时停用,无需发版 | 故障处置窗口以天或周为单位 |
| 能力标识 | 标明发布物所具备的能力集合 | 版本号相同而能力不同,故障定位被误导 |
须注意:版本号相同不代表能力集合相同。 发布物应能够明确回答"当前具备哪些能力",仅提供版本号不足以支撑定位判断。
九、常见偏差对照表(16 条)
9.1 场景与需求
| 偏差 | 表现与后果 | 修正方式 |
|---|---|---|
| 以场景清单替代场景矩阵 | 清单条目超过 30 条且持续增加,无法维护,难以识别结构 | 收敛为 3 至 5 个正交维度,组合为有限个场景格 |
| 以能力作为场景分类依据 | 单个场景需组合多个能力,能力无法收敛 | 场景按业务与角色划分,能力按契约划分 |
| 将演示可行性等同于生产可用性 | 演示阶段效果良好,真实环境下出现显著衰减 | 验收标准应基于线上连续成功率,而非演示结果 |
| 仅覆盖理想用户 | 在表达能力较弱的用户群体中出现问题 | 场景验证须包含表达能力最弱的用户 |
| 仅验证成功路径 | 异常处理未设计,体验问题集中于边界情况 | 成功路径抽象为场景格,失败路径逐条穷举 |
9.2 边界切分
| 偏差 | 表现与后果 | 修正方式 |
|---|---|---|
| 先构建平台,再寻找场景 | 平台建设完成但缺乏可承载的场景 | 先完成 1 至 2 个真实场景,再上收共性部分 |
| 以业务名称建立能力 | 能力仅可被单一场景使用 | 以动词与契约建立能力 |
| 单一场景即开始抽象 | 第二个场景出现后设计被推翻 | 同一动作在 2 个以上场景出现后方可上收 |
| 抽象粒度过粗 | 形成"通用执行器",等同于未抽象 | 契约可描述、可独立鉴权、可独立替换 |
| 忽略约束差异 | 同一能力在不同约束下表现差异显著 | 将约束条件(算力、网络、隐私、形态)纳入能力契约 |
9.3 能力运营
| 偏差 | 表现与后果 | 修正方式 |
|---|---|---|
| 以版本号作为能力标识 | 版本号相同而能力不同,故障定位被误导 | 版本号与能力集合标识并行 |
| 灰度维度单一 | 仅按用户比例放量,特定环境出现异常 | 灰度维度不少于三类:人群、环境、版本 |
| 缺少远程开关 | 故障发生时无法及时定位与处置 | 建立紧急开关清单,并纳入定期演练 |
| 计量与额度后置 | 规模扩大后成本失控 | 能力上架时即定义额度与超限策略 |
9.4 组织与流程
| 偏差 | 表现与后果 | 修正方式 |
|---|---|---|
| 将上架视为终点 | 能力上架后长期闲置,无法形成实际使用 | 上架时同步定义责任主体、有效期与回收机制 |
| 以场景清单作为验收依据 | 交付物持续发散,边界无法界定 | 交付物为"能力与编排",而非场景列表 |
十、结论与自检清单
在平台设计完成后,可用下列五个问题完成自检:
- 当前工作属于场景罗列,还是能力抽象?(阶段判断)
- 该抽象是否有 2 个以上真实场景支撑?(上收条件)
- 新增一个场景是否需要新增能力?(抽象完成度)
- 失败路径是否已逐条穷举?(异常覆盖)
- 该能力上线后是否具备灰度、停用与故障识别的条件?(可运营性)
全文结论:穷举用于确定当前阶段应实现的内容,抽象用于避免下一阶段重复建设。二者的适用边界一旦混淆,平台设计将退化为需求列表的持续累加。
文章评论