从 n8n-mcp 到 n8n-agent:探索工作流自动化的下一步

248 阅读7分钟

从 n8n-mcp 到 n8n-agent:探索工作流自动化的下一步

引子:当 AI 遇见工作流

在 AI 辅助编程已经成为日常的今天,我们是否还需要手动构建工作流?这个问题促使我开始了一段探索之旅——如何让 Claude Code 和 n8n 真正协同工作,实现从想法到工作流的自动化转换。

n8n-mcp 能帮你做什么

让我们从最基础的问题开始。

问题一:如何安装

我使用的是 czlonkowski/n8n-mcp,具体安装可以看我的安装文章 n8n-MCP Claude Code 安装配置指南

问题二:n8n 节点这么多,如何选择你任务所需要的节点

这是每个 n8n 新手都会遇到的困惑。好在有了 MCP(Model Context Protocol),Claude 可以理解你的需求并推荐合适的节点组合。

问题三:n8n 工作流是由 JSON 构成的,大模型是否可以帮我写呢

答案是肯定的。但这引出了一个更深层的问题。如何可以方便自动化的调试生成出来的工作流呢?

实际构建 n8n 工作流的真正痛点

以上是 n8n-mcp 能帮你做的,可以很方便地帮你完成构建工作流的基础事项。但问题是,这就够了吗?

大家上手实际搭建我相信会十分直观感受到,n8n 中的节点对于有些编程经验的人来说是十分简单直观的概念。这非常棒,无需负担很重的切换,每一步都如 Jupyter 可调试,又像 Excalidraw 十分自由的节点构造和链接。

但就我的感受,在复杂的业务流程中——比如在文章《使用 n8n 构建生产可用的测试工作流》<链接>中——这个工作流最烦躁的部分莫过于 Code 节点了。

Code 节点的尴尬处境

尤其是当你选择 Python 节点,n8n 中许多语法存在不兼容:

  • 如何获得上面节点的输出?
  • 如何获得其他节点的输出?
  • 你想要做一个数据处理操作,将想法告诉 AI,但 AI 生成的代码不匹配 n8n 的语法规则

在简单的脚本已经完全由 AI 托管、实现、验证的时代,让我自己纯手搓一个 Code 节点是不适的。

我也将 n8n 官方语法说明放在 CLAUDE.md 中让 AI 基于规则去生成,但很显然这是不具备我之前博客是时候和单测👋🏻 -- 从验证性理论到大模型工程实践 中提到的可验证性的。当大模型生成的内容不具备验证性时,很难对大模型生成的内容存在信任。

突破:用 n8n 调试 n8n

除了 Code 节点别扭的编程体验,还有一个感受就是 n8n 真的太符合 TDD 流程了:

  • 每一个节点天生就是一个单测单元
  • 每一个工作流就是一个集测或者 E2E 单元

而我们花费了大量时间在出现 bug 时,将 bug 输入和信息传输给大模型让他订正。这个过程我们可以简化吗?

答案是可以的!

套娃式的解决方案

我们可以用 n8n 构建一个 debug 工作流来帮我们 debug n8n 工作流。听着很套娃,但思路很简单。

n8n 的工作流 mermaid 图如下,相应的工作流和其中的脚本我放在 GitHub 仓库里 <链接>:

flowchart TD  
    Start([手动触发<br/>手动启动调试流程])  
    Init[初始化参数<br/>设置调试参数]  
    PlaywrightExecute[Playwright执行工作流<br/>自动化执行目标工作流]  
    Wait1[等待执行开始]  
    GetExecutions1[获取最新执行记录]  
    CreateDir[创建存储目录]  
    ProcessData[处理执行数据<br/>Python脚本分析]  
    CheckStatus[检查执行状态]  
    ExecuteSuccess{执行成功?}  
    
    %% 失败处理流程
    DownloadWorkflow[下载Workflow JSON]  
    ClaudeDebug[Claude Debug节点<br/>AI分析并修复问题]  
    SetPinData[设置PinData到Workflow]  
    ValidateWorkflow[验证新工作流]  
    UploadWorkflow[上传修复后的工作流]  
    UpdateWorkflowId[更新WorkflowId]  
    CheckMaxAttempts{检查最大尝试次数}  
    
    %% 结果处理
    FinalSuccess[最终成功]  
    MaxAttemptsReached[达到最大尝试次数]  
    WebhookNotify[Webhook通知结果]  
    
    %% 连接关系  
    Start --> Init --> PlaywrightExecute  
    PlaywrightExecute --> Wait1 --> GetExecutions1  
    GetExecutions1 --> CreateDir --> ProcessData  
    ProcessData --> CheckStatus --> ExecuteSuccess  
    
    ExecuteSuccess -->|成功| FinalSuccess  
    ExecuteSuccess -->|失败| DownloadWorkflow  
    
    DownloadWorkflow --> ClaudeDebug  
    ClaudeDebug --> SetPinData --> ValidateWorkflow  
    ValidateWorkflow --> UploadWorkflow  
    UploadWorkflow --> UpdateWorkflowId  
    UpdateWorkflowId --> CheckMaxAttempts  
    
    CheckMaxAttempts -->|未超过次数| PlaywrightExecute  
    CheckMaxAttempts -->|超过次数| MaxAttemptsReached  
    
    FinalSuccess --> WebhookNotify  
    MaxAttemptsReached --> WebhookNotify

