工作流Agent模式
更新时间:2024-10-18
通常情况下,我们通过表单配置来指定应用在不同场景下的实现不同能力,例如通过撰写角色人设使用回复风格、通过配置知识库进行RAG问答,但用户 Query 复杂的情况下,应用不一定会根据设计的逻辑进行处理,应用回复不符合预期。
因此,除了通过自主规划Agent创建应用之外,你还可以通过工作流Agent创建应用。
模式介绍
工作流Agent无需设置角色人设,通过工作流编排的形式实现应用功能。
用户的所有对话均会触发此工作流处理,适用于严格按照流程执行的任务,例如:
- 客服对话智能体,判断终端用户的意图后严格按照任务分支自动执行,无需大模型思考选择。
- mbti小助手,根据开发者编排的问题逐个提问,严格按照任务分支和结果执行后续的流程。
工作流Agent支持用户配置工作流完成整个应用的对话过程,通过开始节点的Rawquery传入问题,并以结束节点输出作为回复。开始节点和结束节点之前的完整流程构成一次对话的输入输出,以支持终端用户和应用的一次交互。
工作流Agent应用创建
工作流Agent由应用配置、工作流编排、预览与调试区域三个部分组成:
1. 应用配置
应用配置对整个应用全局生效,包含应用基本信息、记忆变量、开场白、推荐问和数字人形象等配置,你可以用过记忆变量节点对应用全局层面的记忆变量进行读取或写入。
- 应用基本信息:基本信息包含应用的名称、描述和应用头像信息,你可以点击头像上传头像,也可以点击AI生成功能进行应用头像的自动生成。
- 记忆变量:开发者可根据应用设定记忆变量,应用用户在对话过程中可以录入变量内容,每个变量支持存储一维、单个数据。在对话过程中,应用将依据存储的变量值进行答复。
- 开场白:开场白是智能体首次与用户接触时的初始对话。它简要介绍智能体的身份和功能,使用户了解如何与其有效沟通。
- 推荐问:在对话初期,智能体提供的预设问题,引导用户探索其功能和服务,帮助用户快速熟悉和利用智能体的能力。
- 数字人:为应用添加数字人形象,支持语音对话。
2. 工作流编排
工作流编排支持通过节点编排的形式决定工作流Agent每一步需要执行的任务,应用将会从开始节点起按照编排顺序执行。
- 节点:
工作流Agent和工作流组件共有节点,在工作流Agent和工作流组件的画布中都存在,在每种画布中独立使用。(节点的具体用法可参考【工作流创建组件】的说明文档):
节点名称 | 节点描述 |
---|---|
开始节点 | 工作流运行的起点,开始节点默认导入工作流所需的输入参数,包括用户输入的原始内容、用户与应用的对话历史和用户在应用对话中上传的文件变量,将会自动从用户输入中获取。 |
大模型节点 | 调用大语言模型,根据输入参数和提示词生成回复。 |
知识库节点 | 根据输入的参数,在选定的知识库中检索相关片段并召回,返回切片列表。 |
分支器节点 | 连接多个下游分支节点,若设定条件成立则运行对应的条件分支,若均不成立则运行“否则”分支。 |
API 节点 | 配置外部 API 服务,并调用该服务。 |
代码节点 | 编写代码,处理输入输出变量来生成返回值。 |
组件节点 | 添加广场内或已发布的组件,支持能力扩展与复用。 |
意图识别节点 | 识别用户的输入意图,并分配到不同分支执行。 |
记忆变量节点 | 用于写入或读取 Agent 中的记忆变量,节点与 Agent 中的记忆变量名称需要相同才能匹配。 |
结束节点 | 工作流的最终节点,输出工作流运行后的最终结果。 |
3. 预览与调试
和自主规划Agent相同,你可以在右侧调试区域进行对话调试。预览与调试区域支持对话调试应用,用户输入的内容会作为Rawquery传入开始节点,在工作流执行后输出结束节点的内容成为一轮对话。