最近在折腾 Claude Code 的 Superpowers 插件,特别是那个 dispatching-parallel-agents(并行派发)功能。光听概念有点虚,我就拿正在做的那个极简番茄钟(Pomodoro Timer) 项目做了个实验。
以前我们得盯着它一步一步写,现在直接当甩手掌柜,让它同时派三个“小弟”干活,效率嘎嘎上升。下面是我的实战记录和避坑指南。
1. 我的实战目标
我不想让它瞎搞,所以定了三个互不干扰的任务,正好测试文件隔离:
- Agent A(UI 仔) :只准改
style.css,给我把界面美化一下,顺便加个深色模式的按钮(只写结构,不写逻辑)。 - Agent B(音频攻城狮) :新建一个
audio.js,封装一个playSound()函数,到时候计时结束好响铃。 - Agent C(存储专员) :新建
storage.js,专门负责把设置存进localStorage里。
2. 我是怎么下指令的
我没用那些复杂的配置,直接开了个会话,把要求甩给它。核心思路就是:划清界限,严禁越权。
我是这么说的(大意):
我们现在要使用 dispatching-parallel-agents来并行开发番茄钟的三个功能。
请遵循以下规则:
1.为每个任务创建一个独立的 Git Worktree(或分支)。
2.派发 3 个子 Agent,分别处理以下任务,严禁子 Agent 修改不属于自己的文件:
Agent A (UI): 只修改 style.css。任务是美化界面,添加深色模式切换按钮(但不写逻辑)。
Agent B (Audio): 只修改 audio.js(新建)。任务是封装一个 playSound(type)函数,使用 Web Audio API 或 Audio 对象。
Agent C (Storage): 只修改 storage.js(新建)。任务是封装 saveSettings和 loadSettings到 localStorage。
3.派发完成后,等待所有子 Agent 汇报完成,然后进行 Code Review 并合并。"
3. 现场发生了什么?
这点最爽。我看着终端输出,它先是刷刷地创建了三个 Git Worktree(相当于三个平行宇宙),然后:
- Agent A 跑去改 CSS 了。
- Agent B 跑去写音频逻辑了。
- Agent C 跑去搞 LocalStorage 了。
我就在旁边看着,完全不用插嘴。最关键是,因为用了 Worktree,这三个进程完全隔离,不用担心 A 改了一半把 B 的文件给搞坏了。
4. 收尾与合并
等三个“小弟”都喊“Done”之后,主 Agent(也就是 Claude 本体)开始上线了。它把三个分支的代码拉回来,做了个 Code Review(主要是看有没有明显冲突),然后问我:“老大,没问题的话我就合并了?”
我 git diff看了一眼,确实只是动了各自的文件,直接回了一句:“Approved, merge them.”
5. 总结与避坑
这次实战给我的感觉是,dispatching-parallel-agents最适合这种“文件级隔离”的任务。如果你让它同时改同一个文件的同一行代码,最后合并的时候大概率会打架(虽然主 Agent 会尝试解决)。
给想尝试的朋友一个建议:
指令里一定要强调 “只修改 XXX 文件” 。不然有时候模型一兴奋,顺手就把 app.js给重构了,到时候合并起来就比较头疼。
总的来说,这种“总-分-总”的开发模式效率确实高,特别适合我这种有点代码洁癖、又不想盯着每一个细节的人。下次打算试试让它一边写功能一边跑测试(TDD + Parallel),估计会更刺激。