本文永久链接https://tonybai.com/2026/08/01/yc-open-source-qm-multiplayer-agent-harness

大家好,我是Tony Bai。

【导读】

YC把自己内部用了大半年、支撑会计、法务、活动、工程全线运转的Agent系统QM开源了。这不是又一个“个人AI助理”,而是一个让每个员工、每个项目都拥有专属Agent,同时还能在Slack频道里“多人组队”协作的Agent操作系统。

【文章要点】

  • YC开源了内部代号“QM”的Agent系统,MIT协议,代码已在GitHub公开;
  • QM的核心思路不是“一个Agent服务全公司”,而是给每个人、每个项目发一个“专属Agent”,再让这些Agent能在群聊里协作;
  • 技术上支持Pi、OpenCode、Codex、Claude Code四种主流Agent引擎,不绑定单一供应商;
  • 安全设计分三档:“严格”、“自动”、“危险”,每一档都有预设的高危操作硬性拦截;
  • YC自曝了三代内部Agent系统的进化史:从Ruby小脚本,到跑了50多个Hermes做私人助理,再到QM;
  • 团队原话:这是一个实验,还很早期,有bug,但已经让一支极度精简的团队产出堪比一支军队。


一条推文,引爆了一个新词:“Multiplayer Agent”

刚刚,YC官方账号发了一条推文,宣布把内部用了大半年的多Agent系统开源了。项目名字很朴素,就叫“QM”——quartermaster的缩写,也就是船上负责统筹后勤、让一切井井有条的那个角色。

推文里YC讲得很直白:这套系统被用在会计、法务、活动、工程等几乎所有部门,甚至连QM本身的开发,也是QM自己在参与。整个项目采用MIT协议,云原生部署,Slack和Web端原生支持。

真正让这条推文出圈的,是QM的头号“重度用户”、YC员工eve在自己的账号上补的一条:她说自己已经用QM好几个月了,亲眼看着YC的合伙人和员工靠它把产出拉到了成倍的量级。她的原话大意是,YC是一支刻意保持极度精简的团队,但产出效果却像一支军队。

这句话把QM的定位说得很清楚:它要解决的不是“一个人怎么用好一个AI助理”,而是“一整个公司怎么用一群AI员工”。

QM是什么:跟“个人助理型”Agent的根本区别

过去一年,几乎所有能打的Agent产品,本质上都是“个人助理”模式:一个Agent,服务一个人,帮你写邮件、查资料、跑代码。YC在项目README里直接点出了这套模式的天花板——你当然可以硬把一个助理型Agent魔改成服务全公司,但很快就会变得极其复杂。

QM选择了另一条路:每个员工、每个项目都拿到一个专属的、彼此隔离的Agent工作空间,大家各自独立干活,互不干扰;同时,这些Agent又能被拉进Slack频道、群聊和项目里,跟真人和其他Agent一起协作。

用大白话讲,QM不是给公司发一个“超级AI员工”,而是给公司发了一整支AI团队——每个人手里有一个专属的,遇到跨部门项目,这些Agent还能像真实同事一样组队干活。

具体到实现上,“每个人”和“每个协作空间”(room)都拥有自己独立的:

  • 记忆(memory)
  • 文件
  • 密钥管理视图(keychain)
  • 权限
  • 定时任务(crons)
  • 可发布的Web应用
  • 一个持久化的沙箱环境

也就是说,你的Agent昨天帮你调试的代码环境、装好的工具,今天还在——它是“你的”,不是每次对话都从零开始的临时工。

QM能替公司干什么

README里列出的能力清单,基本覆盖了一家初创公司日常运转里最耗时的那部分工作:

  • 把内部笔记、邮件、文档、数据库和公开网络放在一起搜索,相当于给公司装了个“企业大脑”检索入口;
  • 搭建内部小工具,直接发布给需要的人用,并保持数据持续更新;
  • 学习你的写作风格,按计划自动帮你清理收件箱,连标签和回复草稿都一并生成;
  • 直接在已有代码仓库里干活:跑测试、开PR、盯CI、查系统日志;
  • 在共享频道里长期跟进一个项目,主动发进展更新和跟进提醒。

