LongCut logo

「超詳細教學」n8n AI 實作0基礎入門到進階 — (AI Agent | LLM | RAG | Webhook| AI 自動生成研究報告)

By HC AI說人話

Summary

Topics Covered

  • 非程序员也能建AI自动化
  • n8n成本远低于Zapier
  • 工作流如菜谱节点如步骤
  • JSON是自动化核心格式
  • AI Agent实现目标导向循环

Full Transcript

你是否觉得AI工作流复杂难懂 花费数小时仍无法掌握 想要客制化提示词却 怎么都无法让AI运作 工作流的token 怎么每次都消耗巨大 为什么我的AI就是上不了网 别担心 这支影片将带你深入 浅出地了解n8n 让你轻松打造个人AI助手 这里是HC 让我们 一起让AI说人话 你现在收看的是我们 n8n入门系列第一集

今天就让我们来讲讲初学者 接触n8n必须学会的基础知识 首先我将带领大家熟悉 n8n的核心概念 协助大家建立第一套工作流 一起把大语言模型融入工作流当中 最后打造AI agent帮你自动做研究 让AI成为你生活中的得力助手 如果影片中的内容对你有所帮助 别忘了按赞并订阅我的频道 那就让我们赶紧开始吧 如果你是第一次接触n8n的话

我们这边简短的 介绍一下n8n是什么 一句话总结n8n n8n是一个开源 低程式代码 开发自动化的一个平台 那怎么开发自动化呢 它是用工作流的方式去做一个开发 这样工作流可以提高我们的效率 节省时间跟成本 改进我们的资料处理 因为它可以很简单的去串联 各个不同地方的资料 这样可以提升我们的客户体验 一 我们可以快速回应客户

二 我们可以更高的客制化 n8n是一个开源 所以它可扩充性非常高 比其他平台可扩性更高 下面是一个其他的n8n的例 像我们这次会做到 就是像客户在网站上填 网站上填写表达 我们自动发送客制化的信件给他们 我不是只是一个制式的信件 而是客制化的信件 然后将他们知道加入资料库里面 为什么要学n8n呢 首先最重要就是

非专业的开发人员 现在也能建立AI的自动化流 你不需要会写程式 当然会写程式的话 你会有更大的优势 但是你不需要会写程式 你也可以为自己开发自动化 你就想象你凭空多出好几只手 这样的感觉 跟多好几只脚也可以 它有现成1000多种 而且极高速的正在 增加内建的整合组件 你想得到的常用的应用程式 它都有做内建

你想不到的它有 API 跟 Webhooks 还有自订程式码可以进行扩充 现在学n8n 一它成本低 它无限的可能 而且它你可以第一线的 结束到AI的自动化 那它有没有其他的平台 跟它做一样是有 比较有名的像 Zapier 跟 Make.com 我相信很多看到这支影片的人 你大概都有看到 看过其他尤其是 Make.com 的这样的影片

首先 Zapier 它的成本很高 但是它的连接器就是 它里面的 Node 种类很多 这是它算满成熟的平台 Make.com 也是很成熟的平台 但我相信有用的人 都知道,这1000个任务 就算个人使用可能都不够 但是如果个人使用 1万个任务9块钱美金 一个月如果你不常用的话 你会觉得好像有点浪费

它的定价策略是有这样的一个缺点 我们来到我们的这次 n8n 1 如果你 部署在云端的服务上面 有5块钱到6块钱 或是背地应该是5块钱 5块钱 所以它的成本是很低 甚至你就可以架在自己的电脑里面 它现在有1000多种连接器 那还有很多客制化的连接器 因为它是开源的

它这里的难易度 n8n 是四颗星 确实 n8n 在之前 它的资料是比较少的 但我相信你看完这支影片 你的 n8n 任督二脉 就会直接被打通 这支影片就是 为了把这个难易度 降到1颗星 2颗星 才为大家出这样的一个影片 所以希望你们想学 n8n 可以把这支影片认真地看完 n8n 要从哪里开始 我们先介绍一下 n8n 的基础 第一 架设

你要想你要架设在哪里 你可以自行架设或是利用云端的服务 这边的自行架设也包含 你自己用云端服务去架设 它的可控自信跟弹性是比较高的 资料的拥有权 如果你在架设在本地端 当然你的资料拥有权就在你自己身上 你不会担心你的资料在云端上面 有可能会被云端供应商 拿去做任何的资料训练等等的 相较 它成本也比较低

可是你就要懂怎么安装跟维护 但是它客制化也比较高 云端的像 n8n 自己的平台 就有提供 n8n 的服务 我下面的连结 也是他们授权的连结 你可以去做使用 可以帮助我继续做更多的影片 云端也包含了其他第三方的云端 他们也有提供一键安装 像我的前一支影片 Railway 可以做一介的安装

所以它易用性非常高 你只要一介安装完以后 你只要登入帐号密码 你就可以做使用 你不用担心可靠性跟可用性的问题 你就是付钱请他们去 做这样的一个维护 像你在加在自己的本地端 你可能电脑当机或什么的 这个是有可能会碰到的 安全性 网路安全性 在云端上面基本上没什么问题 成本就是你要每个月 会付出这样的一个成本

资料就是 你要可以接受资料放在云端上面 我是蛮希望这一支影片出来的时候 我的 Mac 跟 Windows 如何架设本地端的影片 因为很多人碰到应该就是 你加在本地端 但是你的 n8n 上不了网 这个大概是很多人碰到的问题 或是你上网了 然后他一直爆说有网路安全问题 那我接下来要跟大家介绍的安装方式

是没有这样的问题的 然后就是完整的去供 大家做这样的一个选择 你如何选择呢 第一 如果你要完全控制 自己的资料跟基础架构 那你要选择自己架设 二 你希望 n8n 可以深入到你的电脑的 其他的内部系统当中 意思就是你如果 n8n 他可以控制你 就是这种自动化的流程 他可以控制内部 你电脑内部的其他的东西 可以 但是你要架在自己的本地端 那你想要自行处理

服务器的这些事情 那你可以架在本地端 云端呢 就是一般大众如果你 不想去搞这些东西 你可以用云端 那你就是付出 可能每个月多一点的成本 那可控性跟可靠性你就不用去担心 那当然还有 如果是你有机密文件或什么的话 那当然自行架设应该是你的首选 我们简单介绍一下核心概念 n8n 核心概念的工作流节点

跟工作流执行 我们可以做一个比喻 工作流就像菜谱 每个节点就像菜谱里面的步骤跟成分 执行就像订单来的时候 执行菜谱这个事实 那更大的一个范围呢 有点像说我们要做一桌菜 我们可以很多菜谱 那每个菜谱里面 有可能有同样的步骤 有可能有同样的成分 那当我们接到订单 然后要把这一桌菜做出来 这个就是执行这件事情

然后大家就可以想象 把它想成在做菜这样 n8n里面大概基本上就是四种节点 第一触发型节点 第二命令执行节点 资料传输节点跟逻辑节点 触发型节点就是 我们要如何 什么样的情况下 去触发执行我们的工作流 这叫做触发节点的最大的用处 命令执行节点呢 就是我们接到任务以后

那些帮我们执行命令 不管是 AI agent 大语言模型 任何去执行我们命令 跑这个程式的 叫做命令执行节点 资料传输节点呢 如果提取资料 更改资料 汇总等等的 我们去处理资料的这种节点 叫做资料型节点 然后再来是逻辑型节点 如果像 if true 如果真 如果是真 这二项是嘛 一个如果是真往上走 如果是假往下走 或是 switch

你可以有可能一百种不同的 情境 然后同一个工作流里面 你可以这样去接 但我相信 应该不会有人这样做 但他可以这样做 ok 这样这叫做逻辑节点 好那我们 讲完简单介绍以后 我们直接进入介面 来体验 n8n 那如果你有看我之前的影片 你应该就已经部署好你的 n8n 进到 n8n 里面你会先进到登入画面 跟 setting 画面 然后你会进到一些勾选选项

那这个应该在 上一部影片里面有介绍到 我觉得我们进到 n8n 里面了 那如果你没有 你还没有设定好那个 寄信像我这样 还没有设定好的话 你可以这样 unlock 然后请他把这个信寄过来 你如果有 license 还没有,还没有去验证 你就去验证一下 因为他会 你有验证的话 你会开启有三个 三个还蛮重要的功能 我们这边验证这个 community addition 的话

可以有三个蛮重要的功能 放大一下 你可以看到我们在 24小时里面的这个 工作流的这些记录 我们工作流里面如果有出错的话 可以显现你在哪里出错 还有如果每次的 这个执行的工作流执行 你可以去做一个搜寻 去看你之前执行的状况 这三个都是蛮重要的功能 没有验证的话 就没有这样的功能

所以可以验证一下 它是一个 验证完就是 free 它是免费的执着你要验证 然后它才给你这个选项 在我们的进来的这个记录程式 我们可以看到的是 这里我们有三个 主要就是三个不同的视窗 workflow 就是我们到时候 你会有不同的工作流 就是会在这边 我们的credentials就是 如果你有像认证Google 你的Google帐户等等的 它的一些认证码或什么

会存在这边 这里 execution 就是到时候 有了工作的以后 你的工作流执行的这个记录 会在这边 这边的 template 就是 进去以后这里 进来以后这里就是 我们的 template 就是 n8n 它的官网的一个 工作流的分享的地方 那我们先 我们既然我们都来了 我们直接就简单的介绍一下 如何去使用

别人已经建构好的工作流 我看一下 这个像 这里有个 AI agent chat 嘛 代表说它是 可以跟 AI agent 去做 一个简单的沟通的 那我们看一下 进来以后我们点选 explore 它就会把 这个 AI agent 的使用方式 它说工作流就贴在这边 通常这些 workflow 都是 free 的 所以在这边 它下面应该都会有一些纪录 它跟你讲说 怎么使用这些 workflow

那既然是 free 的话 它这里会给你几个选项 有连到 template 这个地方的 一些部署 像我就不同的部署 那我们也可以 就直接 copy template to clipboard 就 copy这个 JSON file JSON 我们在技巧里面 会去做讲解 像这里呢 我们就示范两种 这里 render 我们直接点选 render 它就会直接复制到 我的 render 的后台里面去

这里就是我刚刚说的 credential 好 那我们 这样就复制好啰 就是我们设定一下 我们的认证 这个 Open AI 的认证 或是你要用其他的 AI 认证 你就可以直接使用 这个工作流 那我们再示范另外一种 工作流的复制方式 同一个工作流呢 我们可以直接复制 JSON 我们回到我们的页面 去做一个复制贴上 我们工作流就会进来了 所以有两种不同的

这个工作的复制方式 我们这里按储存 再回到我们的 menu 我们就可以看到 这个工作流 进到了这个 进到我们工作流的选单里面去了 工作流介绍完呢 我们来介绍一下 下面这边的 有用的选项 第一个是 n8n的 Documentation 我们进到这边呢 它有关于n8n所有的节点 或是它的你怎么去载啊 或是有融入到哪些服务啊 你都可以在这边去做一个部署 那我们会

我们之后的影片呢 会慢慢的做 一些比较关键的介绍 这边呢 还有一个是 Forum 就是我们的 n8n的官方的 Community 它的一个社群 在这边如果你有相关的问题呢 建议大家就是 把你的工作流 复制 成一个图片 然后在这边 把你的工作的复制好以后 贴到这边来 然后简单的介绍一下 你发生了什么事情 下面就会有人帮你做回应 对

那我们n8n介面的简单介绍 就介绍到这边 那我们接下来呢 要进入的是 n8n的小技巧 然后我们就会 用这20个小技巧去 做我们的 一个工作流出来 那第一个呢 我们要 新增一个工作流 一个新增工作流 就会进到这个工作流的 这个工作画面 好 我们第一个小技巧呢 就是要确实的 命名我们的 n8n的工作流

这样 这小技巧虽然看起来很普通 但是 它会 节省你之后 非常多 在搜寻 你工作流 或整理你工作流的时间 因为毕竟我们工作的 就是要一直重复的用 或是不同的工作流 都在一起这样用 所以 确实的命名也工作的非常的重要 我们这个工作流呢 就是要从Google Sheet 去 整理 或是去分析我们Google

Sheet里面的 一些 任务资料 然后这里有一个Tag 我们这里可以像是 OK n8n Course 我们在这边你可以 Add Course 我们是n8n 你可以Add Add这个 一个标签 几个标签都可以 那我们这个用意呢 就是回到这里 你就可以看到 你的 工作流名称 那它的右下角这边会有一个小标签 然后它的那个创建日期

这小标签 你就可以在这边做一个搜寻 搜寻 所以我刚刚英文删掉了 所以就没有 那我们可以 用中文 就可以搜寻到 你的工作流 这样我们就可以很好去管控 我们哪一个工作有在哪一个任务 什么需要 或哪一个这个专案项目去用 那第二点呢 我们来介绍一下这个 工作区 的一些 应用方式 首先我们这里可以看到两个 不同的视窗

第一个就是我们的编辑视窗 第二个的Execution这边呢 可以看到我们这个工作流单一 就我们在Menu那边 可以看到所有工作流的执行状况 那我们到了 单一工作流里面 也可以看到它 这个工作流 之前的执行状况 然后它会有所记录 在这边可以用按这个加号 这些就是我们的节点 或是你可以按你 键盘上的Tab 才会跑出来 OK 那我们这边呢 按了这个触发

触发用的这个节点以后呢 这里会有一个Save 我们可以按Save 或是你按 Ctrl S 或Command S Mac的话是Command S 你也可以直接Save 那我们这边也可以设定 我们这边到这里面呢 它可以 你可以单一工作流的一些 存取时间 但是它呢 我们的那个Community版 它的存取时间就是一天之内 可以存取 所以如果你有特定版本的工作流 要做存取的话 记得手动

让它下载到你的电脑里面去 到这边呢 我们可以看到有没有 这里 我们可以我介绍一下 我点了这三个点以后 进来这边会有几个Settings 这些其实 第一个就建议 你就点这个建议就好 第二个呢 以后如果你有需要的话 蛮重要的就是 假设我们的工作流出现了状况之后 它会执行 某一个工作 你可能可能可以设定一个工作流说

我的M8里面有哪一个项目 很重要哦 然后 它出错了 然后去寄信给我等等 你可以在这边选择 出现Error 那你把这个Error寄信给我 或是怎么通知我这样 这里有几个 存取 存取的选项 我们就维持它原本的选项 就可以了 我们设定完以后 我们来介绍一下触发点 我们永远都需要一个 触发的节点 来触发我们的工作流

第一个就是我们的手动触发节点 那 任何一个 接在后面的这个执行节点 都会变成是我们第一个执行的任务 然后这个触发节点呢 不管我们按这个 Test workFlow 它就会触发下面这个 后面这个第一个节点 然后那第二个呢 是不同的这个触发节点哦 就是不同程式的触发节点 这里有Google Drive Google Sheets 像我们Google Sheets的话 你看 如果有任何一个 这个这个的意思就是

如果有任何的这个新的行列 它就会触发这个节点 那这里呢 可以设定每分钟叫一次 每小时叫一次 每天每周或是每个月 好去叫一次 那同样的这里要做你的这个 Google认证 后面会讲到 那第二个呢 就是时间节点 那这个就是设定你的这个 循环的时间 然后去触发这个工作流 第三个呢 webhook 就是如果 你要从其他有webhook 服务的这个

那程式呢 去呼叫 或是去呼叫这个HTTP 的这个request 那这个我们后面会讲到 然后你可以去从那边呼叫资料 或是你可以去传输资料 通常这里是节点 所以这应该是呼叫资料 这个这个的这个 用法呢 其实比较像是说 我今天如果 Google Sheets 没有内建的这个节点啊 去呼叫 那我可以说 我可以Google Sheets那边可以说 如果我更新了

那我就传资料到这个 到这个工作流来 所以是Google Sheets那边 去做一个运算 然后去主动传输资料到 传输资料到这个webhook 那webhook被触发了 他就会去触发这个工作流 那这个很好用 如果你的工作流是放在 云端上面 然后你每支行一次都有成本的话 而吃到饱就没关系 但如果你每是那种 每支行一次都要付出成本的话 那你可以把成本 转交到Google Sheets那边 由Google

Sheets那边做运算 然后等到真的有触发了 才执行这个工作流 第三个是on form 那n8n里面呢 他提供了一个表单的填写的触发 如果有人填写的这个表单呢 这边他会显示你的表单 这边他会出现这个表单 那填写完了呢 他就会触发这个节点 那这边就会触发节点 他资料就会传进来 所以这个也是一个 快速的使用表单的一个方式

那我们通常会建议用 像Google表单啊 或其他的表单 他有相关的服务的节点 那我们可以把它串连进来 第三个呢 第三个就是我们所说的 由别的工作流 来呼叫我们的这个工作流的 这样一个节点 onchat onchat就 onchat其实就很很明显吧 他就是你可以跟他对话 然后当你有对话的时候 哦 这里当你可以 当你下面这里有对话的时候 那你就触发这个节点

那最后还有其他很多不同的节点 像我们刚刚说的 如果你要air啊的话 可以有这个air啊 trigger啊等等 然后他就会去呼叫 再来是我们的 执行节点 n8n呢 里面已经有 内含很多 程式相关的执行节点 像Google Sheets 我们常用Google Sheets啊 那email啊 如果你有自己的公司的email啊 webhook um air table啊 啊

github啊 等等哦 这边有很多 像我们常用notion啊等等的 他都已经预设好那一 预设好相关的这些节点 所以也是 是很强大的一个 基本上你 基本上我们一般 商业上或是个人上 要用的功能基本上都有 那我们回到n8n的介面 这边呢 我们有了这个 做法点之后呢 我们可以看到 接下来这些就是有不同的 执行节点 ai 节点的话

可以呼叫你的ai 去叫其他执行命令 那第二个就是不同程式的这些节点 进去呢 就可以看到我们刚刚的不同节点 那 举例 刚刚Google Sheets是触发节点嘛 那这边呢 那这边的选项就不要 然后这边是 哦 去执行说我去 新增一个表单啊 或是哦 去清除这个表单啊 或我新增一个行列等等的 这些在这个节点里面 都是可以做到的 哦

