模式/组合工具/常见模式组合

ADPS 设计方法

常见模式组合:从任务地形到可运行架构

模式给出局部机制,任务地形决定它们怎样连接。组合设计要让任务、状态、权限和证据从发起一直走到外部验收。

双轴框架是一张模式地图。企业里的应用、数据、人、政策、等待状态和验收点构成任务地形。两个团队可以选择同一组模式,因为事实和责任放置的位置不同,最后仍会形成两套架构。

模式组合是一张有方向的任务图。节点是业务活动或模式,边上传递任务身份、业务状态、授权和完成证据。每条重要的边都要回答谁生产、谁消费、谁可以修改,以及失败后由谁停止、补偿或接管。

薪酬变更的 Agent 模式组合:核心路径、保护机制、反馈和横切工程面
薪酬变更示例。核心路径完成业务动作,保护机制约束高风险步骤,反馈处理失败,横切工程面保存系统级证据与边界。

组合要保持四条线不断

连续线从发起到验收需要保持什么断开后的表现
任务同一个任务标识、原始目标、non-goals、完成条件和当前步骤局部工作不断增加,原定交付物没有推进
状态业务事实、工作进度和模型叙事各有所有者、版本和写入规则上游计划覆盖已经提交的事实,或恢复时重复副作用
权限委托主体、允许的工具与资源、有效期、审批和撤销条件批准的是一项动作,执行时却换了参数、工具版本或资源
证据输入来源、模型与策略版本、状态差异、工具回执和外部结果系统声称完成,却无法证明真实世界发生了什么

组合评审还要分三层。先看任务与模式是否匹配:每个模式是否对应已经观察到的失败;再看模式之间能否连接:接缝处传递什么、由谁写、谁验收;最后看架构能否承受真实负载:同样的输入、故障和权限条件下,候选是否比最小基线更好。

先画完整任务

先定义一项能够独立判断、审批、执行、验收和补偿的业务变更。这个边界比“做一个薪酬 Agent”更具体,也比“调用一次写入 API”更完整。开始选模式前,应写清以下内容:

对象需要明确的内容
目标期望改变什么,哪些结果不在本次范围
完成条件哪项外部事实或消费端回执可以证明完成
失败代价错误判断、错误动作、重复动作和延迟分别造成什么影响
状态哪些是业务事实,哪些是工作进度,哪些只属于模型上下文
权限Agent 可以读什么、建议什么、执行什么,谁可以扩大或撤销权限
恢复在哪些 checkpoint 重试,哪些动作需要补偿,何时转人工

四类组合关系

关系含义例子
顺序上一步产生结构化产物,下一步按契约消费P1 上下文分诊输出 Goal Contract,A2 规划执行据此建立 PlanStep
保护控制机制包围高风险动作,决定准入、影响上限和执行前后检查G1 审批门、G2 爆炸半径控制和 A4 护栏三明治共同保护 A1 工具调度
反馈运行结果进入复核、失败记录或修复流程,再回到设计与验证X1 事件与外部回执进入 F1 生成评审、M4 失败日记或 F4 自愈循环
共享底座若干能力跨越全部节点,提供统一事件、评测、身份和委派语义X1 可观测性、X2 评测与验证、X3 安全与身份

组合契约

组合关系需要落到结构化定义。下面的示例省略业务字段,只保留架构评审所需的接口。

composition_id: payroll-allowance-change
goal: change one employee allowance for the next pay period

steps:
  - id: triage
    pattern: P1
    output: goal_contract
  - id: retrieve_policy
    pattern: M2
    input: goal_contract
    output: evidence_bundle
  - id: plan
    pattern: A2
    input: [goal_contract, evidence_bundle]
    output: plan_steps
  - id: execute
    pattern: A1
    input: approved_intent
    output: action_receipt

guards:
  - pattern: G1
    protects: execute
  - pattern: G2
    limits: [amount_delta, batch_size, employee_scope]
  - pattern: A4
    checks: [preconditions, tool_result, postconditions]

