Claude Code Skills vs Dify:AI 开发工具的两种哲学

cover

最近在和几个做 AI 应用的朋友聊天时,发现一个有意思的现象:有人用 Claude Code 写代码写得飞起,有人却更喜欢在 Dify 上拖拽节点搭建工作流。这两个工具看起来都在做”AI 开发”这件事,但用起来感觉完全不一样。

这让我开始思考:为什么会有这么大的差异?它们到底在解决什么问题?

两个工具,两种思路

Claude Code Skills:给 AI 装上工具箱

Claude Code 本质上是一个终端原生的 AI 编程助手。它不是简单的代码补全工具,而是能够理解你的整个项目、跨多个文件进行修改、运行测试、甚至帮你提交代码的”AI 结对编程伙伴”。

Skills 是 Claude Code 的核心扩展机制。你可以把它理解为给 Claude 装上了一个工具箱——每个 Skill 就是一个专门的能力模块。

比如说,你可以创建一个 /deploy Skill,教会 Claude 如何部署你的应用:

1
2
3
4
5
6
7
8
9
10
---
name: deploy
description: Deploy the application to production
disable-model-invocation: true
---

Deploy steps:
1. Run test suite
2. Build the application
3. Push to deployment target

这个 Skill 文件放在 .claude/skills/deploy/SKILL.md 后,你只需要在终端输入 /deploy,Claude 就会按照这个流程帮你完成部署。

更强大的是,Claude 可以根据上下文自动判断何时使用某个 Skill。当你在讨论 API 设计时,它会自动加载你定义的 API 规范 Skill;当你导入 anthropic 库时,/claude-api Skill 会自动激活,提供 API 使用指导。

这种设计哲学是:把 AI 当作一个可以不断学习新技能的智能体,通过 Skills 让它适应你的工作流程。

Dify:把 AI 工作流可视化

Dify 走的是完全不同的路线。它是一个开源的可视化 AI 应用开发平台,核心是”拖拽式工作流编排”。

在 Dify 上,你不需要写代码(当然也可以写),而是通过可视化画布把各种节点连接起来:

  • LLM 节点:调用 GPT-4、Claude、Gemini 等模型
  • 知识库节点:接入 RAG 检索
  • 工具节点:调用外部 API
  • 逻辑节点:条件判断、循环、迭代
  • Agent 节点:让 AI 自主决策

比如你要做一个客服机器人,可以这样设计:用户输入 → 意图识别 → 查询知识库 → 如果找不到答案就调用搜索工具 → 生成回复。整个流程在画布上一目了然。

Dify 刚刚完成了 3000 万美元的 Pre-A 轮融资,估值 1.8 亿美元。它在 GitHub 上的 star 数已经进入历史前列,全球有 140 万台机器在运行 Dify,超过 2000 个团队和 280 家企业在使用。

这种设计哲学是:把复杂的 AI 逻辑变成可见、可理解、可协作的系统。

核心差异:代码优先 vs 可视化优先

工作方式的不同

Claude Code Skills 是代码优先的。你在终端里和 Claude 对话,它帮你读文件、改代码、跑测试。Skills 本质上是给 Claude 的”提示词模板”,用 Markdown 写成,存放在项目的 .claude/skills/ 目录下。

这种方式的优势是:

  • 完全融入开发者的日常工作流(Git、终端、编辑器)
  • 可以处理复杂的代码重构和多文件修改
  • 通过 /batch 这样的 Skill 可以并行处理大规模代码变更

但它也有局限:

  • 需要一定的编程基础
  • 工作流程对非技术人员不够友好
  • 难以直观地看到整个处理流程

Dify 是可视化优先的。你在网页上拖拽节点,连接数据流,整个 AI 应用的逻辑一目了然。

这种方式的优势是:

  • 产品经理、运营人员也能参与 AI 应用开发
  • 复杂的工作流逻辑清晰可见,便于调试和优化
  • 支持团队协作,多人可以在同一个画布上工作

但它也有权衡:

  • 对于纯代码任务(比如重构一个 React 组件),不如直接写代码高效
  • 可视化编排在处理超大规模逻辑时可能变得复杂

适用场景的不同

Claude Code Skills 更适合:

  • 软件开发任务:写代码、重构、测试、部署
  • 需要深度理解代码库的场景
  • 开发者个人或小团队的工作流优化
  • 需要与 Git、CI/CD 等开发工具深度集成的场景

举个例子,如果你要把一个项目从 Solid 迁移到 React,可以用 /batch migrate src/ from Solid to React。Claude 会分析代码库,把任务拆分成 5-30 个独立单元,每个单元在独立的 git worktree 中并行处理,完成后自动开 PR。

Dify 更适合:

  • AI 应用开发:聊天机器人、智能客服、内容生成
  • 需要编排多个 AI 模型和工具的场景
  • 跨职能团队协作(技术+业务)
  • 快速原型验证和迭代

举个例子,如果你要做一个智能文档助手,需要先从 PDF 提取内容、建立知识库、支持多轮对话、必要时调用搜索引擎补充信息。这种场景在 Dify 上拖拽几个节点就能搭建起来,而且业务人员也能看懂和调整。

更深层的哲学差异

Claude Code:AI 作为工具的延伸

Claude Code 的设计理念是把 AI 当作开发者工具链的一部分。Skills 机制让你可以教会 Claude 你的项目规范、部署流程、测试策略。

这种方式的核心假设是:开发者知道自己要做什么,AI 是帮助执行的助手。

Claude Code 遵循 Agent Skills 开放标准,这意味着你写的 Skills 可以在其他支持该标准的 AI 工具中使用。它强调的是”可移植性”和”开发者控制”。

Dify:AI 作为系统的组件

Dify 的设计理念是把 AI 能力模块化、可视化,让它成为更大系统中的一个组件。你不是在”指挥”AI 做事,而是在”编排”一个包含 AI 的工作流。

这种方式的核心假设是:AI 应用的价值在于如何组织和协调多个智能组件。

Dify 强调的是”开放”、”模型中立”和”可靠性”。你可以在同一个工作流中混用 GPT-4、Claude、Gemini,可以把工作流导出为 DSL 文件分享给其他团队,可以通过 MCP 协议与外部系统集成。

你应该选择哪个?

这不是一个非此即彼的问题。很多开发者同时使用两者:

  • 用 Claude Code 写代码、重构、调试
  • 用 Dify 搭建面向用户的 AI 应用

如果你是这样的人:

  • 主要工作是写代码
  • 习惯在终端和编辑器中工作
  • 需要 AI 帮你处理复杂的代码任务

那么 Claude Code Skills 可能更适合你。

如果你是这样的人:

  • 需要快速搭建 AI 应用原型
  • 团队中有非技术人员需要参与
  • 要编排多个 AI 模型和外部工具

那么 Dify 可能更适合你。

写在最后

Claude Code Skills 和 Dify 代表了 AI 开发工具的两个方向:一个是让 AI 更好地融入开发者的工作流,一个是让更多人能够参与 AI 应用的创建。

这两种方向都很有价值。随着 AI 技术的发展,我们可能会看到更多这样的工具出现,它们会在不同的场景下发挥作用。

重要的不是选择”最好”的工具,而是找到最适合你当前任务和团队的工具。

你在用什么 AI 开发工具?在使用过程中有什么心得?欢迎在评论区分享你的经验。