【n8n教程】:AI Agent节点,构建你的智能自动化机器人

什么是 AI Agent?

AI Agent(人工智能代理) 是一种能够理解任务、做出决策并自动执行操作的智能系统。与传统的自动化工作流不同,AI Agent 拥有推理能力,可以根据不同的场景灵活地选择合适的工具来完成任务。

简单来说,如果说传统的自动化是按照既定的规则走流程,那么 AI Agent 就像一个聪明的员工,能够理解你的需求,主动判断需要使用哪些工具,然后完成工作。

AI Agent 的核心组成部分

组件功能
LLM(大语言模型)Agent 的"大脑",提供理解和决策能力
Tools(工具)Agent 可以使用的外部服务和 API
Memory(记忆)保存对话历史,维护上下文理解
Prompt/System Message指导 Agent 行为和决策的指令

n8n 中 AI Agent 的类型

n8n 提供了多种 Agent 类型,每种都有不同的特点和应用场景:

1. Tools Agent(工具代理)- 推荐新手使用

特点:

适用场景:

支持的工具范围:
从 Google Sheets、Slack、GitHub,到 Airtable、Salesforce、MySQL 等,Tools Agent 支持 n8n 生态中的所有集成工具。

2. OpenAI Functions Agent(OpenAI 函数代理)

特点:

适用场景:

3. Plan and Execute Agent(计划与执行代理)

特点:

适用场景:

已弃用的 Agent 类型

以下 Agent 类型已在 2025 年 2 月被 n8n 移除:

快速开始:构建你的第一个 AI Agent

前置条件

在开始之前,你需要准备:

  1. 1. n8n 账户:前往 n8n.io[1] 注册(免费)
  2. 2. LLM API 密钥
    • • OpenAI API 密钥(推荐):获取地址[2]
    • • 或使用 Groq、Mistral、Anthropic 等其他提供商

第一步:创建基础工作流结构

工作流需要的基本节点:

  1. 1. Chat Trigger(聊天触发器) - 工作流的入口
    • • 提供用户交互界面
    • • 捕获用户输入
  2. 2. AI Agent(AI 代理) - 工作流的核心
    • • 处理用户输入
    • • 决定使用哪些工具
    • • 返回结果
  3. 3. Chat Model(聊天模型) - Agent 的"大脑"
    • • 提供 LLM 支持
    • • 必须连接到 AI Agent
  4. 4. Memory(记忆) - 对话历史管理
    • • 保留历史信息
    • • 维护上下文

第二步:配置 AI Agent 节点

基本参数配置

Prompt 参数:


    
    
    
  - "Take from previous node automatically":自动从 Chat Trigger 获取输入
- "Define below":手动定义 prompt,可以使用表达式

Agent Options(代理选项):

参数说明默认值
System MessageAgent 的系统指令,指导其行为可选
Max IterationsAgent 最多尝试次数10
Return Intermediate Steps是否返回中间步骤Off
Enable Streaming实时流式返回结果On

最佳实践:编写有效的 System Message


    
    
    
  你是一个有帮助的 AI 助手。你的职责是:
1. 仔细理解用户的问题
2. 判断是否需要使用工具
3. 使用适当的工具获取信息
4. 以简洁、友好的方式回答

请注意:
- 如果用户问题不清楚,询问澄清
- 总是验证数据的准确性
- 保持专业和礼貌的态度

第三步:连接 Chat Model

  1. 1. 点击 AI Agent 节点下方的 "+ Chat Model" 按钮
  2. 2. 选择你的 LLM 提供商(如 OpenAI)
  3. 3. 输入 API 密钥或选择已保存的凭证
  4. 4. 配置参数:
    • Model:选择模型版本(推荐 gpt-4o)
    • Temperature:设置为 0.7(平衡创意和一致性)
    • Frequency Penalty:设置为 0.2(避免重复)

