目录

n8n AI Agent 教程:打造会使用工具的 AI 助手

n8n 内置了完整的 AI 功能。其中最强大的是 AI Agent 节点:它不只是回答问题,还能根据需要自行决定使用哪些工具,例如查询数据、调用 API、计算,然后根据结果回答。

AI Agent 的组成

AI Agent 节点下方有几个插槽,用来连接“子节点”:

                    [When chat message received]
                               │
                               ▼
                         [ AI Agent ]
                     ┌────────┼────────┐
               Chat Model   Memory    Tool(s)
                   │          │        │
          [OpenAI Chat Model] [Simple Memory] [Calculator] [HTTP Request Tool] …
插槽作用常见选择
Chat Model负责思考和回答的语言模型(必需)OpenAI、Anthropic、Google Gemini、Ollama 等
Memory记住对话历史Simple Memory、Postgres Chat Memory、Redis Chat Memory
ToolAgent 可以使用的工具Calculator、HTTP Request Tool、Google Sheets、Code Tool、其他工作流
AI Agent 节点连接了 Chat Model、Memory 和 Tools
AI Agent 下方有 Chat Model、Memory、Tool 三种插槽,可以连接多个工具

创建聊天助手

1. 添加聊天触发器

新建工作流,将第一个节点设为 When chat message received(Chat Trigger)。编辑器下方会出现 Open chat 按钮,可以直接在 n8n 中进行对话测试。

2. 添加 AI Agent

在 Chat Trigger 后面添加 AI Agent 节点。

3. 连接聊天模型

点击 AI Agent 下方 Chat Model 的 +,选择一个模型,例如 OpenAI Chat Model:

  1. 创建 OpenAI 凭证并粘贴 API 密钥。
  2. 选择模型。

如果想使用本地的免费模型,请参阅 在 n8n 中连接 Ollama。

4. 连接记忆

点击 Memory 的 +,选择 Simple Memory。Context Window Length 决定记住最近几轮对话,例如 10 轮。

没有记忆的 Agent,每句话都是全新的对话,也记不住你刚才说过什么。

Simple Memory 存储在 n8n 的内存中,重启后就会消失,也不适合多台 n8n 实例的环境。正式使用时请改用 Postgres 或 Redis Chat Memory。

5. 设置系统提示词

在 AI Agent 的 Options → System Message 中写下 Agent 的角色和规则:

你是“好咖啡”咖啡店的在线客服助手。
- 始终使用中国大陆常用的简体中文,语气亲切简洁。
- 菜单和价格只能根据“查询菜单”工具的结果回答,不要自行编造。
- 遇到投诉或无法处理的问题,请客人留下联系方式,并告知会有专人回复。
AI Agent 节点设置中的 System Message
AI Agent 设置:Source for Prompt 默认使用 Chat Trigger 的消息;System Message 可在 Options 中添加

6. 测试

点击 Open chat,输入“你好,请问你们几点营业?”。在 AI Agent 节点的输出(Logs)中,可以看到模型的每一步思考和工具调用。

添加工具

工具能让 Agent 获取实时信息或执行操作。点击 Tool 的 + 可以添加多个工具。

Calculator

让 Agent 进行精确计算。语言模型直接计算数字时经常出错,使用计算器工具会可靠得多。

Google Sheets 工具:查询菜单

  1. 准备一个电子表格,列名为“品名、价格、说明”。
  2. 添加 Google Sheets 工具,将操作设为读取行(Get Rows)。
  3. 在工具的 Description 中说明用途:
查询咖啡店菜单。客人询问商品、价格或推荐时使用。

Agent 会根据这段说明,决定何时使用这个工具。工具描述写得好不好,会直接影响 Agent 的表现。

让 AI 自动填写参数

参数字段旁有一个 ✨ 按钮(Let the model define this parameter),开启后,Agent 会根据对话内容自动填写。例如,对于 HTTP Request Tool 的城市参数,Agent 会从“台中今天会下雨吗?”中提取“台中”。

在表达式中则可以使用 $fromAI():

{{ $fromAI('city', '要查询天气的城市名称', 'string') }}

将其他工作流作为工具调用

Call n8n Workflow Tool 可以将任何工作流变成 Agent 的工具。例如,把“创建订单”的完整流程(写入数据库、发送确认邮件、通知店员)封装成一个工具供 Agent 使用。

公开聊天界面

在 Chat Trigger 的设置中启用 Make Chat Publicly Available,发布工作流后就会获得一个聊天网页地址,也可以使用官方提供的包嵌入自己的网站。记得设置验证方式,避免遭到滥用并产生大量 API 费用。

不同的触发方式

AI Agent 不一定要连接 Chat Trigger,任何触发器都可以:

  • Telegram Trigger → AI Agent → Telegram 回复:Telegram 聊天机器人(参见 Telegram 机器人)
  • Gmail Trigger → AI Agent → 起草回复
  • Webhook → AI Agent → Respond to Webhook:构建 AI API

此时,需要在 Source for Prompt 中将 Agent 的输入改为自定义内容,例如 {{ $json.message.text }}。

常见问题

Agent 不使用工具

  • 确认所选模型支持工具调用。
  • 改进工具描述,清楚说明使用时机。
  • 在系统提示词中明确要求:“回答价格问题前,必须先使用查询菜单工具”。

回答很慢或费用很高

每次调用工具都会多一次模型请求。减少不必要的工具、缩短记忆长度、选择速度更快的模型。

记不住之前的对话

确认已连接 Memory,并且使用相同的 Session ID(Chat Trigger 会自动处理;使用其他触发器时,需要将用户 ID 设为 Session Key)。

下一节将介绍如何让 AI Agent 使用本地的免费模型。

更新于 2026年10月12日