跳到正文

目录

Squad:把 GitHub Copilot 变成一支 AI 开发团队

Squad:把 GitHub Copilot 变成一支 AI 开发团队

Squad 不是把 Copilot 拆成几个聊天窗口,而是让一支分工明确的小队住进你的仓库。前端、后端、测试、组长各配一个独立智能体,成员名字来自一套固定的"演员表",决策和偏好作为文件写回仓库,跨会话、跨机器都能读到。一句话概括它的主张:让"团队"本身变成可以被版本管理的代码。

本文基于官方仓库与文档梳理,只讲真实存在的能力。


它解决什么问题

用 Copilot Chat 做大项目,三个问题会反复出现。

  • 上下文装不下整个项目:每次都只能看到当前文件附近的内容,跨文件的设计意图要反复提醒。
  • 决策会丢:上一轮定下的取舍,关掉 IDE 就没了,下次重新对齐。
  • 只有一个角色视角:任务横跨前端、后端和测试时,你得手动切来切去。

Squad 用两条机制回应:多智能体分工,把专业角色拆成独立的智能体;基于文件系统的持久化,把团队配置、路由规则、决策和工作历史全部落地到仓库目录。下次打开项目,团队状态和之前的决定都在,不需要重新初始化。


核心机制

一支有角色的队伍

Squad 提议的团队通常由这几类角色组成:Lead 负责范围和代码评审,Backend Dev 写后端,Frontend Dev 写前端,Tester 写测试,外加一个安静的 Scribe 专职记忆——只记录决策和会话日志,不参与产出。角色名字来自一套虚构的"演员表"(casting),会跨会话固定下来。你不必为每个任务重新对齐角色边界,成员自己知道该干什么。

每个成员在独立的上下文里运行,只读属于自己的知识库,再把新学到的东西写回。这跟"戴着不同帽子切换"的聊天机器人是两回事。

一条命令,换掉一串工具

Squad 的关键设计是:团队的所有状态都是仓库里的文件。装好 CLI 后跑一次 squad init,它会在项目里生成团队的骨架文件——角色定义、技能、路由规则、开工仪式说明,一个不落:

squad init 生成:
  .github/agents/squad.agent.md    Copilot 的智能体定义
  .github/workflows/               自动化工作流
  .ai-team-templates/              团队模板
  .ai-team/skills/                 起始技能与规则
  .ai-team/ceremonies.md           仪式 / 协作约定
  .gitattributes                   merge=union,减少多人改同一文件时的冲突

(早期版本团队目录叫 .squad/,当前官方文档统一用 .ai-team/。)

把整个小组提交进 git:

git add .ai-team/ .ai-team-templates/ .github/ .gitattributes
git commit -m "Add Squad team"

任何人 clone 这个仓库,得到的就不只是代码,还有这支团队的全部积累——角色、章程、路由规则、决策、历史。团队记忆变得能 diff、能 review、能随分支演进。这是"团队即代码"的含义。

说"team",就并行发散

给整个团队下任务时,用 “team” 这个关键词触发并行 fan-out:Lead 拆需求、定接口,Backend、Frontend、Tester 各自在独立上下文里同时开工,Scribe 记录会话。如果你点名某个成员,任务就只交给那个人。

以"修一个超阈值发告警的成本监控功能"为例,Squad 会同时拉起所有成员:Lead 评审需求、确定接口,Backend 搭 AWS Cost Explorer 客户端,Frontend 写 Slack 通知模块,Tester 边写边按需求补测试。五个窗口并行,而不是一个助手逐个切。

决策日志:团队的自校准

每轮完成后,用一句 Show me the decisions 就能看到决策记录。关键在这里:每个成员开始下一个任务前会先读一遍决策。决策积累得越多,团队在约定上就越自动对齐。

随口立下的偏好也会被固化。比如你说了句"以后都用结构化日志",这句话会被永久写进决策日志,之后每个成员都会遵守,不用你反复叮嘱。


上手:十分钟跑起来

前置条件:GitHub Copilot 订阅(Agent 模式需要 Business 或 Enterprise),本机有 npmgh