第四步:添加记忆功能

  1. 1. 搜索并添加 Simple Memory 节点
  2. 2. 配置记忆参数:
    • Session Key:用唯一标识区分不同用户

    
    
    
  示例表达式(用于 Telegram 机器人):
chat_with_{{ $('Chat Trigger').first().json.message.chat.id }}

这样每个用户的对话历史都会被单独保存。

第五步:添加 Tools(工具)

Tools 是 Agent 执行实际操作的方式。你可以添加:

API 调用工具:

集成工具:

如何添加工具:

  1. 1. 在 AI Agent 节点下方,找到 "+ Tool" 按钮
  2. 2. 选择你想使用的工具
  3. 3. 配置工具的参数和凭证
  4. 4. 为工具编写清晰的描述(Agent 会根据这个判断是否使用)

常见错误排查

错误 1: "A Chat Model sub-node must be connected"

原因: AI Agent 没有连接到任何聊天模型。

解决方案:

  1. 1. 打开 AI Agent 节点
  2. 2. 点击底部的 "+ Chat Model" 按钮
  3. 3. 选择并配置一个 LLM 模型

错误 2: "No prompt specified"

原因: Prompt 参数配置不当。

解决方案:

  1. 1. 检查 Prompt 下拉菜单
  2. 2. 如果选择了 "Connected Chat Trigger Node",但没有连接触发器,改为 "Define below"
  3. 3. 确保输入的表达式返回有效值(不是 null)

错误 3: "Internal error: 400 Invalid value for 'content'"

原因: Prompt 输入包含 null 值。

解决方案:

  1. 1. 检查所有表达式是否引用了有效字段
  2. 2. 确保来自上一节点的 chatInput 不包含 null 值
  3. 3. 在测试前验证数据

错误 4: "Error in sub-node Simple Memory"

原因: 使用了旧版本的 Simple Memory 节点。

解决方案:

  1. 1. 删除当前的 Simple Memory 节点
  2. 2. 重新添加一个新的 Simple Memory 节点
  3. 3. 重新配置参数

实战案例:构建一个天气查询 AI 助手

这个案例演示如何构建一个能够:

工作流代码


    
    
    
  {
  "name"
: "Simple Weather AI Agent",
  "nodes"
: [
    {

      "parameters"
: {},
      "name"
: "Chat Trigger",
      "type"
: "n8n-nodes-base.chatTrigger",
      "typeVersion"
: 1,
      "position"
: [250, 300]
    }
,
    {

      "parameters"
: {
        "agentType"
: "toolsAgent",
        "prompt"
: "Take from previous node automatically",
        "systemMessage"
: "你是一个有帮助的天气助手。用户询问任何城市的天气时,请帮助他们查询。保持回答简洁友好。始终使用用户提到的城市名称。",
        "maxIterations"
: 10
      }
,
      "name"
: "AI Agent",
      "type"
: "n8n-nodes-langchain.agent",
      "typeVersion"
: 1,
      "position"
: [500, 300]
    }
,
    {

      "parameters"
: {
        "model"
: "gpt-4o",
        "temperature"
: 0.7,
        "frequencyPenalty"
: 0.2
      }
,
      "name"
: "OpenAI Chat Model",
      "type"
: "n8n-nodes-langchain.lmChatOpenAi",
      "typeVersion"
: 1,
      "position"
: [750, 300]
    }
,
    {

      "parameters"
: {
        "description"
: "获取指定城市的实时天气信息,包括温度和天气状况。",
        "url"
: "https://api.open-meteo.com/v1/forecast?latitude={{ $json.latitude }}&longitude={{ $json.longitude }}&current=temperature_2m,weather_code,wind_speed_10m&timezone=auto",
        "method"
: "GET"
      }
,
      "name"
: "Weather Tool",
      "type"
: "n8n-nodes-base.httpRequest",
      "typeVersion"
: 3,
      "position"
: [500, 450]
    }
,
    {

      "parameters"
: {
        "sessionIdType"
: "fromInput",
        "sessionIdValue"
: "user_session"
      }
,
      "name"
: "Memory",
      "type"
: "n8n-nodes-langchain.simpleMemory",
      "typeVersion"
: 1,
      "position"
: [750, 150]
    }

  ]
,
  "connections"
: {
    "Chat Trigger"
: {
      "main"
: [[{"node": "AI Agent", "branch": 0, "key": "main", "type": "main"}]]
    }
,
    "AI Agent"
: {
      "main"
: [[{"node": "Chat Trigger", "branch": 0, "key": "main", "type": "main"}]]
    }

  }

}

