AI Tools
教程9 分钟2026年4月2日作者:AIGCDev

GitHub Copilot CLI /fleet 并行任务教程:什么时候该用,怎么用(2026)

结论先说

GitHub Copilot CLI /fleet 适合一种场景:一个任务能拆成多个文件或多个独立方向同时推进,比如 API、UI、测试、文档分头走。它不是让所有提示词都变快的万能按钮。安全用法是:先明确文件归属,在提示词里声明依赖关系,跑完后由人做一次最终审查。如果两个子 Agent 需要改同一个文件,/fleet 通常不是正确起点。

GitHub 2026 年 4 月 1 日的发布有实际意义:它把并行子 Agent 变成了 Copilot CLI 的一等公民功能,而不再是团队自行搭建的临时方案。对开发者来说,问题不是多 Agent 编码听起来酷不酷,而是 /fleet 在什么条件下真的能省时间、同时不让代码库变得更难信任。

前置条件: 需要安装 GitHub Copilot CLI,并且拥有任意一个 Copilot 方案(Free、Pro、Pro+、Business 或 Enterprise)。运行 copilot --version 确认 CLI 可用。除了有效的 Copilot 订阅之外,不需要额外配置。

为什么现在值得写

2026-04-01,GitHub 发布了 Copilot CLI /fleet 的官方指南。新的信号是实操层面的:GitHub 开始明确告诉用户,围绕并行工作项、依赖关系和文件边界来组织提示词,而不是把多 Agent 执行当作一个隐藏的实现细节。

现实差距也很明显:很多开发者已经用 Copilot 做单线程的规划或编辑,但还没有一套清晰的规则来判断什么时候该并行。/fleet 提供了这个判断依据——前提是你把它当成任务编排,而不是自动驾驶。

本文聚焦一个窄目标:用 /fleet 让有明确边界的多文件工作更快完成,同时不引入静默覆盖风险或审查盲区。

/fleet 到底做了什么

根据 GitHub 2026-04-01 的官方博客,/fleet 是 Copilot CLI 的一个斜杠命令:一个编排器把你的目标拆成工作项,派发多个后台子 Agent,等待依赖完成,最后合成结果。

关键是它的执行模型:

  • 每个子 Agent 有自己的上下文窗口
  • 所有子 Agent 共享同一个文件系统
  • 子 Agent 之间不直接通信
  • 编排器决定哪些轨道可以并行、哪些必须等待

共享文件系统解释了好处和风险。好处很直接:独立文件可以同时推进。风险同样直接:共享文件会变成冲突点。

只在任务形状正确时使用 /fleet

适合的场景:

  • 同时更新 API handler、测试文件和文档(分属不同文件)
  • 批量生成多个页面的文档
  • 重构一个功能,拆分在多个明确独立的模块中
  • 对多个目录执行重复但互不依赖的编辑

不适合的场景:

  • 单文件 bug 修复
  • 问题本身还没搞清楚的任务
  • 高风险迁移,每一步都会影响下一步的决策
  • 两个以上 Agent 需要同时编辑同一个文件

一条简单规则:

如果你在开始之前无法给每个 Agent 分配清晰的文件归属,就先不要用 /fleet

安全工作流一屏看完

步骤 做什么 为什么重要
1 按文件或目录定义输出 编排器需要具体的工作项
2 显式声明依赖关系 否则 Copilot 可能猜错顺序
3 设定边界和验证规则 限制漂移和隐性范围扩展
4 确认任务可拆分后再跑 /fleet 线性工作加并行只会徒增开销
5 审查最终 diff 并运行真正的检查 并行输出仍然需要一个负责任的审查者

五步。刚好够让 /fleet 有用而不嘈杂。

第一步:提示词要映射到可交付物

GitHub 自己的示例说明了为什么模糊提示词效果差。"构建文档"不是一个好的 /fleet 提示词,因为编排器很难从中识别出独立的轨道。更好的提示词把每个任务映射到具体的文件、目录或测试目标。

可复制的示例:

/fleet Update the authentication docs in four tracks:
1. docs/authentication.md covering login flow and token refresh
2. docs/endpoints.md with request and response examples
3. docs/errors.md with auth-related error codes and fixes
4. docs/index.md linking the three pages above (depends on 1, 2, and 3)

