COZE扣子平台搭建Agent智能体进阶
在前面的内容中,我们已经学习了如何使用工作流搭建一个功能复杂的agent,以及工作流调用插件 ,使工作流具备处理文件、联网搜索等能力。比如,我们有一些医疗知识文档,想通过和agent对话的方式,直接去询问医疗知识文档中的知识,这需要让agent具备访问”知识库“的能力;再比如,我想让agent作为一个签到代理,能够记录和更新用户的签到信息,同时我还可以查询有哪些用户已经签到,这需要让agent具备
一、私有数据访问
学习目标
- 掌握知识库的创建和使用
- 了解知识库检索相关的核心原理
- 掌握数据库的创建和使用
- 掌握在工作流中使用数据库进行增删改查
1.1 概述
在前面的内容中,我们已经学习了如何使用工作流搭建一个功能复杂的agent,以及工作流调用插件 ,使工作流具备处理文件、联网搜索等能力。但是在某些业务场景下,我们还需要让agent具备访问私有数据库的能力:
- 比如,我们有一些医疗知识文档,想通过和agent对话的方式,直接去询问医疗知识文档中的知识,这需要让agent具备访问”知识库“的能力;再比如,我想让agent作为一个签到代理,能够记录和更新用户的签到信息,同时我还可以查询有哪些用户已经签到,这需要让agent具备读写”数据库“的能力。
什么时候使用知识库,什么时候使用数据库:
- 知识库:知识库可以理解为是一个支持快速检索的文件夹,里面存放的都是一些文档,类比word文档、pdf文档等。适合存储文字内容
- 数据库:数据库可以理解为是一张巨大的表格,里面存放的是一些结构化的数据,类比excel表格数据。
1.2 在工作流中使用知识库
知识库功能包含两个能力,一是存储和管理外部数据的能力,二是增强检索的能力。
-
数据管理与存储
-
扣子开发平台支持从多种数据源渠道上传文本和表格数据,例如本地文档、在线数据、Notion、飞书文档等。
-
上传后,扣子可将知识内容自动切分为一个个内容片段进行存储,同时支持用户自定义内容分片规则,例如通过分段标识符、字符长度等方式进行内容分割。
-
增强检索:
-
扣子开发平台的知识功能还提供了多种检索方式来对存储的内容片段进行检索,例如使用全文检索通过关键词进行内容片段检索和召回。
-
大模型会根据召回的内容片段生成最终的回复内容。
1.2.1 创建一个知识库
(1) 新建一个知识库资源
在资源库页面点击右上角的”+资源“,选择知识库

然后,选择”创建扣子知识库“:

扣子支持使用扣子知识库和火山知识库,两者对应的分类方式不同。
使用知识库功能的第一步就是上传知识内容。上传知识内容又分为两步,首先选择要上传的知识类型和上传方式,然后对上传的内容进行切分。合理的内容分片可以提升召回内容的相关性,从而提升大模型回复问题的准确性。
在上传知识前,建议先了解不同的知识类型的使用场景和导入方式,以便更好地管理知识内容。
扣子知识库: 适用于轻量检索,低代码,轻量级应用的场景
火山知识库: 适用于企业用户,以及大规模的查询场景。
最后,选择“文本格式”以及“本地文档”。

(2) 解析文件和分段
将物料 03-大模型发展史.docx 上传到知识库:

点击下一步,进到“创建设置”页面:

支持精准解析和快速解析:
- 精准解析:支持从文档中提取图片元素、扫描件(OCR)、表格元素;支持设置过滤策略,以文档页的粒度过滤掉当前文档中不需要导入的内容。精准解析需要耗时更长的时间。
- 快速解析:不支持从文档中提取图像、表格等元素,适用于纯文本。
上传本地文档时,支持以自动分段与清洗、自定义分段和层级分段这三种方式对文本内容进行分段处理。

然后是配置存储,这里我们使用平台共享存储即可。如果应用对性能要求比较高,可以再火山引擎上购买独立的存储服务,使用云搜索服务。

