# YC 开源了团队内部在用的多人 Agent Harness：QM QM 已经在 YC 内部跑真实业务的系统：会计记账、法务、活动运营、工程协作，工具注册表从最初的约 20 个工具积...

- 来源：Meng Shao
- 发布时间：2026-08-01 10:40
- AIWatch 分数：64
- AIWatch 标记：当日精选
- AIWatch 链接：https://aiwatch.icu/events/evt_01kyxm7cmjebsy7g4v23fm5290
- 原文链接：https://x.com/shao__meng/status/2083382230433620240

## 精选理由

常规快讯，保留列表

## AI 摘要

YC 开源了内部使用的多人 Agent 系统 QM，采用作用域隔离和四层架构，为多智能体协作提供可参考的实现。

## 正文

QM 已经在 YC 内部跑真实业务的系统：会计记账、法务、活动运营、工程协作，工具注册表从最初的约 20 个工具积累到了 350 多个。
https://github.com/yc-software/qm

QM 最重要的抽象是 scope（作用域）
每个人、每个 Slack 频道、每个项目房间，都有自己独立作用域的记忆、文件、密钥视图、权限、定时任务、Web 应用和持久沙箱。这种设计带来两个关键性质：
· 个人隔离：员工各自定制"属于自己的" agent，互不干扰；
· 协作共享：在频道和项目里，大家又能和同一个 agent 协同，共享上下文。

同一套身份和配置在 Slack 和 Web 之间无缝携带。这本质上是在回答"agent 时代的权限与上下文边界应该怎么划"——按人和按空间划，而不是按会话划。

QM 的架构非常克制，可以拆成四层
1. Headless Core（无头核心）
所有请求都经过一个中央核心：API、身份、策略、调度器，加上 agent 循环。核心用 TypeScript 直接跑在 Node 上，HTTP 层用 Fastify。关键在于核心是通用的——harness、会话存储、沙箱、记忆等每个底层组件都藏在接口后面，生产实现通过一个 wiring 文件注入。
2. 可替换的 harness 与模型
Pi、OpenCode、Codex、Claude Code 驱动的是同一个核心，可以随时切换。这是一个明确的反锁定立场：部署不绑定任何单一模型厂商。考虑到 YC 自己被各家模型公司"包围"，这个中立设计既是技术选择也是立场声明。
3. Postgres 持久层 + 每作用域沙箱
会话历史、用户数据、队列等持久状态存在 Postgres。Agent 的工具面刻意做得很小，其中核心是一个 execute 工具——在该作用域自己的隔离沙箱里执行命令。沙箱是"持久的电脑"：装过的工具一直装在那里。这个设计很符合 Koomen 的哲学——好的 AI 软件应该尽可能小，只写最少量的代码，剩下的交给模型。
4. 插件化的前端
Web UI（Vite + Lit）、管理面板、公开门户都是核心 HTTP API 之上的可选插件；Slack（Bolt 框架）是核心直接启动和监督的进程内插件。接入面是可以换的，核心才是本体。

QM 的安全思路直接沿袭本地 coding agent 的范式
agent 以它服务之人的身份、凭据和权限行事，一切行为可审计。组织选定一个安全水位，更窄的作用域只能收紧、不能放宽：
· Strict：除两个无副作用的回合结束工具外，每次工具调用都需人工批准；
· Auto（默认）：一个分类器在外部数据和工具结果送达模型前做来源标注和筛查，且部署方可以把筛查指向自己的代理；
· Dangerous：不做内容筛查、不在工具调用间暂停。