Rules:
- no changes outside docs/
- preserve existing terminology from docs/styleguide.md
- mark done only when markdown lint passes

为什么这个可以工作:

  • 每个轨道有可见的输出物
  • 只有一个轨道依赖其他三个
  • 编排器可以干净地并行前三项
  • 验证规则是显式的

第二步:在追求速度之前先划清文件边界

GitHub 官方 /fleet 博文特别说明了一个警告:子 Agent 共享文件系统,没有文件锁。如果两个 Agent 写同一个文件,最后完成的那个会静默覆盖前一个。

这意味着提示词设计的核心技能不是"多要几个 Agent",而是"减少写入目标的重叠"。

用这种写法:

/fleet Implement feature flags in three tracks:
1. API layer in src/api/middleware/ with unit tests
2. UI toggles in src/components/flags/
3. definitions in config/features.yaml

Constraints:
- no dependency changes
- no edits outside assigned directories
- report blockers before expanding scope
- run tests relevant to each track before marking done

在执行前分配归属,比宽泛地说"在整个应用里加 feature flag"更可靠。

第三步:用依赖关系只串行化必须等待的部分

并行执行只在任务图部分独立时才有价值。如果整个任务是线性的,/fleet 不会加速多少,只会多出一层编排开销。

一个好的迁移提示词长这样:

/fleet Migrate the user profile flow:
1. add the schema in migrations/008_profiles.sql
2. update src/models/profile.ts (depends on 1)
3. update src/api/profile.ts (depends on 2)
4. update tests/profile.test.ts (depends on 2)

Rules:
- do not change unrelated endpoints
- stop if the schema change requires a rollback plan

在这个例子里,第 3 和第 4 项可以在第 2 项完成后并行运行。这就是 /fleet 处理得好的那种部分并行。

第四步:了解两种关键的启动方式

GitHub 官方指南给出了两种基本启动方式:

交互模式

/fleet Refactor the auth module, update tests, and fix docs in docs/auth/

当你想在运行过程中检查分解方案并引导编排器时,交互模式更简单。

非交互模式

copilot -p "/fleet <YOUR TASK>" --no-ask-user

截至 2026-04-02,GitHub 官方 /fleet 公告明确说明,非交互模式必须加 --no-ask-user,因为此时没有提示-响应循环。

只在你的约束已经足够清晰、可以完全编码到提示词里时,才用非交互模式。如果你仍然需要协商,就留在交互模式。

第五步:像审查者而不是旁观者那样盯着运行

GitHub 建议检查分解是否真的发生了,并用 /tasks 查看后台工作。这很重要,因为并不是每次 /fleet 运行都会真正并行化。

要检查的事项:

  • Copilot 是否在执行前把工作拆成了多个轨道?
  • 不同轨道是否在同时推进?
  • 各轨道是否负责不同的文件或目录?
  • 是否有某个轨道因为你忘记声明的依赖关系而被阻塞?

如果运行看起来太线性,停下来用更结构化的提示词重试:

Decompose this into independent tracks first, then execute tracks in parallel.
Report each track separately with status, changed files, and blockers.

这种措辞比泛泛的"继续"能给你更好的审计线索。

第六步:只在拆分确实成立时才添加专业 Agent

GitHub 4 月 1 日的示例还展示了可以在 .github/agents/ 下定义 Agent 并把特定轨道路由给它们。当一个方向侧重文档而另一个侧重代码时,这很有用。

Agent 文件示例:

---
name: technical-writer
description: Documentation specialist
model: claude-sonnet-4
tools: ["bash", "create", "edit", "view"]
---

You write concise technical documentation.
Follow docs/styleguide.md.

然后可以这样提示:

/fleet Use @technical-writer.md for docs tasks and the default agent for code changes.

只有当任务拆分已经稳定时才值得做。如果边界仍然模糊,自定义 Agent 只会让流程更复杂,而不会解决核心问题。

最容易踩的坑

两个 Agent 改同一个文件

文件冲突是最明确的失败场景。GitHub 明确说没有文件锁。如果同一个文件对多个轨道都重要,用一个 Agent 处理,或者让子 Agent 写入临时文件,最后在一个受控步骤中合并。

提示词依赖聊天历史

子 Agent 看不到编排器的完整对话历史。如果某条关键规则只存在于聊天记录中,一个或多个轨道可能会漏掉。