那 上面这两是我们的那个 执行节点 那下面这边是我们的资料传输节点 那这边呢 像我们可以用 如果你会写程式 我们可以用程式来 去过滤你的资料时间 像email里面呢 我们几天前的 email啊 或是我几天前的email啊 就可以去过滤 那我们常用的set 就是我们可以新增 新增资料 或是去做资料的一些处理等等 在这边 我们merge啊

我们有讲到的等等 全部都在这边 那 那接下来是flow 接下来是我们的逻辑节点 像if啊 如果loop啊 merge啊 像 if就是我们如果 如果成立 我们就往上面走啊 如果不成立 我们就往下面走啊 或是直接飞了嘛 那loop的话就会是 哦 我们可以去循环 哦 去

一个去循环我们的这个 触发以后 我们去循环 直到我们满意的内容出来维持 这样的一个loop 那core 核心节点呢 就是上面这些的 我们常用的节点 它会放在core这里面 然后我们也可以 加入一些 这边我们可以加入一些 我们人类的回馈啊 在这里面 那我们今天呢 要用google sheet 来做一个资料汇整 对了我们要 我们用了这个google

sheet的节点 那我们要去认证 这个google sheet 我们应该说 我们要登入我们的google 那他跟一般 我们要登入的google 帐号是不一样的 所以在进到这边的这个 我们要输入我们的 client id client跟secret 那首先我们要先把这个 这个这一串 点下去它就 复制完成了 就我们到google cloud 你可以搜寻 google cloud 到这边

哦进到我们 google cloud 以后我们来到这个控制台 哦 如果你没有建立专案的话 你在这边建立专案 会碰到的是 我google会想要请你开启 这专案的济费功能 那我们这边呢 可以就直接按取消 就可以 不用理这个 不用理这个东西 就可以到这个 这个页面来了 到这个页面以后呢 你可以点选两种方式进到 apf 一个是你点API这边

快速撷取这边 进到API里面 或是点选资讯主页 然后点选这个 前往API都可以 然后进入这个OAuth 同意画面 我们要开始 这边点选开始 要去去其中一个应用程式 那我们的应用程式我们就要n8n 然后我们的使用者呢 就点选我们的email 下一步 这里点选外部 联络的联络方式呢 你就可以把你要 接接收这个资讯的email呢 把它填进去

点选 用原本的email就可以了 可以按同一继续 奖励 这边建立完后 我们要建立一个OAuth用户端 这里呢 我们就点选网页程式 这边我们选择 n8n 然后这边呢 我们刚刚不是有复制一串 这个连结吗 url 我们就把它贴进来 按选择建立 那这样我们就 完成我们 google api的一个 认证设定

我们把这个密码 那贴进来 好 这个帐号贴进来 然后密码 贴进来 那这边呢 我还不能登入 我们回到我们的 Google云端这边 我们在目标对象里面 去新增我们的 密码 好做完这个动作呢 我们还要再去把 google sheet 对API开启 这边我们点选启用 确定启用以后呢 我们就可以回到我们的n8n后台

点选登入 这边就会来到我们的登入画面 选择帐户 你刚刚都设定好了 应该这边会出现一个继续 如果没有的话 就代表说刚刚的步骤你有 落下一个步骤 好 选择继续后我们选择全选 选择继续 这边呢 我们就会connection successful 那你就 连接成功回到这边 然后会自动储存 好这边呢 如果你连接成功呢 在这边应该就

这边应该是可以看到一个list 好那不用担心 因为 其实我们呢 没有 我们只有开启 google sheet 这边呢 是用document 所以我们要把 google drive 也一起开起来 好 那现在我们把 这个google drive开起来以后呢 我们回到这边 这里呢 你 就应该就可以看到

我们就可以从document这边 看到我们的 google drive 跟 google sheet相关的档案 我们点选以后 他就会读取到 google sheet里面的这些表单 那我们 只有一个表 在工作表一 他就设定好了 然后这里我们按test 他就会把我们的google表单 全部读取进来 好我在这边贴上 呃 左边呢

这是我们的 google sheet 设定google sheet 有我们的 人员名称 他的任务 还有我们的状态 那我们这边按test 他就会把这 一列一列的资料 变成一个 JSON档案 JSON的这个 显示形态 过来这边 JSON的显示形态过来这边 那每一列呢 他就会是一个JSON物件 我们输出这边 只有我们的触发节点

所以并没有任何档案进来 那这边一样有 三种不同的 资料显示方式 好那我们把档案输入进来以后 我们进到下一个节点 然后我们再解释 这三个资料显示方式的不同 好那我们要去 读取我们资料 或是去做更改 我们很常用的是这个set edit edit build 这个 这个 呃这个节点 我们说的是他是 资料处理节点 那这边呢我们可以看到

输入的地方 就有了这个 三种不同的显示方式 那 schema 是 schema会显示的是每个 呃 一个简单的大纲 就是你的资料里面包含了哪些 两位名称跟他的资料结构 会在这边做显示 那他会是每一个 每一笔 呃 你后面 前面每一个节点 所输出的资料 他会慢慢的一个一个列在这边 那tables呢就会

就会让我们很直觉的 去读取我们的数据 然后就会像我们的 Google Sheet呈现方式一样 JSON呢是我们 会非常常用到 尤其是要做 资料处理跟 我们之后要做自动化的时候 你要从这边要 学会读懂 JSON 那其实很简单 我们现在来介绍一下 怎么去读 JSON这个资料 什么是JSON呢 JSON的全名叫做 JobbyScript

Object Notation 是 分拔或是任何 网路上的资料传输的一个交换格式 它具有轻量级 意读 好 意读性 所以在工作流 或 我刚刚说的网路上 很常用的一个资料传输格式 那工作流节点之间呢 每一个地方都会产生一个 JSON格式去表示 它的工作流的这个 输入跟输出值 那如果我们从网路上 或是任何其他节点

或外部收到资料 也都会是以 JSON格式的方式 去做一个显现 那从外部网路呢 我们收到的这些资料呢 通常也会以 JSON的格式去做显现 所以JSON格式 在我们做自动化 目前呢是非常重要的一个 资料格式 那我们要去读懂它 我们用n8n刚刚 我们实际的Google Sheet的案例 来解释什么叫JSON物件 第一 JSON物件呢

以大括号 里面一个key 一个value 去做一个 它里面包含了一个键值对(key:value) 用大括号包含了一个键值对(key:value) 那为什么会有双 双 双引号 去 把这个值给框起来 因为电脑里面呢 我们通常 键值对(key:value) 像人物的名称啊 或是我们项目的名称啊 都是一个字句 就是电脑里面呢 要去读这个字句 我们要用双引号把它刮好起来

我记得这件事就可以 之后就会变成一个习惯 ok 那我们也可以用物件列表示 我们可以把很多的 JSON物件变成一列 那它是以 中括弧 去做表示 然后以 豆号去做拆分 那下面呢就是一个 我们一个键 对应一个物件 物件列 JSON物件列 那我们把红色的这个中括弧拆开 你就会看到 呃括弧里面 有

JSON1 JSON2 那我们要加JSON3的时候 要记得在后面再加一个 豆号 当然出错的时候 程式都会做一个提醒 就可以这样去做判断 那通常就是忘了加一个 逗号 那我们回到我们的 google sheet里面呢 就可以看到 我们工作列表1 会是一个大的JSON物件 那通常在n8n里面呢 它是不会把 工作列表1这样的一个物件 显现出来了 它会直接显示这个中括弧

中括弧 还会把这个列表1拿掉 那这里面呢 我们就看到 它是一个JSON物件 一个JSON物件的一个列表 JSON物件列表 好 我们物件列表里面包含了人物名称 他的任务 跟他的任务状况 那我们 那这边呢 我们可以看到第二个 呃 第二个 显示方式 有数字 电脑里面数字呢 就不需要用(双引号)

那这个后面我们会 我们遇到这个资料的呃 格式的冲突的时候 我们会再做进一步的讲解 那回到n8n呢 我们可以看到JSON 像我刚刚说的绿色的 就是中括弧的JSON 20个JSON物件 因为我们有20个人嘛 我们的这个模拟里面有20个人 那每列 每个人的 名字 任务跟状态 就是一个JSON物件 那JSON物件的这个 键 通常都会是以

呃,栏位名称去做表述 也就是我 第二列 有三个 键值对(key:value) 那每个键值对(key:value)呢 如果你有好几个键值对(key:value) 后面也会以豆号的方式 去做拆 分 那这里就20个 JSON物件 ok 所以 可以记住 就是 记住就是你不管是用 microsoft excel 或是google sheet 或是任何其他的这个表 表列有栏有列的

哦他进入 他把转换到JSON的表示 表格式呢就会长这样 好那我们有 第二个显示方式就是table 他就是以 很直白的这个 table的方式 让我们可以很快的知道 我们的资料是没有错 或是可以很快的去找资料 ok 我们看到schema schema呢 在JSON里面他是一个 说明书的概念 schema模式呢是 一种资料结构的规范 他是这个格式类型或约束关系 其实我们只要

你只要记住说 JSON有点像我们的包裹 他里面包含了各种各种的资料嘛 哦每个资料都有他的这个 对应的名称 那schema比较像是一个 哦这个包裹里面的说明书 像左边这是我们的JSON列 然后右边呢 这是就是我们的schema 他会把这个每一个 在英文里面叫field 就是每个key的 名称把它给显示出来 所以我们20个 JSON物件 每一个他都有一个 roll number 姓名 任务跟状态

哦这样你就可以很 很快的去 撷取你要的这个 key的名称 或是英文讲的field的名称 我们回到我们这里 那schema呢我们就可以看到 JSON 然后schema 所以他会有roll number name 任务 那这里面呢他就有20个 他这里有写是20个item 也就是说 每个item里面 他具有一项说明书嘛 每个item里面 有这四个 这四项东西 好那我们进入我们资料

处理的一些示范跟技巧 好那我们现在开始 介绍怎么处理我们的 data 那我建议大家就是习惯 去用JSON 这个格式 去习惯去看他 因为 JSON呢 可以很明确的知道你的 这个资料里面 有哪些东西 那如果你有大范围的资料搜索的话 我们再用schema table的话 基本上会非常的 就比较不会去用到这样 先做一个另外的示范

这边你可以看到我们有一个name 这边我们打说 这边我们打test 那这边我们 打testing 我们按test 试用这个节点 那你可以看到 大家可以看到我们的 这边呢有20个 一样是20个item 任何我们上一动的这个 我们Google系里面的资料呢 都没有传输过来 这边的field 变成是我新增了 这个test 的一个 你可以把它当作一个栏位 test的一个key

然后这key对应的 值叫testing 那n8n里面每个节点呢 它是以物件的数量 去做运算的 所以这里有20个物件 那我们这个节点就会跑20次 它就会把 然后输出一个相对应的 物件列 那如果我不想要 有20个物件 我只想要 我只想要第一个 我只想试试看而已 然后我们到setting这边 让它只运行一次 execute once 只运行一次 再按一次

再一次 它这次就快一点了 那它就只会出现一个物件 那因为我们前面是物件列吧 所以它这边也会 物件列的方式 去做呈现 那我们现在要把全部的这个资料 传输过来 所以我们把那个 一次性的这个 关掉 那我们要如何将所有的 这个 上一动 我们的Google Sheet的资料 传输过来 我们这边有一个include other

input fields 就是你可以 去包括所有的 这些 我们的件的内容 我们按下去 喔那 这边呢 大家就可以看到说 我们就可以看到 这边呢 我们就可以看到说 我们 本来的物件内容 加上test跟testing 就进到这个新的物件里面 新的物件列里面 这个方式就是我们可以增加 一个新的物件内容 用set这个节点

最大的这个用意呢 有点像是 我们要筛选我们所要的物件内容 那我这边呢 我想要的是name 跟任务 那我们接下来要介绍如何 动态解取资料 因为我们通常收到API 或是 任何你要解取的资料 它可能都是动态 就是会变动的 不像会 不像这样 直接它是一个固定的资料 然后你可以直接做一个传输 我们通常会需要呼叫它的名字 然后它的数值

会跟着变 像我们用这个自动化才有意义嘛 然后我们来 有两种方式呢 可以做这个动态的呼叫 一种 直接 我们把这个关掉 我们直接拖移 name 我们接下来这边呢 我们要输出的也是name 所以我们就不改 它这个 键的这个名称 那我们要件的这个值呢 我们也一样把它拖移过 好那 这边就可以看到我们 JSON的一个

物件表述的方式 它会直接转换成我们的 expression模式 然后就会出现这一行 你拖移进来就会出现这一行 我们按test 换一下 它就会把 相关 这个物件呢 它就会把这个键值对 每一个 JSON物件的件值对 传输到我们的输出值这边来 那我们来解释一下 这个中刮号 然后JSON.name是什么意思

然后JSON.name是什么意思 第二种方式就是我们直接打 我们要 假设我们要把name改成 中文 名称 ok 那我们这边呢 JSON的表述方式 就记得是两个 大刮号 它就会 n8n就会跳出一个选单 好那这边呢我们 双 双刮号完呢 我们就 focus在第一个 $.JSON

$.JSON 那我们要怎么呼叫这个值呢 $.JSON

$.JSON 那这边我们就可以看到 我们的 JSON每个 上一个 上一个节点的这些物件呢 都会在这边 你可以去选 可以看 这个 每个物件都会被呼叫进来 那我们要怎么叫name这个值呢 我们就点 然后点了以后 它就会把每一个 键的名称放在这边 然后它这里有件 是代表一个这个是字算 这个是数字 数字

我觉得我们刚刚有介绍到的 JSON它的支援的格式 那我们要的是name 点进来 我们就 alice 那同样的这样 这边呢我们可以 这边还有一个小视窗 如果你JSON 你也知道它这边复杂的话 这边JSON可以打开 然后它这边你可以去浏览说 你只进到的这个 数值是哪一些 那或者是你可以直接在这边打 如果你的那个字算很多的话 ok test 好那这边呢你可以看到我们的 这个

键名就改成名称 然后所有的名字就跑进来了 好这 这就是两种不同的 JSON的指定方式 好这边补充一点 我去帮我们的 google sheet 改了一个 键的名称 改了一个key的名称 这边我们把name 改成了first name 那这个会造成一个问题 就是我们 这个据点name这个格式呢是 无法读到这个name的 那我们把它推过来 看看它格式会发生什么事情 ok

这个就是如果当我们的名称中 有一个空格的时候 JSON的 书写方式会变成是 中括号中括号 然后中间一个 string的表示方式 一个字 呃字串的表示方式 就是我们把空格呢一起 包含到这个字串里面 ok这是当我们 名称里面有空格的时候 是这样做一个表述 所以呢我们尽量 让我们的如果我们要做这个 资料传输的时候啊

尽量不要让我们的 键(Key)的名称 以有空格的形式 来输来书写 如果first name像这种 呃有 有空格的我们就把它并在一起 或是用 camel case 骆驼的那个 你用camel case camel case 就是 camal case 的意思就是 第一个小写 哦后面一个大写 哦那中文的话呢 我们就尽量不要用 有空格的表述方式 或是我们用

under score( _ ) 有一个底线 啊有一个底线 去做表述就是不要用空格 动态资料 动态节取资料 2动态节取资料2里面呢 我们一样是用这样的一个 JSON 书写方式 但是万一我们今天呢 要在 这中间再加一个 或是我们 我们一个 工作流已经建立完成了 但我们中间想要再加一个 节点 那会造成什么事情呢 我们跑跑看 然后我们原本的这个 node

这边会造成说 我们原本节点的书写方式 是读取不到资料的 因为我们这边的资料已经变动过了 那 $. JSON

$. JSON 的这个呼叫的意思呢是 他去 指 他指向的是前一个 节点的 这些 JSON 物件 所以他读不到 这样的一个书写方式是读不到前 在之前的 这个 JSON 的 啊物件的 ok 这边就带到我们每个节点 的命名就非常重要 我们命名 要把它命名成 Google Sheet

确实的命名 这样我们再指定要 哪一个 node 哪一个节点的资料之后 可以很清楚的快速的 找到我们要哪里的资料 这边有命名 我们这边先命名 middle 中间节点 好 这边呢我们 我们现在要的是 这个 name name和 task

我们要确实的命名 name和 task filter 好 我们有这个节点之后 怎么去读到之前 我们 Google Sheet 这里 这个的节点 叫做这个节点这个的节点的方式 的 JSON 物件的方式呢 有两种方法 第一种是我们到 schema 这边 我们直接拖曳 这个 first name 这个 key 这个键过来 好那我们可以看到

他的 JSON 的 表述方式是不一样的 我们这里有一个 $sign 我们这里有一个 dollar sign 然后 Google Sheet task data 这个字串 然后小刮号 他里面的一个 item 然后才点 JSON 物件 然后我们要 first name 这样的 这样的一个表述方式呢 才能去指定 我们之前的一个节点 不管任何节点都可以 之前的一个节点叫

Google Sheet task data 这个节点 这样的表述方式呢 就是说我可以去指定 那这个好处就是 我今天 不管我这个 name task filter 他中间接了多少个节点 对今天不管 接了多少个节点 好 那这个好处呢 就是我今天不管

多是 接了多少个节点 我接了两个新节点 他这边呢 他都会去指定到 我要 Google Sheet task data the first name 这个 JSON 物件内容 然后大家可以看到 我这里有名称 又改成名称嘛 Alice 这样的一个 键值对 这样一个物件 然后有 20 个 所以他可以从后面 都要指定到这边 所以但我们有很重要的

资料要撷取 而且我们之后再怎么变动 都不会去影响 都不想要去影响到 那个资料撷取的时候 我们可以用这样那个 我们可以用这样一个指定 某节点的 JSON 物件表述 把他放在这边 这不好意思 你看但我们还是一样 就是他还是一样 会给我们这个物件内容 那我们这边说 name 跟 task 的 filter 那我们这边再来 我们就讲解第二种

