BANZ文档

6.2 编辑工作流

本页内容

工作流在编辑器的画布上画:从左边拖进步骤,连上线,再给每一步填设置。这一页讲编辑器怎么用、各种步骤要填什么、怎么检查和发布,以及怎么试运行。

打开编辑器

在工作流页点“编辑”,或在工作流列表里右键选“编辑”。编辑器在自己的标签页里打开,可以同时开好几个。

没有编辑权限时画布是只读的,提示“只有工作流的编辑者可以修改它。”;已归档的工作流要先恢复才能编辑。

编辑器全貌:左边组件库,右边是多步骤的图
编辑器全貌:左边组件库,右边是多步骤的图

工具栏

从左到右:

  • “返回工作流页面”;
  • 当前已发布的版本,以及保存状态:“有未保存的修改”“保存中…”“已在别处修改”;
  • 撤销、重做;
  • “检查”,后面带问题数,例如“检查 2”,点开看具体是哪一步、什么问题(窗口窄时在“更多”里显示为“检查:2 个问题”);
  • “试运行”“保存”“发布 v2”这类按钮(数字是下一个版本号)。

窗口很窄时,这些按钮收进“更多”⋯ 里。

加步骤

左边是“组件”库,按用途分组:

分组 步骤
工作 智能体、模型、子工作流
人 人工
逻辑 条件、循环
数据 模板
结束 结束
画布 便签、分组
你的智能体 你的每个 agent,拖进来直接生成一个由它来做的 agent 步骤

