Agentic Workflow不只是“模型调用工具再输出”。一个能使用的工作流,还要说明缺资料、读取失败和预算用完时怎么办。最好用同一个任务走完这些分支,而不是只画一条成功箭头。
本文设计一项社区会议资料整理任务,提供状态表和四条原创演练轨迹。它们是作者手工推演,不是实际Agent运行日志,也没有框架性能或成本测试结论。
先选一件有终点的工作
虚构社区小组有三份会议笔记,要整理决定、负责人和待确认问题,交给协调人。任务可以读指定材料、准备索引草稿,不能替别人增加承诺、联系成员或改写原文。
完成条件不是“文件都看过”,而是每项决定有来源,未确定事项仍然可见,讨论没有被升级成批准。一个整洁但擅自补全负责人的表格,应该验收不通过。
Anthropic的Agent设计文章可作为固定路径与灵活决策的背景。本例刻意限制灵活范围:可以判断缺哪份材料,不能自行扩展任务目的。
先定义状态,再连箭头
使用接收、检查输入、读取、起草、核对、等待输入、完成七类状态,并保留失败后停止、预算停止两个结尾。等待不是完成;可控停止也不一定意味着业务失败,只要交接诚实、可继续。
下载状态表和四条轨迹。每次转移都写理由,方便其他人重复推演。
| 当前状态 | 条件 | 去向 | 保留产物 |
|---|---|---|---|
| 检查输入 | 材料齐全 | 读取 | 来源清单 |
| 检查输入 | 引用了未提供笔记 | 等待输入 | 明确补资料请求 |
| 读取 | 首次临时失败 | 有限重试 | 错误与次数 |
| 读取 | 重试仍失败 | 失败后停止 | 部分索引、未读来源 |
| 核对 | 事实有依据 | 完成 | 标注审核状态的草稿 |
| 活跃状态 | 达到练习预算 | 预算停止 | 检查点与下一步 |
不要把所有异常都塞进“出错”节点。缺笔记要找人补,临时读取失败可能重试,预算停止需要保存现场;恢复方式并不相同。
路径一:完成索引草稿
N1批准周六清洁活动,N2讨论工具借用但没批准,N3说明活动时间仍未确定。索引应该保留活动已批准、时间待定,同时把工具借用放在提案中。
作者示例行是:“清洁活动已批准;时间未确认;提供笔记未指定负责人;来源N1、N3。”它没有填出一个好看的完整日程,却忠实反映了材料。
结束前双向检查:每条决定是否有来源,每项关键未知是否留下。不能因为表格有空格,就猜一个负责人或时间。
新笔记到来后,应使用新输入版本,不直接覆盖旧索引。复核人要能区分,这是提取错误被修正,还是组织后来真的作出了新决定。
路径二:缺资料时请求什么
拿掉N3,但N1仍提到后续会确认时间。任务应在宣称日程完成之前停止,指出缺的是哪份材料,以及它会回答哪个问题。
合适请求:“请提供N1提及的后续笔记,或确认活动时间仍未决定。”协调人有两条可操作的补齐路径,比“需要更多上下文”具体。
这不是工具故障。没人提供的笔记,重复读文件路径也不会出现;下一步属于资料负责人,所以应画独立交接。
在画布上改成自己的任务
打开Agentic工作流架构模板,替换输入清单、草稿和审核条件,补上缺输入、重试后读取失败、预算达到三类出口。每个出口旁写清交付什么。
作者示例:先核对关系,再按自己的任务修改模板。
现有模板已经有常见架构模式,这次重点增加完整任务及其失败行为,不再重复模式清单。任何同事看图,都应能回答某个分支之后由谁做什么。
涉及仓库事件与写操作时,可以看GitHub Agentic Workflows分诊案例。评论和标签会产生本资料索引任务没有的外部影响。
路径三:一次读取失败怎么处理
假设清单列了N2,但读它时遇到临时错误。本练习只允许对该次读取重试一次,记录失败来源、实际错误和次数。不要把所有已经完成的步骤一起重跑,以免重复工作或掩盖故障位置。
第二次仍失败时,保留N1、N3支持的行,将N2标为未解决,整个索引明确写“部分完成”。不能凭文件名或别次运行猜它内容。
一次重试只是练习规则,不是通用最优值。真实系统要区分临时错误、文件损坏、权限不足和服务不可用。权限没有变化时,反复请求通常解决不了访问决定。
工具如果会写入状态,还要知道第一次请求在报错前是否已经生效。可能需要防重复设计或读取状态确认,不能把所有操作都藏在同一个“重试”箭头里。
路径四:预算停止也要交接
练习规定最多三次来源读取尝试、两轮起草。数字是为了产生可检查边界,不是最佳参数,也不代表API花费。
第二轮草稿仍无法解决来源矛盾时,保存当前索引、未解决说法和继续工作需要的新证据。不因不能再做,就把部分产物标成最终版。
检查点应包含输入版本、已完成步骤、未解决问题、产物位置和下一项允许动作。第二天换人接手时,不应靠猜上一轮内部想法来恢复。
读取次数和修订轮数不是相同单位。真实运行还可能需要分别记录token、耗时、收费操作,不用一个模糊“预算”代替全部测量。
四条轨迹怎样验收
逐条检查证据含义、下一步是否合适、输出状态是否诚实、动作范围是否被遵守。成功路径不能编负责人;缺资料路径要指出依赖;读取失败要保留部分状态;预算路径要交检查点。
人工推演检查设计逻辑,不等于验证运行时。实现后重放练习,把实际输出另外保存,同时观察调用了哪些工具、改了哪些文件、是否在预期位置停止。
有分歧时记录原因:原文不清、任务约定不清,还是提取规则有问题。不是每次分歧都要加一条提示,有时来源本身需要更明确的批准表述。
上下文工程处理资料版本,Claude Skills审核练习处理重复审核程序;它们是同一工作流里的不同职责。
常见设计错误
没有新证据仍然循环。 同一不确定说法反复改写,解决不了外部未知。缺信息就回到来源负责人。
每个结尾都标成功。 预算停止可以是合适结果,但不等于完整索引。状态名称要让接手的人理解。
检查点不记录输入版本。 文件已变化时,旧行可能失效。恢复前先确认保存产物依据哪组资料。
用工具名单替代架构。 模型、框架、数据库名称说不清判断、终点和责任。换实现工具后,状态表仍应看得懂。
留下一张能被别人推演的图
用自己的已批准资料替换练习,实施前走完四条路径,把状态表放在图旁。另一人能解释各分支的产物和停止理由,才说明设计已经具体到可实现。