如何去打 如何把这个表述直接打出来 我们这边一样是任务 好我们要怎么打呢 一样 JSON 一样是 我们要改成 expression 这边 一样是两个大括号 然后 JSON 会自动的帮你 把括号补 后面的括号补足 像 dollar sign 就跟着上面一样 $ 然后这边呢 上面会写 上面会有原本的 JSON $ JSON 这个符号 那我们要到下面这边 ok 这边有一个

earlier nodes 就是我们他会指定说 他这里会列 你之前有哪一些节点 那我们要 Google task 这个 node 然后点 我们再点通常 一定要就是打点的时候 他就会自动的把它列出来 ok 点 items 然后他就会把我们之前 这些 items 呢 就这些 哦这个不同的 二十几个在这一个 data sheet 里面的物件 点 JSON 点他就会出现 JSON

我们的 JSON 物件 ok 然后再点 我们要的是我们的 first name 哦那这样 我们要的不是我们 person name 我们要的是 JSON 点 我们的 role 我们的任务 ok 这样呢 我们就可以指定 把我们的名称跟任务 哦全部 撷取出来 这就是动态资料 2 指定

之前任何一节点的 物件的这个表述方式 哦接下来我们要讲一个非常实用的 技巧就是如何 订选资料内容 那我们现在的 data 呢 我们只有 20 组嘛对不对 那 当我们在企业里面或商用的时候 我们可能会有好几千 笔的这个 data 那我们现在跑一次 你可以看到他 他已经花了一点点 可能一秒钟的时间 那我一秒钟我们可能 哦 如果 4000 笔资料的话 那可能要跑个 10 分钟

那我们不希望他每次 我们在接后面的这个 我们在做 做我们工作的有时候 每次都要跑 10 分钟 那工作的都不用做了对不对 那我们这里有一个技巧就是 pin 我们可以把这个 data 订选 订选起来他就暂存 在这个资料 资料 node 里面 那我们带回来 哦他 这边呢他的 data 就直接用他 pin 的 pin好的 data 要有订选好的 data 那这样他每次我们执行 都可以非常快速

有没有 那这个就是在我们商用的话的时候 我们要很多 data 去做运算的时候 我们可以用这样的一个方式 如果我们 data 这个 data data 是固定的 那我们可以用这样的一个方式去 去做这样的执行 甚至 还有更多 进阶的应用是用 pin data 这个方式 去节省我们运算的这个成本 那这边呢还有一个 技巧是这里可以去 更改我们的 data 不管你有没有 pin pin 的话你就按这个 test

那不管你没有 pin 都可以先去 都可以在这边改这个 data 如果你有临时想要试了一些 可能 你用布林运算 做 false去做一个 data 的表述的话 你想要改成 false 那你这边临时你可以去做一个更改 好 我们打拼 当然是我觉得很重要的一点是 如果重新 如果让节点失败的时候去重新尝试 好去 重新再 run 一次我们这个

节点哦像 这整个工作流的最重要的地方 就是这个 Google Sheet 它需要去把我们的资料给 提取从 Google Sheet 里面提取出来 那并不是像锁 并不是锁 API 或是任何的这个 任何的节点都像 Google Sheet 这么稳定 每次都可以都可以成功的去执行 那当我们碰到无法执行的时候 这边呢有另外一个 retry on fail 就是万一我们失败的时候

我们让这个节点可以 重新再尝试一次 那这边呢我们可以设定我们最大数值 好三次了 那这边是一秒 我们也可以把它改成五秒 如果有些网站它有这个次数限制的话 我们可以 或是每分钟几次限制的话 我们可以把它改成比较大一点 用五秒 那我们这边 通常你用 default 的选项应该就可以了 那这边呢 on error 的意思就是 会出现了失败的时候情况怎么样 像我们 像这个 workflow 呢

那这个工作流呢 它的重点就在于这些资料嘛 所以当如果这个资料真的 撷取这个失败的话 那我们就停止这个工作流 那如果是无关警告的话 我们也可以让它继续 继续工作 或是呢我们可以之后会讲 如果在我们的这个 节点里面失败的时候 就是上诱的时候 失败的时候它会传出一个讯息 它可以用一个 失败传输去提醒 那你在回来做检视的时候

你可以知道哪里你的工作流有哪里 这次跑的时候哪里失败了 OK 那这边呢我们要用 stop workflow 因为我们没有这些资料 后面其实就 后面在执行 执行任何东西就基本上没有意义了 所以我们可以这样做一个设置 那 这里的 我们要讲一个很重要的点 就是节点的命名 这个会在你之后 维护你的工作流上面 OK 节点的命名呢 第一个我们节点通常会做四件事情

第一个有可能是我们要获取 get 我们的 data 或是我们 post 就是我们去发布我们的资料 或是我们去删除 或是我们去更新我们的资料 那下面这里示范 几种不同的 书写方式 第一种就是刚刚有说到全部都大写 然后再来是我们用底线代替空格 或是我们用 camel case 就是第一个小写 那第二后面都大写 这样一个书写方式 google sheet这个节点的感

跟刚刚命名不太一样的 地方就是我用 get 因为我们要获取资料 那我们就用 get get task data 然后google sheet我没有放在上面 我们也可以放在上面 但是因为我觉得 google sheet的这个 icon已经非常鲜明 就是一看就知道是 Google sheet 那我们就维持这样的一个命名方式 比较简约一点 那后面这边我们 get name task 然后 filter 哦 filter 也可以不用

那我们就 get name 跟 task 这样的一个命名方式 这样就很直接的可以 看到说每一个节点 他们都在做什么 我们这边示范是节点的命名 那单纯的节点命名呢 到了我们进入复杂的工作流的时候 你会发现 单纯直接点的命名 可能还看不懂工作流在做什么 然后我们举个例子 这边有一个比较复杂的工作流 那我们用这样的一个记录方式 用 note 的记录方式呢 用一个

一个便利贴的这种记录方式呢 可以更 直觉的看到说每一块 这个工作流在做什么 那怎么做到呢 后面下面这边便利贴呢在这边嘛 对那 这边有一个快捷键 就是 shift s 我们按 shift s 便利贴就会出来 那这个是一个快捷键 就是我们的便利贴 有这样的 有这样的方式 我们可以去做一个命名 贴完以后呢我们可以 add ok 我们可以放在这上面

那有这样的区块命名呢 我们可以很好去维护我们工作流 哦未来 我们要做复杂工作流的时候 可以去一个一个去命名 那这个我觉得是很重要 但是 常常我们把工作流 做完以后啊就会忘记 或是我们在边做的时候我们会忘记 哦去 有养养成这样的一个习惯 那我们从 今天开始呢 我们就去 养成这样一个工作流维护的习惯 你就可以

然后之后就不会碰到工作流上面 然后就忘记他在 做什么的这样的一个麻烦 那如果你想要知道这个 工作流的实际运用方式的话 欢迎订阅我的频道 我之后会 把这个工作的运作方式 一个一个跟大家做讲解 好那各位基本上就 完全了解了 n8n 的 资料传输与处理的这样的基本概念

那之后呢这样的基本概念呢 会应用在所有的节点上面 哦那恭喜各位 我们现在呢可以开始很自由的 去使用我们的 n8n 去制作我们的 这个 工作流 那我们等一下就来示范第一个工作流 现在我们要来做我们第一个工作流 然后我设定的工作流是由我们的客户 或是访谈的人员等等的

我们来让他填写一个表单 然后我们让他填写的资料 进到Google Sheet里面 Google Sheet里面我 这里设定会有一个预算的考量 我们会设定三种预算 所以我们这里会过滤 最低的预算我们设定是 低于200美金 我们就自动过滤到这个比较低的 预算的需求 我们请他另请高明 这边做一个分流就是预算

200到1000美金 我们让他 进到追踪信件 看能不能 有机会让他提到1000块美金以上 如果他的需求是直接是 1000块美金以上 我们就直接寄一个 接洽信件让他 可以很快的跟我们的团队做接洽 然后最后我们寄出一个团队的通知信 到我们的团队信箱里面去 这是我们第一个自动化的工作流 我们第一件事情就是要

确实的命名我们的工作流 我们这里就是form表单 表单 sheet 然后 很直观的就知道我们 这个工作流是在做什么的 这边为了简化我们就 直接用n8n里面有一个 表单的trigger 之前有 介绍到 这边首先我们要他的命名 来个联络我们 需求和预算都确实填写

好请大家讯息一下预算都确实天写 第一个我们要他的名字 我们require 就是规定他一定要填 姓氏一样规定他一定要填 第二个我们一定要他的 email 因为我们是整个自动化 流是用email去走 我们就要他的email 第三个我们要他的预算 预算我们这边就做一个下拉选单 第一个我们就是 link 到200 我们给他一个单位美元

第二个我们叫200 到 1000美元 第三个我们就给他1000美元以上 这边我们也是让他 添我们单选题的时候就不够多选项 最后我们要让他填写我们的需求 让他有一个表单的区域 一样 强制他一定要填 我们填完了以后我们就 按一个我们来test 这边能看到我们的表单已经出来啰 这边下面有一个 form automated

with n8n 这个我们可以关掉 我们回到我们的n8n 这边下面这里有个 add option 第一个 我们把它关掉 重新开起来 下面这n8n就不见了 试填一下我们的 表单 然后预算我这边先抓 0到200 我们的预算是0到200 我这边有预备一个 我之前 遇到的 自动化需求 它是一个需要 自动化SEO的一个需求

我们把它贴上来 我们按 这个如果在贴的时候是可以 它是可以拉的 我们直接贴上来就好 按表单送出 我们来看看我们的n8n姓名 姓氏名字email预算 表单 那个需求都有了 然后这边还有 这个时间跟 他的test 为了我们之后 测试后面的流程的方便 我们就先把这个pin起来 这样我们就不用一直 每次都填我们的表单 这边可以看到一样是有 JSON

SKIMA 三种选项 通常我们就把它定格在JSON 这样会比较好 方便后面 我们可以很直观的去看到 我们的资讯在哪里 这边我们要用我们的 Google Sheet update就是更新 原本的这一行 我们把它接过来 这边我们记得要做我们的认证 这个我们都选好了 这边我们已经准备好了 我们的线上需求表单 这边我们可以看到我们的 这个需求表单

就是第一个就是姓氏名字 email预算需求 这边我新增了 这个date跟是否拒绝 是否拒绝就是 如果他的预算低于200美元 那我们就拒绝他的这个 需求信件 我们就不理他 OK 那这边我们要模拟的是这个核取 核取就是可以打勾打差

OK这样的一个方式 我们回到我们的n8n 这边我们用工作表1 然后这边我们要用什么去 定义说这笔资料有没有存在呢 这边我们就用 append or update role in sheet 的意思就是 如果他没有这个资料 我们就新增一行 如果有的话 他就会这笔资料存在与否 我们用email 他这个意思就是说

我每次我的表单被填写的时候 他会用email 去比对我们表单里面 是否存在这个email 如果没有存在 那他新增一行 就新增一列 如果存在的话 他就去找相同的email 然后更改原本的这些资讯 好email我们 就把email拖移 这边因为我这边直接用拖移 因为这个 Google Sheet的 在我们工作流里面的位置

应该是不会做 之后应该不会做更变 所以我们就可以直接用拖移的方式 这边名字姓氏 我们把预算需求我们拖移 这边我们要写一点小小的 JavaScript 大家不用担心 完全不用 完全不需要用到 通常不会不需要你去特别学这样 一个程式语言 我们这边两个大括号 他就会出来了 这里就是我们要现在的时间

就是任何时候他表单一进来 我们要让他在 这里要表单进来的时间 第二个这里就有Now Now的意思就是 现在就是表单进来的那一刻的时间点 我们要用这个 各位可以看到说 下面这里有一个Date Time 他有把年份月份跟日期都在这边 然后后面还有时间点

我们不需要后面这个时间点 我们希望的话就是有日期就可以了 我们这里有一个Format Format这边的意思就是 你可以去定义这里 他右边这边有详细的解说 看我们要用哪一个 可以有日期时间 或是我们这一次就用他的default选项

就是日期月份年份 我们就Format 这里他就会自动的帮我们先填好了 那这里的Format 大家可以如果有另外的需求 大家可以上网去做搜寻 好 这边拒绝与否 我们要回到我们的 Google Sheet 我们这边模拟的是拒绝 与否 OK 那大家各位可以看到这里 有一个False 对 False选项

就是如果我拒绝的话 那就是拒绝这一个选项是True 那拒绝与否 for嘛 然后这就是是否 OK 那我们要怎么让N版自动的去判断 这样的一个值 我们刚有说 这里面是一个 JavaScript的选项 那他这里有一个if 或else的选项 那if就是如果成立

那就是我们给他一个是 就是True 如果不成立 我们给他一个False 那这边我们不用自己去写 我们可以把这个刮好起来 有两种方式我秀给你一下 我们把这个刮好起来 那我们到Gemini 然后我们贴上 喔帮我贴上这一个预设的选项 我们这里就是我们刚刚的那个大刮号 这里面有JavaScript 那就是说我请Gemini 或是用chat.gbt

或是用chat.gbt 或是claude都可以 然后可以帮你写这个 这段小小程式都可以 然后帮我写一段N版可以用的 单行的JavaScript的程式 我要判断的数值是否等于 我们刚好说0到200 出出出 或是 我们请Gemini帮我们写 这边Gemini 他帮我写了这一个 这段程式 我们把它贴回去看看 这边的意思就是 我们要先把这个

$JSON的值 换成预算的符号 这样我们才知道 这样我们才能指定说是我们的预算 可以看到下面这边他这里写 预算是否等于0到200 USD 这边要注意的是 我们0到200 USD 这一串字要完全一模一样 因为它是字串 所以我们把它放在两个双刮弧 双刮弧里面 这个是要完全一模一样

因为我们是用自串 等于自串的方式去判断 我们看到这边是小写的处 这是因为n8n里面的布 林值是小写去表述的 可是我们的Google Sheet里面 它的表述是大写 所以我们这边我们要做一点修正 我们请Gemini来帮我们修正 这边我们就可以看到 它重新帮我们写了一个 JavaScript的程式 我们把后面这一段

问号True或False复制进来 复制回到我们的这边 OK 这里也记得空格 这一段的意思就是说 前面这一个 if的选项是否一针 是的话我们就传True值出来 否的话我们就传否值出来 然后大家可以看到后面这里 它就是它的结果 因为我们现在是等于 那就是一个确定值 我们来天换了以后我们来测试一下

我们传过去了 我们去看一下我们的 线上表单 Google Sheet在认为它 这里是有一个值的 所以我们主要是模拟它的勾选选项 那之后如果我们要资料一多的时候 你真的想要把它改成核取方块的话 你可以直接做一个修改 我们现在就让它True跟 False这样就可以了 这边我们就是否拒绝 是 这代表我们就拒绝它

那我们回去看一下 如果是同一个E-Mail 那我们改一下 好 那我们回来这边 假设我们今天重新填写 了一个E-Mail 看它会发生什么事情 再重新寄送一次回到 我们的Google 好 这边它就新增了新的一行 因为它是用我们 我们这边是用E-Mail 去做一个比对 假设我们E-Mail是一样的 然后我们把USD改成1000 这边我们可以看到

这边的True跟 False已经换成了 Bow值 我们再试一次 回到表单 这边我们就改变成了False 我们的USD也可以看到 变成1000加以上的选项 那我们确定这个节点是 working的时候 可以正常运作的时候 我们进到下一个 我们为了要节省我们 工作流的运算的成本 所以我们这边设一个闸门 我们这里已经 我们在Google sheet 去里面已经拒绝了

就是0到如果低于200的预算 我们就拒绝它 那我们拒绝它以后 这一笔资料我们就不让它 我们就不让它往后面的工作流去走 所以我们这边要加一道闸门 这杂门大家保在这个data里面的 一个filter 这里我们要确实命名一下 我们这里是 这里用Post 我们确实命名 然后在我们可以很清楚的知道 我们这动是在做什么 好

这边我们要比对的是也是预算 OK 那我们要比对的是说 这笔预算大家注意一下 这边是否 这个equal to 我们每一个不同的资料别 就是这个字串 这个是数字 然后这是时间 时间有自己一个资料比 这里布林就是4跟4 然后我们也可以用 array就是列表 那这边有一个object

就是我们直接是一整个 JSON的object JSON物件 因为我们这边的 这个usd不是用数字去做表述 我们是用字串 那我们就确定要用第一个 string用字串 用其他的它会爆错 所以一定要同一个 如果你的资料是 字串就一定要用字串去做 这边我们要用off非 不是 如果不是0到200的话

我们就让它可以通过 如果是0到200的话 我们就让我们就把它挡在这边 因为我们这边预算是 1000加以上 1000加的这个美金以上 可以让它通过这个过滤器 好 那我们回去 这边把我们的预算改回 0至200这个选项 这个在 然后重新跑一次 这样我们的item 就在我们的这个资料比 才会顺利通过 我们重新测试 这里0到200就

被挡下来了 OK 因为这是拒绝 拒绝的话 它这边就没有一个输出选项 OK 我们确定这一动是没问题的 我们确实命名它 这里就是我们挡下 200usd以下的这个需求 那我们这边要做一个预算的分流 分流意思就是说 如果它的预算是200到1000 那我们把它往追踪信去走 如果是1000以上 我们往接洽信去走

因为两个的信件内容 会稍微不一样 目的不一样 我们追踪信是要问出 它的真正的需求 因为我们可能判断说 它200到1000 它可能不太确定 不太确定 因为我们确定要做这件事情 通常大家的预算 会带1000美金以上 分流要怎么做呢 我们到flow这个选项 然后这边有一个switch 然后它直接接上 我们到这里switch

我们要让它通过一下 我们把这笔资料改掉 我们就先做1000加的选项 这个都要一样 我们刚有空格 我们就这里一定要有空格 我们要做1000加的选项 跑过去 然后这边我们 这笔资料就进来了 我们可以看到我们的资料 我们第一个规则就是 如果它的预算是1000加 我们走这边 我们走上面这一条路 我们再加一个 如果它的预算200