# 1. 安装 CLI
npm install -g @bradygaster/squad-cli

# 2. 在项目里初始化团队骨架
cd ~/projects/my-app
squad init

# 3. 登录 GitHub,够到 issue / PR 的联动
gh auth login

然后在命令行用 Copilot 拉起 Squad:

copilot --agent squad --yolo

--yolo 让 Copilot 不再对每次工具调用逐个弹确认。Squad 一个会话会做大量工具调用,不加这个选项会被审批提示打断。在 VS Code 里则在 Copilot Chat 的 /agents 列表里选 Squad。

接着描述你要做什么,比如"用 Go 写一个监控 AWS 费用的 CLI,超阈值发 Slack 告警"。Squad 会先拼出一支队伍念给你听,你确认或微调角色后,成员就开工了。


值得记住的三个行为特征

  • 第一次最慢:成员还没有历史。跑过两三次之后,它们会记住你的目录结构、命名习惯,不再重复提问。
  • 成员会自己成长:每个智能体把学到的约定追加进 history.md,一两周后对新项目的熟悉度接近老成员。
  • 团队随代码走git clone 一个带 .ai-team/ 的仓库,就完整带走了这支队伍;它也能进入 CI / 自动化流水线被反复调用。

边界与注意

  • Alpha 预览:Squad 官方标注仍处实验阶段,CLI 与内部接口可能随版本变化,重大变更见 CHANGELOG。别在依赖其具体接口的自动化上锁得太死。
  • 依赖 Copilot 订阅:Squad 本体免费,但运行依赖 Copilot 的 Agent 能力。
  • 放开 --yolo 要审慎:跳过逐次审批,等于把信任模型整体上移。建议先在隔离或分支环境里跑,对敏感操作保持人工把关。
  • 离线能力有限:读已落盘的团队文件、看决策日志可以离线;真正让成员跑起来、同步 issue,都依赖 Copilot 联网。
  • 版本还在早期:适合尝鲜与中小型项目验证;对稳定性要求极高的核心系统,可先观察。

什么时候该用它

  • 项目大到单次 Chat 上下文装不下,需要按角色拆工作区。
  • 项目周期长、需要团队持续记住决策,减少反复对齐的成本。
  • 多技术栈项目,希望 AI 也按前端 / 后端 / 测试的边界分工。

如果项目还在原型阶段、代码量不大,或者你一个人做且不需要角色分工,直接用 Copilot Chat 反而更轻。Squad 的价值在项目复杂度和团队规模上来之后才体现。


常见问题

Squad 和 Copilot Chat 有什么区别?

Chat 是单一角色、无跨会话记忆;Squad 是多角色分工,团队状态和决策通过文件持久化,能跨会话保留。

要不要额外付费?

Squad 免费,但需要 GitHub Copilot Business 或 Enterprise 的 Agent 能力。

团队知识安全吗?

默认存在仓库内、随代码走。含敏感信息时记得加进 .gitignore,不要提交到公开仓库。

能离线用吗?

读取本地团队文件、查看决策日志可以离线;运行成员、同步 issue 需要网络。

支持哪些编辑器?

只要有 Copilot 就能用:VS Code 原生支持;命令行用 copilot --agent squad;Visual Studio、JetBrains、Neovim 通过各自的 Copilot 插件接入。


结语

Squad 把"团队记忆"变成了可版本管理的源码——这是它与普通对话式 AI 助手的根本区别。它还处在早期,成熟度有待观察,但方向值得关注:当 AI 开发不再是一个对话框,而是一支住进仓库、跨会话持续工作的队伍,协作的形态会被重写。

资源

  • GitHub 仓库:https://github.com/bradygaster/squad
  • 官方文档:https://bradygaster.github.io/squad
  • 讨论区:https://github.com/bradygaster/squad/discussions

项目状态:Alpha 预览,MIT 许可。文档信息随时间演进,以官方 CHANGELOG 为准。整理于 2026 年 3 月。

参与讨论

使用 GitHub 登录。欢迎补充事实、异议与实践。