这些场景单独拎出来看,很多AI助理产品都能做到一两项。QM的差异点在于,它把这些能力放进了同一套身份体系和权限体系里——你的Agent在Slack里和在Web端是同一个身份,配置也是同一套,不用来回搬家。

技术架构拆解:一个核心、四种大脑、无限沙箱

QM的架构图画得很简洁:中间是一个“无头”核心(headless core),负责API、身份、策略和调度;核心连着一个Postgres持久层,存会话、记忆和任务队列;每一次对话的具体执行,则交给一个可插拔的“Agent循环”,目前支持Pi、OpenCode、Codex、Claude Code四种引擎轮换使用。

再往外一层,是每个人或每个协作空间专属的沙箱——安装过的工具、登录过的服务,都会持久保留在这个沙箱里,相当于Agent自己的一台“电脑”。

Web界面、管理后台和面向外部的门户,都是核心HTTP API上的可选插件;Slack同样是一个由核心直接托管的进程内插件。核心本身用TypeScript直接跑在Node上,用Fastify做HTTP服务,Web端用Vite构建、Lit渲染。

这套设计还有一个很务实的考量:核心代码本身是通用的,一家公司的所有定制内容——组织配置、专属工具和技能、沙箱镜像、基础设施——全部收拢进一个独立的“部署目录”,由配套的qm CLI校验和部署。每一个可替换的组件(引擎、会话存储、沙箱、记忆系统)都藏在一层接口后面,生产环境要换实现,改一个装配文件就够了。

对已经在用QM、又想深度定制的团队,项目还提供了一种“私有分支”(private fork)的组织方式:不是用GitHub自带的Fork按钮(那样公开仓库的分支没法设为私有),而是用一次纯粹的Git克隆,把整个上游历史原样搬到一个私有仓库里。核心代码保持和上游字节级一致,团队自己的定制内容全部放进deploy/layers/<org>/目录,项目甚至自带了两个技能(skill),专门负责把上游更新同步进来、以及把通用性的修复贡献回上游。

安全机制:三档“安全姿势”,把闯祸关进笼子里

一个能跑命令、能访问密钥、能代表你行事的Agent,安全模型是绕不开的问题。

QM的思路借鉴了本地编码类Agent(OpenCode、Codex、Claude Code)的做法:Agent以它所服务的那个人的身份行事,用这个人的凭证和权限,所有操作全程留痕可审计。

在此基础上,一个组织要选定一档“安全姿势”,更细粒度的作用域只能收紧、不能放松:

  • 严格(Strict):每一次工具调用都要人工审批,只有两个“无副作用”的收尾动作例外;
  • 自动(Auto,默认档):一个分类器会先筛查带来源标注的外部数据和工具结果,再让它们进入模型的上下文,团队也可以把这个筛查环节指向自己的审核智能体服务;
  • 危险(Dangerous):不做内容筛查,工具调用之间也不暂停。

值得注意的是,无论选哪一档,一份预先声明的命令策略——针对递归删除、破坏性SQL这类操作的审批规则和硬性拒绝清单——始终生效,哪怕是在“危险”档位下也不例外。项目专门配了一份SECURITY.md,把威胁模型、运维假设和已知局限都写清楚了。

怎么部署:一条命令,从0到1

QM的部署路径设计得比较克制:一家公司要用QM,不需要把源码整个克隆下来,而是新建一个“部署仓库”,依赖发布好的@yc-software/qm包,跑一条初始化命令:

npm exec --yes --package=@yc-software/qm@<exact-version> -- \
  qm init . --org <slug> --target <fly-or-aws>
npm install

初始化过程会自动生成一份面向Agent的部署技能,带着你走完基础设施搭建、Web登录、连接器凭证配置、可选的Slack接入、部署上线和存活验证的全流程。目前支持Fly和AWS两种目标环境,每个部署都跑在使用者自己的云账号里,项目本身没有配套的生产部署流水线。

YC的自我进化史:从一个Ruby脚本,到QM

比技术细节更值得玩味的,是YC在官网上罕见地公开了自己内部Agent系统的三代演化过程

