Dify、Coze/扣子:低代码 Agent 平台深度评测

概述

低代码 Agent 平台让非技术用户也能构建 AI 应用。这一赛道在 2024-2025 年快速成熟,其中 Dify(开源)和 Coze/扣子(字节跳动)是国内最有代表性的两个平台。

本文从架构设计、功能覆盖、开发体验、部署运维和适用场景五个维度进行深度对比。

平台概览

维度 Dify Coze/扣子
定位 开源 LLM 应用开发平台 字节跳动 AI Bot 开发平台
开源 是(Apache 2.0) 否(SaaS)
私有化部署 支持(Docker/K8s) 不支持(仅 SaaS)
核心功能 Workflow + RAG + Agent Bot + Plugin + Workflow
模型支持 OpenAI / Anthropic / 本地模型 / 100+ GPT / Claude / 豆包(字节)
国内版 dify.ai coze.cn (扣子)
国际版 dify.ai coze.com
定价 开源免费 / Cloud 按用量 免费增值

架构对比

Dify 架构

Dify 技术栈
    |
    ├── 前端: React + TypeScript
    ├── 后端: Python (Flask)
    ├── 数据库: PostgreSQL
    ├── 缓存: Redis
    ├── 向量库: Weaviate / Qdrant / Milvus / PGVector
    ├── 文件存储: S3 / 本地
    └── 队列: Celery + Redis

Dify 的核心设计是"Workflow First":所有 AI 应用本质上是一个可视化工作流,由节点(Node)和连线(Edge)组成。

核心概念:

  • Application:最终的 AI 应用(聊天助手/文本生成/Agent/Workflow)
  • Workflow:可视化编排的处理流程
  • Knowledge:RAG 知识库(文档上传 -> 分块 -> 向量化 -> 检索)
  • Tool:内置工具 + 自定义 API 工具
  • Model Provider:模型提供商配置

Coze/扣子 架构

Coze/扣子 技术栈
    |
    ├── Bot Builder: 可视化 Bot 配置
    ├── Plugin System: 插件市场 + 自定义插件
    ├── Workflow: 可视化工作流
    ├── Knowledge: 知识库(RAG)
    ├── Memory: 长期记忆
    └── Publishing: 多渠道发布

Coze 的核心设计是"Bot First":以 Bot(智能体)为中心,通过插件和工作流扩展能力。

核心概念:

  • Bot:智能体(Persona + Skills + Knowledge + Memory)
  • Plugin:能力扩展(内置 / 市场 / 自定义)
  • Workflow:复杂逻辑编排
  • Knowledge:知识库
  • Memory:跨对话记忆(变量持久化)

功能深度对比

RAG / 知识库

能力 Dify Coze/扣子
文档格式 PDF/Word/Excel/Markdown/HTML/TXT/CSV PDF/Word/Excel/TXT/Markdown
网页抓取 支持(同步网页内容) 支持(URL 导入)
API 数据源 支持(自定义 API) 有限
分块策略 自动/自定义/按段落/按标题 自动/自定义大小
向量数据库 8+ 选择(Weaviate/Qdrant/Milvus/PGVector等) 内置(不可选)
Embedding 模型 可选(OpenAI/本地/任意) 内置(不可选)
混合检索 支持(向量+关键词) 支持
Rerank 支持(Cohere/本地) 内置
分段预览 支持(可视化查看分段结果) 支持
单知识库容量 取决于向量库配置 免费版有限制

分析:Dify 在 RAG 方面更灵活,允许选择向量数据库、Embedding 模型和检索策略。Coze 更开箱即用,但自定义空间有限。对于需要精细调优 RAG 效果的场景,Dify 是更好的选择。

Workflow 编排

能力 Dify Coze/扣子
节点类型 LLM/知识检索/代码/HTTP/条件/循环/变量 LLM/知识库/代码/HTTP/条件/插件调用
代码节点 Python/JavaScript Python/JavaScript
条件分支 支持 支持
循环 支持(迭代节点) 支持
变量传递 显式(节点输入/输出绑定) 显式 + 隐式
子工作流 支持 支持
错误处理 重试/默认值/异常分支 重试/异常分支
调试 单步执行/中间结果查看 单步执行/日志
模板 社区模板市场 官方模板库