如何使用这个工作流

  1. 1. 复制上面的 JSON 代码
  2. 2. 导入到 n8n:
    • • 在 n8n 中创建新工作流
    • • 点击菜单 → "导入从 URL""导入从文件"
    • • 粘贴或上传 JSON 代码
  3. 3. 配置凭证:
    • • 打开 OpenAI Chat Model 节点
    • • 输入你的 OpenAI API 密钥
  4. 4. 激活工作流:
    • • 点击右上角的 "激活" 按钮
  5. 5. 测试聊天:
    • • 点击 Chat Trigger 节点的 "打开聊天" 按钮
    • • 尝试询问:"巴黎现在的天气怎么样?"

工作流流程说明


    
    
    
  用户输入 → Chat Trigger
    ↓
AI Agent(分析用户问题)
    ↓
如果需要天气信息 → 调用 Weather Tool
    ↓
获得天气数据 → Agent 处理和格式化
    ↓
返回给用户 → 显示在聊天界面

扩展这个工作流

添加更多功能的想法:

  1. 1. 添加 Google Calendar 工具 - 查询日程安排
  2. 2. 添加 Gmail 工具 - 发送天气提醒邮件
  3. 3. 添加 Slack 工具 - 在 Slack 中发布天气更新
  4. 4. 添加代码节点 - 自定义数据处理逻辑

AI Agent 的高级用法

使用 Streaming(流式传输)

启用 Streaming 可以让 AI Agent 实时返回结果,而不是等待完整回复:


    
    
    
  工作流要求:
- 必须使用支持 Streaming 的触发器(如 Chat Trigger)
- 在 Tools Agent 中启用 "Enable Streaming" 选项

好处:

返回中间步骤

启用 "Return Intermediate Steps" 可以看到 Agent 的思考过程:


    
    
    
  输出示例:
{

  "final_answer"
: "巴黎现在 15°C,多云",
  "intermediate_steps"
: [
    "思考用户要查询巴黎的天气"
,
    "调用 Weather Tool 获取数据"
,
    "解析结果并格式化"

  ]

}

这对于调试和优化很有帮助。

最佳实践总结

项目建议
System Message清晰、具体、包含行为指导
Max Iterations默认 10 次通常足够
Temperature0.7(平衡)或 0.3(更一致)
工具描述详细说明工具功能和参数
记忆配置使用唯一的 Session Key 区分用户
错误处理在关键工具上添加错误捕获

常见问题解答

Q: AI Agent 和普通工作流有什么区别?
A: AI Agent 拥有推理和决策能力,可以根据输入灵活选择工具;普通工作流是固定的流程。

Q: 为什么我的 Agent 没有使用我添加的工具?
A: 检查工具描述是否清晰;System Message 中是否指导了工具使用;Prompt 中是否包含使用工具的指示。

Q: 如何降低 AI Agent 的成本?
A: 使用开源模型(如 Ollama);降低 Max Iterations;优化 Prompt 以减少 Token 使用。

Q: Agent 可以访问机密数据吗?
A: n8n 支持加密凭证存储;确保不要在 Prompt 或工具描述中暴露敏感信息。


官方文档[3]
n8n系列教程[4]

引用链接

[1] n8n.io: https://n8n.io
[2] 获取地址: https://platform.openai.com/api-keys
[3] 官方文档: https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent/
[4] n8n系列教程: https://www.undsky.com/blog/?category=n8n%E6%95%99%E7%A8%8B#