关于 swarm-coordination
swarm-coordination 为 Claude Code 多 Agent 协作提供任务跟踪、文件锁定和交接规范,面向在同一代码库并行开发的团队。它将持久任务记录与进行中任务分开,并规定协调者与执行者的协作方式。
主要功能
- 01区分持久任务记录与进行中任务
- 02通过钩子管理文件锁
- 03以会话 ID 隔离 Agent 状态
- 04要求交接附带可验证的产物引用
- 05规定协调者与执行者的协作流程
适用场景
- 01多个 Agent 并行处理代码库任务
- 02协调不同文件或功能的独立开发流
- 03为未完成工作留下可继续的交接信息
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ dralgorhythm/ claude-agentic-framework --skill swarm-coordination安装后在 Claude Code 中输入/swarm-coordination确认已加载。
详细介绍
Swarm 协作
确保多 Agent 开发一致且无冲突的协议和模式。在与同一代码库中的其他 Claude Code Agent 协作时,请遵循这些准则。
核心原则
- 双层任务跟踪:持久工作项记录在 GitHub Issues(或已提交的
ISSUES.md)中;进行中的工作记录在编排器的原生任务列表(TaskCreate/TaskUpdate/TaskList)中 - 文件锁定:钩子会自动管理文件锁,请遵守锁定状态
- 会话隔离:每个 Agent 都有唯一的会话 ID,用于跟踪
- 清晰交接:始终留下状态和工件引用,以便其他 Agent 接手后继续工作
双层任务跟踪
- 第一层 — 持久记录:GitHub Issues(对于没有跟踪工具的仓库,则使用
ISSUES.md)保存工作项的永久历史记录:请求内容、原因以及最终处理结果。 - 第二层 — 进行中的工作:编排器负责维护原生任务列表(TaskCreate/TaskUpdate/TaskList)。每个工作项对应一个任务,并明确列出验收标准。执行者不维护自己的任务列表(无共享状态规则见
.claude/rules/agent-constraints.md)。 - 交接:参见核心指令 §7“遵循命令协议”——每次交接都需要可验证的工件引用。
基于文件的输出
执行者将结果写入 scratchpad/<task-id>.md,而不是直接写入上下文。只有持久工件(ADR、计划、PRD)才写入 artifacts/。编排器在启动执行者之前创建输出目标;执行者写入指定文件;编排器读取并整合内容。
工作流
开始工作
- 检查任务列表:编排器检查 TaskList,找出未被阻塞且尚未认领的任务
- 创建任务:每个工作项对应一个任务,并明确列出验收标准
- 检查冲突:查看
.claude/hooks/.file-tracker.log中的近期编辑记录 - 分派任务:向执行者发送重点明确、内容完整的提示词(参见
agent-constraints.md)
工作期间
- 原子化修改:进行小而完整的修改,避免留下损坏状态
- 频繁提交:经常提交以减少合并冲突
- 更新任务状态:执行者汇报进展后,编排器更新 TaskUpdate
- 遵守锁定状态:如果文件已锁定,请等待或处理其他工作
完成工作
- 运行测试:确认修改不会破坏现有功能
- 标记任务完成:编排器在原生任务列表中关闭任务并记录结果
- 更新持久记录:在 GitHub Issue /
ISSUES.md中更新完成情况 - 清理状态:提交所有修改,不留下未提交的工作
避免冲突
文件锁定协议
钩子会自动获取和释放锁。如果遇到锁:
# Check who holds the lock
cat .claude/hooks/.locks/<filename>.lock
# Lock automatically expires after 60 seconds
# If urgent, wait or pick a different task from the task list
合并冲突策略
- 频繁拉取:保持分支更新
- 小型 PR:比大型修改更容易合并
- 协调工作:编辑前,先在编排器的任务列表中认领任务(及其对应文件)
- 快速解决:发现冲突后立即处理
沟通模式
交接消息
如果结束会话时仍有未完成的工作,请留下交接信息并指向具体工件:
echo '{"message": "Continue implementing auth middleware. Tests passing but needs error handling in src/auth.ts:45", "artifact": "artifacts/plan_auth_middleware.md"}' > .claude/hooks/.state/handoff.json
多 Agent 模式
编排器—执行者模式
对于复杂任务,由一个 Agent 负责编排,其他 Agent 负责执行:
- 编排器:制定计划,将工作拆分为原生任务列表中的任务,并分派给执行者
- 执行者:接收重点明确的提示词、实现任务并返回结果(执行者之间不共享状态——参见
agent-constraints.md) - 同步点:编排器收集所有执行者的结果,并在最终集成前进行协调
并行工作流
对于相互独立的功能:
- 为每个工作流创建单独的任务(并注明验收标准)
- 每个执行者通过分配给自己的任务认领一个工作流
- 避免不同工作流修改相同文件
- 在指定的集成节点合并各工作流
预算与工作波次
仅作为成本断路器:这只能在事后限制失控的支出,无法检测步骤重复或循环——这是另一种故障模式,不在此处讨论。
- 协调器在分派一批工作者时声明令牌数/工作波次上限——应在启动前设置上限,而不是启动后
- 达到上限时:停止分派,报告目前的支出和剩余工作,并在继续前征求用户同意
- 分派的任务标题带有
[Wave N/M]前缀(例如[Wave 1/3] Explore auth patterns),以便一眼看出支出和进度属于哪个工作波次
状态文件
| 文件 | 用途 |
|---|---|
.claude/hooks/.state/session_*.json | 活跃的 Agent 会话 |
.claude/hooks/.state/handoff.json | 会话之间的交接消息 |
.claude/hooks/.locks/*.lock | 文件编辑锁 |
.claude/hooks/.file-tracker.log | 最近的文件修改记录 |
最佳实践
- 编辑前检查:始终确认目标文件没有活跃的锁
- 完成工作单元:切换任务前先完成逻辑上的工作单元
- 记录意图:使用任务列表声明你正在处理的工作及验收标准
- 本地测试:推送前运行测试,及早发现问题
- 经常同步:与其他 Agent 保持任务列表、持久化问题记录和 git 同步
紧急处理流程
死锁检测
如果 Agent 彼此等待:
# Check active sessions
ls -la .claude/hooks/.state/session_*.json
# Check active locks
ls -la .claude/hooks/.locks/
# Force release stale locks (use with caution)
find .claude/hooks/.locks -mmin +5 -delete
冲突恢复
- 将当前工作保存到新分支
- 与 main 同步:
git fetch && git rebase origin/main - 逐个文件解决冲突
- 更新原生任务列表和持久化问题记录,以反映当前状态
- 继续工作
评论
支持 Markdown