到1000USD 那我们走下面这一条路 我们这样牛设定好了 我们可以看一下 记得我们这里 都是用自算这个选项 自算这个选项 OK 我们test 然后大家可以看到我们 输出0这边 我们这边1000加以上是走输出0 输出1会走下面这边这一条路 然后这边可以看到 我们走到的是上面这一条路 我们回去再把我们的需求

改成200到1000 帮我们test 这个 workflow 大家可以看到我们往下这边走了 有没有 接下来我们要做一个追踪信件 这边我们就直接用 第一个选项 我们要传送信件这边 我们要做一个传送选项 这边记得我们要把 我们的的 Client打开 回去回到 如果你还没开的话 回到这边

然后在评审这边点进去 这边我们把它复制到这一块 然后我们的密码 复制到下面这一块 然后点击登入 选择你的帐户 然后进去 Connection successful 成功连线以后 就可以开始做我们的设定 这边要点 Email寄给谁 我们寄给我们的 填写表单这位 我们要写什么呢 我们要这些

可能的需求 我们现在安排团队接洽 OK 这边我们要写什么呢 这边我们要写一个 追踪的信件 我们要问出它实际的需求 然后问出说 它是否有机会达到1000以上的 门槛的目标 变成我们的Priority的客户 然后我们请Gemini来 帮我们写这一封信 帮我写一封追踪信 然后确 目的

是确认 真实 需求且 影会的 然后变成影会的 我们要Push它 影会的 影领 引领 USD 不超过300个字 先看看不超过300个字 它会写出什么 这边它有稍微提到一点预算 我要将此信件 我做成公定格式 我们要把这个信件 做成公定格式 所以我们要把一些细节

删掉 公定格式 让其它需求可以 套用 然后我们要把它做成公定格式 然后下需求可以套用 流程分 好 这里面有一些比较复杂 所以 所以 请 所以要用 较模糊的 问话方式 我们用比较模糊的文化方式 我觉得目前看起来是还不错 那我们 做一点修改

然后放进去 这边我们 可以看出这个自动化 自动化的话就是我们 把它的这个 名字放到这边 在我们每一封信 它就会自动的 变成是 填表单的这个人的名字 好这些都OK 那主要是下面这一段 我们需要 做一点点小修正 这里我们删掉 这边我们请Gemini再写一下 好想要修改成通用写法 好我们 简短一点好了 就用这个

我们信件已经很长了 我们简短一点 好这边就写上我们的 可以用写上我们的公司名字 我们先这样就好 然后这边 我们要加一个会议连结 我们这里再加上一个会议连结 让它可以做一个点选 这个之后都可以改 那我们先 做这样的一个 编排 好这边 然后有预算有这个 好这里这样应该就可以了 好这样我们就先设定这样 我们试寄一下 我们寄送 我们到我们

到这边做 OK 这边我们下面这边 我们可以把它做一个关掉 一样可以 我把这个 把这个关掉 我们就 一样是这边 Add Option这边 我们把它关掉 那现在我们要把 我们这里是纯文字的 一个信件内容 那我们也可以把它变成 HTML 然后让它做一个优化 让我们的整个形象 看起来更专业 我们一样请Gemini

帮我们做优化 然后 为了让它可控一点 我们 给它一点 参考 参考上图 帮我 信件 HTML 的优化 OK我们请它帮我们 然后参考这个信件 然后帮我们做一个 HTML的一个格式优化 好这边我们 整体 有一个优化 这边我们 它自己还帮我们加了一个Logo

我们先让 我们先看看 它的这个格式会长怎么样 我们寄 寄送 然后到我们的 这里看看 帮我们做一点优化 那这边也有一个Logo 那我们先不管它 那之后如果 里面 有用的话 可以把自己的Logo放上去 那我们可以再做一个 这个字的修改等等的 都可以去做 我们这边为了示范 我们就继续我们的 这个工作流的制作

我们现在确定这个信件的内容 是OK了以后 我们要做一个接洽的信件 我们接洽会 稍微有一些些的不一样 我们就不会说 你的预算要不要提高等等的 这样的内容 那我们 回到这里 然后我们把我们的需求 到Gemini来这边 我们请他帮我们写 嗯 积极 预约 对 让对方感受 好我们要让对方感受到被重视

好然后急迫性 OK我们现在呢 这封信号我们要改成 非客制格式 呃 适用不同产业 嗯 呃 自动化 好这边 OK我们限制一下他的字数 需要减短 然后切中要点 OK呃 用这个还不错 那我们 就先用这个 我们稍微更改一下 好一样哦 我们把这个

拖曳进来 名字 姓名嘛 哦这里是因为我们的 这个switch 他没有把我们的 因为他的item往下走嘛 所以我们这边呢 会先呈现灰色的状态 那这变成是我们 用到了上一动 那 好好好在我们上 我们这里的这个 键名是没有做一个变动的 那我们就可以一样用 同样的这个格式 这里写,请 直接点击下面的这个 连结预约

哦那我们有了这个信件以后呢 下面这个连结 连结我们这也是example 我们这边一样 我们要到Gemini这边呢 然后我们到上一动这边 哦格式是 哦这边我们 就完成了我们的 html的这个格式 我们就 布置以后 然后我们 全部的流程呢 我们再改成我们的1000加 看我们的

会不会 来测试一下 我们的信件 确实有寄送到 然后save 我们测试整workflow 哦 这里可以看到 我们信件做一个寄送了 那我们回到我们的信件 哦看到我们的信件了 好这个一模一样了 那在我们的这个 自动化信件呢 就 做成了 然后呢 我们到下面这边 我们要再寄送一封 这个团队信

我们团队信呢 只会有一个 这个的通知 所以呢 我们要把上面 上下这两个 不管是 哦资料呢 从下面跑 还是从上面跑 我们要把它合 合并到 合并到一个流里面 那这边呢 有一个这里merge 这个就是合并 我们要把合并进去 哦这里维持这个default 选项就好 他就会把它做一个叠加

OK 他会把这上下两流 做一个叠加 然后这边呢 我们再做一个gymni 好寄送 然后寄到哪里呢 寄到我们的公司 的 email 好 我们这里就有新需求 新需求通知好了 你还不是客户吗 还没付钱就不是客户 新需求通知 那我们这边 团队内我们最开始的通知 我们就用一个 比较简短的

然后 这个寄送方式 我们把这个 我们再重新 跑一次 啊他不让我们跑 呃 我们重新跑一次 我们需要 按低的话就可以让他做 先 就等于是 这个 deactivate的意思 activate会 deactivate 就可以启动 或不启动这个节点 那如果 有任何一个节点

他是没有 呃 没有填写好的话 他就不让你做一整个flow的 这个 好 的一个 的一个测试 好 我们这边呢 有资料以后 我们来看看 这边我们就 新的需求 然后 姓名 啊姓名 然后需求 我们需要时间嘛 因为呃

他时间 会直接的 寄到我们的里面 所以他会是 哦时间 我们就看就可以了 然后把预算 哦名字 然后这只是做一个 团队内的这个通知 ok 然后 我们就这样做一个 哦简短的信件 做一个通知就可以了 好测试完以后 我们就到我们的里面 去看看我们整个流 是不是 都信件都寄好

ok 我们把这个关掉 然后把这个修正一下 我们需求 需求的话可能 需求的话 我们可能就 扣一个这样 然后把这个关掉 好我们这边 然后把它Unpin 我们布置这个 然后我们整个 Flow测试一下 好 ok 测试成功以后 我们就 第一个工作领悟 我们就完成了 我们测试的是1000加

然后把需求贴上去 哦好 ok 大家可以看到是 很快的我们就 流程就跑完了 那我们 到我们的 啊信件这边去做一个 我们去看一下 好有两封 接下信有了 新的需求信这里也有了 哦当然这个需求这边啊 可以去做美化 但我们就是一个 通知信嘛 那可以通知我们团队内 有一个新的需求 信

好这个就是 哦 第一个完全 自动化的一个流程 你就做好了 各位萤幕前的朋友 我们n8n的基础 到这边呢 基本上就介绍完了 如果你还没订阅我的频道 赶快订阅我的频道吧 我们接下来呢 要进入 Level 2 Level 3 我们要把大语言模型 AI agent 用到我们这个工作流里面 我们要感受大语言模型 有纯大语言模型

跟AI agent 这样 在工作流里面的一个差别 因为我们准备好进入Level 2 Level 3吗 那就先订阅我的频道吧 在实际的去运用大语言 模型到我们的工作流之前 我们要稍微带一下什么是大语言模型 跟什么是AI agent 他们两个之间的差别是什么 我相信现在应该所有人

都有在使用大语言模型 尤其是有可能看这个教学影片 你们就是为了要从大语言模型再进阶 到AI agent的工作流 大语言模型它其实 就是处理一个输入值 我们去像这个 chat gpt的输入值 然后它处理完以后会 给我们一个输出值 然后它的运作方式就是它预测下一个

最可能出现的这个字词出来 那但是什么是AI agent呢 AI agent的工作流跟语言 模型的工作流差在哪里呢 第一个非AI agent的工作流就像我们刚刚 我们刚刚做的这个工作流 它其实甚至没有AI agent 我们把大语言模型加进来后 假设我们刚刚的信件 它就有点像说我请就一个主题 就像我们刚刚跟 Gemini的互动一样

我们请就它用一个 主题然后写出一个文章 我们就用这个文章去 做这个信件的寄送 所以它的起点跟这个 终点是基本上是一直线的 我们刚刚跟Gemini的 这个中间有这个互动 它就比较像是有AI agent的代理 但这是我们人去互动 AI agent就 变成说请就这个主题去写

我给它一些我设定一些规则 它会去思考去迭代 然后使用不同的工具去达成这个目的 所以它是比较像是一个循环的过程 它会去迭代 尤其是如果我们规则写得好的话 它会慢慢的去优化它该有的内容 虽然两者都使用AI

但代理会根据所遇的 内容跟状况做决策 所以主要是做决策这部分 或调整策略 然后不是征询一个固定的路径 这边就会带到说我们等一下会 第一个我们会把大圆模型加入到 我们的工作流里面 它的用意就是我们可以 做一个客制化的信件 但是我们是依据客户或是填写表单的 使用者的填写内容

去让大语言模型做一个 我们给它的指引就是追踪信件 或是接下信件 就这两个 所以它就是从一个使用者的内容 然后去做一个追踪信件 或是接下信件 最后我们会把AI的模型带入进去 我们会让它去做一个迭代

就是它去读使用者的内容 然后它会再去抓取公司所提供的服务 甚至可以加入网路的搜寻 让它去优化信件的内容 好这是AI agent的部分 这边会是我们我刚刚说到的工作流 第一个是非AI agent

就是我们刚刚做的表单、建党分流 然后就寄送追踪信 我们是一个固定式的信件内容 所以刚刚请 Gemini要把它变成一个 泛用式的信件 然后寄通知 中间就是我们LLM的工作流 我们建党分流以后 请它生成相关的内容 然后去做信件的寄送 那代理AI代理就是表单建档分流

然后我们去调用我们 公司所拥有的服务项目 然后去参考就是看有没有match 有没有对应到客户的需求 使用者的需求 然后去做信件的选写 然后信件的确认 然后再去寄这个信 甚至我们也能去设计 一个回馈的这个流 就是说哪些客户在看到 哪一类的信件的时候

他点选这个会议连结的速度 OK按照这个速度 我们希望他很快的去 点选这个会议连结 因为我们很希望去 客户可以主动的跟 我们提出会议的邀约 这样我们就可以省下 我们去追踪客户的时间 然后提高我们的达成率 OK他就会去优化 我们就把这个每一项的这个纪录 然后他可以去优化说

哪一类的客户 针对哪一类的客户 而用哪一样的方式写这个信件 是效果会更好 OK我们可以这样做一个工作流 那今天我们就 今天我们不会 时间问题我们就不会 去带这个回馈的流程 LLM大圆模型他本身像我们 可以可不可以阶层AI agent 其实是可以的 但是他的工作流

以非线性的方式要去接 就让他可以有不同的工具 而可能我们 你要去做一个分流 可能我们你要去判断说 什么情况下用哪一个工具 那这个在AI agent出来之前 大部分的使用方式是 做这样一个使用方式 那下面这个就是 给 AI agent 给我们的LLM一个 我们相对的记忆体 就是我刚刚说的

我们公司可能有的服务项目 我们让他记忆在这边 让AI agent 让AI可以去读取这个记忆 可以总结一下我们的AI的特性 就是AI ai agent跟大圆模型的不同 核心能力 大圆模型其实核心 能力就是文字的生成 AI agent他是 目标导向的完成任务 因为他可以去使用不同的工具 主动去使用不同的工具

不用我们一个一个去指定 我们可以 AI agent可以制定策略 他会判断他在哪一些情况下 去做工具的使用 可以去叫我 API OK 那工作流比较复杂 但这个主要是我们要把规则制定好 那工作流的复杂程度是在 AI agent里面 不会是我们整个工作的复杂程度

他可以去执行比较复杂的人物 代理排定预约 OK 他等于是一个人的代理的方式 这边有一张图是 COBUS GREYLING 他画的 这个很清楚的叫做 AI agent 他里面的一些思考方式 我们有 user input 然后大语言模型里面 他会去用使用不同的工具 然后最后他会去观察说 他这个成果好不好 不好的话

他会再做一个迭代循环 然后最后把成果导出来 OK 所以他不再 只是一个语言的使用 这是最重要 那AI agent在n8n里面 已经有这样的一个模组 一个模块可以去使用 他可以拥有去读记忆体 他一样是用语言模型 然后最重要就是这一块 他可以拥有很多不同的工具

他可以去呼叫很多不同的工具 当然我们也可以直接 他可以实现一个对话的方式 就是假设我们的网站 或是你们公司的网站 要有一个对话 可以对话 让客户可以直接对话 的AI agent 进到网站可以直接查询 然后你的网站 或是你的公司的服务项目 这也是可以做到的 我们给他一个记忆体 给他一个临时的对话记忆体 然后给他一个大圆模型

那使用者输入的时候 就会到大圆模型 这个大语言模型 这个AI agent会记忆 然后他会去呼叫 然后这边的记忆体 然后再去回答使用者 这样一个流程 那这一整个 就是AI agent跟大语言模型 在MVR里面 会非常不同的使用方式 我认为是AI agent在使用上 要非常的小心

因为LLM的流程是线性的 AI agent是一个递回 形式 所以大圆模型的可控性 会比AI agent还要高 AI agent的 成功率还是有待上去 它有时候会失败 你要把失败的几率考虑进去 好 那我们就开始 制作我们的下一个level 我们把大语言模型 加入我们的工作流里面 那我们要进阶到

Next Level 我们下一个level 就是要把我们的大圆模型 放进我们的工作流里面 这样一个流程 之后可以应用在各个不同的方式里面 我们这最主要基本上就是要学会 大圆模型怎么放进去就OK了 那我们这边一样 然后把它重新做一个命名 我们的flow更简洁 到sheet 然后到LLM 当然之后可以 你们要怎么去命名 就可以

那我们先做这样的一个命名 这样很直观 我们就有几个关键的步骤 但如果我们之后步骤越来越多的时候 可能会变成是模组化的命名 OK 这边我们要第一个选项这边 下面就一个basic 我们等一下会带到AI agent 那我们先用basic 这个大语言 模型的chain 这个chain它主要就是一个输入 输出 然后我们把大语言模型接上来

它就会参照我们输入值 然后跟我们的指令 去跟大语言模型沟通 然后再把值输出来 那我们这边要的就是 它把表单填写的内容 OK 加上我们的指令 输到大语言模型里面去 等于说我们刚刚跟 Google的沟通方式 跟Gemini的沟通方式 跟大语言模型的沟通方式 沟通完以后 然后代替我们做这个沟通 然后输出到我们的里面 然后寄送这个信件 OK

第一个就是我们把 我们的资料填写进来 当然可以直接复制 那我们就做一个快速填写 OK 有了需求之后 我们把它pin起来 要用了 记得之后要用的时候 我们就要unpin 然后你的整个流程才会 才会从第一步开始 OK 我们pin起来后 然后做一个执行 我们这边才可以读到这个前面的资料 我们重新按D 这边的意思就是假设

假设我这里有一个triggers on chat on chat让接进来 open chat 我就可以直接在这边输入 然后按enter的时候 它就会把输入值传给大语言模型 OK 这个是这个意思 那我们现在是要用一个制式的方式 所以我们要去写一个制式的规则 我们要把规则写出来 而不是只是做一个 跟大语言模型做一个沟通 这边选取 define below

我们要在下面做define 首先我们要改成这个 expression 我们一样要让大语言模型知道 我们的对话内容是什么 所以我们要姓名 让它知道我们的填写表单的人的姓名 然后它的预算 把这拉过来 然后它的需求 因为时间关系 我这里把我把这个信的内容写在这边

这个姓的内容就是 我们的使用者已经填好我们的表格了 所以希望圆模型的帮我们写一封 后续的追踪电子邮件 该客户的预算虽然没有达到 超过一千美元的门槛 但有两百到一千美元 就我们将其视为潜在的客户 请撰写一封简短的电子邮件 要回答它的需求

并试着将它导向一千加的预算 需要让它愿意提升预算 并立即点选 行事历连结与我们联络 后面这是重点 这个是我们这里叫做 User Prompt 就是我们使用者的 这个 Prompt 我们下面要增加 这是重点 我们下面要增加的是 我们要规定大语言模型 它这里有 AI System或 User AI通常我们就不会用到 我们只会用

System 跟 User 这意思就是 应该很多人蛮多人都知道说 我们会规定大语言模型说 你是哪一哪类的专家 这边就是要做这样的一个 提示词的工程 这边呢 这边 这边我们就 给它 你是选写后续追踪电子邮件的专家 我们给它一个选写规则 永远用友善的语气 选写 保持电子邮件 简短且切中

要使用语言内容相同的语言 我们又可能因为有中文 我们使用语言内容相同的语言去选写 这边我们要再加一点料 就是我们要试着用一些 用问句 厘清 真正的需求 OK 导向1000+的预算 好 这样 这边删掉 然后接过去 这边我们要做一个

