多任务并行管理器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/parallel-task-executor-q4cp。
技能介绍
解决什么问题
当用户一次性抛出多条指令时,常见的做法是把每条指令当作独立请求依次处理。结果是:任务之间互相排队,低优先级的请求阻塞高优先级的请求,失败的任务还会污染后续状态。工具调用(文件操作、浏览器操作、Shell 命令、HTTP 请求)本身有 IO 等待,串行执行会把所有等待时间累加起来。
多任务并行执行管理器要解决的,是把多条指令变成一个受控的任务池:自动识别任务类型、给每个任务打上优先级、检查任务之间的依赖关系,再在并发池里同步处理。单个任务失败不拖垮其他任务,失败原因与重试过程可追溯。
核心能力
优先级系统采用 P0 到 P3 四档:P0 为紧急任务,P1 为重要任务,P2 为普通任务,P3 为可选任务。调度策略是高优先级先执行;同优先级按时间戳先进先出;低优先级只在系统空闲时运行。
并发执行池提供同步与串行两种模式。默认并发数为 4,超时时间 30 秒,失败自动重试最多 3 次,并按指数退避策略退避。并发上限还会受 CPU、内存与 IO 资源的限制。
任务类型识别覆盖五类常见操作:文件操作(创建、删除、移动、重命名、下载、上传)、浏览器操作(打开网页、填写表单、截图)、命令执行(Shell 命令、脚本执行、应用启动)、数据处理(解析 JSON/XML、文件转换、数据计算)、网络请求(HTTP 请求、API 调用、数据库查询)。
调度流程分为六个步骤:接收指令并解析出任务命令;为任务注册唯一 ID、设置优先级并检查依赖关系;按 P0→P1→P2→P3 排序;把任务分配到执行槽,受并发上限与系统资源约束;并发执行并实时更新进度;收集所有任务结果,合并成功/失败状态并生成报告。
错误隔离与恢复方面,失败任务自动重试,最多 3 次,重试间隔使用指数退避。单个任务失败不影响其他任务。系统会输出实时错误状态、失败原因分析以及建议的恢复方案。任务状态在 pending、running、completed、failed、cancelled 之间流转。
适用边界与注意点
把一个复杂任务拆成多个独立小任务,再交给管理器调度,才能拿到并行收益。任务之间存在强依赖时,应该把这些步骤合并成单个任务,由任务内部完成串行编排,而不是依赖管理器的并发调度。
高优先级任务可以申请提高并发数,但过度并发会让系统负载过高,资源限制(CPU、内存、IO)会成为实际的天花板。运行期间需要关注资源使用情况,必要时下调并发数或延长超时时间。
允许部分失败是这套机制的设计前提。某个任务失败时,整体结果报告里会出现对应的失败条目与原因分析,而不是整体报错。要明确自己的调用方能否接受这种部分成功的结果语义。
相关配置项存放在 ~/.openclaw/openclaw.json 中。执行报告格式、任务优先级规范与调度算法说明会在技能的资源目录里提供。
总结
多任务并行执行管理器适合那些可以自然拆成多个独立子任务的场景:批量文件处理、多接口并发请求、多页面并行采集等。对强依赖链式的长流程任务,并行收益有限,串行编排反而更可控。
使用场景
- 一轮对话里提交多个文件解析和格式转换任务,等全部执行完后拿到合并的报告
- 同时对多个外部接口发起请求,需要汇总每个接口的返回结果并处理个别失败
- 在浏览器里并行打开多个页面填表并截图,再把所有页面结果合并成一份报告
- 用户一次给出多条命令和数据处理任务,其中几条存在依赖关系,需要在注册时识别并合理安排执行
适合人员
- 数据工程师:经常一次要提交多个采集脚本,希望并行执行后拿到合并的执行报告
- 后端工程师:负责批量处理报表文件,需要同时提交解析和转换任务并容忍个别失败
- 集成开发者:编写 Agent 自动化流程,需要在一轮里并发执行浏览器操作和接口请求
- 运维工程师:管理多个自动化任务,需要在部分任务失败时仍拿到其余结果和失败原因