Agent 日报

Dify 详解:可视化 Agent 工作流平台

Cover image for Dify 详解:可视化 Agent 工作流平台

Dify 是什么、它的可视化工作流构建器如何服务 Agent 开发,以及 2026 年它在 Agentic AI 技术栈中的位置。

TL;DR — Dify 是一个开源平台,用来可视化构建 AI Agent 和工作流。可以把它想成”Agent 流水线的 Figma”——拖节点、连线、绑模型和工具,就能拿到生产级 API 端点,不用写编排代码。GitHub 100K+ stars 加企业级采用,它填补了从原型到上线之间的鸿沟。

Dify 是什么

Dify(LangGenius 出品)是一个全栈 LLM 应用平台,打包了:

  • 可视化工作流编辑器做 Agent 编排
  • RAG 流水线引擎(文档导入 + 检索)
  • 多模型管理(换供应商不改代码)
  • Agent 框架 + 工具调用
  • 插件市场
  • 内置可观测性(trace、成本、延迟)

关键数据:

指标数值
GitHub stars100K+
OpenRank(2026年5月)165.92
活跃贡献者137
自托管部署量数万
许可证Apache 2.0(企业功能源码可见)

它现在的定位:“Leading Agentic Workflow Builder”。从 LLM 应用构建器起步,已经坚定转向 agentic 编排——这和整个生态从 chatbot 转向 agent 的趋势一致。

我对 Dify 的第一反应是怀疑——我是个代码优先的人,可视化构建器在我看来通常是一周就会扔掉的辅助轮。让我改观的不是 demo,是把一个 Dify 画布丢给一个不写代码的 PM,看着他没靠我就上线了一个能用的客服分流 Agent。这才是它真正的价值主张,也是 Python 框架给不了的。问题不在于 Dify 是不是”比代码好”——而在于给你建 Agent 的那些人,到底写不写代码。

可视化工作流范式

Dify 打动特定类型 builder 的原因在这里。用代码写 Agent 编排长这样:

# 代码优先(LangChain/LangGraph)
from langgraph.graph import StateGraph

graph = StateGraph(AgentState)
graph.add_node("plan", plan_step)
graph.add_node("execute", execute_step)
graph.add_node("review", review_step)
graph.add_edge("plan", "execute")
graph.add_conditional_edges("execute", should_retry, {"yes": "execute", "no": "review"})
# ... 再来 50 行接线代码

在 Dify 里,同样的事情是画布上三个方块加两条箭头。每个节点的模型、prompt、工具绑定在侧面板配置。平台生成执行引擎。

这不是”更好”或”更差”——是不同的 trade-off:

维度代码优先(LangGraph)可视化(Dify)
灵活性无限受限于节点类型
迭代速度中等
非开发者可用
版本控制原生(git)平台管理
调试debugger/日志内置 trace 查看器
部署自己搭一键 API
供应商锁定风险中等

Dify 最强的场景是团队里有非开发者(产品经理、领域专家)需要构建或修改 Agent 工作流而不写 Python。也适合快速原型——30 分钟验证一个 Agent 概念,而不是花一天。

架构

┌──────────────────────────────────────────────┐
│  前端(React)                                 │
│  可视化工作流编辑器 + 应用工作室                 │
├──────────────────────────────────────────────┤
│  后端(Python/Flask)                          │
│  工作流引擎 + RAG 流水线 + Agent 循环           │
├──────────────────────────────────────────────┤
│  基础设施                                      │
│  PostgreSQL + Redis + Weaviate/Qdrant + S3    │
├──────────────────────────────────────────────┤
│  模型供应商(可插拔)                           │
│  OpenAI, Anthropic, 本地, Bedrock 等          │
└──────────────────────────────────────────────┘

Docker Compose 一条命令自托管全套,或用 Dify Cloud(托管版)。生成的应用暴露 REST API,前端或其他 Agent 可以调用。

Agent 构建体验

Dify v1.14+ 引入了 “Agent Skills”——从简单聊天流到真正 Agent 的重大转变:

沙箱化运行时 — Agent 代码执行在隔离环境中。Agent 可以跑 Python、调 API、处理数据,不会影响宿主系统。

Skill Editor — 构建可复用的 Agent 能力(如”搜索网页”、“查数据库”、“生成图表”),可以组合进工作流。

动态变量组装 — Agent 的上下文从工作流状态动态构建,不是硬编码在一个巨大 prompt 里。这让复杂多步 Agent 更容易管理。

工具集成 — 原生支持 function calling 调外部 API。在 UI 里定义工具和 schema,Agent 执行时使用。

规模化时什么会崩(自托管的现实)

Dify 演示起来很漂亮。“10 分钟建个 Agent”的视频是真的。视频跳过的是放到生产后会发生什么。真实负载下自托管 Dify 跑过之后,会咬人的地方:

**工作流引擎才是瓶颈,不是模型。**Dify 后端(Python/Flask)逐节点执行你的工作流图。每次节点切换都有开销——状态序列化、数据库写入、队列操作。简单 3 节点工作流这是隐形的。20 节点的 Agent 工作流在并发下,编排开销可能超过实际 LLM 延迟。我们见过 40% 的墙钟时间花在 Dify 管道上而不是推理的工作流。

