本文仅为个人实操记录,参考教程。包含 Agent基本概念 n8n搭建agent 

https://www.bilibili.com/video/BV1KSKwzJEEV/?spm_id_from=333.1387.homepage.video_card.click&vd_source=8e48bf502cb17d9928c0747ed835d13d

一、基础概念

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提示词结构逻辑

  1. 角色 —— 他是xx助手,xx领域专家
  2. 任务 —— 他要完成什么(任务概述)
  3. 工具 —— 他可以调用什么工具
  4. 约束 —— 应该遵循什么规则
  5. 输出 —— 结果是什么样子

1.5 护栏与安全

产生幻觉、陷入循环、错误行为

二、Agent搭建

2.1 n8n平台

案例:获取飞书多维表格数据+飞书日历+agent提示词配置处理信息 => 飞书机器人定时消息推送

前置工作

创建飞书多维表格

1. 安装Docker&n8n

  • 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. 实现效果

参考资料

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