我们要使用一个 Model Open Router 我们也可以直接用 Gemini 的 API 我们这边 跟大家介绍一个不同的网站 叫 Open Router 然后它可以 你看到是它有很多的 如果是 Free 的话 它有很多不同的 Model 可以做使用 这边也可以直接连结到一些付费的 像 OpenAI 的 Model 可以直接从这边去做使用 等于是只需要一个平台的 API 你可以 就可以用所有

不同厂商出的 Model 这样 我们这边登入 我们用 Google 登入就可以 继续 continue 好 我们进到这里面 这里有一个 Create API Key 我们这边就给它一个 n8n Testing 这一串就是 API Key 它只会显现一次 所以记好 不然就要重新再 再制作一个 好 复制完以后我们回到这边 然后 Open Router 它这里已经有一个内建的 这个 Chat

Model 的节点 我们这里新增一个 然后我们 给它取一个名字 然后把 API Key 贴上来 它这里就会显示你成功的连线 那就没问题了 好 我们要用的是 Google 的 一个免费的 API 这个 Google 2.0 Pro EXP 如果你看到这部影片的时候 这个模型已经不见了 代表说 可能是 可能你那时候 在看这个影片的时候

是没有这个模型的 一定会有新的模型出来 你可以使用其他的模型 好像这里也有 DeepSeq 的 R1 然后 Open AI Meta 等等的 Google 然后大国的 Mistral AI 都有 重点是有些是要付费 有些不用付费 然后我们今天示范的是 我们先用免费的选项去做 然后这边我们顺便 先跟大家讲解一下 我们这边要它 I'll Put A Format

就是我们要让它出的是 一个 Jason 的格式 OK 我们直接在这边 如果 不懂 Jason 格式的话 在影片的前半部有做一个介绍 可以倒回去看 这里我们就写 Output 我们主要是要控制它的格式 Output 然后 如果我们有其他的 要它把问题一个一个列出来 这边也可以去做 就是我们增加 逗点 然后增加 Question 的 Key 跟一个间对值就可以

我们试跑一次 我们刚刚把 它应该是前面有一些资料是 没有过来的 所以 我们把资料删除以后 它就可以跑动了 这边我们可以看到的是 这个 信件内容已经Output 出来了 OK 我们可以看一下 您的行事厉连结 跟您的 署名的公司名称 我们把这两个补上就可以了 我们先 在这边我们先寄送 OK 这边大家要注意的是

我们要怎么维持 我们 HTML 的格式 好 格式我们要回去 这边我们在下面这个 系统的提示词这边 我们一样 Expression 然后我们跟 AI 说 请先使用下面 HTML 格式选写我们的信件 好 这样我们再重新让一次 这样我们的 HTML 就写完了 这样我们就有一个客制化的信件了 OK 那我们来看看这个客制化信件

我们这里边这边要 这边就是我 我们提到了 就是因为我们中间 穿插了一个新的节点 所以它这个 我们 LLM 没有这个选项 所以我们要从这里 然后把它改回来 这个就是直接 我们要使用的是 Switch 节点的选项 好 这边我们要把它改掉 然后这边 我们就把这个 Output 输出 输出 大家可以看到我们 这个 Output

我们其实可以不用特别去 注明(key:value) 但我们 就是为了要让大家知道这整个 流程我们可以去这样做注明(key:value) 我们 Test 到我们的 Email 这边 我们看看我们的 客制化的信件 好 这边我们就收到客制化信件 你看 关于您各项工具 这些是否有 编号整体需求 在可以看到 我们的信件内容里面 就包含了相对的 客制化的信件

所以其实我们 如果你的服务内容 很单纯的话 你可以不用到 AI Agent 用 LLM 用大圆模型 就可以做到一个客制化的信件 那要再更精进的话 我们就是把这些版面 做一个更好的安排等等的 那可是用大语言模型 就已经可以做到这样的一个程度了 用到 AI Agent 的话 就是你的成本 会稍微在 叠加上去

因为它每次做一个迭代的时候 它都会消耗掉一些你的 token 所以如果单纯 如果是一个单纯的信件的话 然后你要做一个 自动化跟客制化 那可以用这样的一个 大语言模型方式 就可以这样做使用 我们回到我们的 M 版 我们现在要做上面这个 直接的接洽信件 我们这个可以直接去做一个 串联 毕竟我们东西 几乎本身是一样的 这边因为没有读到 所以

我们要回到这边 然后把我们的预算给改掉 然后重新试跑一次 对 正题 然后重新试跑一次以后 我们这边要把我们的 把这个提示词给做一个修改 我们不是要做这个东西 我们是要做确认信件 OK 这边我们客户 我们的使用者 填了信件以后 我们让他先写一个 包含行事厉连结的 接下信件 OK 接洽信件

然后该客户的预算超过一百 超过一千美元 我们将这样的一个 使用者定为优先客户 我们要简短扼要的 回到他的需求 让他尽快的典选 行事历的连结 跟我们联系 我们这边加一个 提出三个简短问题 厘清需求中不清楚的陈述

较模糊 厘清叫模糊的陈述 这边可以 然后下面这边 我们看一下 我们这里是 积极接下的电子邮件的专家 这没问题 然后这里我们也可以 直接使用原本的 同样的就可以了 我们先深层 在生成的时候 我们再着重讲一下这个规则这边 选选规则的一个好习惯 就是我们用一个##号

然后用一个或两个都可以 用一个#字号 然后将规则一个一个列清楚 像这边的话 这边是选写规则 然后这边我们可以在额外的标示 说是语言规则 OK 那这样写得越清楚 那你的output 就是你的输出值的控性就会越高 然后这边我们输出以后 我们一样把这个 做一个修改

你的值给改掉 然后这边 我们要的是这个输出值 OK没问题了以后 就测试 然后回到我们的 去看一下我们的信件 然后感谢您 对我们n8n自动化工作流程开发 服务的兴趣 OK 这个n8n工作流程 是因为它的需求中 我这样去提到 所以我们被这个信件才有 并不是说因为这是n8n OK 这边跟大家补充一下 好 这边

你看它有版本这个 整合工具进去 因为说手动修改品质保证 具体的环节 它有稍微问一下 你看它表示我们有认真看 对不对 这个信件就是代表 我们有认真看它的需求 然后想要跟它进一步的讨论 这个信件的积极程度 就会比刚刚还要再高 更有诚意 对 我们这个LM就是 会有可以帮我们达成率 你知道

帮我们的业务达成率可以提升 因为信件看起来就是更有诚意 好 那我们唯一 还没有这个完成的地方 就是这个连结 会议连结这个部分 这一部分我来跟大家介绍一个 我觉得还不错的一个服务网站 它叫做cal.com 如果有人用过的话 你可以挑过这一段没关系 这边我们可以连结到 我们的Google的帐号 OK OK 它可以连结到我们的

Google帐号 OK 这边它就可以连结到 我们的Google Calendar 所以它的用意 它可以生成一个连结 然后让我们的使用者 去真的在上面做一个booking 就是会议的预约 然后我们把周六日也都打开 通常这个可以改造 改到更晚 真的这种超的话 全部都改到8点了 8点后我们至少 准时吃个饭 6日的话我们就稍微晚一点 稍微早一点休息 OK

好 下一步 它这边可以做一个自介等等 你的连结里面就可以看到 我们做一个字界就是 好 我们就稍微做一点简介 这边我们可以 设定我们的会议的时间 就是每个连结它指定的时间 有15分钟30分钟 或是这里有一个secret meeting 有不同的方式 那增加的方式就是按这边 一个new 你就可以去 在这个duration这边就可以

会议连结的时间 你可以去做一个调整 唯一我们要用的就是这个 copy link 我们把link连线起来后 我们回到LLM 两个都要 我们把会议连结贴上来 这个会连结 就把它贴上来 我们把会议连结贴上来 好 整体我们做一个testing 这样我们可以看到 它第二次生成 我们的信件跟上一次 有多大的差异 这样就可以预测到说

每个信件的品质可不可以维持 因为如果真的是用商用的话 那信件的品质的维持就非常的重要 OK 好 这边我们可以看到 我们的信件品质是有所下降的 OK 我可以很明确讲 感觉是有所下降 那如果是简短的话是没问题 那我们这边 有一个方式就是 让它 这边我们可以让它说 至少

至少200个字 我们限制它至少要200个字 然后切中要点 问题呢 需要有范例补充 这样的话 写得越清楚 它的这个 我们下面也有 写得越清楚 它的这个品质就可以越稳定 这个 我相信大家的经验应该都蛮丰富的 好 我们再整体再testing一次 那open router 因为我们使用是免费的 所以当如果你是很大量的话 它会

你会碰到一个是 rate limit 就是使用限制 所以这 如果是真的要稳定使用的话 还是建议就 用付费的API 然后去 看你怎么计算成本 然后去去做这样的使用 那如果每天只有 10封20封信的话 有免费的是没有问题的 好 我们来看看我们的信件内容 是否有做 一个修正 好 你看 各位看

我们 目前呢 可以看到的是我们的信件内容 确实有做一个 比较大的修正 OK 好 那重点就是我们的会议连结 是否可以连结到cal.com 好 好 那 这边呢 就可以看到我们的会议连结 确实已经进来了 就是 我们接下来的时间啊 然后 你的 你可以预约的时间啊

都会 都会在这边 然后直接点选预约呢 就可以 booking 你的Google的 calendar上面 就可以显现你的booking了 这样你就完成了 第一个 LLM的工作流 给自己一个 掌声 那接下来呢 我们要进入的是 第三个阶段 就是比较复杂的 AI agent 我们如何去 将这个 AI agent 融入工作流

为了让大家知道 有 LLM AI agent 甚至 这几个工作流的不同的差别 所以我们就 都用同一个工作流 让大家可以 很深刻的体验到说 我们不同的 呃 这个使用方式呢 可以达到什么样的效果 OK 那进入我们基础第三阶段要用到 AI agent之前 我们要先了解什么叫做 RAG 检索增强生成 但是在赋予我们

AI一个记忆体 让它可以读取我们 想要它读取的一些讯息 首先为什么要用RAG 这样的一个方式去储存我们的资料 因为目前大原模型它的文字窗口 还非常的有限 就像我100页的PDF 要放到这个 一次放到这个原模型里面

你会耗费到非常多的这个token 就是你的成本会非常高 那它的效率也没有那么好 所以才会有这个RAG 这样的形式出现 那RAG也有它的缺点 就是它的准度 你去提取你资料这个记忆体的准度 跟我们的embedding model 有非常大的关系 所以要用到一个 尽量用好的 embedding model OpenAI

Google Microsoft 对中文的知识都还算可圈可点 那网路上有这个embedding model的排名 可以去做参考 那我们这次要用的是Google的 embatting model 因为它有提供这个免费的额度 那我们就 这次我们都用免费的model 我们就让大家都可以去试 这样的一个RAG的流程 RAG的运作模式

就会是我们把可能100多页 或看多少页都可以的文字,图形档 转成 会拆成这样一个小段 一个小段一个小段 会拆成一个段落 而不是单行单行的原因是因为 我们希望能保留原本的字役跟句役 所以如果我们万一拆 分到中间这样拆分 那我们这个句役就会被破坏掉 拆分成这样一段一段以后

它会进入这个model 你可以想说它是帮它做一个 解释成百万有像向量的加密 项量有点像 下面这个例子是三维空间 它有点像把赋予每一段都有一个 X,Y,Z的参数 它有点加密的效果 然后加密完以后 它就会储存到这个向量的资料库里面 储存进来以后我们输入像是cat sparrow等等的这些 我们的搜索单词

或是搜索的这个字句 它一样会进入这个 embedding model 加密以后它去看说你 靠近的是动物这边 它就会提取这边的资料 回到这个 embedding model 去解密出来 OK去解密出来 然后输出它这里这一段资讯 就是这个像项点的一个指向型 所以它就去解密说 这一段是哪一段资料 这样的一个意思 如果你source

apple Google 它可能 原来它加密以后 原来在这边 所以它就把这个资料解密以后出去 指向这个地方 然后它就把这一段资料提取出来 这样的一方式 所以我们的 embedding model 的准度就会非常的重要 好我们前显的去谈了 RAG的它的背后的一个概念 最主要就是我们懂的这个概念以后 我们要怎么去把它使用

到我们的n8n里面去 我们现在就进入n8n的示范 我们会用这个workflow for为我们的底层 然后放上我们的AI agent 去做我们的agent的一个 work for 接下来我们要做的是 给我们的AI一个记忆体 那我们首先 拿到google drive 我准备了两份 一份是中文的一个 公司的一个服务说明书

第二个是英文的服务说明书 会准备两份的原因是因为 有些人可能你想直接试英文的没问题 那我们这次是示范中文的 英文的这个准度 就是它资料读学准度会比中文的高 目前中文也是可以用 可以用的阶段 OK 所以我们这次都是中文 那我们就用中文的档案 首先我们给它一个

手动的这个触发节点 因为我们要把我们的 档案存到这个向量里面去 向量的档案库里面去 这边我们要读取这个google drive的资料 我们这边是选择 download file 这边记得要去做一个 打那个登入跟认证 跟前面的步骤一模一样 那如果你没有打开google drive的话 要记得apply这样

如果你是直接跳到这里看的话 要记得apply 那我们这边用中文的这个档案 我们用中文的档案 好这样 google drive就设定好了 那我们现在 不好意思 跑完以后它就下载到我们工作流里面 那因为这个是一个 PDF的data type 我们要存到向量档里面 我们需要做一个 我们要它要读的binary

就是都是010101这样的一个 所以我们这边 要做一个转换 然后这里extract file 然后这边有一个pdf 那这边设定我们都用 default选项就可以 然后这边我们一个test 好我们这边我们就把我们的 答案全部都扣出来了 OK 接下来我们就要把它输入到一个 向量档里面去 这边可以看到说有不同的这个 向量的有答案库 我建议是可以用 quadron或pinecone

或superbase 这几个是目前有free的功能 大家通常用pinecone或 superbase比较多 那我们今天这里的示范 我们用simple vector这个 存在我们自己的这个电脑里面 好这边我们要去准备我们的 document 就是我们要有一个 data loader 我们刚刚说的话就是我们要把 这一整串字做一个切片 然后这边我们全部default 然后主要是切片这边 我们需要一个

recursive character text splitter OK 它的意思它就是会按照这个 这个size去做 切片切片切片切片 帮我们的答案切成一块一块一块 那这边我们需要的模型不一样 我们需要的是一个 embedding模型 对不对 跟大语言模型不一样 那我们这边我们会用 Google 的这个 embedding模型 那这边的认证呢 好不太一样 我们需要去 我们需要再用 Google 的

另外一项免费的服务 OK 那如果你看到看到这边呢 它 Google 这个这项服务 如果不是免费的话 那你就用当时的一些 免费的 embedding model 或是你用付费的 Open-Ai model都可以 好我们到了这个 Google Studio 这边 Google Studio 它一进来呢 它就会有这个 get API key 或是 try to Gemini 那我们用的是这个 get API key OK

好 这个可以不用打go OK 好那我们这边就生成一个 新的 API key 来给我们的档案做使用 我们这边 copy 到这边 OK我们去做一个 做一个新的认证 safe 然后这边我们就连上我们的 Google 的 这个 embedding 的服务 我们要选哪一个 model 我们要选这个 embedding 04 这个 它可以支援到中文 就是说它的准度呢

可能没有 Open-Ai 那么高 目前测试下来的话 那 Google 之后会出新的这个 model 来做服务 但是目前这里面这几个 model 里面呢它是 最 准度跟使用率应该是最高的 好我们直接 test 我们的 workflow 它现在在 download 这个 data 把 data 变成一个 0101 这里就可以看到 它把我们的整个 资料切成了 14 块

然后这里输出了 19 个 item OK 它可以说 这里原本是一篇文章 然后最后切成了不同 不同块 这边跟大家修正一下 我们的 Google 资料在这里 它的抬头 这边 有很多 不需要的一个资讯 跟我们公司 服务相关的内容在这个 text 等里面 OK 我们这里有很多不需要的资讯 我只需要下面

这个text的部分 他这里是包含了所有 我们公司 服务内容的内容 所以呢 我们这边 要把load data 改成specific data 把text 拉进去 这样我们跑一次,这个workflow 大家就可以看到说 从我们的19个item 变成6个item 就代表说 这里面可能有13个 13行 那每一行呢 他就把它拆成一个

一个item 这会造成我们之后可能要 读取这些资讯的时候 他有可能会跑到这上面去 那就会造成一些 读取上的错乱 好那我们直接在这页去做资料的验证 我们要有一个 AI Agent 我们ai agent 呢 给他一个trigger, on chat 这边 同样 给他一个模型 我们就一样用open router的模型

那AI agent 本身呢 不是每个模型都有支援 他用这些工具 找适用于工具的模型 那google 的话 就是我们原本用的这个模型 0205 这个free 他是有支援tool的 所以我们可以直接使用这个模型 是没问题的 这边我们要做一个vector 这边 vector question answers and tools 然后这个 这个 那我们给它一个名字 我们要给这个档案一个名称

那我们就叫它 然后它只能用英文 所以那我们就 就 company services 就是 我们公司的服务内容 我们要给它一个 形容这个档案要做什么 比如说用 data name company services 然后用此资料来回答公司相关内容 然后在我们命名以后 我们要把它连到我们这个 database 这边我们一样要给它 一个 model 我们可以直接把它放到这边来

还是吃语文模型 这边我们用 simple vector store 这边 要确定的是 我们要用同一个 model 它才能一个是加密 一个是解密 所以 加密跟解密我们用同一个 钥匙都要作为同一个 那我们就可以啰 我们这边我们来 打开这个 chat 然后我们问他说 可以使用哪一些工具 它这里就写 我可以使用 这个 default API 中的 这个 company service policy

这个工具 好那我们要 我们就说相关服务 我们想要列出我们文章内的公司 所有的相关服务 OK 在回答之前 它 它有 这里就有回答出的 这个所有的问题 好那如果你碰到这样的一个 节点的错误呢 我们到 AI agent 这里面呢 给它一个 system message 就是我们用提示工程