**并发上限比你想的低。**默认 Docker Compose 配的 worker 数很保守。开箱即用,20-30 个并发工作流执行就开始排队。扩展意味着一起调 CELERY_WORKER_AMOUNT、Gunicorn worker 数和 Postgres 连接池——调错一个要么 OOM 要么 DB 连接死锁。

**RAG 用的向量库需要自己的容量规划。**Dify 默认捆绑 Weaviate(或 Qdrant)。捆绑的单节点实例处理几千文档没问题,百万级不行。如果你的 RAG 语料很大,应该让 Dify 指向托管向量库,把捆绑的当 dev-only。

**版本升级可能搞坏工作流。**Dify 迭代很快。1.12 建的工作流升到 1.14 后偶尔需要调整,因为节点行为或变量作用域变了。生产环境锁版本,在 staging 测升级——别自动拉 latest

诚实总结:Dify 擅长快速做出能用的 Agent,擅长让非开发者参与。它不是基础设施上的免费午餐。如果你预期高 QPS,预留调引擎的时间,或者接受 Dify 是你的原型/内部工具层,而代码优先的栈处理你最高量级的路径。

Dify 在 Agent 技术栈中的位置

Dify 位于编排和构建层

┌─────────────────────────────────────┐
│  最终用户 / 应用                      │
├─────────────────────────────────────┤
│  Dify(编排 + RAG + UI)             │  ← 面向 builder 的平台
├─────────────────────────────────────┤
│  模型网关(LiteLLM / SandBase)      │
├─────────────────────────────────────┤
│  推理引擎(vLLM / SGLang)           │
├─────────────────────────────────────┤
│  计算(GPU)                          │
└─────────────────────────────────────┘

它不是推理引擎,不是模型网关。它是你设计 Agent 做什么、用什么工具、访问什么 RAG 数据、工作流怎么分支的层。然后调用下方的模型层执行。

Dify vs 其他选择

功能Difyn8nLangFlow纯代码
可视化编辑器
Agent 原生部分(AI 节点)
内置 RAG靠集成部分自建
自托管
非开发者友好
插件生态成长中成熟(400+)社区N/A
多模型靠凭证
最适合AI 原生 Agent 应用通用自动化 + AILangChain 可视化最大控制权

关键区别:Dify 是专为 LLM/Agent 工作流构建的。n8n 是通用自动化平台后加了 AI 能力。LangFlow 是 LangChain 的可视化前端。如果你的核心工作是”构建 AI Agent 和 RAG 应用”,Dify 体验最完整。如果 AI 只是更大自动化链的一部分(Slack → 表格 → 邮件),n8n 更自然。

什么时候用 Dify

适合:

  • 团队需要快速交付 Agent 驱动的功能
  • 非技术干系人需要理解和修改工作流
  • 想要开箱即用的 RAG,不用自己拼向量库 + embedding + 检索
  • 构建面向客户的 AI 应用(聊天机器人、客服 Agent、知识库)
  • 要开箱即用的可观测性

不太适合:

  • 需要代码级别控制 Agent 每个决策
  • Agent 工作流高度定制化,映射不到 Dify 的节点类型
  • 在构建 coding agent(需要文件系统/shell 访问,不是工作流节点)
  • 想避免任何平台依赖

Description 的演变

Dify 的旅程是生态趋势的教科书案例。它从 “LLMOps 平台”(做 prompt 管理和模型实验)出发,变成”LLM 应用开发平台”,现在定位自己为”生产级 agentic 工作流开发平台”。

每个 description 反映的是用户需求的真实变化。市场从”帮我调 LLM”走到了”帮我构建一个在真实世界做事的 Agent”——Dify 跟着走了。

FAQ

Dify 是真正的开源吗?

核心是 Apache 2.0 许可证,可自托管。部分企业功能(SSO、高级权限、审计日志)只在付费云版或企业版提供。社区版构建和部署 Agent 功能完整。

能用自己的模型吗?

可以。支持 OpenAI 兼容端点,你可以指向自己的 vLLMSGLang 实例。也原生支持 Anthropic、Google、Azure、Bedrock 等。

Dify 怎么处理 Agent 代码执行?

v1.14+ 引入了沙箱化执行。Agent skill 可以在隔离环境中运行 Python。更高级的沙箱需求(运行任意用户代码、测试、构建)可以搭配专用沙箱服务如 SandBase 的执行 API。

适合生产吗?

数万自托管部署说明可以。主要的生产顾虑是工作流引擎在高并发下的扩展——平台设计更偏向中等量级的复杂工作流,不是高 QPS 的简单 completion。

和直接用 LangChain 比呢?

Dify 内部用了 LangChain 风格的组件但把复杂性藏在可视化界面后面。如果你是想要完全代码控制的开发者,LangChain/LangGraph 给你更多灵活性。如果想更快迭代、更少代码、内置基础设施,Dify 是另一个方向的 trade-off。

核心要点

  • Dify 是可视化 Agent 工作流平台,100K+ GitHub stars,打包了编排、RAG、多模型管理和可观测性。
  • 最强场景是需要非开发者参与 Agent 工作流设计的团队,或快速原型 Agent 应用。
  • 和代码优先方案的 trade-off:更快迭代和更低门槛,代价是部分灵活性和平台依赖。
  • 位于编排层——模型网关和推理引擎之上,终端用户应用之下。配合 LiteLLM 做多供应商路由。

猜你喜欢