写在前面
「案例来源」 B 站 <秋芝 2046> 从0开始“做”一个Agent!。
完整的步骤&内容大家可以看原作者的视频和文档,这里就不再复述一遍了。
本文主要是想分享三块内容:
- 修复作者提供的AI新闻采集工作流的bug——没有“创建时间”字段的值。如果缺少这个值,就无法实现按照日期筛选最近两天AI 新闻的任务。
- 说起来这个案例逻辑也不复杂,但是工作流与飞书应用的API接口对接起来特别繁琐(不同应用接口的数据格式都不一样,需要人工一项一项对接上 才行)
- 在读取、整理新闻列表并发消息给飞书机器人这个工作流中, Agent 的提示词比较有意思,为后续进一步深入学习提供了不错的案例。
通过本文你可以获得以下收益:
-
熟悉n8n 平台操作
如:变量计算和引用这块——n8n 这部分做得非常好了
-
对接飞书应用API接口时,需要注意的地方
如:涉及多维表格 增删查;日历会议列表筛选;feishu 机器人webhook对接;还有应用权限开放。
-
浅聊 Agent 提示词框架和思维链(CoT)
效果展示
每天早上8点,飞书机器人会收到推送的 AI 新闻摘要和最近的会议安排,并提醒用户优先阅读其中重要的文章。
这个案例分为两部分(阶段):
-
AI 新闻整理存档工作流:通过RSS 订阅,定时搜集AI 新闻频道(如这里的 新智元 腾讯科技 量子位)中的新闻,然后把新闻的标题 摘要 链接等数据按照统一的格式存入飞书多维表格中。
这个工作流,经过我的完善,已增强为写入新闻数据的同时,删除7天前旧的新闻。
分享链接放在公众号【AI 热气球】中,感兴趣的小伙伴可以回复 917 获取。
-
新闻推送工作流:每天早上8点, 另一个工作流(下图)会读取多维表格中今天和昨天的AI新闻和我最近7天的日程信息,生成当天AI新闻摘要与日程提醒。
要点1
1. n8n平台上,工作流中的变量赋值和引用非常友好,达到所见即所得的效果。
以“AI新闻整理存档工作流”为例——
“INPUT” 为上个步骤的输出内容:整理好的新闻标题、日期、内容、媒体、链接信息。
在“Edit Fields”这个工具的帮助下,可以直接通过拖拽的方式完成新变量的赋值。
这样一来大大简化很多过程数据的处理步骤。如果对比coze dify平台中的处理方式,肯定会认可n8n 的这种处理方式:
在coze 和dify 中都需要使用代码工具,在代码中重新定义一个新的函数,然后把上一步生成的新闻对象 Array[object] 在for循环中一个一个提取出来,并在每个循环处理中 追加新的变量名和变量值,最后生产一个新的 Array[object] 类型数据 。
2. 简单数据的处理在过程中就可以快速完成
这里举两个例子,一个还是在“Edit Fields”这个工具中。
注意下图中 我新增了两个字段(变量)——“创建时间”和“7天前的时间”。前者用于写入飞书多维表格中的“创建时间”字段,方便后续筛选。后者则用于删除多维表格中7天前数据的筛选条件。
这里时间的计算,直接调用了javascript 的Data 函数一步完成。并且n8n 会把每个变量的值直接显示在对应变量的下方——那行紫色的文字!