第一代是一个用Ruby写的基础Agent循环,配了一些能访问内部数据的工具。上手极快,第一天就能看到价值,但能干的事情很有限。后来他们给它加上了定时任务和Webhook触发,直到OpenClaw的出现,把整个方向重新打开了。

第二代是给员工个人配了50多个Hermes实例,当私人助理用。但管理这样一支规模的Agent舰队本身就成了新的负担。YC想要的,是既有Hermes那种灵活度,又能保留第一代系统的简单。

QM,就是这两代经验叠加之后的产物——他们同时也想拥有一套自己能掌控、自己能托管的系统,因为开源生态对他们而言足够重要,值得投入去让它继续发展。

官方的表态也很坦诚:这是一个实验,还很早期,有bug。反馈邮箱直接公开在了官网上。

这对“AI原生公司”意味着什么

把这几件事放在一起看,QM释放的信号其实不只是“YC又开源了一个工具”:

第一,“给每个人配一个Agent”正在从个人生产力工具,变成一种组织级基础设施。QM把身份、权限、记忆、沙箱这些原本属于“人”的概念,原样复制给了每一个Agent,这意味着一家公司理论上可以像管理HR系统一样管理自己的Agent舰队。这样之前Block的Buzz在设计理念上异曲同工。

第二,“多人在线”(multiplayer)正在成为下一个关键词。此前大部分Agent竞争聚焦在“单个Agent能力有多强”,QM把重点放在了“一群Agent、一群人,怎么在同一个频道里高效协作”,这是一个从个体能力到组织协同的转向。

第三,不锁定单一供应商,正在成为基础设施级项目的标配姿态。QM同时支持Pi、OpenCode、Codex、Claude Code四种引擎,核心架构上每个关键组件都做成可替换接口,这种设计选择本身也是一种态度:谁的模型强就用谁的,团队不想把命脉绑在一家身上。

第四,YC这次不是在孵化别人,而是亲自下场造了一件工具,并且选择完全开源。对于长期扮演“投资人+布道者”角色的YC来说,这种直接下场,某种程度上也是在给整个创业圈打样——AI原生公司到底该长什么样。

写在最后:如何上手体验

如果你想亲自摸一摸QM,目前最直接的路径是:

  • 代码仓库:github.com/yc-software/qm
  • 官方项目页:qm.ycombinator.com
  • 有问题或反馈,可以直接发邮件到labs@ycombinator.com

正如YC自己说的,这还是一个早期、有bug的实验性项目,但从“给每个员工配一个专属Agent,还能让这些Agent组队协作”这个方向来看,QM可能提前给出了下一代公司协作方式的一个雏形。

本文基于Y Combinator官方推文(https://x.com/ycombinator/status/2083243960684908768)、QM项目官网(https://qm.ycombinator.com/)及GitHub仓库README(https://github.com/yc-software/qm)公开信息整理解读。


还在为写 Agent 框架频频死循环、上下文爆炸而束手无策?我的新专栏 从0 开始构建 Agent Harness 将带你:

  • 抛弃臃肿框架,回归“驾驭工程 (Harness Engineering)”的第一性原理
  • 用 Go 语言手写 ReAct 循环、并发拦截与上下文压缩引擎等,复刻极简OpenClaw
  • 构建坚不可摧的 Safety Middleware 与飞书人工审批防线
  • 在底层实现 Token 成本审计、链路追踪与自动化跑分评估
  • 从“调包侠”进化为掌控大模型边界的“AI 操作系统架构师”

扫描下方二维码,开启从 0 开始构建Agent Harness 的实战之旅。


还在为“复制粘贴喂AI”而烦恼?我的新专栏 AI原生开发工作流实战 将带你:

  • 告别低效,重塑开发范式
  • 驾驭AI Agent(Claude Code),实现工作流自动化
  • 从“AI使用者”进化为规范驱动开发的“工作流指挥家”

扫描下方二维码,开启你的AI原生开发之旅。


商务合作方式:撰稿、出书、培训、在线课程、合伙创业、咨询、广告合作。如有需求,请扫描下方公众号二维码,与我私信联系。