最后需要给同学们强调的是:文档分段的好坏直接影响检索的效果,如何选择分段的策略非常重要。但因这部分内容原理比较复杂,不适宜在coze阶段给同学们深度讲解,所以这部分知识作为拓展内容,同学们可根据个人的情况自行学习,详见 1.3 拓展:分段详细解读部分。 如觉得晦涩难懂,可在学习完RAG阶段后复习时再来学习。
(3) 分段预览和数据处理
分段预览:
- 在使用不同的解析方式时,会有分段预览这个阶段,让用户查看分段以后的效果大概是什么样的,以便确认分段是否符合预期。如果不符合预期,可以选择上一步,重新选择。需要注意的是,在这一步处理的时候,数据并没有存储到知识库中,当确认无误,点击下一步时,才会执行数据处理

数据处理:
点击下一步后,等待服务器处理完成数据。点击确认后,知识库就完成了数据写入。

将文档写到知识库以后,我们可以看到左侧的文档列表,代表已经有哪些文档被写到了里面,它和上传时的文件名保持一致。点击文档名以后,可以看到具体的分段的信息。 这里如何分段,

1.2.2 在工作流中使用知识库
在前面的课程中,我们已经建好了知识库,并且把数据导入到了知识库中,接下来我们将在工作流中使用我们已经建好的知识库,完成一个知识库检索的demo。
(1) 创建一个知识库检索节点
首先,我们创建一个新的工作流,并添加一个“知识库检索”节点:

给知识库检索节点赋值, 把开始节点的输入传如给知识库检索, 目标知识库选择我们前面刚建好的
- 输入:只有一个query字段,且必须是str类型。 就是要去知识库检索时的查询,执行检索时,这个query会被和知识库中已有的文档段落进行匹配,并返回给用户匹配度最高的(1-20条,默认1条)
- 输出:outputList,数组类型,匹配到几个文档,就返回几条数据

细心的同学可能会注意到检索策略下面会有一堆参数,如下图。这些参数是知识库检索的核心参数,除了分段的策略以外,这些参数同样影响着知识库检索的效果,这里我们先使用默认参数,稍后将给同学们介绍参数的原理和如何设置。

(2) 使用大模型润色检索结果和兜底
有时候我们检索知识库的时候结果可能是空的,或者检索出来一些无关的段落,以及话术比较生硬等情况。所以我们在工作流中使用知识库时,不会直接把知识库检索出来的结果返回给用户,而是使用大模型做一些润色和兜底的工作,再把结果给到用户。结合知识库创建,到此位置,这就是一个简单的RAG的流程。如果是在做一个轻量级的agent,就可以考虑使用这种方式,快速实现。
接下来,我们在工作流中添加一个LLM节点,把query、查询结果都给到它,并赋予联网搜索能力

prompt如下:
你是一个知识库查询结果润色和兜底的助手,能够根据用户输入的问题对查询结果做润色。也可以在检索结果为空时,负责调用搜索插件,在互联网检索相关内容并返回给用户。
你的职责如下:
- 如果检索结果不为空,根据用户输入的问题进行优化,并使用比较大方和专业的话术回复用户。这个过程不需要联网搜索。
- 如果检索结果为空,则调用工具,在互联网检索对应的内容,并根据用户输入的问题进行优化,并使用比较大方和专业的话术回复用户
输入query:
什么是深度学习
调用大模型过程略,结果如下:
知识库检索结果:

润色以后的结果:

可以看到,经过大模型的润色,结果的可读性更好,更专业。
1.3 在工作流中使用数据库
扣子的数据库功能适用于组织和管理结构化数据,例如客户信息、产品列表、订单记录等。目前,扣子支持使用扣子官方数据库和火山数据库。
接下来,我们将以一个“绩效录入和查询agent”的一个简单的demo,帮助同学们理解怎么在工作流中使用数据库。 这个agent支持绩效数据的查询、修改、增加、删除,我们将通过意图识别节点,实现这个agent的功能。
1.3.1 创建一个数据库
在资源库中创建一个数据库,如下图:

