AI Agent(人工智能代理) 是一种能够理解任务、做出决策并自动执行操作的智能系统。与传统的自动化工作流不同,AI Agent 拥有推理能力,可以根据不同的场景灵活地选择合适的工具来完成任务。
简单来说,如果说传统的自动化是按照既定的规则走流程,那么 AI Agent 就像一个聪明的员工,能够理解你的需求,主动判断需要使用哪些工具,然后完成工作。
| 组件 | 功能 |
|---|---|
| LLM(大语言模型) | Agent 的"大脑",提供理解和决策能力 |
| Tools(工具) | Agent 可以使用的外部服务和 API |
| Memory(记忆) | 保存对话历史,维护上下文理解 |
| Prompt/System Message | 指导 Agent 行为和决策的指令 |
n8n 提供了多种 Agent 类型,每种都有不同的特点和应用场景:
特点:
适用场景:
支持的工具范围:
从 Google Sheets、Slack、GitHub,到 Airtable、Salesforce、MySQL 等,Tools Agent 支持 n8n 生态中的所有集成工具。
特点:
适用场景:
特点:
适用场景:
以下 Agent 类型已在 2025 年 2 月被 n8n 移除:
在开始之前,你需要准备:
工作流需要的基本节点:

Prompt 参数:
- "Take from previous node automatically":自动从 Chat Trigger 获取输入
- "Define below":手动定义 prompt,可以使用表达式Agent Options(代理选项):
| 参数 | 说明 | 默认值 |
|---|---|---|
| System Message | Agent 的系统指令,指导其行为 | 可选 |
| Max Iterations | Agent 最多尝试次数 | 10 |
| Return Intermediate Steps | 是否返回中间步骤 | Off |
| Enable Streaming | 实时流式返回结果 | On |
你是一个有帮助的 AI 助手。你的职责是:
1. 仔细理解用户的问题
2. 判断是否需要使用工具
3. 使用适当的工具获取信息
4. 以简洁、友好的方式回答
请注意:
- 如果用户问题不清楚,询问澄清
- 总是验证数据的准确性
- 保持专业和礼貌的态度示例表达式(用于 Telegram 机器人):
chat_with_{{ $('Chat Trigger').first().json.message.chat.id }}这样每个用户的对话历史都会被单独保存。
Tools 是 Agent 执行实际操作的方式。你可以添加:
API 调用工具:
集成工具:
如何添加工具:
原因: AI Agent 没有连接到任何聊天模型。
解决方案:
原因: Prompt 参数配置不当。
解决方案:
原因: Prompt 输入包含 null 值。
解决方案:
chatInput 不包含 null 值原因: 使用了旧版本的 Simple Memory 节点。
解决方案:
这个案例演示如何构建一个能够:
{
"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 }}¤t=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"}]]
}
}
}用户输入 → Chat Trigger
↓
AI Agent(分析用户问题)
↓
如果需要天气信息 → 调用 Weather Tool
↓
获得天气数据 → Agent 处理和格式化
↓
返回给用户 → 显示在聊天界面添加更多功能的想法:
启用 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 次通常足够 |
| Temperature | 0.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 或工具描述中暴露敏感信息。
[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#