学完能做什么
你会先把一件重复工作写成可验收的手工清单,再逐步加入触发、判断、AI 处理、人工确认、幂等、重试和告警。
先自动化稳定流程,不要自动化混乱
如果两个人手动做同一件事的步骤完全不同,或者每次都要靠临场判断,先把流程和例外说清。自动化会放大现有规则,不会自动把坏规则变好。
从手工清单开始
以“收到反馈后分类并生成回复草稿”为例:
text
1. 接收反馈,生成业务唯一 ID
2. 检查必填字段和敏感数据
3. 区分咨询、故障、投诉和建议
4. 高风险投诉直接转人工
5. 查询已确认知识库材料
6. 生成回复草稿和引用
7. 人工确认接收对象和内容
8. 发送并记录消息 ID
9. 失败时告警,不重复发送只有当这张清单可以被新人执行并得到一致结果,才适合编排。
工作流的六类节点
| 节点 | 作用 | 必须记录 |
|---|---|---|
| 触发 | 定时、事件或人工启动 | 来源事件 ID 和时间 |
| 校验 | 检查格式、必填项和权限 | 通过或拒绝原因 |
| 判断 | 根据规则或 AI 结果分支 | 分支理由和置信标记 |
| 处理 | 转换、查询、生成 | 输入版本和输出摘要 |
| 确认 | 展示即将执行的动作 | 确认人、对象、参数和时间 |
| 执行 | 发送、写入、创建或修改 | 结果 ID、状态和错误 |
幂等:重试不能把一件事做两次
网络超时时,客户端不知道服务端是否已经成功。如果直接重试,可能重复发送、创建或扣费。
对有副作用动作使用稳定的幂等键,例如“来源事件 ID + 动作类型”。服务端遇到同一键时返回原结果,不再执行一次。
重试要区分错误
- 参数错误、无权限、业务规则拒绝:不应重试;
- 短暂超时、限流、临时服务不可用:可以有限重试;
- 最终状态不明:先查询本次业务 ID,不盲目重放;
- 输入数据已变更:停止旧任务,用新版本重新审批。
重试设置最大次数、指数退避和总超时,超过后进入人工队列。
AI 节点不能隐藏不确定性
用 AI 分类时,输出应该包含类别、理由、所用材料和是否需要人工。不要只输出一个看似精确的分数。
可以定义:
- 明确命中规则的低风险类别自动继续;
- 材料冲突、字段缺失或高风险类别转人工;
- 任何不在枚举中的结果都拒绝继续。
告警要告诉人“下一步做什么”
好的告警包含:工作流 ID、失败节点、错误分类、是否已产生副作用、已重试次数、安全的恢复操作和运行记录链接。不要把密钥和完整敏感输入放进告警。
工作流设计作业
选一件每周至少做三次的工作:
- 写出当前手工清单和实际例外;
- 标记触发、校验、判断、处理、确认和执行节点;
- 为每个执行动作设计幂等键;
- 列出可重试和不可重试错误;
- 列出三个必须转人工的条件;
- 使用测试数据跑通,不直接接生产系统;
- 故意制造超时和重复事件,验证不重复执行。
完成检查清单
- 手工流程和例外已经稳定。
- 每个节点有输入、输出、成功和失败去向。
- 有副作用动作有幂等键和人工确认。
- 重试按错误分类,有最大次数和总超时。
- AI 结果不确定时会转人工,不强行继续。
- 告警可以指导恢复,不包含敏感数据。
下一步
你已经完成工具与知识库路线。下一类《Agent 开发实战》将从运行循环和第一次 API 请求开始,将这些边界落到代码里。