Skip to content

/fleet 命令让 Copilot CLI 把一个复杂任务分解成多个可并行执行的子任务,分配给多个子代理同时处理。适合大型多部分任务(如同时修复多个文件的 Bug、并行生成多个模块的测试),相比顺序执行能显著缩短完成时间。代价是会产生更多 LLM 调用,消耗更多 Premium Request 额度。

GitHub Copilot CLI /fleet 命令:并行多代理任务加速指南

什么是 /fleet

/fleet 是 Copilot CLI 的一个内置命令,它让主代理分析任务并拆分成独立子任务,然后启动多个子代理并行执行这些子任务。

类比:就像项目管理中把大项目拆分给多个开发者并行推进——只是这里的"开发者"是 AI 子代理。

工作原理

  1. 你发出 /fleet 指令,描述大型任务
  2. 主代理分析任务,判断哪些部分可以独立并行
  3. 子代理被分配各自的子任务,每个子代理有独立的上下文窗口(互不干扰)
  4. 并行任务完成后,主代理汇总结果

注意:子代理的上下文是隔离的,与主代理和其他子代理互相独立,所以适合相互之间没有依赖的子任务。

使用方式

在交互式会话中:

/fleet 把 src/components/ 目录下所有组件的 CSS 样式迁移到 Tailwind 类

指定自定义代理处理子任务:

/fleet 使用 @test-writer 为所有新增的 API 端点编写测试用例

配合 Autopilot 模式:

/fleet --autopilot 优化所有 API 响应,添加缓存头并确保 ETag 正确实现

适合使用 /fleet 的场景

场景说明
多模块并行修复同时修复多个独立文件/模块的同类问题
批量测试生成为多个模块并行生成测试用例
多语言翻译同时将文档/注释翻译成多种语言
性能审查并行分析多个服务的性能瓶颈
代码风格统一同时对多个目录进行风格规范化

不适合使用 /fleet 的场景

  • 子任务之间有严格依赖顺序(A 完成后 B 才能开始)
  • 任务本质上是单一连续流程(如一个完整的代码审查)
  • 对 Premium Request 额度敏感的情况

/fleet 与 Autopilot 的配合

功能作用
Autopilot 模式让主代理自主执行多步骤,不需要每步确认
/fleet 命令让子代理并行执行子任务,加速完成

两者可以组合使用:先用 Autopilot 模式让 Copilot 自主规划和执行,在执行中用 /fleet 分发并行子任务:

bash
# 启动时同时开启 Autopilot + 全权限
copilot --autopilot --yolo -p "分析整个 codebase 的 TypeScript 类型错误,批量修复"
# 在会话中,Copilot 会在合适的时候自动或者在你输入 /fleet 时分发子任务

成本与配额

使用 /fleet 会产生比单代理更多的 LLM 调用——因为每个子代理都要独立初始化和运行。在额度紧张时要慎用。

实践建议:

  • 先评估任务规模,小型任务不值得 /fleet 的开销
  • 设置 --max-autopilot-continues 防止子代理无限制运行
  • /context 查看当前会话的 token 使用情况

常见问题

Q: /fleet 和 /delegate 有什么区别?

A: /delegate 是将当前任务委托给一个子代理处理(单个);/fleet 是将任务分解成多个子任务,分发给多个子代理并行处理(多个)。前者适合需要专项处理的任务,后者适合规模大但可拆分的任务。

Q: 子代理能访问主代理的上下文吗?

A: 不能。每个子代理有独立的上下文窗口,不继承主代理的历史对话。子代理需要的上下文要通过任务描述传入。

Q: /fleet 任务失败了怎么办?

A: 主代理会汇报哪些子任务成功、哪些失败。失败的子任务可以手动重新执行,或修改任务描述后重试。