对比如下:
- 扣子数据库:扣子官方数据库,提供了类似传统软件开发中数据库的功能,允许用户以表格结构存储数据。
- 火山数据库:火山数据库是指云数据库 MySQL 版,它是火山引擎基于开源数据库 MySQL 打造的弹性、可靠的在线关系型数据库服务。MySQL 实例使用云原生方式部署,结合本地 SSD 存储类型,提供高性能读写能力;完全兼容 MySQL 引擎,并提供实例管理、备份恢复、日志管理、监控告警、数据迁移等全套解决方案,帮助企业简化繁杂的数据库管理和运维任务,使企业有更多的时间与资源聚焦于自己的核心业务。
在这里我们使用扣子数据库。对于使用coze大部分场景来讲,扣子数据库足够应对。

(1) 设置表结构
创建数据库表以后,选择单用户模式(默认选项),这里需要注意:
- 单用户模式:开发者和用户都可以添加记录,但仅能读/修改/删除自己创建的来自同渠道的数据。
- 多用户模式:开发者和用户都可读/写/修改/删除表中来自同渠道的任何数据,由业务逻辑控制读写权限。

新建一个数据表,结构如下图:

这里需要注意:id、sys_platform、uuid、bstudio_create_time 字段为系统内置。work_code、name、performance_level 字段为我们这个案例中所使用的字段,分别代表工号、人名、绩效等级。
点击保存按钮,就完成表的创建。
(2) 导入数据
有了表结构以后,接下来我们导入数据。在 测试数据中,点击批量导入,并把我们的素材 04-绩效数据.xlsx 文件上传。这里需要注意,数据库分测试数据和线上数据两个环境,这两个环境相互隔离:
- 测试数据:用于在发布之前调试使用, 和线上数据互相不影响
- 线上数据:发布后,从应用商店、api等各种渠道调用时使用。和测试数据相互隔离

配置表结构,表头选择第1行、数据起始行选择第2行

对应原文件:

预览数据,无误后点击下一步即可。

确认数据已经完全写入:

1.3.2 在工作流中使用数据库
接下来,我们新建工作流,然后新建一个意图识别节点,如下图:

分为以下几个意图:
-
查询数据
-
查询某个人的绩效数据
-
新增数据
-
新增某个人的绩效数据
-
更新数据
-
更新某个人的绩效数据
-
删除数据
-
删除某个人的绩效数据
整体业务流程如下图:

(1) 使用LLM提取命名实体
在实现增删改查数据之前,我们需要先研究一下数据库节点的特性,首先数据库节点分为增删改查和自定义SQL5种类型。因为我们还没有学过SQL,所以这种使用方法我们先不关注,大家知道支持这种用法即可。

查看更新数据节点,如下图,在这里我们可以发现一个问题,我们查询数据需要根据: 字段名 = 某个值,这种方式去实现查询数据。但是实际用户和agent交互时往往说的是自然语言,比如:
-
用户输入: 帮我查一下张三的绩效是多少
-
或者 :帮我查一下绩效,张三的
这里就会涉及到一个问题, 帮我查一下张三的绩效是多少 -> name = ‘张三’ 这一步怎么转化,也就是说,我们需要把“帮我查一下张三的绩效是多少”这句话以及相同语义不同表达方式的语句中的人名提取出来。 这一步如何完成?

这种场景在生活中其实非常常见,比如我们在快递程序中输入一串人名、地址、手机号的一段话,点击智能识别,快递程序就可以帮助我们把这些“实体”进行解析,并填到对应的表格中。 这里就涉及到了一种自然语言处理算法中常见的方法,叫做“命名实体识别”,也可以叫做“实体提取”,这里我们了解就行,后续会有其他课程进行深入讲解。
在这里,我们可以使用大模型的能力实现这个功能。比如我们要从用户输入的input中提取人名,执行以下两步:
- 编写提示词:
说明要抽取人名实体,当返回结果只有一个字段时,不需要指定变量名;多个字段时,需要说明哪个实体对应哪个变量名。
- 指定输出:在输出的变量中,指定变量名

