Squad:把 GitHub Copilot 变成一支 AI 开发团队
posts posts 2026-03-31T12:50:00+08:00Squad 把 GitHub Copilot 的 Agent 模式扩展成一支分工明确、跨会话记住项目状态的 AI 开发团队(MIT,Alpha 预览)。本文拆解它的多智能体协作、基于文件的持久化与 Copilot 集成,并给出真实的上手路径与适用边界。技术笔记AI智能体, GitHub Copilot, 多智能体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),本机有 npm 和 gh。
# 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 登录。欢迎补充事实、异议与实践。
讨论暂时无法加载。