另一个例子:在写入新闻链接数据到多维表格时,可以直接调用正则表达式——对“新闻链接”数据中可能存在的换行符(\n) 完成替换。
3. 如果遇到复杂的数据处理,怎么办呢?
当然n8n 也有code 功能模块,默认启用的就是javascript。这一点不像 dify 那样需要一个额外的code容器来完成python或javascript 代码的执行。
这里的例子是:上一步已经从飞书多维表格中筛选了7天前的新闻,但是在删除多维表格数据时,用到的是“record_id”字段。所以,这里使用code 工具只把多维表格中数据所在行的“record_id” 提取出来,交给下一步。
要点2
在之前“coze塔罗牌工作流华丽转身”的文章中,提到了多维表格API 接口的使用。在那个案例中,主要是用到多维表格的“读取”和“写入”两个功能。
在本案例中,进一步升级—— 有多维表格的查询、写入、删除,还有飞书日历的查询。
所有飞书工具的调用,离不开n8n社区中一个非常好用的工具——Feishu Node。
首先它是社区插件不是飞书官方提供的,其次它比coze 提供的接口的还好用!
这一个插件汇总了飞书平台支持的107种操作,下图只展示了其中“多维表格”的一部分操作——
这些操作都是通过飞书 官方API 的接口调用实现的,所以肯定要满足飞书平台API接口的格式要求和限制。
以多维表格中日期字段的填写要求为例——
所以,这也是文章开头提到“每个接口都需要人工一个一个对接”的原因。
具体怎么对接,大家还是自己跑一遍试试就知道了。
本案例的工作流我已经放在公众号【AI 热气球】中,感兴趣的小伙伴可以回复 917 获取。
这里,我提醒两个踩过坑的地方:
1: 飞书开放平台中 相关应用的权限开放
这里的相关权限类型是“应用身份”,不是“用户身份”。
如果权限不匹配,会导致相关API 操作失败,但其实不是n8n 工作流中配置的问题——
2: 用到的表格需要开通 应用的“可编辑”权限
要点3
个人以为:这个案例中,最有含金量的是在第二个工作流中调用Agent 思维链(CoT)的方法——体现了人类抽象思维的具象表达。
|
|
这里面信息量有点大,如果第一次接触这么大篇幅的提示词 肯定会觉得有点乱,不知道注意力放在哪里。
没关系,先交给 gemini,帮我们划分下结构和关系——
这个提示词的逻辑和段落结构非常清晰和严谨,旨在引导AI生成一个结构化、个性化的“飞书卡片”式报告。 整体逻辑概览:
角色设定与使命(Persona & Mission): 首先明确AI的身份、名称、核心职责和输出风格。 工具箱(Toolbox): 列出AI可用的具体工具及其功能和返回数据格式。
行动指令(Action Instructions): 详细分解AI需要执行的步骤,从信息收集到最终输出。
- 信息收集: 明确调用哪些工具,获取什么数据,以及数据处理的初步要求(如精选新闻数量)。
- 智能分析与建议(核心): 这是生成最终内容的指导部分,详细规定了输出的格式、内容结构和决策逻辑。
- 输出要求: 强调最终输出的纯净性和格式的严格性。
通用要求: 对整个过程和最终输出的质量提出普遍性要求。
这下看起来是不是轻松多了?
开头类似于告诉AI 我这有哪些工具和此次任务背景是什么。
结尾则是限制AI :不要自己造新闻(针对幻觉问题),语气拟人化,输出内容要概括、有条理。
整个提示词关键点是“行动指令”的第二部分——“这是生成最终内容的指导部分,详细规定了输出的格式、内容结构和决策逻辑。” 稍微展开说说——
1. 提示词中,可以使用 if/else 这种条件语句,也可以使用each 这种循环语句
|
|
翻译成伪代码就是——
|
|
LLM 就是有这种能力,读懂思维逻辑,并按照这个逻辑执行任务。
2. “综合建议”部分,要求按照四种情况做出不同的回应
|
|
这里分别针对四种不同场景 【有多条高质量新闻且日程有空】【新闻一般但日程有空】【无新闻但日程有空】和 【日程已满,无论有无新闻】产出不同建议,并给出示例。
在Agent中给到大模型的数据 一定会是多样和复杂的,所以 在提示词中也需要明确,面对不同的“场景” 应该如何做出回应。
本案例中,回应内容还可能比较简单——主要目的是提高AI 新闻密度和情绪价值。那如果是复杂场景下的响应呢?
我猜就需要把上述两点结合起来——不同场景 + 条件/循环 等逻辑表达。
AI 应用分类
之前整理过AI 应用的发展阶段:从早期的信息检索汇总、到工作流、到某个垂直领域智能体、到某个行业的智能体。因为这其中跨度有点大,而且缺少一些实施过程的难点和细节。
所以,最近也在考虑 如何从工程实现的角度给 AI应用分个阶段:
一来可以分类市面上的AI产品,二来明确不同类型AI 产品的技术路线,三来 展望下未来可能会迭代出哪些新的版本。
先看下AI 发展阶段和难点图( 原文——“用Coze + Claude 实现Manus,Agent的难点到底在哪?”)

再结合,手上接触到的案例和技术实现,整理成一张表——
**整理完发现:**处理抽象任务的能力,是当前AI 应用的魔力所在。
难怪大家一直希望 AI 可以更像人类的大脑,会检索,会思考,会推理,会总结归纳,会自我纠正。
PS:
-
本文案例, 也是在文章 棚友认识一下,我叫n8n 中的n8n测试环境实现的。
-
n8n官方也提供了现成的workflow,感兴趣的话可以参考下更多案例: https://n8ncn.io/workflows 。