acceptance:
  probe: payroll_read_after_write
  evidence: [action_receipt, state_delta]

failure_policy:
  duplicate_request: return_existing_receipt
  policy_conflict: stop_and_escalate
  partial_write: compensate_then_checkpoint

每条边都应说明产物类型与所有者。若一个节点只输出自然语言,后续节点往往无法区分建议、决策、授权和执行结果。

薪酬变更怎样组合

  1. P1 上下文分诊把用户表达解析为 Goal Contract,分离员工、字段、目标值、生效日期和 non-goals。
  2. M2 检索增强读取政策版本和解释性证据;当前津贴值、员工状态和审批状态直接查询业务系统。
  3. A2 规划执行建立读取、校验、准备、审批、提交和写后读取六类步骤,每一步带完成条件。
  4. A1 工具调度只暴露当前步骤允许的工具。G1 把批准绑定到具体 Intent,G2 限制金额、批量和资源范围,A4 在调用前后检查状态。
  5. 外部验收读取薪酬系统最终值并核对生效期。模型生成的完成说明不能替代这一结果。
  6. X1、X2 与反馈模式把运行轨迹、状态差异和延迟结果连接到回归集、失败日记和后续修改。

保护机制不应重复拥有同一项裁决权

审批门决定某个具体 Intent 是否获准;爆炸半径控制规定系统即使判断错误,最多能影响多少对象与资源;护栏三明治检查工具调用前置条件、返回结构和执行后状态。这三者可以保护同一个动作,但职责不能互相替代。

当两个组件都能修改同一项决策,系统会出现责任不清:一个组件放行,另一个组件事后收回,日志却无法说明最终裁决来自哪里。组合设计应为准入、限界、执行、验收和补偿分别指定唯一责任主体。

另一个公开代码路径:DeerFlow Guardrail

DeerFlow Guardrail 案例展示了另一种组合方式。工具在装配时先经过筛选,进入运行时后再通过 Provider、策略决策和 hook 执行确定性检查。这个路径把“Agent 看见哪些工具”“某次调用能否执行”“执行点怎样留下证据”拆成不同责任。

它与薪酬示例的业务对象不同,但组合评审方法相同:沿工具从注册到暴露、选择、准入、执行和记录逐段检查,避免把全部控制塞进一个 prompt 或一个中间件。

执行型 Agent 参考架构

一项会修改外部系统的任务,通常经过目标、取证、计划、承诺和验收五段。P1 把自然语言请求收束成 Goal Contract;M2 或结构化查询分别提供政策证据和机械状态;A2 保存计划与步骤状态;A1 把当前 Intent 绑定到具体工具;G1、G2 和 A4 在提交前后处理授权、影响范围与状态检查;X1 将状态差异和外部回执接回同一条运行记录。

这条起步架构需要按任务删减或增加。一次只读问答通常不需要审批门;跨会话任务需要 M3;并行写入会增加 C5 子 Agent 隔离和写入冲突检查;结论需要独立审查时,再加入 F1 生成评审或 C3 对抗评审。每次增加都应能指回一项失败证据或业务约束。

知识问答、长程工作、执行型事务和多 Agent 研究四类常见模式组合
四类高频任务的起步组合。图中只画主路径;横切工程面和治理机制按数据、权限和副作用风险接入。

八类应用怎样起步