单独试运行该节点,结果如下:

(2) 查询数据
查询某个人的绩效数据,需要添加一个人名提取节点,和一个数据库查询节点 , 这两个节点和上个知识点中的是一致的,不做赘述。为了结果可读性更好,还需增加一个结果整理的节点,整体如下图:

结果整理提示词:
查询结果整理助手,能够根据用输入的问题和数据库中查询到的结果进行整合,并给到用户一个专业、得体的答复。
输入提示词
查询王大锤的绩效
试运行后,结果如下:

(3) 新增数据
对于新增数据,我们需要把用户输入的内容中人名、工号、绩效3个字段全部提取出来,然后再通过新增数据节点,把数据更新到数据库中。整体流程如下

如果我们要通过LLM同时提取多个实体,则需要这样操作:

对应的提示词如下:
你是一个人人名提取助手,能够根据用户输入的内容,提取出来里面的人名{name}、工号{work_code}、绩效{performance_level},以json格式返回
设置新增数据节点中的变量,把3个字段需要新增的值填入

输入以下内容,试运行流水线:
新增绩效记录, 老邢,工号1050,绩效S
去数据库中查看数据是否成功写入:

(4) 更新数据
更新数据和新增数据流程类似,区别在于更新数据需要先根据更新条件找到对应的数据,再更新这条数据中的内容。

试运行该工作流,输入提示词
更新绩效记录, 老邢,工号1050,绩效A
查看数据库中的数据,可以看到数据没有新增,而绩效字段确实是由S改为了A,说明了功能生效。

(5) 删除数据
删除数据只需要删除条件定位到这条数据,即可完成。 对于我们当前的业务场景,一般是工号+人名确定唯一一条数据,所以这里我们需要提取出来name和work_code两个字段,并形成过滤条件,

试运行该工作流,输入提示词
删除老邢的记录,工号1050
查看数据库,发现“老邢”的数据已经被删除:

1.4 总结
本章节介绍了两种访问私有数据的功能,知识库和数据库:
- 知识库:适用于知识检索,数据基本不写入,只做检索,且进行语义匹配的检索方式。
- 数据库:使用实现业务处理的Agent,对数据库进行增删改查,不支持基于语义的检索方式。
在实际工作中,需要基于不同的场景做不同的技术选型。
二、多模态和循环结构
学习目标
- 了解多模态数据常见的处理方式
- 掌握多模态数据处理插件的使用
- 掌握循环结构的使用
2.1 概述
实际在使用Coze解决业务问题的时候,除了文本以外,还有其他类型的数据(图像、音频、视频等)需要进行处理,也会有需要在工作流批量处理的需求。在本章节,我们学习如何处理不同类型的数据,以及如何使用循环进行批处理。
2.2 多模态数据处理
在使用coze实现agent的时候,经常会处理一些文字以外的输入类型,比如图片、音频、视频。在coze中,图片、音频、视频处理的方式大是通过自带的音视频数据处理节点或插件完成,这些插件大多数都是由各个大模型供应商企业提供,通过调用其他大模型实现。接下来,我们将介绍一些常见的多模态数据的厂家处理方式,在实际工作中用到时,可以快速找到对应的解决方案。
除了处理输入的不同类型的数据以外,在实际工作中,还有一些场景会基于coze生产一些音视频等数据。比较典型的就是电商业务场景,会经常使用coze实现AIGC(基于人工智能生成内容),包括:
- 文案:基于产品介绍和LLM,生成风格化的文案(比如小红书文案)
- 商品图片:基于文生图、图生图等功能,生成商品图。还可以结合一些图像编辑类的模型,一件替换模特的衣服、首饰等,节省模特成本。
- 广告语音:基于文案生成广告配音
- 广告视频:基于文案,商品图片等生成广告视频,节省 广告拍摄成本
综上所述,接下来我们将通过一些案例介绍一些比较常用的多模态数据的处理工具。
2.2.1 图像类型
在Coze平台基础使用章节中,我们已经学习过了图片理解功能,但是在Coze平台中,图片类型相关的处理能力不仅只有这一种。还包括:
(1) 文生图
在流水线中添加图像生成节点,选择模型、设置好分辨率等信息:

