正如任何强大的工具一样,要让我们的 AI 智能体真正胜任更复杂、更多样化的任务,还需要掌握一些进阶技巧。本期内容,我们将深入学习如何利用 Coze 的核心能力之一——工作流(Workflow),让你的智能体拥有处理复杂问题的“超级大脑”。
我们将分两个部分来讲解:
-
理论篇: 深入理解什么是工作流,以及在构建智能体时,何时、为何需要用到工作流。
-
实践篇: 结合具体案例,手把手教你在 Coze 平台中如何搭建和优化复杂的工作流。
准备好了吗?让我们开始探索 Coze 工作流的奥秘!
1. 理论深挖:理解智能体工作流的本质与价值
1.1 什么是工作流(Workflow)?
我们可以用一个简单的日常例子来理解工作流。想象一下,你的目标是从深圳前往上海。实现这个目标有多种方式:飞机、高铁、汽车。选择哪种方式取决于你的具体需求(比如是否紧急、是否需要沿途风景等)。
但无论你选择哪种方式,都需要遵循一系列固定的步骤或流程。例如,选择飞机,你需要:前往机场 -> 过安检 -> 办理值机/登机 -> 飞行 -> 落地取行李 -> 出机场。这一系列的步骤,就是一个为了达成“从深圳到上海”这个目标的工作流。
在这个流程中,每一个步骤(前往机场、过安检等)都可以看作是完成一个特定任务的节点。因此,我们可以给工作流下一个定义:
工作流(Workflow)就是一组预定义的、标准化的步骤或节点的集合,用于完成特定的任务并达到预期的目标。
工作流的概念并非新鲜事物,它已经在很多产品和领域被广泛应用:
-
自动化平台: 像 Zapier 或 Make 这样的平台,用户通过拖拽连接不同的应用节点,搭建工作流来自动化处理重复性任务,比如“当 Google Docs 中有新内容时,自动发送一封邮件”。
-
创意设计工具: 节点式的图片生成工具 ComfyUI,用户通过连接不同的模型、控制、后处理节点搭建工作流,输入不同的提示词,就能生成风格和质量一致但内容不同的图片,极大地提高了出图效率和质量。
1.2 为什么 Coze 机器人需要工作流?
正如我们在上期提到的,Coze 搭建的机器人本质上就是一个 Agent 智能体。而一个 Agent 的关键构成可以用一个公式概括:
Agent = 大语言模型 (LLM) + 记忆 + 感知与反思 + 规划 + 工具的使用
其中,大语言模型(LLM)是驱动智能体的核心,堪称智能体的“大脑”。我们通过提示词 (Prompt) 与 LLM 交互,引导它完成任务。提示词的质量直接影响 LLM 的输出效果,甚至催生了“提示词工程师”这一职业。
然而,当我们需要智能体处理的任务越来越复杂时,问题随之而来:
-
Prompt 变得冗长: 为了详细描述复杂场景的需求、背景、约束条件甚至解决思路,我们的提示词会变得非常长,轻松达到几百甚至上千字。
-
LLM 能力边界与上下文限制: 当前的大语言模型,无论多么强大,都有其能力边界和上下文窗口 (Context Window) 的限制。过长的提示词会“挤占”上下文空间,导致模型难以捕捉所有关键信息,推理能力下降,最终使得输出质量不稳定甚至错误。
如何突破 LLM 自身的局限,让智能体能够高质量地完成复杂任务呢?目前主要有两条路径:
-
提升模型本身能力: 这属于模型层面的优化,比如提升模型的理解、推理能力,或像 Google 最新研究那样,探索突破上下文长度限制的技术。这是模型厂商正在努力的方向。
-
任务拆解与协作: 将复杂的任务分解成多个更小、更易于管理的子任务。通过 LLM 或其他工具依次或并行完成这些子任务,最终整合结果来达成总目标。而工作流,正是实现这种复杂任务拆解与协作的绝佳方式。
1.3 理论小结:何时需要搭建工作流?
结合以上分析,我们可以总结出在构建 Coze 智能体时,需要考虑搭建工作流的场景:
-
场景 1:处理标准化、有明确路径的任务。 当你有清晰的需求和实现该需求的固定、可拆解的步骤时,通过搭建工作流可以将这些步骤固化下来,实现流程化、标准化的处理,提高效率和稳定性。
-
场景 2:处理复杂任务,突破 LLM 单次推理限制。 当任务过于复杂,单靠一个长 Prompt 难以稳定获得高质量结果时,可以将任务分解为多个子任务,利用工作流连接不同的节点(包括多次调用 LLM、调用不同的工具/插件、处理数据等),分步完成,最终高质量地达成目标。
理解了工作流的理论基础和应用价值后,接下来,我们将进入激动人心的实操环节,看看如何在 Coze 中将这些理论转化为实际的智能体能力。
2. 实战演练:在 Coze 中搭建你的智能体超级大脑
Coze 提供了一个直观的工作流编辑界面,让你能够通过拖拽和连接节点的方式构建复杂流程。
2.1 工作流界面初识与基础操作
-
进入 Workflow 模块: 在 Coze 平台的左侧导航栏找到并点击 "Workflow"。
-
创建或添加: 点击加号 "+" 可以选择“添加已发布的工作流”或“创建工作流”。我们选择“创建工作流”。
-
命名与描述: 为你的工作流起一个清晰的名称和描述,方便后续管理和调用。
-
编辑界面: 进入编辑页面后,你会看到:
-
左侧区域:节点选择。 包含各种可用的节点类型,如:大语言模型 (LLM)、插件 (Plugins)、代码 (Code)、知识库 (Knowledge)、工作流 (Workflow - 嵌套调用)、条件 (Condition) 等。这些是构成工作流的基本单元。
-
右侧区域:编辑画布。 这是你搭建工作流的主区域,默认包含两个初始节点:开始 (Start) 和 结束 (End)。
-
开始节点: 代表用户输入或工作流的起始数据。你可以为输入字段定义名称,方便后续节点引用。
-
结束节点: 代表工作流的最终输出结果。
-
-
-
连接节点: 节点之间通过连接线表示数据流或控制流。一个简单的连接 Start -> End 就构成了一个最基础的工作流,输入什么就输出什么。你可以点击右上角的“测试”按钮,输入内容进行验证。
2.2 案例实操 1:搭建一个优化的图片生成工作流
现在,我们尝试搭建一个能够接收中文描述,并生成高质量图片的复杂工作流。
需求分析: 用户输入中文描述 -> 生成高质量图片。
实现思路:
-
图片生成需要图片生成模型/插件(如 DALLE-3)。
-
直接使用中文 Prompt 可能效果不佳,且 Prompt 丰富度会影响图片质量。
-
因此,我们需要一个步骤将中文翻译成英文,提取关键词,并优化成更适合图片生成的 Prompt。
工作流搭建步骤:
-
添加图片生成节点: 在左侧节点选择区域找到并添加一个图片生成插件节点,例如官方的 DALLE 3。该节点会有 Input(输入)和 Output(输出)区域。Input 通常包含 Prompt(文本描述)和 Ratio(图片比例)等字段。
-
添加大语言模型节点: 在 DALLE 3 节点之前,添加一个 大语言模型 (LLM) 节点。选择一个合适的模型,如 GPT-4o。
-
连接与配置 LLM 节点:
-
将 开始节点 连接到 LLM 节点。
-
在 LLM 节点的 Prompt 配置区,输入指令,例如:“请帮我把用户输入的内容翻译成英文,并提取输入内容的关键词。”
-
你可以通过点击右上角的播放按钮单独测试这个 LLM 节点,输入一段中文描述,查看其输出是否符合预期(翻译 + 关键词)。
-
-
添加提示词优化插件节点: 为了进一步提升 Prompt 质量,我们在 LLM 节点之后,添加一个 Prompt Perfect 插件节点(这个插件能针对不同的模型优化提示词)。
-
连接与配置 Prompt Perfect 节点:
-
将 LLM 节点 连接到 Prompt Perfect 节点。
-
配置 Prompt Perfect 的 Input:
-
Prompt 字段:选择“引用 (Reference)”,引用上一个 LLM 节点 输出的“关键词”或“翻译后的英文”。
-
Target Model 字段:选择“输入 (Input)”,直接填写目标模型名称,如 DALLE。
-
-
-
连接 DALLE 3 节点:
-
将 Prompt Perfect 节点 连接到 DALLE 3 节点。
-
配置 DALLE 3 的 Input:
-
Prompt 字段:选择“引用”,引用 Prompt Perfect 节点 优化后的提示词输出。
-
Ratio 字段:可以选择“输入”固定一个比例(如 1:1),或者根据用户输入引用一个比例字段。
-
-
-
连接结束节点: 将 DALLE 3 节点 连接到 结束节点。结束节点的输入应引用 DALLE 3 输出的图片链接字段。
最终工作流结构:
Start -> LLM (翻译/关键词) -> Prompt Perfect (优化 Prompt) -> DALLE 3 (生成图片) -> End
测试: 点击右上角的“测试”按钮,输入中文描述(例如:“在草地上翩翩起舞的桂花乌龙茶”),观察各节点执行状态,查看最终生成的图片效果。通过这样的工作流,我们将复杂的“理解中文 -> 生成高质量图片”任务分解并通过多个节点协作完成。
2.3 案例实操 2:快速过一遍信息检索与总结工作流
再来看一个更复杂的例子——信息检索与总结工作流。这个工作流旨在根据用户的问题,在多个来源(如 Google、Twitter、arXiv 论文网站)检索信息,并进行总结提炼后输出。
需求分析: 用户输入检索问题 -> 在多个平台搜索 -> 汇总并总结信息 -> 输出中文总结报告。
实现思路:
-
需要并行调用多个搜索插件。
-
搜索结果原始且结构复杂,需要清洗和提取关键信息。
-
需要用 LLM 对提取后的信息进行总结和翻译。
工作流搭建概述:
-
起始与初步处理: Start 节点接收用户问题。连接到一个 LLM 节点进行初步处理,例如将中文问题翻译成英文关键词,方便后续搜索。
-
并行搜索: 从第一个 LLM 节点的输出引出多条连接,分别连接到 Google Search、Twitter Search、arXiv Search 等多个搜索插件节点。这些节点会并行执行检索任务。
-
数据清洗与提取(Code 节点登场): 搜索插件返回的数据通常包含很多字段且结构嵌套。为了提取我们真正关心的内容(例如 Twitter 的用户名、内容、链接),我们在每个搜索插件节点后连接一个 代码 (Code) 节点。
-
Code 节点的使用: Coze 的 Code 节点支持 Python 等语言,用于对节点间传递的数据进行编程处理。即使你不懂编程,也可以利用其内置的“使用 AI 编辑”功能! 你只需要告诉 AI 你想从上一个节点的哪个字段(可以通过单节点测试查看输出结构)中提取什么内容,并希望将结果整理成什么格式,AI 就能自动生成相应的代码。这是一个非常强大的功能,大大降低了数据处理门槛。
-
-
信息整合与总结(最终 LLM 节点): 在所有 Code 节点之后,连接到一个 最终的 LLM 节点。这个 LLM 节点的输入将包含用户的原始问题以及从各个来源经过 Code 节点清洗提取后的关键信息。
-
在这个最终 LLM 节点的 Prompt 中,指示模型综合这些信息,进行清晰、专业的总结,提炼要点,并翻译成中文输出给用户。
-
-
结束节点的输出: 连接到 结束节点。
结束节点输出模式的补充:
这里需要特别区分一下 Bot 中使用的外部 LLM 和 工作流中使用的内部 LLM 的关系和结束节点的输出模式。
-
外部 Bot LLM: 部署在机器人层面的 LLM。它有两个主要职责:一是理解用户意图,判断用户问题需要调用哪个工作流或 Bot 的其他技能;二是作为直接与用户对话的模型,对工作流的最终输出进行润色或直接回复。它更像是一个负责任务分配和对外沟通的“CEO”。
-
工作流内部 LLM: 工作流中的 LLM 节点。它专注于完成工作流中特定的子任务,如翻译、分类、总结、提取信息等。它更像是一个执行具体任务的“员工”。
结束节点 (End Node) 的输出模式:
-
模式 1 (默认):将工作流输出给 Bot LLM 进一步处理。 工作流的最终结果不会直接展示给用户,而是先传递给外部 Bot 的 LLM,让它根据对话上下文进行最后的加工、润色后再回复用户。适用于需要 LLM 进一步整合、判断或调整语气的情况。
-
模式 2:将工作流输出直接呈现给用户。 工作流的最终结果直接作为机器人的回复发送给用户。适用于工作流的输出已经非常完善、格式化,不需要 Bot LLM 额外处理的情况(如我们的信息检索例子,直接输出总结好的报告)。你可以在输出区域中设置输出的格式。
在我们的信息检索案例中,由于最终 LLM 节点已经完成了高质量的总结和格式化,通常会选择模式 2,将工作流的输出直接呈现给用户。
整体流程示意 (简化):
Start (用户问题) -> LLM (翻译/关键词) -> [ Google Search -> Code ] 并行 [ Twitter Search -> Code ] 并行 [ arXiv Search -> Code ] -> LLM (综合总结/翻译) -> End (直接输出结果)
通过这样的工作流,我们成功地将复杂的“跨平台检索并总结信息”任务拆解并高效执行。在 Coze 中测试该工作流,输入一个问题(例如:“我想了解什么是 ComfyUI,如何学习 ComfyUI?”),你可以清晰地看到各节点如何协同工作,最终输出一份结构清晰、内容相关的总结报告,甚至附带了相关的学习链接,非常实用。
3. 总结与展望
通过本期内容的学习,我们不仅理解了工作流在 Agent 智能体中的重要性——它是突破 LLM 能力限制、高效处理复杂任务的利器,更是掌握了在 Coze 平台中搭建工作流的实操技巧。
我们认识了工作流的基本构成(节点),学习了如何利用不同的节点类型(LLM、插件、Code 等)来构建流程,并通过实际案例演示了如何将复杂任务拆解,利用工作流实现优化的图片生成和高效的信息检索与总结。特别是 Code 节点的 AI 辅助编码功能,极大地降低了技术门槛,让非程序员也能进行数据处理。
工作流是 Coze 平台赋予智能体“规划”与“工具使用”能力的关键。掌握了它,你就能够搭建出更加强大、智能,能够应对真实世界复杂挑战的 AI 应用。
Coze 平台还在不断发展完善,提供了越来越多的节点类型和更灵活的配置选项。去勇敢尝试吧!将你的想法转化为一个个强大而有趣的工作流,让你的 AI 智能体真正成为你的得力助手。