把组件拖到画布上,或选中后按回车。空画布上会提示:从组件中拖入,或按 N。组件库顶部可以搜索;按 [ 显示或隐藏组件库。

“开始”不在组件库里:每个工作流恰好有一个,新建时就有。

连线

  • 从一步的出口拖到另一步上。条件有“成立 / 不成立”两个出口,人工有“通过 / 驳回 / 超时”三个出口。
  • 也可以在步骤面板的“后续”里点“在后面添加步骤”或“连接到…”。
  • 点一条连线可以“插入步骤”或“删除连线”。

连不上时会说明原因,例如“开始之前不能有步骤”“结束之后不能有步骤”“这样会形成循环”。工作流不能绕回前面的步骤;要对多项重复做,用“循环”。

填每一步的设置

点一步打开它的面板。每一步都有一个 ID(小写字母、数字和 _,以字母开头,最多 40 个),后面的步骤用它来引用这一步的结果。改 ID 时会提示同时改掉几处引用。

在提示词、条件这类地方,用 {{…}} 引用前面的值,例如 {{inputs.page}} 是开始时填的“page”,{{check.summary}} 是“check”这一步交回的“summary”。不记得名字时点“插入值”挑选;引用写错了会标出来。

步骤 要填的
开始 “输入”:每次运行开始时要给的值,每个写名称和类型:string(文字)、number(数字)、boolean(是或否)、string[](文字列表)、object(对象)
智能体 “智能体”:由谁来做,你的,或别人开放给你的(写成“所有者:agent 名”,例如 zhouming:后端助手);“提示词”:要做什么;“交回”:做完要交回哪些字段,默认是一段 summary,例如交回 ok(是否通过)和 summary(一段说明),后面的条件就能用 check.ok;“工作树”(即 worktree):默认打开,每次尝试都在新的工作树里做;“工作树基点”:工作树从哪个分支或提交开始,留空就用文件夹当前的提交;“等待”:每次最多做多久,1 分钟到 168 小时,不填默认 12 小时;“尝试次数”:1 到 5;“失败时”:让运行失败,或继续
模型 “提示词”、回答包含的字段、“回答上限”(256 到 131072 个 token,不填用默认)、“尝试次数”、“失败时”
人工 “决定人”:留空就由发起这次运行的人决定;“询问”:要问他什么;“字段”:通过时要填写的内容;“等待”:多久内要决定,1 分钟到 168 小时,不填默认 12 小时;过了时限,接了“超时”出口就走超时,没接这一步就失败
条件 “条件”:一个比较,例如 check.ok == true,或 plan.count > 3 and review.ok == true
子工作流 “工作流”:本项目里另一个已发布的工作流;“版本”:留空就在发布时取它的最新版本;“输入”
循环 “遍历”:一个列表,例如 {{plan.items}};对每一项运行的“工作流”;“收集每一项的”结果。里面可以用 {{each.item}} 和 {{each.index}}
模板 “输出”:每个值的名称和模板,用已有的值拼出文字,不调用模型
结束 “结束方式”:完成或失败;“输出”:这次运行产出什么
便签 说明文字,最多 4000 字,可以选色调:普通、强调、良好、注意、危险
分组 分组名称,把属于一起的步骤框在一个标题下
agent 步骤的设置面板
agent 步骤的设置面板

例:画出“上线前评审”

  1. 从组件库把“智能体”拖到“开始”后面,ID 改成 check,“智能体”选“前端助手”,“提示词”写“检查 {{inputs.page}} 能否上线,列出问题”,“交回”加 ok 和 summary 两个字段。在“开始”的“输入”里加一个 page(string)。
  2. 在 check 后面接一个“条件”,填 check.ok == true。
  3. 从“成立”出口接一个“人工”,“询问”写“{{check.summary}},可以上线吗?”,“决定人”留空。
  4. 从“人工”的“通过”出口接一个“结束”,结束方式选完成;从“条件”的“不成立”出口和“人工”的“驳回”出口各接一个“结束”,结束方式选失败。
  5. 按 Cmd+S 保存,点“试运行”跑一遍,没问题再点“发布 v1”。

检查、保存、发布

  • 检查:工具栏的“检查”按钮带着问题数,随时列出图上的问题,比如有一步没接上、引用了不存在的值。点一条跳到那一步。
  • 保存:点“保存”或按 Cmd+S(Windows/Linux 上是 Ctrl+S)。保存的是草稿,别人运行的仍是已发布的版本。
  • 发布:点“发布 v2”这类按钮。草稿要先保存,检查不能有问题。发布后的版本不会再变;已经在跑的运行按它启动时的版本跑完。

试运行

改完想马上看效果,不用发布:

  1. 点工具栏的“试运行”(或按 Alt+R)。草稿会先保存,右边打开运行面板。
  2. 选在哪个主题里跑,填开始的输入。“更早 / 更晚”可以翻出最近十次填过的输入。
  3. 运行中有三个标签:追踪(每一步走到哪)、结果、输入。面板上可以停止、打开运行页面、再次运行或开一个新的运行。

画布在试运行之后又改过时,会提示“画布在此次运行后已修改。”每人每个工作流同时只能有一个试运行。试运行在列表栏和运行列表里标着“试运行”。

只跑一步:在某一步的面板里点“运行此步”。它单独运行已保存草稿中的这一步,它要读的值在这里填写,之后的步骤不会运行。“最近运行”里显示这一步最近一次的结果。有的步骤不能单独运行,会提示“这一步不能单独运行”。

试运行面板的追踪标签,一步完成一步在跑
试运行面板的追踪标签,一步完成一步在跑

快捷键

在编辑器里按 ? 打开“键盘快捷键”。常用的几个:

按键 作用
N 添加步骤
Shift+N 添加便签
F2 重命名
Delete 或 Backspace 删除选中的
Cmd+Z 撤销
Cmd+Shift+Z 或 Cmd+Y 重做
Cmd+C / Cmd+V / Cmd+D 复制 / 粘贴 / 复制一份
Cmd+G / Cmd+Shift+G 编组 / 取消编组
Cmd+S 保存
Alt+R 试运行
Shift+Alt+T 自动整理布局
Tab 在所选步骤后添加步骤
Alt+← / Alt+→ 在步骤之间移动
1 / 0 适应画布 / 缩放到 100%
+ / - 放大 / 缩小
空格加拖动 平移画布

Windows/Linux 上把 Cmd 换成 Ctrl。

手机上没有组件库,点 + 弹出面板来添加步骤。

Esc

↑↓选择↵打开Esc关闭