
很多朋友对 AI 应用的第一印象是要做 AI 产品先得会 Python懂 FastAPI会调接口还要能处理并发门槛确实不低。但实际上如果你只是想快速搭建一个能实际使用的 AI 自动化工作流比如“自动汇总邮件”“根据文档回答问题”“定时生成行业报告”并不一定需要从零写代码。用 n8n 这类开源自动化工具配合 AI Agent 节点就能把大模型、知识库、消息通知、数据库全部串起来整个过程几乎是可视化的。本文会围绕 n8n AI Agent 做一套完整实战教程从环境部署开始讲然后拆解节点、触发器、表达式、凭据这几个核心概念再带你手动搭建一个 AI 自动化工作流最后演示如何基于自己的文档搭建知识库问答。即使你没有编程基础只要愿意跟着操作也能完成自己的第一个 AI 应用。1. 为什么用 n8n 搭 AI 工作流1.1 n8n 是什么n8n 是一个开源的工作流自动化工具它把“连接系统”“处理数据”“调用外部服务”这些操作封装成一个一个节点我们只需要在工作流画布上拖拽节点、连好线、填参数就能得到一个自动化流程。它的核心特点有三个可视化编排通过节点和连线来表达流程不需要手写胶水代码。自托管可以部署在自己的服务器或本地电脑上数据不需要经过第三方平台。集成丰富支持 HTTP 请求、数据库、邮件、表格、飞书、钉钉以及主流的 AI 大模型接口。和 Zapier、Make 这类 SaaS 自动化平台相比n8n 最大的优势是“可控”。你可以完全掌控运行环境、敏感凭据和数据处理逻辑这对很多企业场景来说非常重要。1.2 为什么它能实现“不写代码”传统的开发流程中每接一个系统就要写调用代码每处理一次数据就要写解析逻辑。n8n 改变了这个流程每个节点本质上就是一段封装好的代码你在界面上配置参数n8n 在后台帮你执行。例如“读取一条数据库记录发送到钉钉群再调用大模型生成总结”这个流程如果用代码实现至少需要写三个模块但在 n8n 中你只需要拖三个节点把数据字段映射到对应参数里即可。所以 n8n 并不是完全不需要代码而是把“编写代码”变成了“配置节点”把复杂的技术细节隐藏起来让业务人员也能参与自动化搭建。1.3 AI Agent 在 n8n 中的角色AI Agent 是能理解任务、拆解步骤并调用工具的智能体。在 n8n 中AI Agent 节点会连接一个或多个大模型同时可以配备工具例如搜索引擎、HTTP 请求、本地知识库查询等。你可以这样理解两者的关系传统工作流执行路径固定每一步都是开发者预先设计好的。AI Agent只给目标模型自己决定调用哪些工具、按什么顺序执行最后汇总结果。实际项目中二者并不是对立的。n8n 负责承载稳定的流程骨架AI Agent 负责其中需要理解和生成的环节例如意图识别、内容总结、知识库问答。1.4 适合用 n8n AI Agent 的场景比较典型的场景包括智能客服用户提交问题到表单系统自动查询知识库再生成回复。自动周报从项目管理系统拉取任务调用大模型生成周报再发送到邮箱。文档知识库问答上传企业文档建立向量索引员工可以用自然语言提问。信息采集与总结定时抓取网页内容用 AI 提取关键信息并写入数据库。只要流程中涉及“数据输入 → 处理 → 输出”的环节都可以考虑用 n8n 快速实现。2. 环境准备本地部署 n8n2.1 部署方式怎么选n8n 有三种常见部署方式方式适用场景特点n8n Cloud不想维护服务器开箱即用按订阅付费Docker 自托管个人开发、企业生产数据可控本文重点介绍npm 直接启动快速试用、二次开发依赖 Node.js 环境适合临时调试对于大多数读者我建议优先使用 Docker 部署。它隔离性好、升级方便即使以后要迁移服务器也能直接迁移数据卷。2.2 Docker Compose 完整配置在服务器上创建一个目录例如/opt/n8n然后新建docker-compose.yml文件version: 3.8 services: n8n: image: n8nio/n8n container_name: n8n restart: unless-stopped ports: - 5678:5678 environment: - N8N_HOSTlocalhost - N8N_PORT5678 - N8N_PROTOCOLhttp - N8N_USER_MANAGEMENT_DISABLEDfalse - GENERIC_TIMEZONEAsia/Shanghai - N8N_SECURE_COOKIEfalse volumes: - n8n_data:/home/node/.n8n volumes: n8n_data:关键参数说明N8N_HOST对外访问的域名或 IP如果只是本机测试可以保持localhost。N8N_PORTn8n 默认运行端口一般保持 5678。N8N_USER_MANAGEMENT_DISABLED是否关闭用户管理。false表示需要创建账号并登录。GENERIC_TIMEZONE工作流中定时任务的时区国内环境建议设置为Asia/Shanghai。N8N_SECURE_COOKIE本地 HTTP 测试时建议设为false生产环境使用 HTTPS 时必须设为true。n8n_data数据卷用于持久化存储工作流、凭据和设置。如果希望在公网使用还需要配置N8N_HOST为你的域名并在前面加一层 Nginx 或 Caddy 做 HTTPS 转发否则很多外部服务回调会失败。2.3 启动并完成初始配置在docker-compose.yml所在目录执行docker compose up -d启动完成后浏览器访问http://localhost:5678。第一次访问时n8n 会引导你创建管理员账号填写邮箱和密码即可。这个账号用于登录 n8n 界面也用于管理后续的凭据请妥善保存。进入主界面后你会看到左侧有“工作流”“凭据”“执行记录”等菜单。此时一个可用的 n8n 环境就已经准备好了。3. 必须搞懂的四个核心概念3.1 节点工作流的最小组成单元在 n8n 中一切操作都是节点。每个节点负责一件事接收数据、转换数据、发送请求、调用模型。常见节点类型触发器节点启动工作流例如 Webhook、定时任务、手动触发。数据处理节点例如 Set、Code、Aggregate、Split Out。服务接入节点例如 HTTP Request、Postgres、Google Sheets。AI 节点例如 OpenAI、AI Agent、Text Classifier。拖一个节点到画布后需要配置它的连接参数和输入字段。节点运行后会输出一个 JSON 对象下一个节点可以通过表达式引用这些数据。3.2 触发器工作流从哪开始触发器节点决定工作流何时执行。最常用的是以下三种触发器类型使用场景示例Manual手动点击测试调试流程时使用Schedule定时执行每天早上 8 点生成日报Webhook接收外部请求表单提交后自动触发例如你要做一个“收到表单提交后自动回复”的流程就必须使用 Webhook 触发器。n8n 会生成一个test后缀的临时 URL调用后才会触发工作流。3.3 表达式不同节点之间的数据桥梁表达式是 n8n 中最容易被新手忽略的部分。它的基本语法是双花括号包裹{{ $json.属性名 }}其中$json代表上一个节点输出的 JSON 数据。比如 HTTP 请求节点返回了{ code: 200, data: { name: 张三, age: 18 } }那么后续节点中就可以通过{{ $json.data.name }}取出张三。表达式不仅能在配置项中使用还能组合字符串、做简单运算你的名字是{{ $json.data.name }}今年 {{ $json.data.age }} 岁3.4 凭据安全保存密钥和连接信息调用大模型 API、连接数据库都需要密钥或账号密码。n8n 提供了凭据管理功能只需要配置一次后续所有节点都能引用。在“凭据”菜单中选择对应的服务类型例如 OpenAI、Postgres、HTTP Header Auth然后填入密钥。注意凭据在保存时会被加密存储但不要把它写进工作流中作为普通字符串否则导出工作流 JSON 时可能泄露敏感信息。4. 接入 AI 大模型从配置到第一个生成节点4.1 大模型接入方式n8n 中的 AI 能力来自大模型接口。常见接入方式包括OpenAI最通用生态好按 token 计费。国内大模型部分厂商提供 OpenAI 兼容接口可以直接用 OpenAI 节点配合自定义 Base URL 接入。本地模型通过 Ollama 等工具部署在本地适合数据不出内网的场景。其他云厂商例如 Azure OpenAI、Google Gemini、Anthropic Claude 等。选择哪种模型主要看你的网络环境、成本和数据安全要求。如果你的业务对数据敏感建议优先使用私有化部署的模型如果只是学习和原型验证直接用云 API 更省事。4.2 在 n8n 中新增凭据在 n8n 主界面左侧进入“凭据”点击“添加凭据”搜索你需要的服务类型。以 OpenAI 为例选择 OpenAI 类型填入 API Key点击保存不同类型的模型在 n8n 中位置不一样最新版本中很多模型节点都被归类到“LangChain”或“AI”分类下你可以直接搜索模型名称找到对应节点。如果使用 OpenAI 兼容接口通常需要在节点参数中额外填写 Base URL 和自定义模型名称。因为各家兼容接口字段略有差异我这里不写死参数名你可以在节点的“Options”中查找baseURL相关配置。4.3 搭建第一个 AI 生成工作流下面我们搭建一个最简单的工作流用户输入一段产品描述AI 自动生成推广文案。步骤新建工作流。添加一个 Manual 触发器节点。添加一个 OpenAI 节点连接上一步的凭据。在消息内容中填入表达式基于下面的产品描述生成一段适合朋友圈发布的推广文案 {{ $json.product_description }}点击执行输入测试数据观察结果。如果你不想直接使用 OpenAI 原版节点也可以使用 “Basic LLM Chain” 节点它适合把“模型 提示词”组合成最简单的 LLM 调用链。我这里给出一个简化提示词示例方便你直接在节点中使用你是一名文案写作专家。请根据用户输入的产品信息生成 3 条中文推广文案。 每条文案不超过 50 字风格活泼适合社交媒体发布。执行后模型输出会写入节点的执行结果中。你可以在后续节点中通过{{ $json.output }}或类似字段引用结果——不同版本的 n8n 字段名会有差异建议先运行一次在输出面板里确认实际 JSON 结构。5. 零代码实战搭建一个智能客服工作流5.1 需求与流程设计现在我们把前面的概念串起来做一个相对完整的实战项目。需求用户通过一个外部表单或接口提交问题系统自动调用 AI Agent让它根据预设的知识范围回答问题并把结果返回给用户。整体流程外部请求 → Webhook 触发器 → AI Agent 节点接入大模型 → 输出结果 → HTTP Response 返回给调用方这个流程的特点是AI Agent 可以自主判断用户意图并决定是否使用工具。我们可以在此之上叠加知识库查询工具让它回答得更准确。5.2 创建 Webhook 触发器新建工作流后添加 Webhook 触发器节点。配置说明HTTP Method选择 POST。Path自定义例如ai-chat。点击“执行工作流”旁的下拉箭头选择“监听事件”获取 webhook 测试 URL。测试 URL 通常长这样http://localhost:5678/webhook-test/ai-chat这个 URL 只有在 n8n 界面处于“监听”状态时才会生效所以联调前一定要先点击工作流面板中的“监听事件”。5.3 添加 AI Agent 节点在画布中按住 Webhook 节点右侧的小圆点拖到空白处选择 AI Agent 节点。AI Agent 节点的配置大致包含三块模型连接选择你创建的 OpenAI 或其他模型凭据。系统提示词告诉 Agent 它的身份和行为边界。工具可选例如知识库检索、网页搜索、HTTP 请求工具。系统提示词示例你是一个智能客服助手。你的任务是回答用户关于“公司产品”的问题。 如果用户询问的内容不在你的知识范围内请直接回复“抱歉这个问题我暂时无法回答”不要编造答案。 回答要简洁、友好中文输出。5.4 连接 Webhook 与 AI Agent把 Webhook 的输出连接到 AI Agent 的输入并在 AI Agent 的输入字段中将用户问题映射为{{ $json.body.question }}这里需要根据 Webhook 实际接收的请求体结构来调整。比如你 POST 的是{ question: 你们的退款政策是什么 }那么 Webhook 节点的输出中body 字段就包含question。为了保险起见可以先在 Webhook 节点后加一个 Set 节点把接收到的字段统一转换为{ user_question: {{ $json.body.question }} }再连接到 AI Agent这样即使外部调用方改了字段名你也只需要改 Set 节点里的映射。5.5 添加 HTTP Response 返回结果AI Agent 生成的结果默认保存在节点输出中。为了让外部调用方拿到结果我们添加一个 HTTP Response 节点它的配置如下响应代码200响应体使用表达式{{ $json.output }}不同版本字段名可能不同你可以先运行工作流查看 AI Agent 节点的输出结构再用对应的字段名。5.6 使用 curl 验证整体效果工作流保存后点击“监听事件”然后在终端中使用 curl 发送测试请求curl -X POST http://localhost:5678/webhook-test/ai-chat \ -H Content-Type: application/json \ -d {question: 请简单介绍一下你们的产品优势}如果一切正常你会收到 AI Agent 生成的中文回复。你可以尝试发送不同问题观察 Agent 是否能正确区分“能回答”和“不能回答”的内容。6. 知识库搭建让 AI 基于你的文档回答问题6.1 知识库的核心组成前面搭建的智能客服只能依赖模型自身的知识回答问题。很多企业场景下模型并不知道我们的内部资料这时候就需要搭建知识库。一个完整的知识库链路包含四步文档加载读取 PDF、Word、TXT 等文件内容。文本分割把长文档切成多个小块。向量化调用嵌入模型把文本转换成向量。存入向量数据库供后续检索使用。用户提问时系统先检索知识库中与问题最相关的文本片段把片段拼接到提示词中再让大模型基于这些片段生成回答。这就是典型的 RAGRetrieval-Augmented Generation检索增强生成流程。6.2 在 n8n 中完成文档入库n8n 不限制你使用哪种向量数据库常见选择有 Qdrant、Pinecone、pgvector、Milvus 等。这里以最通用的流程为例。工作流节点顺序Read Binary Files读取本地文件 → Extract from File解析文本 → Text Splitter文本分割 → OpenAI Embeddings向量化 → Vector Store存入向量数据库文本分割节点的参数需要关注两点单块大小一般 500 到 1000 个 token 比较合适。重叠大小一般取单块大小的 10% 到 20%避免跨块语义被切断。例如chunk size 800 chunk overlap 100向量数据库节点中需要配置你的向量数据库连接和集合名称。这里没有统一字段名建议根据你选择的数据库类型到对应节点中查看。6.3 搭建知识库问答工作流文档入库后还需要一个查询工作流。它的流程是Webhook 接收问题 → Vector Store 节点检索相似内容 → 拼接上下文 → AI Agent 基于上下文回答也可以把向量检索配置成 AI Agent 的工具让 Agent 自己决定在何时检索。推荐系统提示词你是企业知识库助手。请根据下面提供的参考资料回答问题。 如果参考资料不足以回答请直接说“资料库中没有找到相关内容”不要猜测。 参考资料 {{ $json.context }}使用向量检索时有一个常见误区只把检索到的文本原样塞给大模型却不说明“你要基于这段资料回答”。模型可能仍然会加上自己的凭空想象。所以系统提示词中一定要强调“只基于参考资料”。6.4 知识库更新策略知识库不是一次性搭建就完事的。文档更新后需要重新执行入库流程或者使用定时工作流定期同步。建议这样设计建立一个“文档上传”工作流专门负责读取、分割、向量化、入库。建立一个“问答”工作流专门负责检索和生成回答。两个工作流分离方便分别排查问题。另外要注意权限控制。知识库中可能包含敏感数据如果通过公开 Webhook 提供问答服务务必在 Webhook 节点前增加必要的鉴权逻辑例如校验请求头中的 Token。7. 常见问题与排查思路问题现象常见原因解决思路工作流执行失败提示凭据无效API Key 填写错误或已过期到凭据管理中重新检查并测试连接Webhook 测试返回 404使用了带 test 后缀的 URL但工作流未处于监听状态点击“监听事件”后再请求AI Agent 返回结果为空输入的字段名引用错误运行一次查看上游节点实际输出结构模型回答总是超出知识库范围缺少系统提示词约束强调“只基于资料回答”并可以限制温度值Docker 部署后无法访问界面端口未开放或容器没有正常启动执行 docker compose logs n8n 查看日志定时任务没有按预期触发时区设置不对设置 GENERIC_TIMEZONEAsia/Shanghai知识库检索结果不相关文本分割粒度过大或太小调整 chunk size 和 overlap并清理过期文档本地部署无法访问外部模型 API网络环境受限更换为本地模型或可访问的兼容接口排查时建议开启 n8n 的“执行日志”。每次运行失败都会留下记录点击失败节点可以看到详细的报错堆栈和输入输出大部分问题都能通过这一步定位。8. 最佳实践与工程建议8.1 工作流命名与组织结构随着工作流数量增加光靠记忆是不行的。建议按业务模块分组命名例如客服/智能客服-问答客服/知识库-文档同步周报/周报生成-推送到钉钉n8n 支持文件夹或项目分组生产环境尽量把不同业务线的工作流分开管理。8.2 凭据与敏感信息管理不要在节点参数中直接硬编码 API Key、密码、Token。所有敏感信息都应该放到凭据管理中。自托管环境建议通过环境变量注入必要配置例如N8N_ENCRYPTION_KEYyour-strong-encryption-key这个加密密钥非常重要如果丢失n8n 中保存的凭据将无法解密。生产环境一定要备份。8.3 错误处理机制默认情况下工作流一旦出错就会停止。生产环境建议增加错误处理链路添加 Error Trigger 节点捕获全局异常。在关键节点后增加“If”节点判断状态码。失败时通过邮件、飞书、钉钉发送告警。不要等到用户反馈才发现流程长时间未运行主动告警比补救更重要。8.4 工作流版本管理n8n 界面中创建的工作流本质是一个 JSON 文件。建议养成导出工作流 JSON 的习惯并提交到 Git 仓库。这样一来即使有人误删了工作流或者界面配置被改坏你也能快速回滚到上一个可用版本。8.5 控制 AI 成本和调用频率大模型调用按 token 计费如果不加控制成本可能快速上升。建议在定时工作流中设置合理的执行频率。在 AI 节点中设置 maxTokens 上限。对输入的文本长度做裁剪避免无意义的超长内容。优先使用价格更低的模型处理简单任务只有复杂推理才调用大模型。8.6 幂等性与数据一致性定时任务如果经常重复执行要考虑幂等性。例如“每天生成日报”的流程如果某次执行超时重试可能重复写入多条记录。解决方法是在写入数据库前先根据日期或任务 ID 查询是否已存在记录。n8n 的 If 节点 数据库查询节点可以实现这个判断。9. 总结与实践建议到这里我们完整走了一遍 n8n AI Agent 的入门与实战理解了 n8n 的节点、触发器、表达式、凭据四个核心概念。用 Docker Compose 部署了可用的 n8n 环境。接入大模型 API完成了第一个 AI 生成节点。搭建了一个 Webhook AI Agent 的智能客服工作流。了解了知识库搭建的基本链路掌握 RAG 的核心思路。如果只看不练学到的东西很快会忘。建议你现在就打开 n8n先从最简单的“Webhook 接收消息 → 保存到数据库”开始然后逐步加入 AI 节点。遇到报错不要慌点击失败节点查看执行日志这是最好的学习方式。下一步你可以尝试把知识库流程接入一个真实向量数据库并配置定时同步任务。在 AI Agent 中接入 HTTP Request 工具让它能够查询外部 API。结合飞书、钉钉或企业微信搭建一个可以直接在聊天窗口使用的智能助手。n8n 的价值不在于替代程序员而在于降低自动化能力的门槛。有了它你完全可以用少量配置搭建出原本需要几天开发的 AI 服务把精力集中在业务流程梳理和提示词优化上。希望这篇教程能帮你迈出第一步。