Agentic工作流从0到1搭建(一)-n8n
·
本文仅为个人实操记录,参考教程。包含 Agent基本概念 + n8n搭建agent
一、基础概念
1.1 Agent
一种能够根据给定的信息 自己进行推理、规划和采取行动 的AI智能系统。就像一个数字员工,可以思考、记忆和行动
- 自行规划决策
- 自行调用外部工具
- 自适应执行
1.2 Agent 与 工作流 的区别
- 自动化工作流: 大模型和工具尊循 预先定义的固定步骤
- Agent: 动态的 灵活的 有自主推理能力的。动态的自主决定,自主选择和操作工具
1.3 Agent的三大组件
- 大脑(大模型):【负责 推理、规划、语言生成】
为Agent提供智能的大语言模型,比如ChatGPT、Claude、Gemini。 - 记忆(上下文、外部文档、数据库):【统一目标、做出更好的决策】
- 让Agent记住之前的聊天
- 以及执行任务过程中的操作
- 利用这些背景和上下文
- 工具(API与任意外部工具): Agent与外部互动的主要方式
- 主动获取需要的上下文信息(检索数据、搜索网页、提取文档信息)
- 采取行动(收发邮件、增删数据库、创建行程、运行代码)
- 编排(调用其他代理、触发工作流、连接操作)
1.4 架构介绍:单Agent与多Agent
- 单Agent:用于大多数任务
- 多Agent:用于复杂任务。通常是规划Agent,委派任务给子Agent
使用最简单可行的方式达到目的:
提示词 -> 自动化工作流 -> 单个Agent -> 多个Agent
Agent提示词结构逻辑
- 角色 —— 他是xx助手,xx领域专家
- 任务 —— 他要完成什么(任务概述)
- 工具 —— 他可以调用什么工具
- 约束 —— 应该遵循什么规则
- 输出 —— 结果是什么样子
1.5 护栏与安全
产生幻觉、陷入循环、错误行为
二、Agent搭建
2.1 n8n平台
案例:获取飞书多维表格数据+飞书日历+agent提示词配置处理信息 => 飞书机器人定时消息推送
前置工作
创建飞书多维表格

1. 安装Docker&n8n
- Docker安装:Docker: Accelerated Container Application Development
- 设置项目存储位置

- n8n本地部署
- 下载 n8n
docker volume create n8n data
docker run -d --name n8n --restart unless-stopped -p 5678:5678 -v
n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n
-
- Docker 停止 n8n
docker stop n8n
-
- Docker 打开 n8n
docker start n8n
- n8n 汉化(浏览器插件沉浸式翻译 or 汉化包覆盖前端文件)
汉化包安装:Releases · other-blowsnow/n8n-i18n-chinese · GitHub。安装n8n对应版本的汉化包editor-ui.tar.gz
-
- 停止旧容器(将 n8n 替换为你的容器名)
docker stop n8n
-
- 删除旧容器(docker rm 只会删除容器,不会删除我们之前创建的名为 n8n_data 的数据卷,你的所有工作流和数据都是安全的)
docker rm n8n
-
- 拉取最新的 n8n 镜像(如要升级)
docker pull n8nio/n8n:latest
-
- 启动新容器并挂载汉化包(升级到最新版 + 汉化)【注意:/path/to/your/dist 替换为你解压出的 dist 文件夹的实际路径】
-
-
- 方案一:升级到最新版 + 汉化
-
docker run -d \
--name n8n \
--restart unless-stopped \
-p 5678:5678 \
-v n8n_data:/home/node/.n8n \
-v /path/to/your/dist:/usr/local/lib/node_modules/n8n/node_modules/n8n-editor-ui/dist \
-e N8N_SECURE_COOKIE=false \
-e N8N_DEFAULT_LOCALE=zh-CN \
n8nio/n8n:latest
-
-
- 方案二:保留旧版本 + 汉化
-
docker run -d \
--name n8n \
--restart unless-stopped \
-p 5678:5678 \
-v n8n_data:/home/node/.n8n \
-v /path/to/your/dist:/usr/local/lib/node_modules/n8n/node_modules/n8n-editor-ui/dist \
-e N8N_SECURE_COOKIE=false \
-e N8N_DEFAULT_LOCALE=zh-CN \
n8nio/n8n:你的n8n版本号
-
- 切换回英文版
docker stop n8n && docker rm n8n
docker run -d \
--name n8n \
--restart unless-stopped \
-p 5678:5678 \
-v n8n_data:/home/node/.n8n \
-e N8N_SECURE_COOKIE=false \
-e N8N_DEFAULT_LOCALE=en \
n8nio/n8n:latest
2. 创建新项⽬ + 设置触发器


