跳到正文

工作流进阶实战:从分支、循环到飞书多维表,搭建稳定可用的智能体

讲师 薛临风 · 20:00 直播

11 月 13 日晚,WaytoAGI「AI 智能体训练营」第二期第四节开讲,由一念星球 COO、工信部智能体应用师特聘讲师薛临风主讲。这节课延续上一节的顺序节点基础,聚焦工作流的两大核心逻辑——分支与循环,并加餐演示了如何将工作流输出接入飞书多维表。适合已经跑通基础工作流、想进一步理解复杂流程设计的初学者,以及希望把智能体能力落地到实际业务场景的进阶用户。

用流水线思维理解工作流

薛临风在课程开头反复强调一个核心思考方式:把工作流想象成一条流水线,数据在流水线上流动,每个节点就是一台处理机器。他总结了五条对应原则,帮助学员理解节点运作的底层逻辑:

  • 连接:当前节点所能处理的数据来自流水线上方,引用数据前必须把线连好。他建议先连线再在中间加节点,保证数据通路不断。
  • 配置:节点会提供可选能力,比如大模型节点可以选择模型,处理节点会显示能力选项。
  • 输入:把上游数据拿到工作台上,这一步只是把数据端到盘子里,并没有做任何改动。
  • 技能设置:真正开始加工数据。以大模型节点为例,通过系统提示词和用户提示词让模型工作。很多学员报错「没有收到任何数据」,就是因为没有在提示词里引用输入变量。
  • 输出:给处理好的数据命名,放到流水线上继续向下传递,后续节点才能收到并继续加工。

薛临风提醒,顺序节点还没练熟的入门同学,一定要把这条链路想清楚:「为什么他不工作?为什么他会这样?」多数报错都源于这五条没有想透。

数据结构:工作流的底层语言

在进入实战前,薛临风快速过了一遍常见数据类型,帮助初学者建立基本认知:

  • 整数(int):只能表示整数,不能表示 1.5 或 2.2。
  • 数字(number):整数、小数、负数都可以。
  • 字符串(string):最常用的类型,一篇文章、一段文字、邮箱地址、手机号都可以是字符串,可以为空。
  • 布尔值(boolean):代表真假,早期用 0 和 1 表示,后来为了与数字区分,专门用布尔类型防止误用。
  • 数组(array):用中括号包起来的一批相同类型的数据。
  • 对象(object):用来存放对应的表征信息,比如一个用户的健身管理信息包含身高、年龄、体重、性别,类型各不相同,就用对象整体包裹。

薛临风还提到变量命名规范,推荐蛇形命名法(中间加下划线),也可以使用驼峰式命名,关键是养成习惯。

变量命名规范示例(蛇形命名法)变量命名规范示例(蛇形命名法)

分支逻辑实战:小小写作家

第一个练习是搭建一个「小小写作家」工作流,根据用户提供的灵感,自动选择写诗、写微小说或写观点洞察。薛临风强调,之所以用工作流而不是一个大模型节点把所有提示词写进去,是因为「稳定是我们追求工作流的一个核心原则」——要保证输出稳定,且能 100% 命中想要的逻辑。

意图识别节点

在业务逻辑中选择「意图识别」节点。它的本质是一个大模型,根据用户输入进行分类。创建三个匹配选项:写诗、写微小说、写观点洞察。输入引用开始节点的 idea 变量。

薛临风特别提醒:意图识别不适合处理图片等文件类型,因为「我们要的是在这里做一个快速的分支」,对文件的识别建议用大模型节点,更容易调试。

三个分支节点

从意图识别节点分别拉出三个大模型节点,依次命名为写诗大模型、微小说创作、观点洞察。每个节点都配置系统提示词和用户提示词,用户提示词中必须引用 idea 变量——「千万不要忘了引入进来」。

薛临风建议初学者优先关注提示词表达的含义而非结构规范:「提示词从本质上是相对规则相对较宽的……你把它当成一个和人对话一样的形式。」

异常处理与变量聚合

意图识别会多出一个「其他」节点,用于处理灵感与三个选项都不匹配的情况。薛临风强调这是工程化开发必须注意的异常处理:「当流程进入了一个本不希望它进入的流程的时候,它需要对它提前做一个异常处理。」他添加了一个输出节点,提示用户「这触及了我的盲区,我还完成不了,你等我继续进化哈」。

为了让输出美观易用,他引入变量聚合节点。这里有一个关键操作:不要点击新增分组。变量聚合的功能是「返回每一个分组中的第一个非空值」,三个分支节点只有一个会干活,把三个输出都接入同一个分组,谁有值就输出谁。

分支逻辑中的意图识别与大模型节点配置分支逻辑中的意图识别与大模型节点配置

工作流中的异常处理与变量聚合配置工作流中的异常处理与变量聚合配置

分支逻辑工作流试运行界面分支逻辑工作流试运行界面

试运行时,输入一个灵感,观察水流方向,可以看到对应分支开始执行。薛临风提醒注意输出节点要选择「返回文本」,并在结束节点设置好输出内容。

循环逻辑实战:超长篇小说生成

第二个练习是生成超长篇小说,这是理解循环节点的关键案例。核心思路是:先让大模型生成小说大纲,把大纲拆成数组,再用循环逐段创作,最后拼接成完整小说。