来强制它 一定要用 company services 这个 database 来回答 所有公司相关的问题 OK 我在猜是大语言模型 它自己也想回答这个问题 可是它自己 有很多资料 但它不知道我们形容 是哪一间公司 它有时候 会想叫这里 然后又有时候会想自己回答 主要是因为我们 我提供的这个资料里面 是没有任何一间公司的名称 所以

它读取公司这两个字的时候 它在想说 这是哪一家公司 我们这边重新 跟它 沟通 可以使用哪一些工具 如果你是跟我一样使用 注音平音的话 会碰到一问题就是 它这个 对话方块是 优化于英文的 所以按一次 enter 它就会送出 那我们注音打完 也要按 enter 注音打完它就会把原本 已经打完了字 然后送出

所以变成是我们每次 要改字的话 就变成要送两次 这是一个 它们的 bug 这边呢 列出公司所有项目 我们这里 你可以看到它强制 去到这个 vector data 项量的 data base 里面 去找寻我们 已经做好的这些资料 所以它这一次就很认真的 把我们有相关的 服务全部列出来 我们再问一个问题 这家公司主要的服务内容是什么 你看它每一次

跟公司相关的问题 它 我们这个提示石这边 强制它一定要用这个 工具去回答问题 它就会去强制 提取这些资讯 OK 那以上是 RAG RAG的一个 实际使用案例 那我们接下来 就进入我们 level 3 AI agent的工作流建构 接下来 我们终于要进入了 我们的 第三个level

就是把 AI agent 放入 融入到我们的 workflow 里面 这边我们 首先我们先命名 OK form sheet AI agent 到 这边呢 我们也一样把它改成 AI agent 就不再是大原模型的 LM AI agent AI agent 写信 这边我们先留着 因为我们等一下会用到里面的 这个 信件内容

把这个删掉 这边我们就直接 把AI agent 第一个 拖曳过来 我们先做上面这颗 这个flow 因为我们最后是走上面 OK 那我们先走上面这个flow 为了之后的一个稳定 稳定性 就是整个 vector 这个这个像量 database 稳定性 我们这一次 要使用 PineCone 这个

database 它有 2GB的空间 让我们免费的做使用 那我们先把我们的 vector-based的 资料传输先 做一个建立 那一起带大家去 注册并建立这样一个 database OK 这边呢 我们一样用一个 trigger 那这个 因为 database 它是远 就是它是一个 remote 的 database 好处 好处就是我们可以 好处就是我们可以

做一次 然后基本上我们就 你的 data 就会存在里面 就 不用再去做一个更新 OK 那我们 步骤一样 到我们的 Google Drive 然后 download file 我们要中文的这个 然后这里 然后 extract OK 去 PDF 然后这边呢 我们要用我们的 PineCone OK

PineCone vector store 这个 好一样是 我们是 add 好在这边 这边下面的 除了这个不一样之外 下面的我们几乎都是 我们都是一样的 OK 这些都 default 选项 不用理它 好这边我们用 Google 然后记得选取 004 这个 embedding 如果你没有跳过 刚刚那个 rag 的 这个教学步骤的话 你这些应该都是设定好了 除了 pinecone 之外

那我们现在要去 pinecone OK 进到 pinecone 以后 我们用 Google 一样用 Google 帐号 去做一个登入 OK 然后这边选 I don't code 这里改 personal 这边呢 我们就用 AI agent 然后 less then 100K 我们选第二个 我们进到这边以后呢 这边要马上复制 你可以把它保存起来 这个就是我们要做 认证的

回到我们的 pinecone 这里 我们 create 一个 credential 我们 create this pinecone 然后 unsafe 连接成功的话 就成功进去了 那现在呢 我们要回到 pinecone 去 create 我们的 database 那首先呢 我们先回到这边 我们用的是这个 embedding Google的 embedding 004 model

所以它的有一个值 我们是要设定 因为它每个 embedding model 它的 embedding 大小的值是不一样的 所以你用其他 embedding model 的话 要去查一下 pinecone 这边 close 然后只一下跟大家讲说 embedding models 它的差别在哪里 我们这边呢 我们要建立 我们第一个 embedding models 的 database 再 create index

然后我们这边写 n8n test 好 这边就是我们这个 vector type 这个 dimension dimension 每个 model 都不一样 像这边呢 这边是 Llama 的 dimension 它有这几个不同的 dimension 那这边呢 如果你是用 OpenAI 的这个 three small 它有两个 dimension 通常 default 会是 1536 这个

dimension pinecone sparse 它每一个 这个 dimension 会不一样 像如果你是用 multi language 15 this large 这个 这个目前呢 我看网路上的测试是 在中文里面准度很高的一个 embedding model 如果有机会可以用用看 那我们这一次用的是 免费的 Google 所以我们是做客制的这个 然后这边呢 请帮我选 768

这边选 cosine 其他的都不需要 我们按 create 好 这边建立了以后 这里等它亮了绿灯 我们就可以回到 我们的 n8n 到这边呢 我们可以去选择 这边就可以读到了 n8n test 在资讯先我们先把答案设定好 这两个先跑完以后 我们到这边 然后把我们这个 text 跟那个我们在 RG 一样把 text 这有 text 我们需要只有 text

所以我们就把它放进来 我们全部一起执行 好 这边看到 一样是六个 item 那就跟上一动一样 没错 那我们现在的这个 我们的 data 就到 pinecone 的 向量的 database 里面去了 那我们回到 pinecone 好 这边我们就可以看到 我们的 pinecone 这个后台呢 我们就可以看到 我们这些 data 一个一个

还有这个 id 编号 都在这里面 OK 看到 id 编号的 它每一个都有 id 编号 我们回到我们的 n8n 那这个呢 我们按 D 然后基本上接下来 就不会再去用到了 好 我们来做我们的 AI agent 那 AI agent 的 这个接法呢 就跟刚刚其实非常的相似 几乎一模一样 首先我们先把 AI agent 叫出来 我们叫出来以后

把它接上 我们先把它接完 然后再做提示词的工程 我这是 control 或 command D 可以直接扶植 接过来 接过来 试过几次呢 我发现 我把它拉出来 这样才比较好看到 那我们来选择我们的语言模型 我们一样用 free 的 但这一次我们要用不同的模型 试过几次之后呢 目前 如果你是在 影片刚出的这个当下 看到这个影片的话

免费的这个大语言模型呢 只有 Google 比较 支援工具的使用 像 R1 等等的那些模型 他们有一些是 免费版是不支援 工具的使用的 那 Google 我们一开始都用 0205 这个 那它在它支援工具的使用 可是它的使用工具的稳定性 没有上面这个高 Flash exp-free 那我们之前不用这个原因 是因为它的 给的扣达

就是免费的扣达是比较少的 所以如果我们 从一开始就开始用这个 Model 的话 这个模型的话 可能到后面 它的扣达就用完了 那我们可能就要换一个 Model 比较重要的是后面 我们要执行我们的工具 所以我们后面改成用 Flash-exp-free 这个 Model 那如果你是之后才看到这个影片的话 那你就要测试看看哪 一个 Model 用工具是比较稳定的 这边我们就接过来

然后这边我们也把它接过来 这边的 Tool 我们一样是接我们的那个 像量 Database 我们打 Vector 然后到这边 Answer这边 这边 Answer 我们一样跟 RHG的时候一样 Company 用此资料库回答所有公司相关问题 这样就设定完了 那我们这边 Model 一样是用 Google 的 这边的 Model 是跟它一样 我们可以直接用它 然后下面这边 我们把这个拉下来一点点 下面这边 Vector Store

我们一样是要用 那我们一样是用Pinecone 我们现在用Pinecone 然后Pinecone这边 跟刚刚登入都一样 我们这边就选择 n8n Test 这样就可以了 下面这边的 Embedding 我们就用 Google 的 Embedding 然后一样是我们选择004 好 然后 接下来我们要确实的命名 所以我们就在后面这边 我们做一个 RAG 打一个 Rack 做一个记号 这样之后如果有需要维护的话 就可以很好的去做

区块的判断 接这些节点的这个概念 我们全会喜欢就会觉得很简单 接下来的比较 AI Agent 里面 比较难的是提示词的工程 这边我们一样是用 Define Below 然后我们要做提示词 AI Agent 比较不一样 基本上就是它只有一个 System Message 所以我们很多之前要用的 我们很多之前在 LLM 这边 我们有分层 那我们很多之前要用的东西 它会包含在一起 那到了 AI 好

不是错了 先复制 然后我们先把东西复制过来 我们再讲的提示工程 我这边在提供大家一个好用的工具 但是我们首先我们要先到 Gemini 这边 然后请他帮我们去掉内容 留这个模板 请Gemini把这个内容去掉 然后帮我们留下模板就好 这里跟大家介绍一个工具 我们可以 Compress HTML 当然也可以用大型模型做 但既然有这个工具

我们就不需要去特别打这个字 好 这里按 Compress 这样就会像我们刚刚的 Jason 一样 它就会变成是压缩过 这样我们在使用大型模型的时候 我们就可以减少我们 token 的使用料 记得可以帮我把这个 title 这边 我改成你的 project 的名字 或是任何你现在使用的信件的名称 好 我们到回到 M8 里面 我们把这一段直接复制掉 然后直接盖掉

然后这样我们就把 大型模型那边的提示词 复制过来了 首先我们在 AI agent 里面 我们要先定义我们的 AI agent 我们提示词可以维持原样 我们等一下再去做修改 那这里我们要先打这个 tool 一样是 好 警示好 然后这边写说用 Company 刚刚我们的 Company Service 的 tools 提取公司相关资料 我们这样 请他用提取公司相关资料

然后选写规则这边 我们把信件的选写规则 放在下面这边 我们这边扼要的用公司相关 555资料 回答他的要求 OK 回到他的需求 然后我们这里 因为字数变多 我们就提升 250 字这样 OK 这个可以 我们这边空一个 这边也可以用 Company Service 然后提取公司资料把它放到这边

不过我来跟大家介绍 一个提示词的写法 为什么现在才要讲 这个提示词的写法 因为我相信可能蛮多 人就跳过前面那一段 然后直接来看 AI agent 这段 所以我们这一段就补充提示词的写法 这边可以看到我们提示词的写法 就是以刚刚这个为例的话 第一个我们要写的是总缆 一个总缆 或是我们的角色定义 这个 AI agent 的角色定义

整体的一个角色定义 那接下来是我们每个 tool 的个别定义 跟 AI agent 解释 每个工具它的功用是什么 这样他才知道要怎么去用 那接下来我们要有 一个流程的 SOP 就是 AI agent 它要按照这个流程 去执行这一次的上面这个总缆的任务 然后再接 在第四点是 你可以再加其他的细节 不一定要加

上面这个三个一定要 那下面这个细节就是一个加分的选项 如果你要做更细的话 就可以做下面这个其他细节的定义 那我们这里呢 习惯是用 markdown 格式 对也不知道什么是 markdown 格式 我这边讲解一下 跟你们介绍一下 markdown 格式 markdown 格式它的来源就是 把 HTTP 就写网页的这个格式 简化成一个笔记格式 那我们这边只会用到这个# 号

字号就是定义说 这个变成是标题 或是不是标题 字号就代表标题 然后字号越多 代表它是大标变小标 再变更小标这样 那这边呢 它这边是 我们这边是用 剪 这样 dash 的这个号服号 然后它这边是用这个星号 它们都会代表的是 这个 list 要点 这样一个表示 方式 所以我们大概只会用到这样

它是一个笔记软体里面的一个写法 那我们再看另外一个 我们这次要用的 在 AI agent 里面要用的这个概念呢 这是我在做 AI agent 的时候 把它设定好的 我们这里可以看到我们的一个总览 然后我们的 tools 的定义 因为我们只有一个 tool 如果你有很多个 tool 的话 那我们就要个别全部都去定义 然后接下来是其他细节 把它放在这边 其他细节呢 这边是变成信件的选写规则

我们这个信件最重要 就是它的选写规则 然后再接下来是流程 的 SOP 的定义 OK 前面这些定义完后 然后可以 SOP 定义 你 SOP 也可以放在上面 也可以放在下面 那我这次是放在下面 然后我们回到 n8n 这边呢 我们就直接贴上 那这些都会附在资料里面 然后这边我们就直接贴上 我准备好的资料 这个都会附在资料里面 然后我们稍微细读一下

我们这边是超过一千美金的客户 那我们这边的目标就是写一个 包含行事例的电子邮件 然后客户的预算超过一千美元 所以我们将其视为一个优先的客户 然后选一封具有说服力的简短邮件 那永远使用 company services 这个工具去提取公司资讯 好 因为我们永远 这里永远使用就是强制 AI

一定要使用这个工具去取用 这样我们用 AI agent 才有这个意义 然后这边选写的规则呢 我们首先我们简短的回应 用公司资讯回应需求 然后让客户在阅读的时候 可以产生共鸣 然后提出三个简短问题 厘清这些需求中比较模糊的陈述 触使他点选行事例并跟我们联系 因为他想要厘清这个问题的话

他就会很快的跟我们去做联系 然后最后做一个小结尾 然后永远用专业的语气 保持电子邮件要简短 然后切中要点 然后问题需要有一些范例 就是让客户或是让填表单的人 比较好回答这些问题 然后使用语言内容相同的语言去选写 至少250字 下面这个 SOP 就是 我们请 AI 的一个步骤

让他每次才不会太随机的给我们内容 OK 第一个就是 叫他先阅读客户的需求内容 必须用 Company Service 工去提取我们公司 与客户需求相关的服务资料 来回应他的需求 然后最后用信件选写规则 OK 我提到这边 信件选写规则 产出一封具有说服力的简短电子邮件 然后用 JSON 格式做输出 好

JSON 格式这个我们剪下来 后面会带到 我们要做 JSON 格式输出 然后再变成 HTML 因为这样我们可以很 灵活的去运用 HTML 我们当然也可以像 LLM 一样把 HTML 放在这边 我们这次两个都做介绍 那你就知道说 如果弄成 JSON 然后再变成 HTML 它有什么样的一个优势 那这样我们先跑一次 然后带大家做一次 我的开发流程

OK 它这边没有去使用 我们debug一下 这边要删掉 我们就留下客户资讯 然后让它完全按照 这个 System 系统的提示词去做 刚刚的状况是 我们上面这个提示词 跟下面的提示词 它没有冲突 所以我们这边只要提供关键资讯 那我们要请它照下面这些去做 当然还有很多提示词的这些 撰写方式 因为这边 我觉得它的字数

相对的有一点少 所以我们这边 把字数调高一点 然后让它重跑一次 在我们后面的示范会比较好 好示范一点 如果你在试的时候 你觉得信件内容是OK的 那没问题 这样我们字比较多 以后我们来做 我们来做接下来的开发流程 我们这一串 我们就拿到 Gemini 我直接跟他说 给我一个 JSON file 把上述内容变成 JSON格式

这边可以看到 JSON就把每一段的内容 都有做一个定义 Greetings 就是开头 然后初步介绍 然后我们提供哪一些服务 然后一些例子 然后它把我们的服务内容的这个例子 给条列出来了 基本上这个是我们 我们就直接用这个 来继续做执行 中英文没关系 因为我们到时候变成 HTML 是

看不到这些key的 所以没有问题 接下来我们要请它把这一段 也是一样叫它去掉 去掉内容给我 template 然后叫它去掉内容 变成 template 给我 叫它去掉所有内容好了 它又留了一些 又留了一些内容给我们 好 这样所有内容以后 它每次都可以做一个发挥 这边我们就要用 JSON format 我强制它用 这样的一个 format 我再维持第一个就可以

然后再用 JSON format 这个JSON format 它的字数没有很多 所以我们可以去 可以去压缩也可以不用压缩 所以看个人喜好 那我这边我们就接成时间 然后我就不压缩 然后我们把 让它试跑一次看看 好它有去做一个资料的提取 这是我们要的 然后希望它有做 JSON 的输出 没问题 它有做到JSON的输出 PIN这个 data 接下来呢 这里我们要让

电脑帮我们写程式 所以我们可以靠一个 靠程式来帮我们 直接做一个转换 不用再靠大语言模型 好这边我们用 这个 code 当然要用大圆 要用圆模型也可以 就是 如果我们要接成我们的 token 的话 就可以这样做 那我们可以两个都 我们可以两个都做 我们下面用 这个 我们下面用圆模型去做 那上面呢 我们就用 code

我们就两个都示范这样 好不好 第一个呢 我们这里有 javascript 跟 python 接下来呢 我们要 复制的是 这一串 这一整个内容 然后我们到 Gimmini 去 Gimmini 要到这个程式伙伴这边 那我们直接复制 那这里的第一个重点呢 就是我们要给它一个参考图 就是 可以去找一张你 比较喜欢的这个 UI 设计

那我这边呢 我就先用 一个简单的 哦 制式的 UI 设计 好 然后接下来呢 我们要贴上 这三段 第一 参考图中的 email UI 设计 第二 帮我们生成 n8n code 这个节点用的 javascript OK 因为 要有这样的一个 呃

注记是因为 n8n 的 里面它 需要的是Json 的格式 所以 有了这样的一个 注记呢 它 javascript 通常就会出 Jsum 的这个 格式出来 如果没有的话它就会报错 那 这里呢 你就可以 这里就会提醒大家说 如果它报错 那就回来这边 应该就是一个是没有注记 不然就是我们在 下面再注记说

叫它用 json 格式来 反缓 好 第三个 第三个就是把上出这样的一个 Jsum 信件内容呢 转换成 email 的 html 加 CSS 那我们就直接说 出出 内容 放到 这里 好 就叫它把输出内容 放到 Jsum 里 然后让它 好 直接跑一次 然后这边我们看到

我们是 output 所以它这个答案是正确的 然后接下来就是它帮我们 参考这个设计呢 设计出来的 这个可能有一点问题 不过没关系 我们 直接复制来用 然后这边我们就把它 全部删掉 然后把这个拉进来 我们直接跑跑看 然后这边 这边有一个报错 它这个爆错是说 后面这个也有错 后面这个 这个就是 node exists 就是有一个 node 不存在