输入提示词:
帮我生成一张宠物狗的图片,品种是金毛,背景是在雪地里,正在玩雪。
以下是生成结果,因为我们这里使用的是字节当前最强的图片生成模型Seedream 4.0。可以看到,图片生成的效果非常逼真,光影效果好,并且还有景深,就像使用微单相机拍摄的。

(2) 图像画质提升
在工作流中添加一个图片清晰度提升节点,并把原图传入

图片提升前(素材 05-低分辨率图片.jpg):

提升后(这里为节省页面空间,做了缩小,可以右键查看原图片):

可以看到图像的分辨率得到了提升,但由于本身的素材就只能这样了。
除此以外,图像相关的还有其他的插件,比如:一键换脸、抠图等,可根据业务需求自行选择。有兴趣的同学也可以在插件商店中筛选”图像“相关的,尝试使用其他处理方式。
2.2.2 音频类型
(1) 语音识别(ASR)
语音识别(ASR, Automatic Speech Recognition)就是把语音转化成文字的算法, 在coze中使用插件即可实现。 在插件商店中搜索 ”语音识别“,包含两个版本。一个是小模型的语音识别,一个是大模型的语音识别。 区别在于识别准确率和资费上。

在工作流中添加一个”语音识别“节点:

试运行,并上传我们的素材 06-音频片段.wav:

可以看到,这里输出了素材中的内容。文字识别都是对的,但是这里的问题在于没有标点符号,可以在语音识别节点后追加一个LLM节点,用于输出润色。过程略,同学们可自行优化。
(2) 语音合成(TTS)
语音合成(Text-to-Speech)是将文本信息转化为语音信息的人工智能技术,在coze中同样可通过插件实现。在插件中搜索”语音合成“。分为两个版本
- 语音合成:使用扣子的模型实现语音合成
- 语音合成火山版:使用火山引擎上的更加专业的模型实现语音合成

在工作流中创建一个语音合成节点:

除了文本是必填项以外,其他的都是可选项。具体可根据coze官方手册使用。可以指定情绪、语种、播报人、音色等。 接下来,我们试运行工作流,输入以下提示词:
广袤的草原上,晨曦微露,成群的斑马在悠闲地散步,非洲狮正趴在巨石上享受阳光的沐浴,万物复苏,又到了动物们活跃的季节

