bb Workflows 实战把任务扇出到多个 Agent 线程的并行编排指南【免费下载链接】bbThe agent IDE that builds itself项目地址: https://gitcode.com/gh_mirrors/bb14/bbbb Workflows 是 bbThe agent IDE that builds itself内置的多 Agent 并行编排插件你用一段 JavaScript 脚本描述控制流它就能把任务扇出fan-out到多个并行的 Agent 线程worker threads自动汇总结构化结果。脚本在 QuickJS 沙箱中运行没有文件、网络、Shell 权限——真正的干活由普通 BB 线程完成。适合审查、研究、批量验证等一个 Agent 做不过来的场景。 Workflows 是什么一个插件、三个界面Workflows 是一个按需启用的内置插件builtin:workflows全新安装的 BB 中默认关闭。启用后你每次运行一个工作流都会得到一个持久化的 run IDwfr_…并在三个地方看到它的进度界面位置能看到什么实时运行卡片聊天流内运行状态、声明的阶段phases、活跃 worker、已用时间状态卡片线程输入框上方当前线程所有活跃 run、各阶段进度可就地停止Workflow run 面板线程右侧面板每个阶段、每次 agent 调用worker 可直接跳转对应线程运行结束后结果会以agent-only输入送回发起线程不打扰用户时间线。 五分钟上手最小工作流每个工作流脚本都是JavaScript不是 TypeScript且必须以一个纯字面量meta对象开头。下面是一个两阶段的最小示例——先审查、再验证export const meta { name: review-change, description: Review a change and verify the findings, phases: [{ title: Review }, { title: Verify }], }; const results await pipeline( args.items, (item) agent(Review item, { phase: Review }), (review, item) agent(Verify this review: review, { phase: Verify }), ); return results;三个要点meta必须是纯字面量name小写 kebab-case、description必填可选phases有序、标题唯一。args是入口参数以真实 JSON 值传入不要传 JSON 字符串用来参数化你的工作流。沙箱限制脚本内没有文件系统、Shell、网络、import、时钟、随机数这些会破坏断点续跑用args传入时间戳即可。官方文档README.md、PLUGIN_OVERVIEW.md 两大原语pipeline 与 parallelWorkflows 的编排能力来自两个核心函数定义见 src/types.ts 的WorkflowCapabilitiespipeline()—— 多阶段任务的默认选择每个 item独立地流过所有阶段阶段之间没有屏障item A 可以已经在第 3 阶段而 item B 还在第 1 阶段。总耗时 最慢的单条链路而不是每阶段最慢者之和。parallel()—— 需要全部结果时才用的屏障parallel()会等待所有任务返回是一个屏障barrier。只有在下一阶段确实需要上一阶段的全部结果时才使用例如跨全部结果去重/合并后再做昂贵的下游处理结果为空就提前退出0 个 bug → 跳过验证下一阶段提示词需要引用其他发现做对比。官方给了一个实用的异味测试如果你写的是parallel → 纯转换 → parallel中间转换不依赖跨 item 上下文就应该改写进 pipeline 的一个阶段里。拿不准时就用 pipeline。详见 orchestration.md。 扇出到多个 Agentagent() 的用法agent(prompt, opts?)是工作流向外部借算力的唯一方式——它启动一个普通 BB worker 线程保留其正常的工具与权限worker 线程对侧边栏隐藏不产生未读提醒。常用选项phase/label把调用归入进度分组、自定义显示名。在pipeline()/parallel()内部请显式传phase避免全局phase()状态的竞态。schemaJSON Schema。带上它worker 就必须通过bb_workflow_result工具提交校验过的结构化值agent()直接返回该值无需你自己解析最多两次纠正重试。provider/model/reasoningLevel覆盖模型选择三者必须同时提供部分覆盖会被拒绝且会被立即对照在线 provider 目录校验。结构化输出的完整写法见 authoring.md 第 125–165 行。✂️ 进阶编排子工作流与预算子工作流workflow(nameOrRef, args)可内联调用另一个工作流按.bb/workflows/name.js解析或内联脚本父/子共享同一 FIFO agent 调度器、调用预算、取消信号只允许一层嵌套子工作流里再调用会抛错。预算budget()返回本次 run 不可变的 agent 调用上限与并发上限可用于脚本内自我节制。并发旋钮插件设置maxActiveRuns全局同时运行的 run 数、maxConcurrentAgents单 run 内并行 agent 数、maxAgentCalls总调用预算、totalRunTimeoutMs、retentionDays。 断点续跑resume 机制这是 Workflows 对新手最友好的确定性卖点run 的每次 agent 调用都会持久化存于插件自己的 SQLite 库。中断、重启甚至修改脚本后用--resume run-id重新启动时已成功调用的最长不变前缀直接返回缓存结果第一个被修改/新增/失败的调用起其后全部实时重跑并行调用也按确定性顺序获得缓存身份所以并发不会破坏回放瞬态的 provider 故障限流、5xx、网络会自动重试两次带退避认证/配置/Schema 类确定性错误不重试。相关规则见 runs.md 与 runtime.ts 的实现。 命令行速查所有命令都在 BB 项目线程内执行输出统一为 JSONbb workflows validate --file .bb/workflows/review.js # 先校验 bb workflows run --file .bb/workflows/review.js --args {items:[]} bb workflows status run-id # 紧凑进度 bb workflows history run-id --cursor 0 --limit 100 # 分页明细 bb workflows list --limit 20 # 运行列表 bb workflows stop run-id # 停止小贴士history输出可能包含完整提示词与结果建议重定向到$BB_THREAD_STORAGE下的 JSONL 文件再查看而不是直接打进会话记录完整流程见 README.md 第 193–216 行。✅ 收尾清单在把脚本交给bb workflows run之前照这张清单自检一遍源自 SKILL.md 的 Quality check 小节用户确实需要多 Agent 编排普通任务不要用工作流bb workflows validate通过显式指定的 provider/model 三元组都存在于在线目录脚本里的phase()标题与meta.phases完全一致独立 item 用 pipeline没有多余的屏障有截断top-N、采样时log()说明了丢弃了什么下游消费方拿到的是 Schema 校验过的结构化结果。现在你就可以在.bb/workflows/下写下第一个脚本体验把一件大事拆给一队 Agent 并行干活的乐趣了。【免费下载链接】bbThe agent IDE that builds itself项目地址: https://gitcode.com/gh_mirrors/bb14/bb创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
企业数字化 ERP 产品动态
相关推荐
ArcGIS Pro标注与注记全攻略:从动态标注到转注记的实战技巧 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 6:07:45
微信多账号聚合管理:从多开登录到客户标签体系的全流程实操 1. 项目概述1.1 一个被微信多账号逼到墙角的真实场景先说个我自己的经历。前两年做电商代运营,客户分布在好几个平台上,每个平台都要挂一个微信号:A客户用1号微信,B客户商务对接用2号微信,供应商那边又单独开了一个3号… · 2026/9/26 6:07:39
从提示词模板到工程化实践:Claude Code 协作提效方法论 先说结论:claude-code-templates这类项目,本质上是给 Claude Code 这套 AI 编程工具准备的“提示词模板库”,但它的价值远不止“存了一堆 prompt”这么简单。真正让它有用的,是背后那套把模糊需求拆成可执行指令、把零散经验沉淀成… · 2026/9/26 6:07:39
从手动试参到Ax调度:贝叶斯优化驱动的超参数调优实战 去年年底我们有个线上推荐模型需要重训,特征一口气加了十几个,离线指标卡在某个值上不去。我当时的做法很原始——把常用参数组合挨个在训练脚本里跑一遍,结果网格跑了三天,指标没涨多少,倒把整个训练集群的时间片占掉… · 2026/9/26 7:03:34
青龙面板从部署到脚本配置:Docker定时任务管理实战指南 1. 青龙面板到底解决了什么问题,以及它适合谁来折腾如果你手里有一台常年开机的设备——不管是家里的旧笔记本、树莓派、NAS,还是一台便宜的云服务器——那么青龙面板大概率是你把"定时跑脚本"这件事做得最省心的方案之一。它的本质是一个带 W… · 2026/9/26 7:03:34
ESP32/ESP8266网络延迟高?从RTT原理到实战优化全解析 1. 先从一次让人抓狂的“高延迟”说起如果你做过物联网或者智能硬件开发,大概率遇到过这种场景:ESP8266 或者 ESP32 模块明明连上了路由器,串口监视器里也打印出了 IP 地址,可你在电脑上ping它的时候,延迟数据却高得离… · 2026/9/26 7:03:16
小米MiMo-V2.6-Pro开放权重模型登顶智能指数,开发者部署与微调实战指南 1. 小米这次放了个什么大招小米发布开放权重模型 MiMo-V2.6-Pro,登顶 Artificial Analysis 开放权重模型智能指数——这条消息在开发者圈子里炸开的时候,我正蹲在工位上啃外卖。第一反应是:小米?做手机那个小米?第二反… · 2026/9/26 7:03:16
Java线程池核心原理与调优实战:从源码到线上故障排查 1. 那天的线上事故,让我开始认真对待线程池先讲一件真事。几年前我负责的一个数据同步服务,每到高峰期就疯狂报数据库连接池耗尽,CPU 打满,整个服务像中了邪一样卡死。当时排查了半天,最后翻代码发现,前任同… · 2026/9/26 7:03:16
基于设备影子的万级IoT设备自动化运维架构与实践 1. 项目背景与核心矛盾:万级机器人梯控集群,到底难在哪1.1 机器人梯控场景的“非典型 IoT”特征先说项目背景。这里的“机器人梯控”,不是普通乘客电梯的控制系统,而是机器人与电梯之间的一套协同控制链路——机器人呼叫电梯、登记… · 2026/9/26 7:03:16
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍 简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践 一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46