qm:面向工作的多人协作 Agent 框架
文章摘要
qm 是 Y Combinator 内部软件团队(yc-software)开源的一套「面向工作的多人协作 agent 框架」(multiplayer agent harness),同时提供 Slack 与 Web 两个入口,以 MIT 协议开源。
它的设计出发点是对现有产品形态的一个批评:绝大多数 agent 都被设计成个人助理,你可以硬把它塞给整个公司用,但很快就会变得极其复杂。qm 是为初创公司设计的——每位员工拥有自己隔离的工作空间,彼此独立工作互不干扰,同时也能在频道、群聊和项目中与 agent 协作。每个人、每个房间都有各自作用域(scope)下的记忆、文件、密钥视图、权限、定时任务、Web 应用和持久化沙箱。项目从一开始就以开源为前提构建:Pi、OpenCode、Codex、Claude Code 都能驱动同一个内核,因此部署不会被绑定到任何单一厂商。
核心特性包括:个人作用域与共享作用域并存;Slack 与 Web 之间共享同一套身份与配置;管理员可设置组织级配置、安全姿态以及允许使用哪些 harness 和模型;可以快速搭建内部 Web 应用并发布给对的人;技能(skills)归属于作用域、可按授权共享,管理员可将其提升到全组织,也可从 git 仓库导入技能包;定时任务与 watch 可在无人值守时跑后台工作。
架构上,每一轮对话都经过一个中心化的无头内核(headless core),由它调用各种模型与 harness 生成响应;Postgres 持久层保存用户数据、会话历史和其他持久状态。Agent 的工具面(tool surface)小而固定,其中一个工具是 execute,在该作用域自己的隔离沙箱里执行命令——那是它的「持久电脑」,装过的工具会一直在。Web UI、管理面板和公开门户都是内核 HTTP API 之上的可选插件,Slack 则是由内核启动并监管的进程内插件。内核用 TypeScript 直接跑在 Node 上,HTTP 用 Fastify,Slack 插件用 Bolt,Web UI 用 Vite 构建、Lit 渲染。所有与单一公司相关的东西(组织配置、自定义工具与技能、沙箱镜像、基础设施)都放在一个「部署目录」中,由 qm CLI 校验和部署;每个底层组件(harness、会话存储、沙箱、记忆)都藏在接口后面,生产实现通过一个接线文件替换。
安全模型上,qm 沿用本地编码 agent(OpenCode、Codex、Claude Code)的思路:agent 以它所服务的那个人的身份行事,使用其凭证与权限,一切行为都被审计。组织选择一种安全姿态,更窄的作用域只能收紧不能放松:Strict 下每次 harness 工具调用都暂停等待人工批准(两个无副作用的回合终止工具除外);默认的 Auto 会用一个分类器在带来源标记的外部数据和工具结果抵达模型之前进行筛查,部署方可以把它指向自己的筛查代理;Dangerous 则不做内容筛查、工具调用之间不暂停。预声明的命令策略(针对递归删除、破坏性 SQL 之类的批准规则与硬性拒绝)在所有姿态下都生效,Dangerous 也不例外。
最引人注目的一条是贡献方式:qm 只接受人类撰写的文本,而不接受代码。想要某个改动,就在 adrs/ 目录里用 .txt 或 .md 非正式地描述你想要什么,如果双方达成一致,由维护方来实现。CONTRIBUTING.md 里还明确要求:不要让 AI 把你想做的事人为膨胀成一份正式提案。
HN 评论精华
讨论热度不低(679 分),但走向相当分裂——一半在争论那条贡献政策,一半在质疑这个项目到底解决了什么问题。
-
Drupon 摘出那条「只接受人类撰写的文本」政策后评论:「开始觉得那些说我们这个行业本身患上了 AI 精神病的人是对的。」但下面的回复几乎一边倒地为这条政策辩护。cyanydeez:「另一个选项是生成 5000 多个没人关心的 open issue。而且这是个 AI 项目,你觉得他们会干什么?」meagher 从维护者角度说:「这总比收到一个毫无上下文的垃圾 PR 好。」embedding-shape:他们其实是要求人至少放下能构成规格说明(specification)的第一块基石,用这种方式把功能请求限制在愿意花 10 到 15 分钟真正思考的人手里,并不是个坏主意。
-
john_strinlai 点出了那层反讽:一个 AI 项目、由 AI 写成,却要求人类手写文本并明确指导不要用 AI。warkdarrior 澄清说他们只是要求不要提交正式提案,并没有禁止其他形式的 AI 使用。ronsor 给出了实质性解释:「编码 agent 极其有用,但在设计上常常极其愚蠢。如果你不自己设计软件,你大概率会得到一堆垃圾。这一直是 vibe coding 的核心问题。」sigbottle 用工程语言总结:这是 XY 问题——在你有了设计的想法之前不要展开设计文档,不要过早编译到更低的抽象层级。
-
danielrmay 挖出了仓库里一个「反垃圾(anti-slop)品味技能」,引发了本帖最有趣的一段讨论。这个技能包含诸如「高端消费品调色板禁令(强制,第二高频的 AI 破绽)」这样的规则,明令禁用某些常见的米白色背景色值,并宣称「落地页和作品集是视觉产品,纯文字页面配假截图 div 就是垃圾」。nojs 摘出了其中最狠的一条:破折号(—)被完全禁用,「它是 LLM 的招牌文体拐杖,是生产测试中的头号视觉破绽。没有『有限使用』的余地,没有『自然语言频率』的余地,没有『正文里用没问题』的余地。一个都没有。」他的感慨是:「看来破折号是真的死了。」thoughtpeddler 提出了一个尖锐的质疑:这不就只是造出一个新的「无品味洼地」吗——它看上去和当前的垃圾不同,但自己终究也会变成垃圾。postalcoder 的批评更技术性也更刻薄:「无意冒犯 YC 的各位,但一个占 22069 个 token 的 skill 本身就是重大的技能问题(skill issue),没错,这很反讽。我的反垃圾 skill 只有一千个 token。这个 skill 最大的问题是所有东西都是用否定式提示的。抱歉我这么爱评判,但一个自带这种 skill 的框架实在很难让人信任。」
-
「这到底有什么新的」是另一条主线。recsv-heredoc 直接问:不是已经有一堆产品在做这件事了吗,为什么不直接用 Claude Cowork?walrus01 给出了最实质的答案:因为有人想用自己的 pi 或 opencode 客户端搭配自己托管的模型(比如刚发布的 deepseek v4 flash 0731),而不是永久绑定在 Anthropic 生态和非开放权重模型上、按 token 永远付费。kang 则不客气:「这只是在『还没人搞定多人协作』的热度之后蹭 multiplayer 这个关键词。而且 UI 很烂,不是那么回事。」sudb 补了一刀考据:这条恰好就写在 YC 2026 年秋季的创业点子征集(RFS)里的「multiplayer AI」条目下。
-
epistasis 提出了一个更有建设性的观察:看着新的 UI 原语和概念在 LLM 时代被发明出来很有意思,但这片创意之海让人很难搞懂每个新应用到底在做什么,而且没人把它描述清楚——他打开 Hermes 的 agent 网页时完全不知道它是干嘛的,得挖半天才在 qm 页面里找到能让他理解状况的那部分。2001zhaozhao 回应说,很难聚焦于工具的独特之处,因为那有让人觉得「不熟悉因而对我没用」的风险,所以工具的营销页最后都长得差不多。papascrubs 的答案是干脆自己造:我们正在见证的一部分就是高度定制化和个人化的软件,「现在这些东西我大多只当灵感,然后自己写一个。没什么是几个好的 Claude 会话搞不定的。」
-
关于实际用途,yewenjie 问「重度用户到底拿这类 openclaw 式系统做什么」。azuanrb 说他用它做 oncall 的第一响应者,处理生产告警,虽然默认不如编码 agent 高效,但帮助巨大。backscratches 说 Hermes 太庞大、塞满了你多半用不上的功能,他更喜欢能自己扩展的小工具,目前在用一个叫 dirge 的项目,让它读自己的二线 RSS 源和 newsletter,过滤出对自己重要的新闻与市场动态。fassssst 的观察最朴素:大多数人只是用它轮询邮件和即时消息。
-
唱衰派的声音也很响。rvz:除了托管商,谁真正从让 OpenClaw 不停打圈里直接赚到钱了?这个软件看起来又是一个为问题而生的解决方案,专门设计来烧掉尽可能多的 token。tclancy 对「学习你的写作风格然后按计划分拣收件箱」这条特性冷嘲:「太好了。世界将充满 agent 跟 agent 说话而什么都没做成。所以基本上还是老样子,只不过我可以让机器一直醒着来装忙。」gyanchawdhary:「过度工程、噱头、蹩脚。YC 显然在后 AI 时代陷入了意义危机。」Kevcmk 更直接地怀疑这是水军营销。smolder 只有六个字:假的、无聊的、算不上成就。
-
最好笑的一条来自 luciana1u:「我给一个 agent 开了它自己的 Slack 频道,然后它开始瞒着我跟别的 agent 约会开会。我从没这么像个中层管理者过。」eru 接话:「希望其他 agent 回复的是『这个会本来可以是一封邮件』。」
-
mellosouls 顺带提到了 YC CEO Garry Tan 自己的 gstack 项目(23 个固执己见的工具,充当 CEO、设计师、工程经理、发布经理、文档工程师和 QA),smartbit 附上了此前那条「YC CEO 称自己每天用 AI 出 37K 行代码,一位开发者扒开看了看」的 HN 讨论链接,Planktonne 的评价是:「这跟名人八卦那种上气不接下气的追风一模一样——『用这十七种护肤品你就能长得跟格温妮丝・帕特洛一样』。」