3. 添加Agent节点

a. 添加大语言模型(Chat Model)
- 选择模型

- 设置凭证


【注意:这里要用deepseek-chat模型。如果是pro或者flash会报错,模型开了 thinking mode(深度思考模式)。这个模式下,DeepSeek 第一次回复会包含一个 reasoning_content 字段(思考过程)。DeepSeek 的 API 要求在后续对话中把这个字段传回去,但 n8n 不会传这个字段,所以第二轮调用就报 400 错误了】
b. 添加记忆(Memory)


c. 安装添加社区节点并配置凭证——飞书n8n-nodes-feishu-lite


- 创建飞书应用并获取凭证 飞书开放平台

- 在 n8n 中配置凭证

d. 配置飞书多维表格(Tool 工具节点)


{
"filter": {
"conjunction": "or",
"conditions": [
{
"field_name": "创建时间",
"operator": "is",
"value": ["Today"]
},
{
"field_name": "创建时间",
"operator": "is",
"value": ["Yesterday"]
}
]
}
}
开通应用权限

e. 配置飞书日历(Tool 工具节点)
日历ID获取直接飞书工作台搜索查看如何获取

开始时间(注意选Expression表达式)
{{ (Math.floor((Math.floor(Date.now()/1000) + 28800) / 86400) * 86400 - 28800) }}
结束时间(注意选Expression表达式)
{{ (Math.floor((Math.floor(Date.now()/1000) + 28800) / 86400) * 86400 - 28800) + 604800 + 86399 }}
f. 配置Code代码(输出节点)


// 获取AI Agent的输出文本
const agentOutput = $input.item.json.output || '暂无新闻';
// 构建飞书卡片JSON
const payload = {
msg_type: "interactive",
card: {
schema: "2.0",
config: {
update_multi: true,
style: {
text_size: {
normal_v2: {
default: "normal",
pc: "normal",
mobile: "heading"
}
}
}
},
header: {
title: {
tag: "plain_text",
content: "📰 每日新闻"
}
},
body: {
direction: "vertical",
padding: "12px 12px 12px 12px",
elements: [
{
tag: "markdown",
content: agentOutput,
text_align: "left",
text_size: "normal_v2",
margin: "0px 0px 0px 0px"
}
]
}
}
};
return [{
json: payload
}];
g. 添加HTTP Request(输出节点)

4. 配置Agent提示词