编排示例:客服 Bot

Dify Workflow

# Dify 工作流伪描述
nodes:
  - id: start
    type: start
    outputs: [user_query]

  - id: intent_classify
    type: llm
    model: gpt-4o-mini
    prompt: "分类用户意图:退货/咨询/投诉/其他"
    inputs: [user_query]
    outputs: [intent]

  - id: route
    type: condition
    conditions:
      - if: intent == "退货"
        goto: refund_flow
      - if: intent == "咨询"
        goto: knowledge_search
      - else:
        goto: general_reply

  - id: knowledge_search
    type: knowledge_retrieval
    dataset: product_knowledge_base
    inputs: [user_query]
    outputs: [relevant_docs]

  - id: general_reply
    type: llm
    model: gpt-4o
    prompt: "基于以下知识回答用户问题..."
    inputs: [user_query, relevant_docs]
    outputs: [answer]

Coze Bot 配置

Bot: 客服助手

Persona:
  你是一个专业的客服代表,帮助用户解决产品相关问题。
  遇到退货请求,引导用户提供订单号。
  遇到投诉,安抚用户情绪并记录问题。

Skills:
  - Plugin: 订单查询插件
  - Plugin: 退货流程插件
  - Knowledge: 产品知识库
  - Workflow: 投诉处理流程

Memory:
  - 用户偏好语言
  - 历史订单号
  - 上次对话摘要

Agent 能力

能力 Dify Coze/扣子
Agent 模式 Function Calling / ReAct Function Calling
工具调用 内置 + 自定义 API + 代码工具 插件市场 + 自定义插件
并行工具调用 支持 支持
迭代轮次控制 可配置 可配置
多 Agent 不原生支持 不支持
Agent 日志 详细(每步推理可见) 中等

模型支持

模型提供商 Dify Coze/扣子
OpenAI (GPT-4o等) 支持 支持
Anthropic (Claude) 支持 支持
Google (Gemini) 支持 有限
字节豆包 可配置 原生支持(优惠定价)
通义千问 支持 有限
本地模型 (Ollama等) 支持 不支持
自定义兼容 API 支持 不支持
模型微调 不直接支持 不支持

Dify 优势:支持 100+ 模型提供商,包括本地部署的 Ollama 模型。对于数据敏感或成本敏感的场景,可以使用本地模型。

Coze 优势:与字节豆包深度集成,使用豆包模型有价格优势。

发布与集成

渠道 Dify Coze/扣子
Web 嵌入 iframe / JS SDK 内置
API 接口 RESTful API API
微信公众号 需自行开发 原生支持
飞书 需自行开发 原生支持
Discord 需自行开发 原生支持(国际版)
Slack 需自行开发 原生支持(国际版)
网页 Bot 原生支持 原生支持
小程序 需自行开发 部分支持

Coze 的发布优势:一键发布到飞书、微信、Discord 等渠道是 Coze 的杀手级功能。对于需要快速接入即时通讯平台的场景,Coze 几乎无敌。

部署与运维

Dify 私有化部署

# Docker Compose 部署(最简方式)
git clone https://github.com/langgenius/dify.git
cd dify/docker
cp .env.example .env

# 编辑 .env 配置
# - SECRET_KEY
# - DATABASE_URL
# - REDIS_URL

docker compose up -d

# 访问 http://localhost:80
# docker-compose.yaml 核心服务
services:
  api:
    image: langgenius/dify-api
    depends_on: [db, redis, weaviate]
    environment:
      MODE: api

  worker:
    image: langgenius/dify-api
    depends_on: [db, redis]
    environment:
      MODE: worker

  web:
    image: langgenius/dify-web
    depends_on: [api]

  db:
    image: postgres:15-alpine

  redis:
    image: redis:7-alpine

  weaviate:
    image: semitechnologies/weaviate

K8s 部署

# Helm 部署
helm repo add dify https://langgenius.github.io/dify-helm
helm install dify dify/dify \
  --namespace dify \
  --create-namespace \
  --set global.storageClass=gp3 \
  --set api.replicas=2 \
  --set worker.replicas=2

