并行任务实战
OpenClaw 支持 Agent 在单次对话中并行处理多个子任务,提高复杂任务的执行效率。
并行执行原理
当 Agent 接收到复杂任务时,会将其拆解为多个独立的子任务。对于没有依赖关系的子任务,Agent 可以并行调用工具执行。
用户请求 → Agent 分析
├── 子任务 A(文件读取) ─┐
├── 子任务 B(API 调用) ─┼── 并行执行
└── 子任务 C(网页抓取) ─┘
→ 合并结果 → 返回
配置并行度
{
agents: {
defaults: {
tools: {
parallel_execution: true,
max_concurrent: 5,
},
},
},
}
parallel_execution:启用工具并行调用max_concurrent:最大并发数,根据系统资源调整
适合并行的场景
多文件处理:同时读取、分析多个文件
用户:分析 src/ 目录下所有 Python 文件的代码质量
Agent 会同时读取所有文件,而不是逐个处理。
多 API 调用:同时请求多个数据源
用户:查询北京、上海、广州三个城市的天气
三个天气 API 请求并行发出,同时返回结果。
批量网页抓取:同时打开多个页面
用户:抓取这 5 个竞品网站的首页标题和描述
任务依赖与编排
对于有依赖关系的任务,Agent 会自动识别并按顺序执行:
步骤 1:读取配置文件(必须先完成)
步骤 2:并行执行
├── 根据配置调用 API A
├── 根据配置调用 API B
└── 根据配置查询数据库
步骤 3:汇总所有结果生成报告(等待步骤 2 全部完成)
与 Cron 结合
将并行任务与定时执行结合,实现高效的自动化流程:
openclaw cron add --schedule "0 9 * * *" \
--message "并行检查所有监控项并生成日报" \
--channel telegram --target <ChatID>
性能建议
- 对于 I/O 密集型任务(文件读写、网络请求),适当提高
max_concurrent - 对于 CPU 密集型任务(代码执行、数据分析),控制并发数避免资源争抢
- 使用轻量模型处理简单子任务,节省成本