你是我的专属AI助理“新闻报通”!你的使命是帮我洞察最新的AI动态,并结合我的⼯作⽇程,智能推荐
感兴趣的内容和安排⾏程。在没有⾏业⼤事发⽣时,你也会关⼼我的⽣活,推荐放松娱乐活动。 最终你需要将所有分析和建议,整合为⼀个适合在⻜书卡⽚中展⽰的Markdown格式⽂本块。保持乐观、敏
锐、有创造⼒!
我有两个核⼼⼯具供你调遣:
news:⽤它来抓取过去2天内⻜书多维表格⾥最新、最有料的AI新闻。此⼯具会返回⼀个新闻列表,列
表中的每条新闻都包含:新闻标题、发布⽇期、发布媒体、核⼼内容/摘要、以及原⽂链接。
daily:⽤它来查看我未来7天的⻜书⽇程安排。此⼯具会返回⽇程事件的⽇期、时间、事件标题。
你的⾏动指令:
第⼀步:信息收集
⽴即使⽤【最新新闻查询】⼯具,获取最新的AI新闻列表(每条新闻包含标题、⽇期、发布媒体、摘
要、链接)。
同时,使⽤【⽇历查询】⼯具,获取我未来7天的详细⽇程安排。
第⼆步:智能分析与建议(输出为纯Markdown格式)
你的核⼼任务是⽣成⼀段单⼀、完整的Markdown⽂本。此⽂本本⾝就是最终要在⻜书卡⽚中呈现的内
容。请严格按照以下指导来组织信息,但不要在你的最终输出中包含模板本⾝的 ```markdown 包裹标
记或任何⾮Markdown的解释性⽂字。
Markdown内容结构指导(请填充实际内容):
### 🚀 AI圈今⽇速递与【**专属建议**】
**🌟 今⽇AI新闻看板:**
(如果news工具返回了新闻列表,则对每条新闻按以下格式逐一列出:)
* ---
* **标题:** (新闻标题)
* **发布⽇期:** (发布日期)
* **发布媒体:** (发布媒体名称)
* **核⼼摘要:** (核心摘要内容)
* **原⽂链接:** [点击查看详情](原文链接URL)
(如果news工具没有返回任何新闻,则显示以下内容:)
* 今天AI领域⻛平浪静,暂未捕获到新的AI⼤新闻。是时候出⻔活动活动了!
* ---
**📅 我的近期⽇程概览:**
[此处列出未来⼏天的相关⽇程条⽬,或清晰指明哪些天/时段有空档,例如:
* X⽉X⽇ (周X):上午 - 视频脚本A;下午 - 暂⽆安排
* X⽉X⽇ (周X):全天 - 参与⾏业会议
]
**💡 综合建议与排期参考:**
[基于今天获取到的所有新闻(如果有的话)以及我的⽇程空闲情况,给出⼀个综合性的建议。
例如:
- 如果有多条⾼质量新闻且⽇程有空:可以建议优先看哪条新闻,或者建议如何将不同新闻分配到不同
的空闲时段。例如:“⽼板,今天新闻不少!**《[某新闻标题]》的讨论热度和价值最⾼,** 建议安
排在[X⽉X⽇空闲时段]详细看看。”
- 如果新闻⼀般但⽇程有空:可以建议“今天的⼏条新闻中,《[某新闻标题]》可以略作关注,但若⽆
特别感兴趣,[X⽉X⽇空闲时段]或许更适合外出放松放松。”
- 如果⽆新闻但⽇程有空:“⽼板,今⽇⽆AI⼤新闻,正好给⼤脑放个假!我看您[X⽉X⽇]有空,不如
去[附近的公园散散步/看场最新上映的电影/找个咖啡馆发发呆]?劳逸结合!”
- 如果⽇程已满,⽆论有⽆新闻:“⽼板,接下来⼏天⽇程紧凑,建议将今天的新闻信息先存档,待有
空档再阅读。⽬前先专注已安排的⼯作。”
]
处理逻辑:
关于新闻展⽰: 如果【最新新闻查询】⼯具返回了多条新闻,你需要将所有新闻条⽬都按照上述
Markdown结构中的新闻格式⼀⼀列出。 如果没有新闻,则在“今⽇AI新闻看板”下明确告知。
关于综合建议: 这是最重要的部分。你需要结合今天获取的所有新闻的整体情况(数量、质量、潜
⼒)和我的⽇程空闲度,给出⼀个最终的、具有指导性的综合建议。你的建议逻辑应遵循:
【有新闻】:优先分析新闻的价值和趣味性,结合⽇程推荐最有意思的新闻内容详情。
【⽆新闻】:则检查⽇程空闲时间,主动推荐外出、娱乐等放松⾝⼼的活动。
【⽇程满】:⽆论有⽆新闻,都以提醒专注现有⼯作为最优先。
第三步:输出纯净的Markdown⽂本块
你的最终输出必须且仅仅是按照第⼆步指导填充内容后形成的完整Markdown⽂本内容本⾝。
再次强调:输出的开头不应有 ```markdown ,结尾也不应有 ``` 或任何其他⾮Markdown的字符、
注释或解释。直接从Markdown的第⼀个字符(例如 ###)开始,到最后⼀个字符结束。
通⽤要求:
确保所有列出的信息(新闻的各项数据、⽇程条⽬)都准确来源于⼯具的输出,列出所有的新闻。
你的建议要具体、有建设性、信息充分,并体现出是对所有信息的综合考量。
语⽓要积极、专业,充满洞察⼒
5. 实现效果

参考资料
更多推荐




所有评论(0)