Coze

Coze 为纯 SaaS 服务,无需部署。优势是零运维,劣势是数据存储在字节跳动的服务器上。

开发体验对比

API 使用

# Dify API 调用
import requests

# 聊天对话
response = requests.post(
    "https://api.dify.ai/v1/chat-messages",
    headers={"Authorization": "Bearer app-xxx"},
    json={
        "inputs": {},
        "query": "你好",
        "user": "user-123",
        "conversation_id": "",
        "response_mode": "streaming",
    },
    stream=True,
)

for line in response.iter_lines():
    if line:
        data = json.loads(line.decode().replace("data: ", ""))
        if data["event"] == "message":
            print(data["answer"], end="")

# Workflow 调用
response = requests.post(
    "https://api.dify.ai/v1/workflows/run",
    headers={"Authorization": "Bearer app-xxx"},
    json={
        "inputs": {"query": "分析这段文本的情感"},
        "user": "user-123",
    },
)
# Coze API 调用
import requests

response = requests.post(
    "https://api.coze.cn/v3/chat",
    headers={
        "Authorization": "Bearer pat_xxx",
        "Content-Type": "application/json",
    },
    json={
        "bot_id": "bot_xxx",
        "user_id": "user-123",
        "stream": True,
        "additional_messages": [
            {"role": "user", "content": "你好", "content_type": "text"},
        ],
    },
    stream=True,
)

定价对比

Dify

方案 价格 说明
开源自托管 免费 自行承担基础设施成本
Dify Cloud (Sandbox) 免费 200 次消息/天
Dify Cloud (Professional) $59/月 无限消息,5 团队成员
Dify Cloud (Team) $159/月 高级功能,无限成员

注意:模型调用费用需另外支付给模型提供商。

Coze/扣子

方案 价格 说明
免费版 免费 每日调用次数有限
专业版 按量计费 按 token 消耗计费
企业版 定制 大客户定制方案

Coze 使用字节豆包模型有价格优势,使用 OpenAI/Claude 等外部模型需要自带 API Key。

选型决策

选 Dify 当

  • 需要私有化部署(数据合规要求)
  • 需要自定义模型(本地 Ollama / 私有 API)
  • 需要精细控制 RAG 管道
  • 需要开源可审计
  • 团队有一定技术能力
  • 需要深度定制 UI 和功能

选 Coze/扣子 当

  • 需要快速发布到即时通讯平台(飞书/微信/Discord)
  • 团队以非技术人员为主
  • 需要零运维的 SaaS 服务
  • 使用字节生态(豆包模型有价格优势)
  • 简单的 Bot + 插件场景
  • 需要丰富的插件市场

决策矩阵

                    技术灵活性
                      |
              Dify    *
                      |
                      |
                      |
                      |   * Coze/扣子
                      |
     ─────────────────┼─────────────── 上手易用性
                      |

典型场景匹配

场景 推荐 理由
企业内部知识库 Dify 数据隐私,私有化部署
客服 Bot(飞书/微信) Coze 一键发布到 IM 平台
复杂业务流程自动化 Dify Workflow 更强大
个人 AI 助手 Coze 快速上手,免费额度
AI SaaS 产品 Dify 开源可定制,白标化
营销内容生成 Coze 模板丰富,发布渠道多

从低代码到 Pro-Code 的迁移路径

当低代码平台无法满足需求时,迁移路径:

Coze/扣子 -----> Dify (开源) -----> 自建系统 (LangGraph)
(验证想法)       (增加控制力)        (完全自定义)

迁移触发点:
- Coze -> Dify: 需要私有化、需要自定义模型、需要精细 RAG
- Dify -> 自建: 需要多 Agent、需要复杂状态管理、需要极致性能

总结

Dify 和 Coze 代表了低代码 Agent 平台的两个方向:Dify 是"开发者友好的开源平台",Coze 是"用户友好的 SaaS 产品"。选择取决于你的团队技术能力、数据合规要求和发布渠道需求。对于大多数企业,建议从 Coze 验证想法,用 Dify 落地生产。


Maurice | maurice_wen@proton.me