应用形态是你在 Dify 里创建应用时的第一个决定:聊天助手、Agent、Chatflow(对话流)、工作流、文本生成,五选一。它决定了后续编排界面长什么样、API 端点是哪个、能不能多轮对话。选错的代价不小——形态之间不能直接转换,通常只能导出提示词重建。
承接 1.1 的平台边界,本节解决报到后的第一个实操决定:面对创建应用页面的五个选项,"小艺"应该点哪个。这也是全册流水线上第一个不可逆的岔路口。
创建应用时,Dify 把五个形态摆在你面前。先用一张表建立全景,再讲怎么选:
| 形态 | 交互方式 | 过程可控性 | 典型场景 | API 端点特征 |
|---|---|---|---|---|
| 聊天助手 | 多轮对话 | 提示词级 | 客服、陪聊、答疑 | 消息接口,带会话标识 |
| Agent | 多轮对话 | 策略级(模型自主) | 需要查外部数据、执行动作的助手 | 消息接口,带工具调用痕迹 |
| Chatflow | 多轮对话 | 节点级(画布) | 对话中要走流程:先分类再检索再回答 | 消息接口,流程可追踪 |
| 工作流 | 单次运行 | 节点级(画布) | 批量处理、后台任务、无对话界面 | 运行接口,一次输入一次输出 |
| 文本生成 | 单次表单 | 提示词级 | 写作、翻译、摘要、文案生成 | 补全接口,表单式调用 |
五个形态背后其实是两个维度的组合:对话还是单次(要不要多轮界面与会话状态),以及编排粒度(提示词级、策略级还是节点级)。把两个维度想清楚,选项自然收敛。
我习惯用三个问题做筛选,顺序固定,像漏斗一样:
**问题一:用户与应用的交互是多轮对话吗?**回答"否",直接缩到三选一:工作流(要流程)、文本生成(不要流程)、聊天助手的朋友圈之外。回答"是",进入问题二。注意判据是"业务上是否需要",不是"用户是否可能多说话"——文本生成应用用户也能连续点几次生成,但每次调用互相独立,那就是单次。
**问题二:回答的生成过程需要多个确定步骤吗?**比如"先判断问题类型,政策类查知识库、物流类调查询接口、投诉类走安抚话术再建工单"。这种多步结构如果每次都交给模型自由发挥,稳定性不可接受。回答"需要",选 Chatflow(对话)或工作流(非对话)。回答"不需要,一次生成足够",进入问题三。
**问题三:需要模型自主决定调用什么工具吗?**回答"需要且能容忍不确定性",选 Agent;"不需要或不能容忍",选聊天助手。这一问最容易被轻视:Agent 把"决定下一步做什么"交给模型,换来灵活性,付出的是可预测性。金额计算、下单改址这类硬逻辑,绝不该交给 Agent 自主决策。
三个问题走完,选择只剩一个。把这个漏斗写成分层判断(伪代码,方便你贴进团队文档):
function 选形态(需求): if 需要多轮对话: if 需要多步确定流程: return "Chatflow" elif 需要模型自主调工具: return "Agent" else: return "聊天助手" else: if 需要多步确定流程: return "工作流" else: return "文本生成" # 小艺的需求代入: # 需要多轮对话? 是(用户会追问) # 第一步需要固定流程吗? 暂时不需要(先做纯问答) # 需要自主调工具吗? 暂时不需要(第6章再放开) # → 输出:聊天助手
**实例一:政策问答客服(我们的小艺)。**多轮、单步生成、暂不调工具——聊天助手。后续第 5 章长出工单流水线时,我们不是推翻重来,而是把"答不上转工单"的部分另建一个工作流应用,由小艺通过工具调用触发(第 6 章演示)。形态选择可以随业务分期,这比一次押注全部更稳。
**实例二:商品评论情感打标。**运营每天要把三万条评论分成好评/中评/差评并打标签。无对话、纯批量、要稳定的分类规则(提示词 + 输出格式约束)——文本生成,配合脚本批量调 API;如果打标前还要先做敏感词过滤、再拼接商品类目信息,就升级成工作流。
**实例三:出差报销助手。**用户发消息"帮我报上周的高铁票",助手要查订单系统、读发票图片、算金额、写进报销单。多轮、需要工具、步骤无法预先写死——Agent。但要给报销金额上限这种硬规则留逃生门:用工作流前置校验,Agent 只处理软性部分。
形态不可直接转换,但沉淀可以带走。聊天助手的提示词、知识库关联、开场白,都能复制到新建的 Chatflow 的对应节点里;工作流里的 LLM 节点提示词可以整体拷贝。真正会丢的是运行历史与用户反馈数据,所以先小范围试用、尽早定型比反复横跳重要。
把 1.2 节开头那张全景表反过来用——从需求出发找形态,供你在评审会上快速对号:
| 你听到的需求原话 | 大概率形态 | 下一站 |
|---|---|---|
| "做个客服机器人回答常见问题" | 聊天助手 | 第3章 + 第4章知识库 |
| "写个东西帮运营批量改写商品文案" | 文本生成 | 第3章的提示词功夫直接复用 |
| "用户报修要按类型走不同流程" | Chatflow 或 工作流 | 第5章 |
| "让它自己查我们的系统再答复" | Agent | 第6章 |
| "每天凌晨自动汇总工单发周报" | 工作流 | 第5章 + 定时触发外置调度 |
注意表里最后一行暴露的一个边界:Dify 的工作流本身不内置定时器,周期任务由你的调度系统(一条定时脚本)按计划调用运行接口——平台管流程,触发权在你手里。第 7 章的集成模式会再遇到这个分工。
能,这正是本教程的路线图。聊天助手形态下可以挂知识库(第 4 章)、可以挂工具(第 6 章),也能通过工具间接触发工作流(第 5 章末演示)。形态决定的是"交互骨架与编排界面",不锁死能力上限。真正需要换形态的信号只有一个:流程复杂到聊天助手的编排面板表达不了,那时再迁 Chatflow,沉淀照搬。
⚠️ 常见坑:为了"一步到位"直接上 Agent 或 Chatflow,结果第一个月都在调试流程,连最基本的问答质量都没打磨好。更糟的是 Agent 的不确定性叠加在未经调优的提示词上,问题都说不清是哪层引入的。分期建设:先聊天助手跑通内容质量,再上确定性流程,最后放开自主性——这也是本教程章节顺序的设计逻辑。
下一节把视线从选型界面移到整个控制台:五个工作区长什么样,以及一次提问在系统内部怎么流转。