我如何为 Claude Code 构建 Orchestrator-Worker 系统

发布: (2026年1月11日 GMT+8 00:58)
3 min read
原文: Dev.to

Source: Dev.to

问题

当你在多个仓库(后端、前端、管理后台、基础设施)之间协作时,需要:

  • 一个只负责跟踪进度、从不直接触碰代码的协调者
  • 专注于单一任务、相互隔离的工作者
  • 会话之间的清晰交接

Claude Copilot 为我提供了记忆和任务基础设施。我需要在此之上添加协调层。

我的实现

Orchestrator(协调者,永不执行代码)

  • 跨所有仓库跟踪状态
  • 告诉你应该运行哪个工作者命令
  • 更新冲刺看板和发票
  • 与 Notion 同步

Workers(隔离执行)

  • 在 git worktree 中运行(避免分支切换冲突)
  • 使用 git flow(feature/ 分支)
  • 通过记忆报告进度
  • 拥有严格的 start/done 命令

基于 Makefile

没有 Python 依赖,只需:

make worker-new REPO=backend TASK=fix-migration

关键设计决策

  1. 人‑在‑回路中
    工作者不会自动生成。由你决定何时启动,保持控制的同时实现并行工作。

  2. 原生 Git flow
    每个任务都是一个 feature 分支,使用 git flow feature finish 正式结束。没有孤立分支,也没有合并混乱。

  3. 严格的角色边界
    协调者字面上不能写代码——通过提示强制:

    ## CRITICAL: Your Role Boundaries
    
    **You COORDINATE. You do NOT EXECUTE.**
    
    ### You do NOT:
    - Write code or fix bugs (workers do this)
    - Work directly in sub‑repos (workers do this)
    - Create feature branches for tasks (workers do this)
  4. Worktree 隔离
    每个工作者在独立的 git worktree 中运行。无需切换分支、stash 或处理冲突。工作者可以真正并行执行。

工作流

┌─────────────────┐     ┌─────────────────┐
│   ORCHESTRATOR  │     │     WORKER      │
│   (主仓库)      │     │   (工作树)      │
├─────────────────┤     ├─────────────────┤
│ • 跟踪状态      │────▶│ • feature/任务 │
│ • 分配任务      │     │ • 编写代码      │
│ • 更新 Notion   │◀────│ • 报告完成      │
│ • 永不写代码    │     │ • 清理工作      │
└─────────────────┘     └─────────────────┘

试一试

所有内容都在我的 Claude Copilot 分支中:

🔗

关键文件

  • templates/Makefile.orchestrator – 编排命令
  • .claude/commands/orchestrator.md – 协调者行为
  • .claude/commands/worker.md – 工作者行为
  • docs/ORCHESTRATOR-WORKER-FLOWCHART.md – 完整系统图

接下来

  • 改进工作者之间的进度报告
  • 自动检测 worktree 之间的冲突
  • 加强 Notion 集成

欢迎任何正在解决类似多会话协同问题的朋友提供反馈。你是怎么做的?

基于 Claude Copilot(Everyone Needs a Copilot)构建

Back to Blog

相关文章

阅读更多 »

Go 中优雅的领域驱动设计对象

❓ 你如何在 Go 中定义你的领域对象?Go 并不是典型的面向对象语言。当你尝试实现 Domain‑Driven Design(DDD)概念,如 Entity …