用过 AI 编码工具的人大都经历过同一个瓶颈:单个模型上下文有限,你写一个提示,它理解偏差,你再修正,如此往复。项目规模小的时候还好处理,但当需要同时协调设计、实现、测试和代码审查时,凭一个 AI 助手来回切换角色就显得很吃力了。
多智能体系统是一种突破这个瓶颈的方式,但通常意味着大量的基础设施搭建:编排层、框架接入、向量数据库配置……很多团队还没让一个智能体干起来,就已经把精力耗光了。
Squad 想绕过这一切。它是一个基于 GitHub Copilot 的开源项目,核心思路是把 AI 团队直接嵌进仓库,而不是在仓库外部再搭一套独立系统。
两条命令,启动一支 AI 团队
npm install -g @bradygaster/squad-cli # 全局安装一次
squad init # 每个仓库初始化一次
执行完之后,仓库里会多出一个 .squad/ 目录,里面包含了一支预配置的 AI 专家团队:
- Lead(协调者):接收你的指令,拆解任务,分配给各专家
- Backend Developer(后端):负责实现逻辑
- Frontend Developer(前端):负责界面和交互
- Tester(测试):编写测试套件,验证实现质量
这支团队不是角色扮演,而是真正分离的推理上下文——每个智能体运行在独立的调用里,有自己的 context window。
协作流程是什么样的
你用自然语言描述要做什么,比如:
“Team, I need JWT auth—refresh tokens, bcrypt, the works.”
接下来,协调者智能体(Lead)解析任务,加载仓库上下文,并行启动各专家。后端专家开始写实现,测试专家同步开始写测试套件,文档专家可能同时打开一个 pull request。几分钟内,代码写好了,分支创建好了。
关键的是,这些专家不只是知道你的当前提示,它们还加载了团队过去的架构决策、命名规约、以及每个上次讨论了什么——这些信息存在仓库的文件里,不需要你每次重新粘贴进提示词。
内部迭代而不是人工干预:如果测试专家运行测试之后发现失败,它会拒绝接受后端专家的实现。Squad 的审查协议会阻止原始作者修改被拒绝的工作,必须由另一个智能体来接手修复。这效仿了人类团队里独立代码审查的原则:用独立的上下文窗口和新鲜的视角重新审视问题,而不是让同一个 AI 自己审查自己的错误。
经过内部迭代后,最终送到你手里的是一个已经通过了内部审查的 pull request,不是每一次中间尝试。
不过有一点要说清楚:这不是全自动驾驶。智能体会提问题,也会做出合理但不符合预期的假设。每一个 pull request 最终还是由你来审查和合并。
三种支撑它运作的架构模式
作者 Brady Gaster 在文章里归纳了 Squad 背后几个有意思的设计选择,这些模式本身值得借鉴,无论你是否使用 Squad。
1. 「投递箱」模式管理共享记忆
大多数多智能体系统依赖实时通信或向量数据库来同步状态,而 Squad 选择了一个更朴素的方案:把每一个架构决策(选择了哪个库、用了什么命名规约、某个技术问题怎么决定的)以结构化格式追加写入仓库里的 decisions.md 文件。
这是一个异步的、基于文件的共享记忆系统。优点很明显:持久、可读、完整的决策审计链。因为这些记忆存在项目文件里而不是某个活跃的会话里,团队在断连或重启之后能继续从上次进度恢复。当你克隆一个仓库,拿到的不只是代码,还有一支已经”入职”的 AI 团队,它们的记忆随代码一起版本化。
2. 复制上下文,而不是切割上下文
传统做法是把同一个 context window 里的 token 预算分给多个任务,但这会让每个任务都在争夺有限的”工作记忆”,推理质量下降。
Squad 的做法是让协调者保持”薄路由器”的角色,它不做具体工作,只负责分派。每个专家运行在独立的推理调用里,有自己完整的 context window(在支持的模型上最大可达 20 万 token)。多个专家并行运行,意味着多个独立推理上下文同时工作,每个智能体都能”看到”仓库里和自己任务相关的部分,不会互相挤占空间。
3. 明确存储在提示里,而不是隐式存储在权重里
AI 系统通常依赖模型权重里的”内隐记忆”来记住项目背景——这不透明,也不可检查。Squad 的每个智能体的身份由两个仓库文件构建:一个 charter(它是谁)和一个 history(它做过什么),加上共享的团队决策文件。这些都是纯文本,存在 .squad/ 目录里。
你可以直接打开这些文件看智能体”知道”什么,可以修改它,可以版本化它。这把黑盒行为变成了可检查、可预测的东西。
适合谁来用
如果你想开始尝试多智能体开发,但不想先搭一套编排框架,Squad 提供了一个低摩擦的入口。两条命令进去,就能感受到仓库原生多智能体编排是什么感觉。
更重要的是,它展示了三个可以单独借鉴的模式:用版本化文件管理共享决策、用上下文复制而不是切割来提升推理质量、把智能体记忆做成明确可读的仓库文件。无论你最终用不用 Squad,这几个思路本身值得参考。
Squad 仓库地址:github.com/bradygaster/squad
参考
- How Squad runs coordinated AI agents inside your repository — Brady Gaster, GitHub Blog
- Squad GitHub 仓库