那不存在的原因就是它报错了 那我们把这个 先 先关掉 我们再跑一次 它这边呢就是 Greetings 它没有吃 第四行 把这个删掉 这里有 output 然后下面这个整个 OK 这边呢 我把它删掉的话 它就

它就回到正确的一个格式输出 这里可以看到说 它 read 它反环的是一个 Json格式的一个物件 它这个就是我们要的内容 所以如果没有这一行的话 要记得叫它输出的是这一行 好 这边 然后这边呢 没有吃到 不过没关系 我们就直接拖一进来 在我们的内容就出现了 那我们再去 按这个信件寄送 到这边呢 确定是 HTML OK

好 回到这边 我来跟大家讲一下 这个 HTML呢 你看 这里 就是 HTML HTML OK 它的意思就是 它有一个 HTML 然后这边 它的意思就是这个 key 是 HTML 然后这里呢 它把上面这个内容做好 然后输出 HTML 在这边 然后这里整个是一个 Json 我们寄送 然后到我们的信件

好 这次呢 它 给的内容就有做一个编排 我觉得还可以再更好 但 OK 这个编排 下面 尤其下面这里 下面这里可以在 做一个优化 如果我们要做优化的话 那我们就把这个 这个截图 然后直接到 HTML 来 然后跟大家讲说 图中为上述 程式 成果 帮我做上述程式的

上述程式的这个优化 然后它没有吃到这个 JavaScript 那帮我做 我们直接 我们直接复制这个 然后把 复制过来 然后按确定 这个就是一个 迭代 的过程 然后 秀给大家看 然后这次做完 我们就 直接换下一个 然后这边 Return 也是正确的 那我们 没有问题

我们就到这里 好 然后这里呢 我们要拖一进来 然后把这个删掉 不好意思 然后这边也 直接 寄信 我们到我们的信件内容 各 它有把这个空间给拉出来 但它还是没有优化我们的按键 所以可能是我们要 再去跟它沟通说 我们要优化我们的按键 那给 大家看一下 我之前有试过的 其中它按键可以做到

不同的这个点 所以它的 你的提示词呢会 你可能要多试几次 它就会有不同的版面出来 那 那你喜欢的版面 确定好了以后 这个好处就是 这个这样的接法的好处就是 你喜欢的版面固定以后 我们试完以后 它这个版面就固定了 你信件的版面就固定了 就不会再做一个 太大的变动 那我们做下 现在开始做下面这个 好这边已经把 这个提示词呢

已经更改好了 这边跟大家解释一下 这里变成是追踪信件 跟上次 跟我们LLM一样 变成追踪信件 然后客户没有到 1000元的门槛 那时候到200到 1000元 所以我们是其为 潜在客户 然后叫他 请AI利用相关的这个 公司服务资讯 跟它做一个联系 那这边呢 问题的这个 问题的陈述呢 会变成是导向1000预算

而不是一个积极的去 确认模糊的地方 会比较 会比较有一点目的性的去 导向1000元的预算 一样是用json格式输出 所以我们这里呢 还没有接 我们要 把它拉过来这里 然后我们把这个接过来 这样大家可以很清楚 看到说 这些全部都接到这边来 那记得我们要把回去呢 把我们的data改成 不是200到1000 那你之前怎么打的格式就要维持 这样 它才会读到

好我们让它 我们这边先 先让它跑一次 然后我们就像 上面这样pin一下 好这边呢可以看到它 我觉得我们提示使 确实可以去 使导它去 提取 那这边呢 我们确定有这个内容以后 看起来是都没问题 然后我们pin 好这边我们就用 大语的模型去做 我们直接用大语的模型 那 我们这边接过来 然后

这个 要先不用接 好接下来这里呢 我们提示要 要 要怎么做呢 第一个我们要 define below 那这里我们要 把信件内容放进来 OK 我们这里就写 信 写 我们指定信件内容 我这里 因为它这整个是一个 J 上 file 所以如果我们 把它放进来的话

那这里是不会出现 我们的文字的 好 这要特别注意 那我们要怎么做呢 我们要回到外面 它里面没有复制 复制只有在这边 比较麻烦是我们要把 一个一个去复制进来 然后双引号 里面这个呢 一个一个换成这个 这样我们才能是一个动态的资料 这样我们之后生成呢 它才会每次都 用生成时候的资料 因为每次都是才能读到信的内容 OK

我们很快的做这件事情 好 这样我们就 这样我们就设定完成了 可以收到这个动态资料以后 我们到 system prompt 这边 再到 expression 然后直接复制进去就这样 把我们的这个 总览 我们叫它是一个 J 上转 html css 的一个专家 然后 请它读懂我们的 J 上信件内容 把 J 上信件内容 转成 Email 然后用 html 加 CSS 这边呢我要

独立 html 独立输出 一个 Json物件 这样我们之后呢才能去 再下一个物件直接拖一然后去用 那这一次啊 我们不需要去呼叫我们的 工具 所以我们可以随意选择大模型 让我想用 刚刚 Google 现在最新的模型 听说它效果很好 那我们用 0325 这个最新的大模型 那这边呢,要记得 要给它一个这个 这个要打开 会给它一个 parser 为什么呢因为

它有时候会把所有东西就集在一起 那我们不要这样 我们就是要有一个 html 那我们这边呢 可以就叫 指定html 然后下一个这个离控格 下面删掉 那这边会报一个错 因为它只有一个的时候 它不需要这个动好 那我们这样做一个示范 请它试跑看看 好现在跑完 我们来看一下 嗯 html 然后它里面 都有放 不过它这个 有点多

我们来看看它生成了 什么样的这个内容 确定 html output html ok 那我们寄送 它生成的有点多 有点小期待 但我觉得 可能会很奇怪 欸 我整体还不错 我知道 大家可以看到 这个 是蛮多的 就是 就没有这个必要 是 哦

它把所有 看起来它是把每一行的 CSS 都加进去了 那可能 好它不需要写这么多 但 就帮 Google 耗一下 token 哦没问题 但 目前看到它的这个输出呢 是还蛮优的 哦 所以可以用这样的方式 不过它 你刚刚看到它这个 跑的过程其实 有一点久 那我们来 回去看一下我们的信件

第一个是 哦长这样 就是我们调 调整过的 其实 还不错 那我们可能还需要继续调整 第二个是这样的一个信件内容 去交错完一下 我们生成这样以后啊 然后我们可以再叫 Google 把它写成 JavaScript 这样我们就每次 我们就不用去跑这个流程 它每次都会直接生成 直接一件就生成这样 如果你喜欢这个格式的话 然后它你就把它变成一个 Code 然后它就会每次都把

JSON 发有直接就变成一个 这样的一个信件格式 那当然还可以做一些优化 不过它这个 按钮是 正确的 所以 叫它直接生成 Code 它这个按钮是不正确的 可是它没有读懂这个信件内容 我觉得 所以我们在那个 Prompt 那边的时候 应该是要叫它读懂信件内容 然后才能叫它生成这样一个 比较好的这个按钮 那我们回到n8n 然后这个就可以删掉了 这个我们都不用测试 这后面都是

已经测上 上一栋就已经测试过了 那我们 对我们做一个记号 然后是 h html 转换 html 转换 那这样我们第三个 Level 你就基本上学会了 而且这个 Level 你还学到了 如何 用 AI 写 Code 然后转换成 Email 甚至是 你还知道了怎么 设定 JSON 格式 然后再让它去读懂 这个 JSON 格式 去转换成一些 然后这个好多不同的应用方式

然后这一次你也学会了 如何用 PineCone 然后一个 Vector- based Data 去储存你的这个 这个资料 所以 这后面这里看是 同一个工作流 但用到的这些技术呢 或是用到新的东西 完全不一样 而且都是你可以 在其他地方自由发挥的东西 然后接下来呢 我们要做我们最后一个工作了 这会是额外的一个工作流 我考虑很久还是 想说把它放到这个 同一个教程里面

就完整的跟大家介绍 接下来呢 我们要用的是 我们前面有讲到的 Webhook HttpRequest 网路呼叫协议 然后呢 我们要让我们大原模型 可以上网 这个我相信很多人都很期待 做到这件事情 那我们最后 然后只有留到最后的人 才有这样的一个 才能学到这样 但你如果跳到最后的话也是可以了 废话不多说 赶快进入下一个 在此之前 如果你还没订阅我的频道

赶快订阅我的频道吧 我们来到最后一个环节 我们前面同一个流程 我们经过了三层的叠带 三个level 基础的三个 level我们现在都学会了 那我们现在要进入进阶的level 我们要赋予AI网路的功能 网路查询的功能 帮我们做研究报告 然后我们要第一次 使用Webhook 就是如果让我们有一些网站 它没有内建到n8n里面的话 我们可以使用Webhook

去跟这些网站的服务做沟通 如果这网站有 Webhook的功能的话 通常都有 我们可以用Webhook去做一个 data transfer 资料的传输 然后还有相应的开发 首先我们有做会议通知 只是做一个团队通知而已 那我们这边我们要在 使用者点选会预约的当下 我们就要产出一个会前的报告

会前的准备报告 那我们可以 使用者在预约会的那一刹那 我们就直接产出了一个 可使用的会选报告 这样我们就直接省下了 去查询这些资讯等等 这些有起步的时间 我们是在使用者 点选会议的那一刹那 我们就准备好要上战场 这边会获取会议的通知 就是他在点选会议的那一刹那

我们这个工作流就会接受到 他点选会议的讯息 AI的助理就会帮我们 取得取回使用者的需求 然后去做一个初期报告的研究 然后传输到我们的 html格式的修正 然后再寄送一个会议会前 会议前通知给我们的email 那这会议前通知 因为会包含使用者的痛点

我们要在会议中问使用者 什么样的问题 我们才会获取更多资料 因为我们只有30分钟 我们设定的会议是30分钟 那我们在30分钟里面 怎么去安排会议内容呢 这个这份报告都会跟我们说 然后我们的会议的前情提要 都会帮我们产出这样的一个成果 这边我们要再带大家 一起做一个其他工作流 变成我们AI agent使用的工具的

这样一个工作流的设计技巧 让我们可以重复使用其他的 我们已经做好的工作流 让我们就可以变成一个 很庞大的专案 上面这是这边的主流程 下面这个 我们要在另外一个流程里面去开发 然后在主流程里面去做呼叫 所以这个流程不会在这个流程里面 首先我们要做我们的会议通知的 这样的一个读取webbook

第一点我们是用cal.com 那cal.com 其实它有内建到我们的 M8里面 那我们验证过account 在一个booking 就是人家有预约会议的当下 cal.com这个节点

cal.com这个节点 应该会读取到这样的一个讯息 看测试 那我这边可能 它这个节点 我的M8里面的这个 可能安装方式或什么 它有出现一个bug 就是我现在示范给大家看 我在预约会议的时候 cal.com这边这个节点

cal.com这边这个节点 它读取不到我们的 读取不到我的会议连结的讯息 这已经会议通过了 就是预约通过了 但是这边它读取不到 这个是可能我程式里面有bug 那如果你是用railway 或是其他的云端的连结 因为我现在是用本地端 那它云端的我测试过是没问题的 那我们现在就带大家做一次 如何去解决这样的bug

我们可以去重新安装等等的 那我们为了节省我们的时间 我们就直接用webhook 因为cal.com 它是有webhook 有提过webhook的这样一个服务 这边是webhook的内容 它有连结 有test and production 所以如果你在进入 production 就是稳定阶段的时候 你可以用 production这个url 那test的话 我们用test这个url 那接下来它会有

http method 这个就是在接收讯息的 不同的method 它有delete get, head patch host put 这几个method 那等一下我们再做网路应用的时候 会介绍到http request的 这样的不同的method 的每个不同的效果 那这边我们就先介绍一下 什么是webhook 这边有一张图 直接跟你讲说web

hook是什么 webhook 其实就是一个单向的 基本上是一个单向的 资料传输的节点 其他的server要传资料 进到我们mb app里面的连结 所以我们等一下要把这个连结 注册到cal.com的后台里面去

注册到cal.com的后台里面去 这样cal.com才知道说

这样cal.com才知道说 人家预约会议了以后 它需要把资料 把这个通知传给哪一个连结 OK 所以我们等一下会把这个连结 注册到cal.com里面

注册到cal.com里面 一般我们在跟其他像notion 或是有来回的这种 凡数方式我们就要做API 那等一下我们再讲API的时候 我们再继续做补充 那可以知道是API 它是比较 它是可以做双向沟通的 那webhook通常就是 我们做单项沟通的 好我们要怎么用这个 webhook 这边我们要复制我们的get 我们直接复制这个 那个连结 我们到cal.com这边

我们到cal.com这边 然后到我们的账号 然后这边我们到我们的 developer 我们之前都是用API key 那这边有一个webhook 我们这边按新增 那将我们的连结贴在上面 那这边它有很多不同的功能 我们这个 之前那个节点里面只有四个功能 那这边有很多不同的功能 这一次开发主要要用到的就是这个 当会议连结 被点选的时候 当一个booking被 created的时候 我们要让它通知我们 那我们就 只要这个就好了

那其他的不用管它 我们create 然后再我们就 完成了我们webhook的设定 那我们来测试一下 这个webhook 是不是可以读取到这个讯息 好我们 所以点取一个连结 点取一个会议 好大家回到这里 欸 它没有听到 这时候呢 我们要去 理解网路里面呢 它每个 这个叫做http的 这个request 它有get add post

等等这些 那通常我们会用到的 就是get跟post 如果get不行呢 通常就是用换成post 那就可以了 我们再试一次 好这边我们就马上就读取到了 OK 所以它是一个post request 那只要是post 它就可以做一个读取 那这里面呢 我们就可以读取到 它什么时间啊 什么什么说 去 点选了这样的一个会议连结 OK这里面有很多相关的资讯

先把这个答案给pin起来 拼起来以后呢 我们来做我们的AI研究助理 那这次的AI研究助理呢 一样是用我们的AI agent 这样的一个node 这样的一个节点去做开拔 那我们同样的 跟上一步一样 我们一样给它用Google的这个 这个模型 目前 在拍摄这支影片的情况下 用工具的效果 目前是最好的 好接下来呢 我们有了我们的这个email嘛 那我们要去找

我们要把我们email里面 从Google行李箱 把email提取出来 有两种方法 我示范两种 一种是我们就叫AI agent 把所有事情都完成 这个如果你想要 如果我们想要比较炫的技巧呢 你只炫的技巧可以这样做 然后说 我好多AI agent 然后接一堆这样 然后再相对的 你提示词的这个工程 就要做得非常好 而且 每次叫一个tool 你的token就会有消耗

这个是我比较不喜欢的 所以有一些事情呢 有一些轻量级的事情 我们就可以把它拖出来 独立做一个快速的运作就好 因为毕竟AI agent做事 它还是有一个延迟的时间 那我们两个都示范 我们第一个先示范说 它怎么用Google 怎么用AI agent Google Sheet里面的这个叫出来 这边Google Sheet的tools 它本身呢

就有一个Google Sheet的tools 它接在这个tools这边 然后这里呢 我们就可以直接看到 线上需求表单 这里面上面的线上需求表单 工作表 下面这边呢 我们要设定一个比对 因为Google Sheet这个工具 就是用email去比对 所以我们这里有一个filter 我们增加一个filter 好 这边可以直接选择email 下面这个值这边 有两者方式可以指定AI 去填入我们的搜索值

一个是n8n很贴心的 在后面这边 它就已经有一件 按下去以后 它就会说 这个值呢 会由AI去指定 好那我们看一下 它背后的 程式码是长什么样子 然后这里 它会自动到expression 然后填入这个 fromAI value 然后这个是description 然后string 这个我们也可以自己做输入 我们这次先把这个删掉 所以刚刚是第一个方法 这边可以直接打大刮号

然后我们就 $ 然后from 它就有fromAI 然后这边它就有解释 这里有一个件 见名 它有四个输入值 可以让它吃进去 下面这里有这个说明 像这边的年龄呢 它就说这里是年龄 这个key叫年龄 这个key要输入什么呢 人的年龄 然后是一个数字 然后最后它一个default 就是 如果你没填的话 它就是18岁

这样的一个书写方式 我们这边我们就可以跟它讲说 第一个我们要 我们要它的email 然后逗号 然后客户email 那我们只需要前面这两个 后面这个我们都不需要 它只用default就可以 可以这样写 或是我们就直接用这个 我们直接用它原本的值也可以 那我们这一次呢 我们就直接用它的值 因为这样就可以做使用 这边我们要做 我们要输入我们的prompt 客户资讯 然后我们把email拉上来 下面这边有我们的email

attendings 这里找来 好 这次prompt这边 我们就简单的提出 它是一个专业的研究助理 然后负责准备客户的这些研究 好 这次等一下会继续用prong 那tools这边我们就写 google sheet 然后比对搜索客户资料 然后用google sheets sop就是google sheet tools 去搜寻email相关资料 然后整理并输出全部资讯 让它会输出什么 这边它把客户的资讯等等的 全部都整理好

并且输出一个text 然后再到logs这边 然后到JSON 你可以看到它 去查询 用了87个token estimated token 然后输出内容这边 它花了724个token 为什么会有两次呢 一个第一次是去查询 它去查询 然后google返回资讯 这个tools返回资讯 然后它把资讯 全部整理后 输出一个整理过的资料 在这边 也就是说 查询我们花了800个token

之前我们写文章 花了2000到 3000个token 所以光查询这个动作 其实就花了蛮多的token 我觉得在这个前期研究 我们不需要去花费 这么多的token 因为我们的资料也没有那么多 也不需要它去做进一步的整理 所以我们可以把google sheet这个tool 拉到上面中间这一栋 去get rows get rows就是它去把 那些列找出来 相应的列找出来

好 我们这里一样用email 然后我们到下面这边 把email拉进来 然后按test 先把这个关掉 然后按test 大家可以看到 这个动作很快 它马上就把我们资讯全部拉进来了 我们把这个prompt这里改一下 我们的客户资讯 从最开始的webhook那边 把它改成 从我们的google sheet提取资料 好 这样一样 我们可以把所有资料都提取出来 而且这样的方式就是 不需要消耗token 也会省下这一栋

