专题/模式选型卡
ADPS 设计方法
模式选型卡:从场景约束到 Agent 架构
用一页纸走完场景边界、认知需求、执行拓扑、模式、取舍与架构草图,并保留每一步的判断依据。
ADPS 双轴矩阵用认知功能和执行拓扑定位模式。进入方案评审后,团队还要回答一个具体问题:为什么这个场景需要这组模式?模式选型卡用一页决策记录补上这一步。
这张卡有意保持紧凑。团队先界定场景,再找出最关键的两到三个认知需求,确定执行拓扑,筛选候选模式,写清取舍,最后画出运行路径。它既可以用于工作坊,也能作为架构评审的入口。
六个区域分别记录什么
| 区域 | 要回答的设计问题 | 应留下的结果 |
|---|---|---|
| 01 场景边界 | 什么进入系统,什么离开系统,系统可以改变什么,哪类失败最重要? | 输入、输出、权限、失败模式 |
| 02 认知需求 | 哪些能力决定这个场景的成败? | 从感知、记忆、推理、行动、反思、协作、治理中选出两到三个重点 |
| 03 执行拓扑 | 工作怎样流动,控制何时返回? | Chain、Route、Parallel、Loop、Hierarchy 或 Orchestrate,以及选择理由 |
| 04 候选模式 | 哪些可复用机制能够补上已识别的缺口? | 两到三个核心模式及组合理由 |
| 05 Tradeoff | 方案获得了什么,又消耗或限制了什么? | 安全与效率、准确与成本、简单与强壮之间的明确取舍 |
| 06 架构草图 | 数据、决策、控制和证据在运行时怎样移动? | 主数据流、质量门、人工介入点与观测点 |
从一个会失败的场景开始
合适的场景边界比产品小,比一次模型调用完整。它有可辨认的输入、对外有意义的输出、明确的权限范围,也有可以讨论的失败后果。“按照这些标准审查这份设计稿”是一个场景,“建设知识助手”仍是一组工作。
权限要放在第一格,因为它会改变架构。只读审查 Agent 可以报告问题并升级处理;能够修改源文档的 Agent 还需要准入规则、版本控制、回滚机制和变更证据。
只选决定成败的认知需求
把所有认知功能全部勾上,无法帮助选型。应选择一旦失败就会改变结果的两到三个功能。文档审查可能依赖感知来提取正确证据,依赖推理来比较论断与标准,依赖反思来发现缺乏依据的结论。记忆和协作仍可能出现在实现中,但不必主导第一轮模式搜索。
确定运行时的形状
拓扑描述执行怎样移动,与组织架构或 Agent 数量无关。Chain 适合分阶段转换,Route 负责选择路径,Parallel 处理独立分支,Loop 支持有界迭代,Hierarchy 表达分层委派,Orchestrate 用于跨工作单元或能力的动态协调。
一个场景可以组合多种拓扑。先画主路径,再标出局部结构,例如路由分支中的审查循环。每个循环都要有预算和停止条件,每个分支都要有汇合或验收规则。
筛选模式,再补上横切工程面
候选模式必须对应一个已经说清楚的需求。两到三个模式通常足以显露架构。横切工程面另外记录:X1 可观测性承载轨迹和证据,X2 评测与验证提供验收和回归,X3 安全与身份提供主体、委派和策略边界。
选型卡不是模式清单。一个模式若无法对应失败模式、接口或质量要求,就不应写进卡片。
填写示例:技术文档审查
| 卡片区域 | 示例判断 |
|---|---|
| 场景边界 | 输入:技术方案和审查标准。输出:带引用的审查意见与尚未解决的问题。权限:只读。主要失败:漏掉要求、意见缺乏依据、审查过浅。 |
| 认知需求 | 感知、推理、反思。 |
| 执行拓扑 | 简单方案进入快速路径,复杂或高风险方案进入较深的处理链;发布前运行一个有界审查循环。 |
| 候选模式 | P1 上下文分诊、R2 复杂度路由、F1 生成评审。 |
| Tradeoff | 扩大证据搜索能提高覆盖率,也会增加成本。加强生成评审循环能提高审查质量,也会增加延迟,因此循环要有轮次预算,并允许带着开放问题退出。 |
| 架构草图 | 源料与标准依次经过分诊、路由和生成评审循环,形成带引用报告。X1 记录证据与版本,X2 承担验收与回归。 |
最后写下一句判断
卡片最后应收束成一句经得住评审的话:
我们用 P1 建立范围与证据契约,用 R2 把深度处理留给复杂方案,用 F1 在发布前质疑缺乏依据的意见;X1 保存轨迹,X2 验证引用覆盖率。审查循环到达预算后停止,用开放问题标记不确定性,不虚构结论。
这句话把场景、模式、取舍和失败策略绑在一起。若团队只能写出含糊的效果承诺,卡片上仍有尚未解决的设计判断。
评审问题
- 卡片是否只描述一个边界明确、输出对外有意义的场景?
- 是否在选择模式前写清权限和失败模式?
- 认知需求是否指向真实瓶颈?
- 拓扑中是否能看到流向、返回路径、预算和汇合规则?
- 每个候选模式是否都能追溯到一个需求或失败模式?
- 人工介入、质量门和观测点是否可见?
- 团队能否说明这次没有优先优化什么?