提示词、工具调用与工作流
工作流(Workflow)编排:顺序、分支、重试与人工兜底
学习目标
- 理解工作流的基本组成。
- 能设计顺序、分支、重试和人工确认。
- 知道如何避免一次模型调用承担完整业务流程。
核心概念
工作流(Workflow)是由多个步骤组成的可控任务流。步骤可以是模型调用、工具调用、程序校验、人工审核或通知发送。和单次调用相比,工作流的优势是状态明确、失败可定位、过程可观测。
常见控制结构包括顺序、分支、重试和兜底。顺序保证依赖关系,分支根据条件选择路径,重试处理可恢复失败,人工兜底处理高风险或低置信度情况。
工作流设计的核心问题是:每一步的输入是什么,输出是什么,失败时怎么办,是否允许自动继续。
示例与拆解
“自动处理课程项目提交”的工作流可以是:
1[ 2 {"step": "load_submission", "type": "program"}, 3 {"step": "check_required_files", "type": "program"}, 4 {"step": "review_with_rubric", "type": "model"}, 5 {"step": "validate_review_json", "type": "program"}, 6 {"step": "if_score_low", "type": "branch", "next": "human_review"}, 7 {"step": "publish_feedback", "type": "program"} 8]
如果模型输出的 JSON 不合法,可以重试一次并附带错误原因:
1上一次输出无法解析,原因:missing field "score"。 2请只返回符合 schema 的 JSON。
如果第二次仍失败,流程应进入人工处理,而不是继续发布不可靠反馈。
常见误区
- 误区一:把工作流画成流程图就算完成。每个节点还需要输入、输出、失败规则。
- 误区二:无限重试。重试会增加成本,且可能重复触发副作用。
- 误区三:只处理成功路径。真实产品中失败路径通常更决定可用性。
小练习
设计一个“自动生成并发送学习提醒”的工作流,包含至少一个分支、一个重试条件和一个人工确认点。
实操检查点
把工作流写成状态表,而不是只画箭头。每个状态至少包含 entry_condition、success_next 和 failure_next。
1{ 2 "state": "draft_message", 3 "entry_condition": "用户 7 天未学习且允许提醒", 4 "success_next": "review_message", 5 "failure_next": "skip_and_log", 6 "retry": "最多 1 次" 7}
如果某个失败路径没有明确下一步,这个工作流还不能进入产品。
随堂测验
完成本章测验,重点检查你能否把模型调用放入可控流程。
本章总结
工作流让人工智能任务从一次生成变成可管理流程。顺序、分支、重试和人工兜底是把不确定模型接入业务系统的基础。
下一步学习指引
下一章学习安全护栏、安全和失败恢复,进一步控制错误输出与越权行为。