下面这边 sop 标题我们留着 我们先留这样 那接下来 我们要去做我们的搜寻工具 所以我们先到先储存 然后再到这里 create一个new workflow 然后我们来做我们的 让ai可以去搜索网路的工具 在这之前 我们要跟大家稍微 简单的讲解就好 什么叫做http request 因为我们要用这个 去跟这个网路搜寻的服务商请求 他帮我们搜寻

然后再把我们搜寻的结果 传回来给我们 所以我们会用到http request 这样的一个节点 我们会有一个request OK 然后通常状态是200的时候 就代表我们的request成功的 4的话就是完全没有连上 5的话就是有连上 但是报错 这样大家有一概念 这边就是request the header 我们要把我们的认证 header就在有 我们要把我们认证 跟我们要搜寻什么相关资讯

从这边去做一个传输 用http request这个工具 传出这些内容 那我们要跟谁沟通 我们要跟http API或是 rest API 这两种 API 然后去沟通 现在大部分 如果我们有用到的功能 用那些比较有名的网站 可能都是用rest API 因为它的关卡比较多 它中间会有一个关卡 不会让你直接到这个 server里面去 所以它等于说

你就想到这里有一个协议 你要认证完这个协议 然后这边传输完以后 它会通过这个协议 你确定是可以有资格拿这个资料的 然后它才用这些简单的协议 再把资料传给 大概这样 这样你的概念 这些不同的get post什么意思 而且我们最常用get post什么意思 get就是从伺服器检索值 我们传一个资料过去 然后跟它讲说 给我这个东西

就等于伺服器上面已经有的东西 然后就跟它讲说给我这个东西 post是将资料新增 至现有的档案或资源 通常会用post原因 所以我们传了一个东西过去 然后它输入到到那边 运作完以后再传回来 大概是这个概念 就是会有一个档案互动的概念 这个是比较单纯的概念 这是一个有互动的概念 然后我们就个head 然后其他这个就 我们就稍微看一下就好了 如果你们要深入的话

这页可以截图 然后你们可以去一个一个去看 那我们现在进入我们的 搜索工作流的讲解 好这边我们要用一个服务叫做 Tavily 是叫Tavily tool Tavily agent Tavily agent tool 这边我们要用到一个trigger 是这个 让它可以被其他的流程去做一个呼叫 那Tavily它没有内建的

Tavily它没有内建的一个节点 那这里也不是用webhook 所以我们要学了 我们要学到一个新的 然后刚刚没有讲到 我们今天要学一个新的 叫做http request 我们用这个 这个是主动的去呼叫 那webhook是被动的接收 这边我们要到Tavily这里 OK大家可以搜寻Tavily 然后这边我们就sign up

我做sign up account 用Google就可以 那Tavily很大方 是它给我们大概 1000个coder API的coder 可以去做一个使用 OK我们这边简单的 这边可以简单的玩一下 我们可以就 tread 这边我们就用basic 因为如果你是用 advanced的话 它消耗的这个API的 就你那1000个会消耗的比较快 我们这边就3个 result就可以了

我们就汇钱研究 那我们就不需要做这么深入 那这里要很重要 就是include answer 我们要用advanced OK advanced answer 这边就不需要 这边要include raw content clude domains 然后我们测试看看这样的一个设定 它会有怎么样的回答 这边可以看到 我们的是n8n的 latest trend 然后它就有一个answer 然后这里result 会有url 然后title

然后想要你的这个数值 它会给我们3个 我们最重要的就是这个answer 然后最重要的就是这个 如果你是用basic的话 它就会非常简短 那这里它会把 我们就是要常常的 很常的这个answer 可以让我们的AI去读取 网路上的资料 这就是我们要的一个搜寻功能 然后我们回到n8n里面 这边我们要先做的一个认证的是 我们的url的认证 那大部分的 我们再回到Tavily

大部分Tavily的资讯 可以到document这边 然后这里有一个API reference url就是这一颗 OK 我设定给大家看 而且它是post request 所以我们等一下要把它改成post request 我们就直接先复制这个 然后到这边 下面这边 我们等一下会用到这个body 然后我们用using JSON 我们先把这个附在这边 然后这边我们要用 这个 url authentication 我们这里保险一点

然后做这个 header的这个url 我们设定一个新的 这边要记得命名 然后命名你的这个 因为之后你们会有很多 不同的服务的这些命名 这边可以看到这个header 然后这里有 authorization 它就是我们这个url的名称 所以把它复制过来 然后这边有一个bearer 然后我们要去把我们 token拿过来 然后这边我们先 这边我们要用expression 然后bearer 空格 那为什么会有这样的格式呢

因为它这里格式就是这样 然后bearer跟token 它的header就是这样那个格式 那我们就要回到我们的后台这边 然后这边overview 这边就有一个api key 我们做一个复制 到这边我们贴上去 save 这样就 这样我们的认证就完成了 接下来是我们的 JSON格式的设定 大家可以直接复制我这边的设定 这个是query 然后query里面我们把 多余的符号删掉

这个是一个regex的一个消除 就是如果 字串里面包括这些斜线 等等的这些字串 它有可能在搜寻的时候 会以为是一个网址 这个搜寻的结果就会不如意 OK 那我们就把这个 之后的我们搜寻 AI产生的那一个字串里面 我们就把这些东西删掉 然后这个大概是这个意思 接下来我们的 search depth 刚刚说basic include answer 你要true include raw

content也是true 这样它才会把这个 原始的这个资讯传回来 那我们只需要三个result OK 这样一个query 那这里再跟大家介绍一个 实用的工具 如果你的 你之后这里的 可能字打错或什么的 可以到这边 JSONformatter.org 这里你把JSON贴过来的时候 按validate 它就会显示说 你这个 里面哪里做错了

好这个工具 你这个validate这边像 像如果删掉一个 痾 痾逗号 痾 这边 如果有 逗号我删掉的话 他这里就会显示说 你这里,好像错啰 第三行的这边,少了一个 少了一个逗号 之后 你的节点显示说 JSON错误啊 那你可以来这个 这个网站去做一个 查询 好, 我们回到我们的n8n

这边我们就 设定好啰 headers 不用 这边我们还要再设定一个东西 我们回到我们的 Tavily 这边 我们要设定这个 Content-type: application/json 这边header 就是要全部设定好 那data我们就用 Body 去Transfer 这边的header 我们要 把这个Content-type 放在这边 然后 下面这个Value就是 application/json 这样

这样就变成是我们的一个 这样我们就完成了 如果我们要测试的话 我们可以 在这边 我们接一个 on Chat 然后写说 n8n,一样 n8n latest trend 因为我们的 这里要双引号 这样他才会变成一个字串 然后传到我们的Http Request这边 我们再重新搜寻一次 这边我嗯忘记改成post了 OK OK 我们再试一次 好 这时候呢 它

就在做一个搜寻动作 这样我们的 Answer 这些全部就进来啰 有了我们的搜寻结果 以后呢 我们到这边 因为我们要传回给 AI 的是 我们的 URL 跟 我们的不同的结果 重点是我们要有一个 Reference 嘛 就是我们要让 AI 在应用搜寻结果的时候 可以把连结一起放进 我们要让它可以读取 到 Source

我们这里是 Source 1 我们有三个 Source 嘛 那我们 Source 1 URL 连结 我们把连结拖移 然后第一个连结 OK 这边它就会写是说 这是第一个 Result 里面的第一个 这里它就会写说 Result 0 通常店里面的这个成陈述 就是 0 就是 1 第一个结果就是 1 然后我们要把 Content 一起放进来 然后这样我们就第一个 Resource 1 那我们可以再给它一个 如果要多一点资讯的话

我们可以给它一个 Title 这个一起放进来 OK 我们把这个 Content 一起放进来 我们只需要这个简洁就可以了 但如果要这个 Raw Content 其实也是没问题的 就是把所有的 Content 一起放进来 但我们目前这一次就先用它的 Summary 它的一个总结的 Content 就可以了 那下面这边是示范给大家说 如果你要全部的 Content 也是没问题 好 这边第一个我们 完了以后我们就复制

然后这边写 2 然后这边就改成直接改 1 然后这边改 2 好 这样我们所有的内容就进来了 AI 就会读到这个 Response 如果你用 Raw Content 的话就建议说 你可以把搜寻的结果变少 考量到的是说 把这些资讯全部为给 AI 会是一个很大的 它的量会很大 所以你可能要想办法去拆分 先储存到一个 RAG 里面

然后去做一个拆分 这些之类的应用 OK 好 那这边我们把这个接回来 这三料 然后这个接回来 还记得吗 我们要把这个 Query 放回去 我已经忘记这么打 我们把这个 Query 放回去 OK 这里我们要有一个 Accept All Data OK 任何 Data 我们都进来 那 AI 会自己判断说 它要给它是一个搜寻的这个字串 OK 这样我们就设定成功了 我们就回到我们的 Meeting Research Agent 这边

我们要怎么呼叫这个 Tavily Tool 这边我们 Tools 然后这边有 Call Call n8n Workflow Tool 这边 给大家一个命名 这就做 Taviy Tavily Tool 然后这里我们就说 我们就 Call this tool to search the Web 跟 AI 讲说 呼叫此工具来做网路搜寻 Source 的话 我们就用我们的 Database 那这里面我们就可以看到 我们的所有的 AI Agent 然后这里我们刚刚设定好的是 Tavily Tools

那这样我们的 AI 就可以用到这样的一个工具 接下来我们就要设定提示词的工程 把它做好 这边就会变得很重要 就是你内容的好坏就会变成 就会从提示词这边的好坏 写的好坏 然后去影响到你之后的这个产出结果 这边也就是说 我们围绕使用者的需求去建构 我们的研究架构 然后使用 然后我们使用的 Tavily Tool

从网路取得最新的知识 然后或资讯都可以 就这个研究架构我们可以把它改一下 然后返回 结构化的一个研究成果 OK 我们的 User Message 我们就这样设定就可以了 这边我们要做的是 下面这个 System Prompt 就很重要 这边直接复制给大家看 这边的意思是说 Tavily Tool 用于研究跟引用 然后我们这边要给它一个引用指引 因为 AI 它不知道要把连结存下来 所以我们用 跟它讲说

收集资料并引用来源 对每个主要声明的资讯 包含一个超连结 内嵌引文 然后因为我们知道用 HTML 要 寄信做 寄信 所以把后面的 HTML 也都做一个设定 最重要后面这里有一个 SOP 我们把这个删掉 跟 AI 讲说你 先把这个架构做出来 包含客户相关的需求和痛点 还有更详细的资讯的问题

参考研究架构进行 研究的同时 我们就用 Tavily Tool 来验证 然后叠在研究内容 我们这边规定它不能超过三次的搜寻 然后这样节省我们的 API 的使用量 当然如果你做的是 比较深入的研究的话 你可以增加搜寻的次数 引用网路资料时遵守上面引用指引 然后最后从内容中 提取一份结构化的报告

包含参考资料连结的一个搜寻资料 这里 这里 钉选 我们来测试一下 AI 看它会不会 去使用 Tools 我们要确定它会使用 Tools 大家可以看到它已经在做 Tools 的使用 它搜寻两次 到三次 通常它会把次数用 所以次数的限制就是很重要 不然它会 可能有时候会无止境的搜寻下去 如果对方写的资讯是很多的话

它会搜寻满多东西的 我们等它一下 我来跟大家说怎么把 它给我们的这一串 变成是 HTML 的格式 如果你是用比较快的 LLM 的 API 它就会比较快 这里有一个 AI 想我们进去点去看 这边它的研究架构 等等就完全做出来了 接下来就是要做一个格式上的设定 首先我们如果内容是满意的话 这里吗

这里面我们就到 Gemini 里面去 我跟它讲说 帮我生成 我依研究架构 生成一个 JSON 的格式 我看到会 Return 什么 这里面的内容 每次生成出来可能都不一样 所以迭代个几次 然后再把它应用到我们的工作流里面 因为这边 我们主要是要跟大家介绍怎么用 所以我就直接用我们

第一次生成的内容 去执行 我这边会说 我会说我要上述的一个 JSON Template 然后我不要这个去掉内容 让它去掉内容 然后给我们这个 Template 这样它就 这样我们就有一个 Template 出来了 我们回到我们的 n8n 里面去 然后我们就要请它依照 我们就要参考 这个参考下述的 JSON 格式 我们到这个网站这边

我们把这个 JSON 贴进来 Token 的小号量减到最小 这边也跟 HTML 当时的状况一样 我们可以把 Minify Compact 但我们就可以用一个最少的 Token 去做执行 这个是 在这次示范 我觉得这样的结构可以很好的 跟大家秀一下 我们就让它直接跑一次 我们要确定它有去呼叫 Tavily 这个工具 有了 然后看它跑了几次

它应该会跑满三次 你规定三次 它可能就会跑满三次 一样我们用 HTML 格式 前面这里的 JSON 的定义就很重要 因为它会按这个方式 去整理我们的资料 我们接下来 有了 出现了 它这里面虽然是一整个大 但是它已经把里面全部都注明好了 这边是跟 也要跟大家秀一下另外一种制作方式 这边我们把 JSON data

输入的是一整个 字串内容 我们这边 我们在下一栋这边 应该还没用过 Information Extractor 我们要从这一整个字串里面 然后我们再把这个复制过来 这是提升它整个出 出报告的稳定性 这一整个字串 它这里就是要字串 而且只能字串 所以这刚好是我们要的内容 就是只有字串 可是这些字串里面的内容

已经有一个 JSON 的标示 就是每个字串都有标示好 这边我们要用这个 Generated from JSON Example 我们把刚刚我们的 JSON 再贴回来 然后下面这边 我们要跟它讲说 保存资料的 对应连结 然后输出确定是繁体作文 当然这是繁体作文 就是怕它如果不实话 因为每个语言模型 可能钻进的不太一样 然后我们给它一个语言模型

这边我们也用最新的 Google 这个 好 让它跑 好 跑成功了 这样我们就有一个 结构化的研究报告 而且大家可以看到的是 它的 它后面还有连结 这些连结呢 就是它实际 用我们的工具 去搜寻来的资讯 然后相关资讯的连结 好 这里有内容策略 就是我们在30分钟的会议里面 我们可以去针对对方的 针对对方的需求 去问清楚的问题

当然我们可以去做迭代 这个是没问题的 这边我们同样跟上 我们上一个 Level 3 一样 我们让它写一段程式 我这边我们就直接贴上 做好的这个程式 Input all 没问题 好 这里一个程式 跟上一个不太一样 它把全部都输出进来 然后 html的这个 email template在这上面 然后最后我们再做一个 然后 send out这个 会议通知 然后 message 记得我们是要这个

html 好 直接按寄送 寄送出去了 我们到我们的email这边 好 大家可以看到我们 特殊的需求 技术的可行性 现在还有连结 有没有 把连结放进来 工作流的优化 这里放进来 它可能就参考同样 因为我们才 搜寻三次嘛 所以搜寻越多次 你这里的 资讯可能会越丰富 定价时程是什么 这个

怎么合作 它也帮我们安排好了 痛点也帮我们 也帮我们研究好了 到总结 到内容策略 当然它这里好像 到这一封信件 要改的应该是它的问题点 它下面 我们前一动这边 有很多相关问题嘛 但是它没有把我们的 内容全部保存 这是一个 它只有 第一个 也就是它下面 应该是这边 这边没有读到

这边要修正 不要做一个修正 然后它就会把这些 内容一起输出出来 那我们这个 AI 帮我们做这会议 前期研究的这个 流程基本上就完成啰 你刚刚学到的是 如何用 Webhook 如何用 把另外一个工作流 当成我们的 Tool 如何一串文字 变成 JSON 然后再变成 HTML 然后传到 里面

那这里面的这些模板 你都可以再用语言模型 所以它的这个 可想象空间是非常大的 尤其是你要做一个 自动化的 全部自动化的时候 你就想象说 人家一点下会议 我就把会议给准备好了 对不对 那你只需要阅读这些资料 然后再做一个内容的精修 可以节省你在 准备的这段 摸索的时间 所以这是一个 非常强大的自动化流程 所以我觉得 任何的产业

或是个人 这个流程都可以去运用 我们不一定要用 你可以用你任何 你只要可以输出 或者这个资讯的地方 就可以了 这是一个简单的概念 可以帮我们总结等等的 自动化以后 就可以帮我们解释时间 我们自己去用 AI 查询也可以 但是我们也要花那个时间 对不对 所以它现在做到的事情 就是帮我们解释了 这样直接帮我们出报告 好 我们 Research Agent 就是搜索 Agent 的介绍

就介绍到这里 我们课程就到这边结束啰 我知道这支影片真的很长 可能也需要一点时间去消化 但是我们做到了 我们刚刚完成了一趟 N8N的深度旅程 从最根本的基础知识 到建构真正能思考、记忆 并帮我们做研究的AI助理 我们不只是浅尝 我们掌握了这些核心的技巧

工作流、节点、处理 JSON 的资料 我们整合了大语言模型 让它更个人化 我们释放了记忆体的 AI Agent 我们运用了 RAG 向量资料库 最终我们利用了 Webhook 、 HTTP 请求 赋予了他们联网的能力 这不仅仅是一个学习、工具而已

这是一种从重复性的任务解放的开始 是关于打造自己的 AI 助理 完全针对自己的需求去客制化 一个更高层次生产力的钥匙 这部课程里面 有很多可能需要重复去观看的地方 或不懂的 你们可以在下面留言 资料连结也都会在下方 我们下一次影片要解决的是

如何在本地安装N8N 常常我们在本地安装N8N 会碰到就是N8N 连不上网路 不管是用 Docker 还是 NPM 有可能都连不上网路 就算连上网 它也呈现一个不安全的状态 我们下一次影片就到手把手教大家 如何在本地安装N8N 连上网路 如果你不想错过这支影片 记得订阅我的频道 现在马上给我订

你们的支持就是我出影片的动力 我是HC 我们正在让 AI 说人话 我们下支影片再见啰 掰掰

Loading...

Loading video analysis...