应用起步组合何时继续增加首先守住的边界
企业知识问答P1 + M2 + R2 + X1PDF、图表较多时加 P4;关键结论需独立复核时加 F1 或 C3引用能回到原始证据;账户余额、库存等机械状态走结构化查询
长程研究与分析P1 + P3 + M3 + A2 + M4 + X1独立路线可并行时加 R3/C2;成果需要评审时加 F1checkpoint 保留目标、已确认事实、未决问题和下一步,不把临时猜测写成长期结论
文档生成与审校P1 + M2 + A3 + F1 + X2跨章节、跨会话时加 M3;需要多角色审查时加 C3事实、引文和修改意见各有来源;评审器不与生成器共享未经核验的前提
代码维护P3 + A1 + A2 + A4 + F1 + X1/X2并行改动时加 C2/C5;长任务加 M3测试、构建和运行结果是验收证据;工作目录、凭证和写入范围彼此隔离
执行型 SaaSP1 + M2 + M3 + A1/A2 + G1/G2 + A4 + X1失败经验需要复用时加 M4/F2;跨角色办理时加 C4employee_id、amount、approval_id 等字段由业务系统提供,审批绑定具体 Intent
批处理与 GIS 发布A2 + C2 + A4 + G2 + M3 + X1输入异构时加 P4;发布能力稳定后可沉淀为 M5单批、单图或单数据集有独立回执,局部失败不重放已经发布的对象
多 Agent 研究与评审P3 + R3 + C1/C2 + C3 + X1/X2任务跨上下文时加 C4/C5;需要共享证据时加 M2分支假设和证据独立,聚合规则与最终裁决者明确
事件驱动的跨系统协作C6 候选 + C4 + G2 + X1参与者会独立订阅事件、按本地规则行动并发布新事件时再采用事件契约、因果标识、超时补偿和最终完成责任必须明确;仍由中央节点掌握完整计划时属于编排

ReAct、程序化工具调用与 CodeAct

三者都在运行时连接推理与行动,控制节奏和行动空间各不相同。

机制一次运行怎样推进适合什么需要守住什么
ReAct模型生成判断与动作,环境返回观察,模型据此决定下一步路径不能预先写定、每次观察都可能改变后续选择的任务轮次、预算、停止条件、工具权限和观察来源
程序化工具调用模型先写一段短程序,程序在沙箱中循环、并行或筛选已经注册的工具,只把必要结果交回模型同类调用多、中间结果大、局部控制流适合用代码表达的步骤可调用工具白名单、沙箱、资源上限、超时、出网限制和完整 trace
CodeAct模型把可执行代码作为行动语言,用代码计算、调用库并组合当前可用能力数据处理、分析和需要动态辅助函数的任务文件、进程、网络、资源与凭证隔离
M5 程序性记忆经过测试的方法被命名、版本化,并获准跨任务触发一种方法已经多次验证,值得转化为可复用能力准入评审、依赖版本、权限、来源与失效后的再认证

在 ADPS 中,ReAct、程序化工具调用和 CodeAct 属于执行机制概念,不单设模式编号。ReAct 通常使用 Loop;程序化工具调用位于 A1 工具调度与 A2 规划执行的交界;CodeAct 提供更宽的代码行动空间。临时程序经过验证、命名和版本化,并获准跨任务复用后,才进入 M5 程序性记忆。

常见组合问题

组合评审清单

  1. 组合是否围绕一个明确的业务变更或任务边界?
  2. 每个节点的输入、输出、状态所有者和完成条件是否明确?
  3. 高风险动作由谁准入、谁限界、谁执行、谁验收?
  4. 重试、循环、并行和委派是否有预算与终止条件?
  5. 失败能否定位到具体节点、版本和状态交接?
  6. 外部结果、人工纠正和延迟反馈是否进入下一轮验证?
  7. 新增模式是否消除了一个明确缺口,还是只增加了结构?

组合与生命周期

组合描述一个版本在运行时怎样工作;生命周期管理这个组合怎样登记、验证、发布、复验和退出。组合中的 prompt、工具、Skill、策略或拓扑发生变化,都可能产生一个需要重新验证的新版本。完整阶段见Agent 设计生命周期。

相关资料

引用建议:ADPS,《常见模式组合:从任务地形到可运行架构》,ADPS 设计方法,2026-08-25;2026-09-04 修订。

模式目录 · CC BY 4.0

薪酬变更和起步组合用于说明设计方法。生产方案应使用目标系统的真实状态、权限、负载和验收证据。

溯源记录

来源记录
正文关联的研讨会与案例:梁博执行型 Agent 案例();DeerFlow Guardrail 案例();DeerFlow Guardrail 代码与架构演进()
来源日期
本页首次公开

在 ADPS Chronicle 中查看