解决方案:把真正的约束写在 /fleet 提示词本身里,或写在仓库中 Agent 可以读取的文件里。

任务实际上是线性的

如果每一步都依赖上一步,/fleet 不会加速多少,只会多出更多活动部件。

解决方案:先用普通的 Copilot CLI 任务跑一次,或者让 Copilot 先做规划再决定是否并行。

跳过最终审查因为"多个 Agent 已经检查过了"

并行执行不等于独立验证。它仍然是一次编排运行。

解决方案:审查 diff,运行真正的检查,在合并前保留一个人工批准环节。

面向真实仓库的提示词模板

当你需要一个已经内置了护栏的起点时,用这个:

/fleet Complete this task in parallel only where work is independent.

Objective:
[describe the outcome]

Tracks:
1. [file or directory owner + output]
2. [file or directory owner + output]
3. [file or directory owner + output]

Dependencies:
- [track 3 depends on track 1]
- [track 2 can run immediately]

Constraints:
- no edits outside assigned files unless blocked
- no dependency upgrades
- preserve public API names unless explicitly requested
- list blockers before expanding scope

Validation:
- run [tests/lint/typecheck]
- report changed files per track
- mark done only when all listed checks pass

这个模板同时做三件事:告诉 Copilot 构建什么、不碰什么、以及什么算完成。

常见问题

/fleet 比普通 Copilot CLI 提示词更好吗?

只在任务有真正的并行结构时。单文件工作或高度耦合的重构,普通 Copilot CLI 提示词更简单。关于多 Agent 工作流的更广泛视角和适用场景判断,可以参考我们的 AI Agent 实用指南

需要在 .github/agents/ 里定义自定义 Agent 才能用好 /fleet 吗?

不需要。清晰的文件边界比自定义 Agent 重要得多。只在基础工作流已经跑通后再添加专业 Agent。

哪些 GitHub Copilot 方案包含 Copilot CLI?

截至 2026-04-02,GitHub 官方 Copilot CLI 和方案页面显示,Copilot CLI 包含在 Free、Pro、Pro+、Business 和 Enterprise 所有方案中。GitHub 当前的个人方案页面显示 Pro 每用户每月 $10,Pro+ 每用户每月 $39。

结论

GitHub Copilot CLI /fleet 在你已经知道怎么拆分工作时才有用。优势不来自"更多 Agent",而来自更清晰的分解。

如果你按文件定义交付物、声明依赖关系、保留一次最终审查,/fleet 可以缩短有明确边界的多文件工作的时间。如果你的任务仍然依赖猜测、共享文件或隐性上下文,并行化就不是正确的优化方向。

验证说明

2026-04-02 基于官方 GitHub 来源验证:

  • 官方 /fleet 指南:GitHub 博客,Matt Nigh 和 Brian LaFlamme 撰写的"Run multiple agents at once with /fleet in Copilot CLI"(发布于 2026-04-01),确认了编排器模型、共享文件系统(无文件锁)、/tasks 检查、--no-ask-user 非交互模式以及 .github/agents/ 自定义 Agent。 来源:https://github.blog/ai-and-ml/github-copilot/run-multiple-agents-at-once-with-fleet-in-copilot-cli/
  • Copilot 定价:GitHub Copilot 方案页面列出 Free($0)、Pro($10/用户/月)和 Pro+($39/用户/月)。Copilot CLI 包含在所有方案中,包括 Free。 来源:https://github.com/features/copilot/plans

2026-04-02 验证。话题触发通过共享 news-pipeline 数据库检查,基于 GitHub 博客 2026-04-01 发布的文章:https://github.blog/ai-and-ml/github-copilot/run-multiple-agents-at-once-with-fleet-in-copilot-cli/。针对该官方博文验证了 /fleet 的关键行为、提示词模式、依赖示例、.github/agents/ 用法、/tasks 检查、共享文件系统警告以及非交互模式 copilot -p "/fleet <YOUR TASK>" --no-ask-user 的用法。针对 GitHub 官方 Copilot CLI 和方案页面在 2026-04-02 验证了 Copilot CLI 的可用性和当前方案信息:https://github.com/features/copilot/clihttps://github.com/features/copilot/plans

github-copilotcopilot-cliai-agentsdeveloper-workflowcoding