nullboiler
Zig 语言编写的 AI Agent 工作流编排引擎,三组件分离架构支持多 Agent 协作
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
Zig 语言编写的 AI Agent 工作流编排引擎,三组件分离架构支持多 Agent 协作
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
GitHub: nullclaw/nullboiler | 语言: Zig | Stars: 286 | License: MIT
图1: nullclaw 作者头像
想象你经营一家 AI 外卖厨房。顾客下单(任务)后,你需要决定:哪位厨师(Agent)来做这份菜?出菜顺序怎么安排?厨师卡住了怎么办?超时重试谁来管?如果只有一位厨师,那简单;但当你有 5 位厨师、50 种菜品、每道菜需要串行/并行不同处理时,事情就变得不可收拾。
NullBoiler 解决的正是这个「多 Agent 协作编排」问题。它不是另一个 AI Agent 运行时(执行工具),也不是任务数据库(存储状态),而是介于两者之间的策略决策层——负责决定「谁在什么时机做什么事」。
NullBoiler 由独立开发者 nullclaw 构建,GitHub 账号 2024 年才创建,但项目设计思路非常成熟。其核心设计原则是三重角色严格分离:
| 组件 | 职责 | 对应项目 |
|---|---|---|
| Tracker | 任务持久化存储、状态管理 | nulltickets |
| Orchestrator | 调度策略、并发控制、路由分发 | nullboiler(本项目) |
| Agent Runtime | 具体任务执行、工具调用 | nullclaw |
这种分离的灵感来自 Unix 哲学:每个工具只做一件事,通过管道组合成复杂系统。作者在 README 中特别批评了「把 Tracker 和编排职责混在一起」的常见错误,认为这会导致架构臃肿、难以演进。
NullBoiler 的核心是一个基于 DAG(有向无环图) 的状态机引擎,运行在独立线程上,通过轮询 SQLite 数据库获取活跃运行实例。每个工作流由 7 种节点类型组成:
引擎每个 tick 执行以下循环:加载当前状态 -> 查找就绪节点(所有入边满足)-> 顺序执行 -> 更新状态并保存检查点 -> 检查终止/死锁条件。这种基于**检查点(checkpoint)**的设计支持断点续跑——任务中途失败后重启,可以从上一个检查点恢复,而无需重新开始。
项目内置可插拔的策略引擎(strategies/),支持三种维度的并发控制:
超时重试机制支持指数退避(base delay 1s,最大 30s,含 jitter 随机抖动),最多 15 分钟重试窗口。Worker 故障阈值默认 3 次,超过后触发断路器熔断(circuit breaker),暂停向该 Worker 分发任务,防止故障扩散。
NullBoiler 不仅支持自家 nullclaw Agent,还可以通过 Worker Protocol 接入任何兼容的 Agent 运行时:OpenClaw(OpenAI 兼容)、ZeroClaw、PicoClaw 等。Tracker 端支持通过 HTTP API 对接外部任务系统,tracker_client.zig 模块负责与 nulltickets 通信。
一行命令即可启动完整环境:
# 仅 nullboiler(适合二次开发)
docker compose up nullboiler
# nullboiler + nullclaw(推荐开发模式)
docker compose --profile nullclaw up
# 完整三件套(生产推荐)
docker compose --profile nulltickets up
Gateway 默认监听 8080 端口,提供 REST API + SSE 实时事件流。内置 /health 健康检查端点,支持 curl 快速验证部署状态。
得益于 Zig 语言的 AOT 编译 + ReleaseSmall 优化,最终镜像体积不到 10MB,运行时内存占用低于 512MB,CPU 几乎零消耗(仅在有任务时激活)。完全不需要 GPU,可在树莓派、NAS 或任何轻量级服务器上运行。
dashboards/ 目录提供了开箱即用的 Grafana + Prometheus 监控配置,包含任务吞吐量、Agent 响应延迟、Worker 错误率等关键指标。企业用户可以直接导入现有 Prometheus/Grafana 体系,无需额外开发。
NullBoiler 并非银弹,有几个需要正视的限制:
1. 文档相对初级:项目文档以代码注释和 README 为主,缺少架构图和深入的使用教程。Workflow JSON Schema 缺乏可视化编辑器,定义复杂工作流需要直接手写 JSON,对新手不够友好。
2. 仅支持结构化 JSON 工作流:不支持 YAML、Python DSL 或可视化流程图编辑。如果你习惯 LangChain 的链式写法,NullBoiler 的图模型会带来一定学习成本。
3. 外部 Agent 生态尚未成熟:虽然设计上支持接入任意 Agent,但 OpenClaw/ZeroClaw 等外部适配器目前还在早期阶段,兼容性可能存在变数。
4. 缺乏中文社区:项目作者来自海外英文社区,中文资料极少,对国内用户有一定门槛。
2024 年是 AI Agent 爆发年,从 AutoGPT 到 CrewAI、从 LangGraph 到 AutoGen,业界涌现了大量 Agent 框架。但大多数框架将「任务存储」、「编排调度」、「执行运行时」三者混在一起,导致架构边界模糊、难以独立演进。
NullBoiler 的出现代表了一种解耦思潮——将 AI 工作流基础设施拆分为各司其职的专门组件。这与软件工程中微服务拆分、Unix 管道哲学一脉相承。随着 AI 应用复杂度提升,这种解耦思路有望成为主流架构范式。
从增长数据看,项目虽然只有 286 stars,但 fork 数高达 69(fork 率 24%),说明社区对其架构设计有一定认可,而非简单的功能复制。对于想要深入理解 AI 编排引擎内部原理、或需要构建自定义多 Agent 系统的开发者,NullBoiler 是值得研究的优秀参考实现。
本报告由 PIFS 自动分析生成,基于 GitHub 仓库原始数据和代码分析。