生成音频如下(词性解说男声):
2.2.3 视频类型
视频类型的处理这里我们主要介绍视频生成。视频生成是多模态大模型近期比较新型的场景,能够根据用户输入的文字、图片,以及各类设置(如分辨率、时长等),生成视频。
在工作流中增加一个”视频生成节点“,传入数据,设置使用的模型,并设置参数,如下图:
试运行工作流,传入提示词:
核心主题与风格:拍摄一个用于电商平台的、展现奢华与时尚感的足金手镯短视频。视频整体质感高级,凸显金手镯的精致工艺与佩戴时的优雅气质 。
场景与布景: 主场景:一个光线柔和、布置现代的室内空间,可能包含简约的梳妆台或铺有浅色丝绸的桌面
。背景简洁,以突出手镯本身。 细节:可有少量高端饰品(如香水瓶、珠宝盒)作为点缀,但遵循“少即是多”的原则,避免分散注意力 。
光线:利用从窗户透进的柔和自然光,或在影棚内使用扩散照明,确保手镯光泽得到最佳呈现,减少金属表面的强烈反光 。 主体与画面:
主角:一款设计精美的足金手镯。 关键画面: 开场特写:镜头对手镯进行极致特写,清晰展现其精细花纹、质感与璀璨光泽 。
佩戴展示:一只优雅的手缓缓拿起并佩戴上手镯,展示佩戴的便捷性与上手效果 。
动态光泽:手腕轻轻转动,展示手镯在不同角度下流动的光泽 。 组合搭配(可选):可与其他简约手链或手表叠戴,展示其搭配可能性。
运镜与节奏: 镜头一(开场):缓慢推近的特写镜头,聚焦于手镯最精美的雕刻或纹理部分,瞬间抓住眼球。
镜头二(展示):平稳跟随镜头,从手镯被拿起至佩戴上手腕的过程,保持画面稳定。
镜头三(动态):环绕运动或轻微旋转拍摄佩戴手镯的手腕,多角度展现手镯形态与光泽变化。
镜头四(收尾):缓慢拉远,展示手镯作为整体造型一部分的完整效果,画面定格于优雅的姿势。
节奏:整体节奏舒缓,突出高级感和品质感。
情感与氛围:通过光影和运镜,传递金手镯所代表的“富贵象征”、“永恒承诺”或“圈住幸福”的美好寓意,营造轻奢、愉悦的情感氛围 。
点击运行,并等待。结果如下图。 这里在执行的时候时间会比较长,且消耗的token比较高。

生成的效果视频如下:
2.3 循环结构
2.3.1 什么是循环结构
循环是一种常见的控制机制,用于重复执行一系列任务,直到满足某个条件为止。扣子工作流提供循环节点,当需要重复执行一些操作,或循环处理一组数据时,可以使用循环节点实现。在实际开发中,一般用于相同任务的批量处理,比如批量生成内容、批量执行订单数据等场景。
2.3.2 循环结构的使用
接下来我们将通过一个“小红书电商营销文案批量生成工作流”案例,学习如何使用循环结构。业务流程如下图:

完整的工作流如下图

首先,用户输入一个自然语言语句,描述一下要生成哪些主体的营销文案。接下来,使用大模型提取出来主题,并生成数组格式返回

对应提示词如下:
你是一个小红书电商文案批量生成工作流主体提取助手,能够根据用户输入的内容提取出来里面包含的主体,并以数组格式返回
接下来,通过循环结构对每个主题进行逐个处理:基于LLM+联网搜索功能生成对应主体的文案。首先设置循环节点

循环体中设置大模型的输入与输出, 这里输入需要选择:item(in topics)。 类似python代码的for item in list中的iterm一样,这个iteam就是数据的每一条元素。

大模型的提示词如下
你是一个小红书文案生成专家,能够根据用输入的主题进行互联网检索,并生成小红书文风的爆款文案,作为软广内容,提升产品销售的转化率。请注意
- 文案不少于500个字
- 文案需要严格按照小红书的文风输出
接下来,试运行流水线,并输入内容:
请我帮我生成:始祖鸟Alpha SV冲锋衣、凯乐石Mont-X冲锋衣、拓路者雪鹰2.0冲锋衣的文案
调用过程略,我们查看循环体的执行结果,如下图。可以看到,这里根据输入的3个主题,生成了3个对应的内容


最终,我们预览一下生成的文案内容,可以看到,它的文案遵从了小红书常见的:

