用途
Workflow Orchestrator 技能用于执行声明式工作流文件,编排多个 PopeBot 智能体作业。它将 OpenProse 风格的工作流编排引入 PopeBot 的基于作业的架构中。
当用户希望按顺序或并行运行多个智能体作业、需要协调有依赖关系的任务、希望创建可复用的自动化流水线、要求运行 .workflow 文件,或提到「workflow orchestration」「multi-agent workflow」时,适合启用本技能。
工作流文件格式
工作流使用类似 YAML 的语法,包含清晰的层级结构,主要字段包括:
- name:工作流名称
- description:描述
- inputs:输入参数,可设置 required 和 description
- agents:定义各智能体及其 personality(角色设定)
- steps:执行步骤,支持串行、并行(parallel)、条件(if)等
- outputs:输出变量列表
主要能力
- 顺序执行:步骤按顺序依次运行,等待前一步完成。
- 并行执行:parallel 块中的多个步骤并发启动多个作业。
- 条件执行:可通过 if 条件(如判断前序步骤是否成功、审批是否通过)控制步骤是否运行。
- 审批门(Approval Gates):可插入 type: approval 的审批检查点,支持 on_approve 与 on_reject 分支。
- 错误处理:支持 retry(如 max_attempts、backoff: exponential)和 on_error 处理步骤。
- 变量替换:使用 {{variable_name}} 引用工作流输入或步骤输出。
- 作业管理:每个步骤创建一个 PopeBot 作业,作业创建在 job/workflow-{workflow_id}-{step_name} 分支,结果存储在 /job/tmp/workflows/{workflow_id}/{step_name}/,失败步骤可单独重试,工作流可暂停等待审批。
- 状态管理:状态持久化在 /job/tmp/workflows/{workflow_id}/state.json,步骤结果在 steps/,日志在 logs/。
使用方式
命令示例:
- 运行本地工作流:workflow run my-workflow.workflow
- 带输入运行:workflow run my-workflow.workflow --input pr_number=123
- 运行远程工作流:workflow run https://example.com/workflow.workflow
- 校验语法:workflow compile my-workflow.workflow
- 列出工作流:workflow list
执行流程:解析工作流文件、校验语法和必填输入、创建带有自定义 personality 的智能体定义、根据依赖执行步骤(顺序、并行、条件)、收集各步骤输出、报告最终结果。
可通过 PopeBot 聊天触发(/workflow run my-workflow.workflow),或通过 API:
curl -X POST /api/create-job
-H "x-api-key: YOUR_KEY"
-d '{"job": "workflow run my-workflow.workflow --input key=value"}'
可选配置:在 config/WORKFLOWS.json 中设置 default_timeout、max_parallel_jobs、workspace、notification_channel。
示例
- 多智能体研究:并行执行技术视角与市场视角研究,再由分析智能体综合输出最终报告。
- CI/CD 流水线:包含构建、并行安全扫描、审批门、条件部署等步骤。
适用场景
- 需要运行多个智能体作业的场景(串行或并行)
- 任务之间存在依赖关系,需要协调
- 构建可复用的自动化流水线
限制
根据资料,以下情况不适合使用本技能:
- 单个简单任务(应使用直接的智能体作业)
- 需要持续人工交互的任务
- 实时数据处理
- 30 秒以内的任务(开销不合理)
文件位置
- 技能文件:与本 SKILL.md 同目录,用于文档与执行器
- 用户工作流:工作区中的 *.workflow 文件
- 状态:/job/tmp/workflows/
- 配置:config/WORKFLOWS.json(可选),用于全局设置
关于收费、价格、平台支持范围及具体效果,资料暂未提供。