并行任务处理 — 一条指令让 AI 同时跑多件事
为什么要并行
很多实际场景里,你有 N 件事要让 AI 做,而这些事之间没有依赖关系——先做 A 再做 B 还是反过来做都一样。串行跑的话总耗时是 A + B + C,并行跑的话总耗时是 max(A, B, C)。
Sophclaw 在任务执行模式和 StepClaw 模式下都支持并行,具体表现为:
- AI 自动识别指令里可以并行的子任务
- 分别调度独立的执行单元去跑
- 等所有子任务完成后汇总结果
并行怎么触发
方式一:指令里明确表达并行意图
"帮我同时做这三件事:1)抓取网站 A 的新闻列表;2)读取 data.csv 并按日期分组;3)在 /tmp 下创建三个测试文件夹"
AI 看到"同时做这三件事"会自动分并行执行。
方式二:StepClaw 模式自动并行
在 StepClaw 小龙虾模式下,AI 拆解任务时会自动判断哪些子任务可以并行,不需要你显式告诉它。
方式三:在配置里设置并行度
如果你在 Sophclaw 配置里设置了最大并行 Agent 数(默认通常是 3-5),AI 会按这个上限调度,不会无限开新任务。
并行的边界
并行不是越多越好,有几个天然边界:
1. 子任务之间不能有依赖关系:如果 B 需要 A 的输出作为输入,那 A 和 B 不能并行——必须串行。AI 会自动识别依赖并正确排序。
2. 系统资源限制:并行的 Agent 都要占内存和 CPU。并行度设太高可能拖慢整体速度,甚至触发内存预警。建议先用 3-5 的并行度试试。
3. 文件冲突风险:两个并行的 Agent 如果同时写同一个文件,会发生冲突。AI 在调度时会尽量避免这种情况,但如果你在指令里让两个任务写同一个文件,还是要自己注意。
一个实际例子
假设你给 Sophclaw 下一条指令:
"帮我做竞品调研:1)抓取竞品 A 官网的产品列表;2)从 App Store 抓竞品 A 的最近评分;3)在 GitHub 上搜竞品 A 的开源项目 Star 数趋势;4)把这四份信息汇总成一张对比表"
AI 的调度逻辑是:
- 识别四个子任务
- 判断 1/2/3 之间没有依赖,可以并行;4 依赖 1/2/3 的输出,必须串行在后面
- 并行跑 1/2/3(各自独立的执行单元)
- 三个都完成后,汇总跑 4
- 输出最终对比表
总耗时 ≈ max(t1, t2, t3) + t4,远小于 t1 + t2 + t3 + t4。
并行 vs 多 Agent 协同
容易混淆的两个概念:
| 对比 | 并行任务 | 多 Agent 协同 |
|---|---|---|
| 谁在做 | 同一个 Agent 的多个执行单元 | 不同 Agent 实例 |
| 记忆 | 共享同一套上下文 | 各自独立 workspace |
| 适用 | 简单的独立子任务 | 需要不同权限/身份/记忆的任务 |
| 配置成本 | 零(自动触发) | 需要创建多个 Agent + 配置 workspace |
日常使用中并行任务够用了——只有当你确实需要不同 Agent 有不同身份、权限、记忆隔离时才去搞多 Agent 协同。