大纲生成与数组转换

创建大模型节点生成小说大纲,提示词要求生成 8 个彼此独立的部分,每部分约 500 字。关键一步:将输出类型从字符串改为数组(array of object),每个大纲部分作为独立对象存入数组,包含情节发展和人物关系两个字段。

薛临风解释为什么要这样做:「如果它是一个文本大纲,待会我们怎么逐个地去选到它呢?」改成数组后,循环就可以利用数组来逐项处理。

循环节点配置

添加循环节点,选择「使用数组循环」,引入大纲变量(outline)。循环体内部需要设置一个中间变量 last part,用来记录上一次写作的内容。薛临风画图解释:写第一部分时前面没有内容,last part 为空;写第二部分时,大模型需要知道第一部分写了什么,才能保持连贯。

循环体内添加大模型节点用于写小说,需要引用三个变量:

  • outline:完整大纲,让大模型知道整体故事走向。
  • item in outline:当前正在写的这一部分大纲,由循环节点自动取出。
  • last part:上一次写好的段落,来自循环的中间变量。

变量更新与输出拼接

每次写作完成后,用「设置变量」节点把写小说的输出赋值给 last part,确保下次循环时能拿到最新内容。薛临风强调:「这个中间变量,我们需要在这次循环结束之前把它赶紧改一改。」

循环结束后,输出是一个数组(output 乘以 n,n 为循环次数)。用「文本处理」节点的「字符串拼接」功能,把数组里的所有段落拼成完整小说,最后在结束节点返回文本。

循环逻辑生成的小说内容预览循环逻辑生成的小说内容预览

试运行时,薛临风提醒学员注意观察循环节点的执行次数,以及输出为空的核心原因:「要么是你的写小说没有引入你的变量,要么就是线没连上。」

加餐:不用代码接入飞书多维表

课程最后,薛临风演示了如何将工作流输出保存到飞书多维表,全程不用代码节点。他坦言:「过去大家是不是有些同学做得少……我觉得连接到飞书多维表挺复杂的。」但通过插件加大模型节点的组合,可以绕开编程。

插件配置

添加飞书多维表插件,选择「在多维表中新增多条数据」功能。APP TOKEN 直接填多维表链接。records 参数是数组格式,薛临风建议去插件详情里查看官方示例——「如果你在那个插件里看到它提供了参考示例,你就会说这个插件开发得真良心」。

大模型辅助赋值

records 的格式看起来复杂,薛临风的解法是:添加一个大模型节点,让大模型根据用户输入自动生成符合格式的数据。设置三个变量:idea(用户灵感)、content(生成内容)、type(意图类型),输出类型设置为 object 的数组。

飞书多维表插件添加界面飞书多维表插件添加界面

类型字段的坑

试运行后发现一个问题:意图识别节点输出的是分类 ID(数字),而不是「诗歌」「微小说」这样的文本。薛临风提供了多种解决思路:可以用大模型节点做转换,输入意图识别的 ID,输出对应的类型名称;也可以用文本处理节点或选择器处理。他强调:「遇到什么问题,想尽办法,这里面有大量的解决办法。」

他还提醒一个容易忽略的细节:多维表一定要改名字,否则字段匹配不上。

现场问答

测试集的作用是什么?

测试集用于工作流较大时提前预设边界情况,避免反复试运行。可以创建测试集覆盖不同场景(如写诗、写微小说),保存后使用时自动填入数据。

人设与回复逻辑和工作流是什么关系?

人设与回复逻辑模式下,外部智能体控制大模型,通过人设与回复逻辑回答问题,技能里可以调用工作流执行流程。如果选择对话流,则直接进入对话流程。

二维码生成器插件生成了图片但扫不出二维码?

问题在于输出变量没有绑定正确。图片链接和二维码链接是两个不同的输出,需要在节点输出中选择正确的变量(QR code URL),并在用户界面绑定该变量。「你把菜做好倒垃圾桶了」——薛临风用这个比喻提醒学员,输出必须绑定并传递出去。

记账工作流输入类型复杂(语音、文字、图片)怎么处理?

单条工作流的输入变量只能是一种类型。解决方案有两种:一是建多条工作流分别处理;二是在输入端设置三个非必填变量,在人设与回复逻辑里判断用户发的是什么,就给对应变量赋值。同时提醒,微信客服和公众号在传递数据时有一定限制,需要自行测试。

智能体事件触发节点和 webhook 触发问题?

平台升级后相关功能有变化,薛临风表示后两节课再探讨这个问题。

要点回顾

  • 用流水线思维理解工作流:连接、配置、输入、技能设置、输出五步对应关系要理清。
  • 常见数据类型:整数、数字、字符串、布尔值、数组、对象,各有用途。
  • 分支逻辑用意图识别节点,本质是大模型分类;记得做异常处理,用变量聚合统一输出。
  • 循环逻辑适合处理重复场景:数组循环 + 中间变量(last part)+ 设置变量更新,是核心组合。
  • 大模型输出可以改为数组类型,便于后续循环逐项处理。
  • 接入飞书多维表不用写代码:插件 + 大模型节点自动生成 records 格式数据。
  • 遇到问题多思考解决路径:大模型、文本处理、选择器等节点都可以组合使用。

直播回放165 分钟

播放器来自飞书妙记 · 在新窗口打开