Workflow 还是 Agent:Dify 企业应用的边界怎么划
本文根据 JOTO 于 2026 年 6 月形成的资料重新整理,2026 年 7 月 16 日更新公开。Workflow 与 Agent 的差别不只是界面上的两种编排方式。前者由设计者预先定义步骤和分支,后者让模型在运行时选择行动与工具。企业应用的关键问题不是哪个更聪明,而是哪部分允许动态决策、哪部分必须可预测。边界划...
本文根据 JOTO 于 2026 年 6 月形成的资料重新整理,2026 年 7 月 16 日更新公开。
Workflow 与 Agent 的差别不只是界面上的两种编排方式。前者由设计者预先定义步骤和分支,后者让模型在运行时选择行动与工具。企业应用的关键问题不是哪个更聪明,而是哪部分允许动态决策、哪部分必须可预测。边界划错后,轻则调试困难,重则让一次含糊指令触发不应执行的业务动作。
判断这个场景是否适合
步骤稳定、输入结构清楚、规则可以枚举、结果需要复现时优先 Workflow。例如文档分类后按类型抽取字段、调用固定接口校验、生成草稿并交人工确认,每一步都有明确输入输出。它便于设置超时、重试和错误分支,也容易判断失败发生在哪里。即使某个节点使用模型,整体控制权仍在流程设计中。
任务目标清楚但路径难以预先穷举,需要根据上下文选择检索、计算或多种只读工具时,可以考虑 Agent。例如内部研究助手可能先搜索资料,再比较来源并追问缺失条件。适用前提是工具边界窄、每次动作可观察、循环和预算有限。若目标本身模糊,Agent 只会把模糊放大;若工具能转账、删数据或外发信息,不能把模型判断当作最终授权。
实际系统经常采用混合结构。外层 Workflow 管理身份校验、资料准备、审批、落库和通知,中间一个受限 Agent 负责探索性检索或选择分析工具。这样动态能力被放在可替换的小区域,关键写操作仍走确定分支。判断时可画出动作清单,为每项标记可逆性、影响范围、所需证据和批准人,风险越高,越应由流程与人工控制。
实施时怎么拆
先写任务契约:输入允许什么、输出交给谁、不得做什么、成功证据是什么。Workflow 将契约拆成节点,节点只承担一种职责,结构化数据通过变量传递,长文本保留来源。对外部接口明确超时、重试次数和幂等标识,失败进入补偿或人工队列。不要让一个大模型节点同时理解、决定、执行并解释,否则日志很难还原决策。
Agent 设计从工具开始。每个工具使用窄参数、清楚描述和最小权限,查询与修改分离,生产写工具默认不可用。限制最大迭代、总耗时和消耗,记录模型选择工具的输入、参数、返回和终止原因。对无结果、参数不完整、工具异常和循环调用分别定义停止行为,无法获得证据时应说明不足或转人工,而不是继续猜测。
人工确认要位于真正的风险边界。模型生成邮件草稿后,审批界面应展示收件人、正文、附件和依据;批准后由固定节点发送,修改内容则重新确认。数据库变更应显示目标对象与差异,使用者确认的是具体动作,不是抽象的“继续”。审批身份、时间和版本进入审计记录,过期批准不能被新版内容复用。
测试分别覆盖确定路径和动态路径。Workflow 做分支、重试、幂等和补偿测试;Agent 用固定任务集检查工具选择、错误参数、越权请求、循环和拒绝行为。发布时让动态部分可关闭,异常时降级到检索、表单或人工处理。回滚不仅恢复应用版本,也要停止仍在运行的任务,核对已经执行的外部动作,避免旧流程重复补偿。
不要忽略的限制
Workflow 并不天然可靠,节点中的模型仍可能产生不稳定输出,外部接口也会失败;Agent 也不会因为增加说明就自动遵守所有边界。安全控制要落在工具权限、网关、审批和数据层,提示词只能作为行为引导。长流程还要关注状态保存,重试若从头开始,可能重复发送通知或创建记录。
选择架构时不要用一次成功演示作证据。应比较维护成本、故障定位、响应时间和业务可接受的人工量。需求变化后重新评估边界:频繁且可归纳的 Agent 路径可以固化为 Workflow,少量例外交给人工;规则不断分叉但风险较低的只读步骤可以开放有限动态选择。任何无法解释已执行动作、无法停止循环或无法撤销高风险结果的设计,都不应进入生产。



