Dify AI 应用类型
对比 Dify 中 Workflow、Chatflow、聊天助手、Agent 和文本生成应用的使用场景、交互方式与选型边界。
#tech / ai
#type / synthesis
#status / growing
#resource / dify
[!info] related notes
- 所属 MOC: Dify MOC, AI MOC
- 相关概念: Agent, Agentic Systems, Agentic Workflow Patterns
- 易混淆概念: Dify Workflow 起始节点
- 相关资源: Dify
Dify AI 应用类型
范围
这篇笔记只比较 Dify 创建应用时常见的几种应用类型:
- Workflow
- Chatflow
- 聊天助手 / Chatbot
- Agent
- 文本生成 / Text Generator
官方文档更推荐优先选择 Workflow 或 Chatflow;Chatbot、Agent、Text Generator 属于更基础的应用类型,界面更简单,适合较轻量的场景。
为什么要放在一起理解
这几个类型都能调用大模型,但它们的关键差异不是“用了哪个模型”,而是:
- 是否需要多轮对话。
- 流程是固定路径还是模型动态决策。
- 是否需要自动触发。
- 输出是给聊天界面,还是给后端 API / 下游系统。
- 是否需要 Code 节点把输出清洗成稳定结构。
如果不先分清类型,很容易把固定流程误做成 Agent,或把需要结构化输出的任务误做成普通聊天助手。
依赖路径 / 调用链 / 演进链
可以按控制力和交互方式大致理解:
- 文本生成:单次输入,生成一段文本。
- 聊天助手:多轮对话,重点是自然语言问答。
- Workflow:固定任务链,输入经过多个节点后输出结果。
- Chatflow:把固定任务链放进多轮对话场景。
- Agent:让模型在更开放的任务中选择工具和下一步动作。
固定路径越清楚,越应该优先用 Workflow / Chatflow;路径越开放、工具反馈越多,才更接近 Agent。
对比与易混淆点
| 类型 | 交互方式 | 适合场景 | 边界 |
|---|---|---|---|
| Workflow | 一次输入,一次运行到结束 | 报告生成、数据处理、脚本生成、批处理 | 不负责多轮聊天;需要返回 API 结果时要配置 Output |
| Chatflow | 每轮用户消息触发一次流程 | 客服、问答机器人、任务型对话 | 它是带流程控制的对话,不是普通闲聊 |
| 聊天助手 / Chatbot | 普通多轮聊天 | 快速搭建问答助手、知识库问答原型 | 流程控制能力弱于 Chatflow |
| Agent | 模型可围绕目标调用工具或决定下一步 | 需要工具调用、查询、执行任务的开放场景 | 不等于更高级聊天;调试和风险控制成本更高 |
| 文本生成 / Text Generator | 单次输入生成文本 | 文案、总结、翻译、标题生成 | 不适合复杂流程或持续对话 |
几个稳定判断:
- 要做“输入表单 -> 固定步骤 -> JSON 输出”,优先选 Workflow。
- 要做“聊天中每一轮都走固定处理链”,选 Chatflow。
- 只是普通问答,可以先用聊天助手。
- 要让模型自己判断调用哪些工具,才考虑 Agent。
- 只要生成一段文本,不需要流程和对话,选文本生成。
video-craft-agent 的选型结论
虽然项目名叫 video-craft-agent,但 V0.1 的真实需求是:
表单输入 -> LLM 生成短视频脚本 JSON -> Code 节点校验 JSON -> Output 输出 script_json
这是一条固定路径,应该先用 Workflow,而不是 Dify 的 Agent 应用类型。
原因:
- 输入字段固定。
- 输出结构固定。
- 后续 FastAPI / FFmpeg 需要稳定 JSON。
- 暂时不需要模型自己决定工具调用路线。