核心思想:单步调试

采用单步 debug 的方式,逐个节点确认输入和输出都符合需求:

  1. 符合则将这个节点 mock
  2. 继续后续的执行直到工作流结束

在这里我建议符合需求这个部分构造一个 debug_plan,其模板我也放在 GitHub 的链接了。从验证性角度来说,你有必要确认这个过程的输入输出,至少是关键节点和关键步骤的输入输出。这可以有效地引导大模型的构建。

Claude Code 节点:AI 与工作流的深度融合

这里就引入了一个新的 n8n 节点——Claude Code。

这个节点的安装方式和 GitHub 代码在链接 <>,其作用也很简单:使用 Claude Code 官方 SDK,将 SDK 的功能集成在 n8n 节点中。现在你就有了一个非常强大的通用 agent 作为工作流的节点,这也是我在之前博客是时候和单测👋🏻 -- 从验证性理论到大模型工程实践 就有的想法。

为什么需要 Claude Code 节点?

Claude Code 是目前公认的第一梯队通用 agent,但在长流程中:

  • 你总会希望有些事情是他不要忘记做的
  • 有时候你也不明白他执行顺序到底是怎么样的

n8n 自由的图结构可以和 Claude Code 做很好的结合。而众所周知,Claude Code 执行代码比较高昂,所以当有我们需要的结果时,我们就可以将 Claude Code 的内容 pin 起来,方便后续的执行。

从 n8n-mcp 到 n8n-agent:还缺少什么?

看到这里想必读者也可以理解我在做的是什么了—— 要不一步到位吧,从设计到调试构建我们的 n8n-agent!

理想的场景

最理想的场景是你可以通过:

  • 文字描述
  • Excalidraw 图表
  • Mermaid 流程图

就可以构建一个你需要的 n8n 工作流,可以帮助你调试,借助 Claude Code(Codex / Cursor CLI / Gemini CLI)的强大泛化性,完成从 idea → 设计 → 调试的全过程。

现实的挑战

现在调试已经完成了原型,那设计是不是直接 Claude Code 上就行了?

我的体验是:

  • 简单的工作流:确实问题不大
  • 复杂的生产工作流:设计的瓶颈就显现出来了

Claude Code 确实可以参与我们的设计,但最后似乎我还是需要为繁琐的每一步设计负责。更糟糕的是,他没有在这个过程中体现出成长性,而 CLAUDE.md 文档在你一次一次更新中会不断变长,但越长的 CLAUDE.md 文档记忆体验感会变得越来越弱。

深层次的问题

经过这篇文章的不断探索,确实可以帮你解决一些入门工作流的实现和 debug 问题,但构建 n8n 工作流对于 Claude Code 构建 Python 代码的体验是完全无法相比的:

  • 他对于 n8n 的领域知识是明显欠缺的
  • 这些都不是单纯靠组件的拼接可以解决的
  • 需要我们更深刻地了解 memory 的构建和存储
  • 乃至强化学习微调以提升在这个场景下的构建能力

一些实用的工作流分享

看到这里想必大家都在想:我可以用 n8n 构建哪些好玩的东西了?我分享一下我的想法,大家有需要的可以自行测试、修改:

  • X 抓取指定用户的推文:社交媒体数据收集与分析
  • Java Maven 项目的整体单测构建:自动化测试流程
  • Java Gradle 项目指定 commitId 的单测构建:精准测试执行
  • n8n debug 指定工作流:元工作流调试

未来展望

n8n-agent

Build with n8n + Claude Code,真正的工作流智能体,能够:

  • 理解你的业务需求
  • 自动设计工作流架构
  • 生成并调试节点代码
  • 持续优化执行效率

playwright-agent

Build with n8n + Claude Code,专注于 Web 自动化的智能体,能够:

  • 自动生成测试脚本
  • 智能识别页面元素
  • 处理动态内容变化
  • 生成测试报告

结语

从 n8n-mcp 到 n8n-agent 的探索,让我看到了工作流自动化的新可能。虽然目前还存在诸多挑战,特别是在领域知识的积累和验证性的保证上,但这条路径已经展现出了巨大的潜力。

工作流的未来不应该是让我们手动拖拽节点,而是让 AI 理解我们的意图,自动生成、调试、优化工作流。这需要我们不断探索 AI 与低代码平台的结合点,构建更智能、更可靠的自动化工具。

希望这篇文章能给正在探索工作流自动化的你一些启发。如果你有任何想法或实践经验,欢迎一起交流探讨。


相关链接和代码仓库将在整理后补充