19 KiB
AI智能体工作流编排
AI智能体 工作流 编排 Claude Code 自动化
目录
什么是 Babysitter?
Babysitter 强制 AI 智能体工作团队服从指令,使其能够通过确定性、无幻觉的自我编排管理极其复杂的任务和工作流。在代码中定义你的工作流——Babysitter 强制执行每个步骤,确保在推进前通过质量门控,在断点处要求人工审批,并将每个决策记录在不可变的日志中。你的智能体严格按照流程允许的范围执行,不多也不少。
前置要求
- Node.js:20.0.0+ 版本(推荐 22.x LTS)
- Claude Code:最新版本(文档)
- Git:用于克隆(可选)
安装
Babysitter 支持多种 AI 编程框架。为你选择的框架安装对应插件:
Claude Code(推荐)
原生市场安装:
claude plugin marketplace add a5c-ai/babysitter
claude plugin install --scope user babysitter@a5c.ai
重启 Claude Code,然后输入 /skills 验证"babysit"是否出现。
Codex CLI(测试版)
克隆本仓库后,在 Codex CLI 中执行:
codex
> /plugins
导航到"babysitter"条目并选择"安装"。
Cursor IDE 和 CLI(实验性)
通过 Cursor 市场或 npm:
npm install -g @a5c-ai/babysitter-cursor
Gemini CLI(实验性)
npm install -g @a5c-ai/babysitter-gemini
babysitter-gemini install --global
GitHub Copilot(实验性)
通过 GitHub Copilot CLI 市场,或:
npm install -g @a5c-ai/babysitter-github
Pi(实验性)
原生 Pi 插件安装:
pi install npm:@a5c-ai/babysitter-pi
Oh-My-Pi(实验性)
原生 omp 插件安装:
omp plugin install @a5c-ai/babysitter-omp
OpenCode(实验性)
npm install -g @a5c-ai/babysitter-opencode
安装后脚本会自动将插件复制到 .opencode/plugins/babysitter/。
内置 Harness(无需 AI 编程智能体)
Babysitter 内置了一个内部 harness,无需任何外部 AI 编程智能体即可以编程方式运行流程。这对于 CI/CD 管道、脚本、自动化测试和无头编排非常有用:
npm install -g @a5c-ai/babysitter-sdk
# 使用内部 harness 运行流程定义
babysitter harness:call --harness internal --process .a5c/processes/my-process.js#process --workspace .
# 或运行自由格式的提示
babysitter harness:call --harness internal --prompt "run lint and tests" --workspace .
内部 harness 直接使用 SDK 内置的 Pi 执行引擎。它支持所有功能(编程式、会话绑定、停止钩子、无头提示),无需外部 CLI。
在流程执行期间,内部 harness 可以通过调用器将任务委派给任何已发现的已安装 harness。在 --harness internal 下运行的流程可以生成通过 Claude Code、Codex、Gemini CLI 或系统上发现的任何其他 harness 执行的子智能体任务——SDK 在运行时发现可用的 harness CLI 并相应地路由任务执行。这意味着你可以从单个无头入口点编排多智能体工作流,不同任务委派给最适合的 harness。
插件
Babysitter 有自己的插件系统——其工作方式与你预期的不同。Babysitter 插件不是带有扩展点的代码模块,而是 AI 智能体读取并执行的一组自然语言指令(Markdown 文件)或确定性编码流程(JS 文件)。SDK 存储、版本管理和分发这些指令,AI 智能体是运行时。
这意味着插件可以做 AI 智能体能做的任何事情:安装 npm 包、生成 CI/CD 管道、设置 git 钩子、创建 Terraform 配置、修改 linter 规则、将 babysitter 流程复制到你的项目中,并在过程中询问你的偏好。
官方市场包含以下类别的插件:安全(gitleaks、ESLint 安全规则、审计流程)、测试(Vitest/Playwright/pytest 设置、覆盖率门控、TDD 流程)、部署(Terraform、Helm、Dockerfile、多环境管道)、主题(音效、设计系统、对话个性)、CI/CD(GitHub Actions 工作流)和速率限制(指数退避钩子)。
要管理插件,在你的 harness 中使用 /babysitter:plugins 命令(或从 CLI 使用 babysitter harness:plugins)。智能体读取插件的安装说明,询问你的偏好,分析你的项目,并在 babysitter 编排运行中执行设置。
有关安装工作原理、市场格式、创建自己的插件和迁移系统的详细信息,请参阅完整的插件文档。
第一步
安装后,设置你的环境:
1. 配置你的个人资料(一次性)
/babysitter:user-install
这将创建你的个人资料,包含:
- 断点偏好(你希望多少监督)
- 工具偏好和沟通风格
- 专业领域以更好地匹配流程
2. 设置你的项目
/babysitter:project-install
这将分析你的代码库并配置:
- 项目特定工作流
- 测试框架和 CI/CD 集成
- 技术栈偏好
3. 验证设置
/babysitter:doctor
运行诊断以确认一切正常。
快速入门
claude "/babysitter:call implement user authentication with TDD"
或用自然语言:
Use the babysitter skill to implement user authentication with TDD
Claude 将创建一个编排运行,逐步执行任务,处理质量检查和审批,并持续到完成。
选择你的模式
| 模式 | 命令 | 使用场景 |
|---|---|---|
| 交互式 | /babysitter:call |
学习、关键工作流——暂停等待审批 |
| 自主式 | /babysitter:yolo |
可信任的任务——全自动,无断点 |
| 规划式 | /babysitter:plan |
执行前审查流程 |
| 持续式 | /babysitter:forever |
监控、周期性任务——无限运行 |
实用命令
| 命令 | 用途 |
|---|---|
/babysitter:doctor |
诊断运行健康状况和问题 |
/babysitter:observe |
启动实时监控仪表板 |
/babysitter:resume |
继续中断的运行 |
/babysitter:help |
文档和使用帮助 |
Harness CLI 封装器
除了会话内技能命令(/babysitter:call 等),Babysitter SDK 还提供 harness:* CLI 命令,让你从终端创建、运行和管理编排会话。这些命令适用于任何已安装的 harness。
通过 Harness 运行流程
# 通过 Claude Code 交互式运行流程(在断点处暂停)
babysitter harness:call --harness claude-code --prompt "implement user authentication with TDD" --workspace .
# 完全自主运行(无断点)
babysitter harness:yolo --harness claude-code --prompt "add pagination to the API" --workspace .
# 仅规划(在第一阶段后停止)
babysitter harness:plan --harness claude-code --prompt "implement feature X"
# 使用内部 harness 运行(无需外部 AI 智能体)
babysitter harness:call --harness internal --prompt "run lint and tests" --workspace .
管理运行
# 恢复中断的运行
babysitter harness:resume --run-id <runId> --harness claude-code --workspace .
# 诊断运行健康状况
babysitter harness:doctor --run-id <runId>
# 分析过去的运行以获取洞察
babysitter harness:retrospect --all --harness claude-code --workspace .
# 清理旧运行
babysitter harness:cleanup --keep-days 7 --harness claude-code --workspace .
Harness 发现
# 查看系统上安装了哪些 harness CLI
babysitter harness:discover
# 安装 harness CLI
babysitter harness:install claude-code
# 安装 harness 插件
babysitter harness:install-plugin claude-code
使用 --harness internal 进行自动化
internal harness 对 CI/CD 和脚本编写特别有用,因为它不需要外部 AI 编程智能体:
# 在 CI 管道或脚本中
babysitter harness:call \
--harness internal \
--process .a5c/processes/lint-and-test.js#process \
--workspace . \
--no-interactive \
--json
它使用 SDK 内置引擎执行流程,支持所有效果类型(任务、断点、休眠、并行分发),并生成与任何其他 harness 相同的事件溯源日志。
工作原理
+=============================================================================+
| /babysitter:call |
+=============================================================================+
| |
| 你的流程(JavaScript) 这是权威来源 |
| +----------------------------------------+ |
| | async function process(inputs, ctx) { | 真实代码,而非配置。 |
| | | 编排器只能执行 |
| | await ctx.task(plan, { ... }); | 此代码允许的操作。 |
| | | |
| | await ctx.breakpoint({ | 断点 = 人工门控 |
| | question: 'Approve plan?' | (强制执行,非可选) |
| | }); | |
| | | |
| | await ctx.task(implement, { ... }); | 任务 = 可执行工作 |
| | | |
| | const score = await ctx.task(verify);| 质量门控 = 代码逻辑 |
| | if (score < 80) | (非配置,真实检查) |
| | await ctx.task(refine, { ... }); | |
| | } | |
| +-------------------+--------------------+ |
| | |
| | 管控 |
| v |
| +---------------------------------------------------------------------+ |
| | 强制执行机制 | |
| | | |
| | +-------------+ +------------------+ +-----------------+ | |
| | | 强制 |---->| 流程检查 |---->| 决策 | | |
| | | 停止 | | 流程允许 | | | | |
| | | (由钩子 | | 下一步是什么? | | 允许:分配 | | |
| | | 强制执行) | | | | 下一个任务 | | |
| | +-------------+ +------------------+ | | | |
| | | | 阻止:暂停 | | |
| | v | 直到通过门控 | | |
| | +--------------+ +-----------------+ | |
| | | 来自代码的 | | |
| | | 门控/任务 | | |
| | +--------------+ | |
| +---------------------------------------------------------------------+ |
| | |
| | 记录每个决策 |
| v |
| +---------------------------------------------------------------------+ |
| | 日志:每个任务、门控、决策——不可变、可重放 | |
| +---------------------------------------------------------------------+ |
| |
+=============================================================================+
与简单迭代的区别:
- 流程即代码: 你的工作流是 JavaScript——编排器只能执行此代码允许的操作
- 强制停止: Claude 无法"持续运行"——每个步骤都以强制停止结束,然后由流程决定下一步
- 强制执行,而非辅助: 门控在满足条件前阻止推进——不是建议,是强制
- 事件溯源日志: 所有状态存储在
.a5c/runs/中——可从任意点确定性地重放和恢复
为什么选择 Babysitter?
| 传统方式 | Babysitter |
|---|---|
| 运行脚本一次,寄希望于成功 | 流程在完成前强制执行质量门控 |
| 通过聊天手动审批 | 带上下文的结构化断点 |
| 会话结束后状态丢失 | 事件溯源,完全可恢复 |
| 单任务执行 | 并行执行,支持依赖关系 |
| 无审计记录 | 所有事件的完整日志 |
| 临时工作流 | 确定性、代码定义的流程 |
核心差异化优势: 流程强制执行、确定性重放、质量收敛、人工断点介入和并行执行。
压缩
Babysitter 包含一个 4 层 Token 压缩子系统(内置于 packages/sdk/),在真实会话中可将上下文窗口使用量减少 50-67%,同时保持 99% 的事实保留率。
所有压缩钩子由 babysitter 插件自动注册——无需手动配置 settings.json。安装插件后压缩即自动生效。
工作原理
| 层级 | 钩子 | 引擎 | 内容 | 压缩率 |
|---|---|---|---|---|
| 1a | userPromptHook | density-filter | 用户提示 | ~29% |
| 1b | commandOutputHook | command-compressor | Bash/Shell 输出 | 平均 ~47% |
| 2 | sdkContextHook | sentence-extractor | 智能体/任务上下文 | ~87% |
| 3 | processLibraryCache | sentence-extractor | 库文件(预缓存) | ~94% |
快速切换
# 禁用所有压缩
export BABYSITTER_COMPRESSION_ENABLED=false
# 禁用单个层
babysitter compression:toggle sdkContextHook off
# 显示当前有效配置
babysitter compression:config
配置文件
编辑 .a5c/compression.config.json 以持久化设置(环境变量始终优先):
{
"enabled": true,
"layers": {
"userPromptHook": { "enabled": true, "threshold": 500, "keepRatio": 0.78 },
"commandOutputHook": { "enabled": true, "excludeCommands": ["jq", "curl", "docker"] },
"sdkContextHook": { "enabled": true, "targetReduction": 0.15, "minCompressionTokens": 150 },
"processLibraryCache": { "enabled": true, "targetReduction": 0.35, "ttlHours": 24 }
}
}
使用 babysitter compression:toggle <层> <on|off> 切换任意层,或使用 babysitter compression:set <key> <value> 设置单个值。
文档
入门指南
功能特性
参考资料
贡献
我们欢迎贡献!以下是你可以提供帮助的方式:
- 报告 Bug:GitHub Issues
- 建议功能:分享你的改进想法
- 提交 Pull Request:修复 Bug 或添加功能
- 改进文档:帮助使文档更清晰
详细指南请参阅 CONTRIBUTING.md。
社区与支持
- Discord:加入我们的社区
- GitHub Issues:报告 Bug 或请求功能
- GitHub Discussions:提问和分享想法
- npm:@a5c-ai/babysitter-sdk
社区工具
| 工具 | 描述 |
|---|---|
| Observer Dashboard | 并行运行的实时监控 UI |
| Telegram Bot | 远程控制会话 |
| vibe-kanban | 并行流程管理 |
Star 历史
贡献者
许可证
本项目采用 MIT 许可证。详情请参阅 LICENSE.md。
由 A5C AI 使用 Claude 构建