开始之前
你需要一个 n8n 实例,以及某个聊天模型服务商的 API 密钥。本课用 OpenAI。Tools Agent 页面列出的支持模型有 OpenAI、Groq、Mistral Cloud、Anthropic 和 Microsoft Foundry,所以可以换别家。在 n8n Cloud 上,OpenAI 的凭据字段还有 Use Gateway credits 选项,不用自己的 OpenAI 账号也能运行这个节点。
你发的每条消息都是一次模型调用,模型用 token 计量工作量,token 是什么那篇有详细解释。
搭一个会查资料、会算数的智能体
下面这个智能体有用来查事实的 Wikipedia 工具、用来算数的 Calculator,还有记住对话的记忆。第 6 步要把这段文字粘贴到它的 System Message 选项里。这段话是我们自己写的示例,可以随意修改:
You are a helpful assistant. Use the Wikipedia tool for facts about people, places and topics, and the Calculator tool for arithmetic. If a tool returns nothing useful, say so.- 新建一个工作流,添加 Chat Trigger 节点。搭建期间,按 n8n 的建议让 Make Chat Publicly Available 保持关闭。这样聊天只能通过手动聊天界面使用。
- 在它后面添加 AI Agent 节点。智能体默认从上一个节点读取用户的消息,Chat Trigger 给它的正是这个。Tools Agent 页面把它期望的字段叫作
chatInput。 - 点智能体下面的 + Chat Model,选 OpenAI Chat Model。用你的 API 密钥创建凭据,再选一个 Model。n8n 会加载你的 OpenAI 账号能用的模型。
- 接上一个记忆子节点,选 Simple Memory。它的 Context Window Length 决定智能体参考多少次之前的互动,Simple Memory 页面里有说明。
- 接上两个工具子节点:Calculator 和 Wikipedia。n8n 要求智能体至少有一个工具,文档里这两个工具都没有列出参数。
- 打开智能体的选项,添加 System Message,把上面代码里的文字粘贴进去。
- 打开手动聊天界面,发送 "Please show me a Wikipedia article about cats",再发送 "What was my last question?"。这是 n8n 自己那个智能体与链的示例里用的两条测试消息。第一条用到 Wikipedia 工具,第二条靠的是记忆。
- 打开这次执行,看智能体节点。一条消息可能让它运行不止一遍,下一节解释原因。
智能体的每个部分各做什么
AI Agent 节点是根节点,其余的都作为子节点挂在它下面。所以画布上,聊天模型、记忆和工具画在智能体下方,不在主线上。什么是 n8n那篇在一个完整的工作流里展示过同样的结构。
Agent 节点只有一个。从 n8n 1.82.0 起,它一律按 Tools Agent 工作,agent type 这个设置已被弃用。教程里要你选 agent type 的,是这次改动之前写的。
| 子节点 | 它给智能体提供什么 | 是否必需 |
|---|---|---|
| 聊天模型,例如 OpenAI Chat Model | 读取消息、决定下一步做什么的语言模型 | 必需 |
| 工具,例如 Calculator 或 Wikipedia | 智能体可以调用的附加资源,用来获取信息或执行操作 | 至少一个 |
| 记忆,例如 Simple Memory | 聊天记录,让后续的提问有上下文 | 可选 |
| 输出解析器 | 打开 Require Specific Output Format 后使用的固定输出格式 | 可选 |
为什么一条消息会让智能体运行三遍
n8n 在智能体是做什么的一页里说,运行带智能体的工作流时,智能体会运行多次。它举的例子是三遍,见下图。在执行记录里,一条消息对应智能体节点的好几次运行,是正常的。
Max Iterations 选项限制模型为生成一个答案最多运行几次,默认是 10。记忆也有自己的限制。Tools Agent 页面说,记忆不会在不同会话之间保留。Simple Memory 页面补充说,它不能用在队列模式实例上处于启用状态的生产工作流里,因为 n8n 无法保证每次调用都落到同一个 worker 上。
第一遍
智能体做初始准备。
第二遍
智能体再次运行,去调用一个工具。
第三遍
智能体评估工具返回的结果,然后回复用户。
智能体、链,还是别的
链按预先定好的顺序依次调用,智能体则让语言模型来决定下一步做什么。n8n 的智能体与链对比页面说,链没有持久记忆,所以无法引用之前的上下文,AI Agent 节点则可以接上记忆。
| AI Agent 节点 | Basic LLM Chain | |
|---|---|---|
| 使用记忆 | 是 | 否 |
| 使用工具 | 是 | 否 |
| 自己选择调用哪个工具 | 是 | 否 |
| 按固定顺序依次调用 | 否 | 是 |
来源:n8n 文档:智能体与链 (2026年11月4日 查阅);n8n 文档:智能体是做什么的 (2026年11月4日 查阅)
n8n 团队怎么说智能体的记忆和新的 Agents
2026 年 9 月 1 日,n8n 团队在 X 上说,LLM 默认是无状态的,每次调用都从零开始。第 4 步的 Simple Memory 节点就是为这个准备的。没有它,智能体答不出“What was my last question?”。
n8n 博客上那篇智能体记忆指南由 Yulia Dmitrievna 和 n8n 团队撰写。它说,带会话 ID 的 Simple Memory 在单实例部署上开箱即用。到了队列模式,它建议换成 Postgres 或 Redis Chat Memory,让各个 worker 之间的会话彼此隔开。把这个智能体搬到队列模式的实例之前,先换掉记忆子节点。
更早一点,2026 年 8 月 24 日,团队在 X 上说,智能体不必再活在工作流里面。帖子说,现在每个智能体都是独立的对象,通过原生聊天在整个实例或组织里共用。这就是上面提示框里那个单独的 Agents 功能,不是你搭的 AI Agent 节点。n8n 文档建议,工作太开放、固定工作流装不下时,再用它。
LLM 默认是无状态的。每次调用都从零开始,这对跑多步工作流的智能体是个实实在在的问题。
X 官方嵌入卡片的截图,拍摄于 2026 年 11 月 5 日,时间为 UTC。点击截图可到 X 上打开原帖。
常见错误
- 智能体没有接聊天模型,或者没有接工具。没接模型时,节点会报 "A Chat Model sub-node must be connected",点 + Chat Model 选一个就行,常见问题页面是这么说的。工具子节点同样不能少。
- 从一个不给智能体提供提示词的触发器开始。报错 "No prompt specified" 表示智能体期望从上一个节点拿到提示词。把 Prompt 设为 Define below,用固定文字或表达式来写。
- 提示词是 null。报错 "400 Invalid value for 'content': expected a string, got null" 表示提示词里的某个表达式解析成了空,检查它读取的每个字段。
- 照搬旧模板时,Simple Memory 节点报错。把它删掉再重新添加。模板里可能是旧版本,它以前叫 Window Buffer Memory。
- 在队列模式的实例上,生产环境里依赖 Simple Memory。n8n 还列出了 Redis Chat Memory 和 Postgres Chat Memory 等其他记忆选项。
- 把没有认证的聊天公开出去。Make Chat Publicly Available 打开、认证又设为 None 时,任何人都能使用这个聊天。
自己试一试
- 在智能体的选项里打开 Return Intermediate Steps,看看多出来的输出。
- 把 Context Window Length 设成一个很小的数,聊过这个数之后,再问你的第一个问题。
- 把 OpenAI Chat Model 换成 Tools Agent 支持的另一个模型,其余保持不变。
- 添加一个 HTTP Request Tool,让智能体能调用 API,或者添加 Call n8n Workflow Tool,让它能运行你的另一个工作流。
接下来学什么
智能体在哪里运行 n8n,就在哪里运行,第 4 课用 Docker 把 n8n 装到你自己的机器上。想让智能体对接外部工具,可以用 MCP Client Tool 节点连接 MCP 服务器,什么是 MCP讲了这个协议。想先看一个完整工作流里的智能体,再自己动手,Mindket 的 n8n 工作流页面会把每个节点,包括子节点,都画出来。
自测一下
哪个子节点能给智能体提供聊天记录,让后续的提问有上下文?
查看答案
C. Simple Memory 记忆子节点负责保留聊天记录,没有它,智能体就答不出 "What was my last question?"。
一条聊天消息让智能体节点在执行记录里运行了三遍。为什么?
查看答案
B. 一条消息会让智能体运行多次:做准备、调用工具、回复 n8n 说智能体会运行多次,它的例子是三遍:初始准备、调用工具,然后评估结果并回复。
智能体节点报错 "A Chat Model sub-node must be connected"。该怎么做?
查看答案
A. 点智能体下面的 + Chat Model,选一个模型 这个报错表示智能体没有接聊天模型,常见问题页面说,点 + Chat Model 选一个就行。
什么时候用 AI Agent 节点,比用 Basic LLM Chain 更合适?
查看答案
D. 任务需要工具或对话历史时 链按预先定好的顺序调用,不支持记忆和工具,智能体则让模型自己决定下一步做什么。
常见问题
能不能用 Anthropic 的 Claude,而不是 OpenAI?
能,n8n 有 Anthropic Chat Model 节点。把 OpenAI 那个删掉,点智能体上的 + Chat Model,改选 Anthropic 节点。记忆和工具保持连着。n8n 的 AI 概览页还提到了 Google 这家服务商。
n8n 的 AI 智能体会记住之前的消息吗?
只有接了记忆子节点才会。Simple Memory 为当前会话保留你设定数量的之前互动,记忆页面还说,AI 链完全不能使用记忆。
该用 AI Agent 节点,还是 Basic LLM Chain?
任务需要工具或对话历史时,用智能体。链支持和接入的模型聊天,但不支持记忆和工具,适合单个固定的步骤。
智能体能返回结构化数据,而不只是文字吗?
能。打开 Require Specific Output Format,再接上 Auto-fixing Output Parser、Item List Output Parser 或 Structured Output Parser。Tools Agent 会把解析器作为格式化工具交给模型。
n8n 的智能体能用 MCP 服务器吗?
能。AI Agent 页面把 MCP 服务器列为给智能体提供工具的一种方式,注册表里的服务器一键就能接上。讲什么是 n8n 的那篇里,更详细地说了 MCP Client Tool 和 MCP Server Trigger。
能让智能体在运行某个工具之前先问一下真人吗?
能。n8n 允许你要求在指定工具运行之前先获得批准,请求会通过 Chat、Slack 或 Telegram 这类渠道发出。它的文档里有工具的人工介入(human-in-the-loop)示例。
每条聊天消息都算一次执行吗?
算。Chat Trigger 页面说,每条消息都会运行一次你的工作流,所以一段十条消息的对话,会用掉十次 n8n 执行。
资料来源
- n8n Docs: AI Agent node https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent
- n8n Docs: Tools Agent https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent/tools-agent
- n8n Docs: AI Agent common issues https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent/common-issues
- n8n Docs: What agents do https://docs.n8n.io/build/integrate-ai/understand-ai-components/what-agents-do
- n8n Docs: Agents vs chains https://docs.n8n.io/build/integrate-ai/understand-ai-components/agents-vs-chains
- n8n Docs: How memory works https://docs.n8n.io/build/integrate-ai/understand-ai-components/how-memory-works
- n8n Docs: How tools work https://docs.n8n.io/build/integrate-ai/understand-ai-components/how-tools-work
- n8n Docs: Chat Trigger node https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-langchain.chattrigger
- n8n Docs: Simple Memory node https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.memorybufferwindow
- n8n Docs: OpenAI Chat Model node https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatopenai
- n8n Docs: Calculator node https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.toolcalculator
- n8n Docs: Wikipedia node https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.toolwikipedia
- n8n Docs: Build and manage agents https://docs.n8n.io/build/build-and-manage-agents
- n8n Docs: Integrate AI https://docs.n8n.io/build/integrate-ai
- n8n Blog: AI agent memory, types, storage and how to implement it https://blog.n8n.io/ai-agent-memory/
- n8n.io on X: LLMs are stateless by default, 1 September 2026 https://x.com/n8n_io/status/2094757236811636762
- n8n.io on X: n8n is now an agent harness, 24 August 2026 https://x.com/n8n_io/status/2091838324163940766