这里为什么不让大模型一次性处理输入的主体,而是通过循环一条一条处理? 这是因为随着输入的内容变多,模型要处理的数据变得很多以后,效果就会有较大的下降,这就好比让一个人去写一个2万字的文章一定比2百字的质量会下降一个道理。所以我们在这里把一个处理3个主题的任务拆成了3个一次处理1个主题的任务机,减少了模型需要处理的数据量,从而保证效果。请同学们在实际工作中遵从该原则。
三、Multi-Agent多智能体
- 了解什么是多智能体
- 掌握多智能体的创建方式
- 了解单Agent自主规划模式
3.1 什么是Multi-Agent
在单 Agent 模式下处理复杂任务时,你必须编写非常详细和冗长的提示词,而且你可能需要添加各种插件和工作流等,这增加了调试智能体的复杂性。调试时任何一处细节改动,都有可能影响到智能体的整体功能,实际处理用户任务时,处理结果可能与预期效果有较大出入。
为了解决上述问题,扣子提供了多 Agent 模式(也就是multi-agent),该模式下你可以为智能体添加多个 Agent,并连接、配置各个 Agent 节点,通过多节点之间的分工协作来高效解复杂的用户任务。
例如我们要构建一个类似于“小爱同学”的语音助手的智能体来控制各类设备(比如空调、电视、电饭煲等), 每个设备的操作和交互方式又有很多种, 如果把这些功能全部通过一个agent来进行控制,那么这个agent的复杂度将会非常复杂。这里因为每个设备之间的功能都是独立互不干扰的,我们可以根据设备的不同,拆分成多个agent:
- 一个入口用来判断用户要控制什么设备,并调用对应的具体设备的agent。这个总的agent我们把它叫做 “父agent” 或者 “主agent”,主要作为协调者,充当“总指挥”,负责接收初始任务、进行意图识别和任务分解。
- 具体设备的agent则可以处理这个设备下所有支持的具体的操作和交互,根据设备不同,agent的实现也是不同的。这个具体设备的agent我们把它叫做“子agent”或者叫 “从agent”,职责单一且明确。

这就是一个经典的主从模式或者父子模式的多agent结构。
3.2 创建一个Multi-Agent智能体
接下来我们将通过一个“多语言翻译”案例来演示如何创建一个Multi-Agent智能体。
3.2.1 创建一个Multi-Agent智能体
首先,我们创建一个智能体,命名和介绍如下:

在这里,我们需要切换到多Agents模式。

可以看到,多Agent的执行过程有点类似于工作流,接下来我们查看一下在多Agents模式下支持哪些节点类型,添加“添加节点”

分为一下3类节点:
- Agent:Agent 节点是可以独立执行任务的智能实体。默认情况下,智能体内添加了使用智能体名称的 Agent。功能相对比较简单,仅支持提示词和技能两个功能。没法实现类似工作流的功能,较难实现比较复杂的业务流程,因此更适合用在对话类的业务上。
- 工作空间智能体:将已发布的、可以执行特定任务的单 Agent 智能体添加为节点。 我们可以把已经集成了各类插件、业务逻辑的复杂工作流的智能体作为其中一个Agent。在实际工作中,需要使用到多Agents的时候往往是功能非常复杂的时候, 将已经发布到工作空间的多个复杂功能Agent结合一个父Agent做路由,往往是更常见的做法。
- 全局跳转条件:适用于所有 Agent 的全局条件。只要用户输入满足该节点的条件,则会立即跳转到 Agent。用于实现复杂Agent的流程控制。
3.2.2 拆分Agent和实现Agent
在思考如何规划和拆分Agent之前,我们先需要知道当前的业务场景是怎么样的,对于“多语言翻译”,它的业务逻辑如下: 用输入一段文本,并指定要翻译的目标语言,智能体最终返回用户要求的目标语言的译文,支持中文、汉语、日语三种。
案例业务逻辑比较简单,单LLM+提示词即可实现较好效果,达不到需要使用multi-agent的场景。这里不必纠结,我们的目的是基于这个案例,学会如何使用multi-agent功能。
我们可以通过父子结构拆分,父Agent负责分发翻译任务,每个语言的翻译都有一个对应的Agent进行翻译:
-
父Agent:分发翻译任务,将用户输入翻译为目标语言,
-
中文Agent:如果目标语言是中文,则调用此Agent实现翻译
-
韩语Agent:如果目标语言是韩语,则调用此Agent实现翻译
-
日语Agent:如果目标语言是日语,则调用此Agent实现翻译
如下图:

调试Agent,输入以下内容:
“Good morning” in Chinese
执行结果如下图:

更多推荐




所有评论(0)