QM,给全公司用的 agent 平台

💡 原文中文,约2300字,阅读约需6分钟。
📝

内容提要

QM是一个面向创业公司的多人agent平台,支持Slack和Web入口,核心抽象是scope,按个人或频道隔离记忆、文件和沙箱。它不绑定供应商,支持Pi、OpenCode等四种harness。架构采用无头core加插件,Postgres持久化,每scope有独立沙箱。安全上提供Strict、Auto、Dangerous三种姿态,并预设命令策略。部署通过独立目录和CLI,支持Fly或AWS,工程规范强调零注释和严格审查。

🔎

延伸解读

多人协作的隔离设计

QM 的核心抽象是 scope,每个人或频道都有独立的记忆、文件和沙箱,避免了多人共用时的配置冲突和权限混乱。这种设计让个人调教的 agent 与团队共享的 agent 互不干扰,适合创业公司中不同角色和项目并行协作的场景。

供应商中立的架构

QM 不绑定特定模型或 harness,支持 Pi、OpenCode、Codex、Claude Code 四种 harness 驱动同一个 core,部署方可以自由选择并随时更换。这种灵活性降低了供应商锁定风险,但需要团队自行评估不同 harness 的适配和性能差异。

安全姿态与信任模型

QM 提供 Strict、Auto、Dangerous 三种安全姿态,并预设命令策略,在任何姿态下都生效。其信任模型与本地编码 agent 类似,agent 以使用者身份行事,依赖审计和策略闸门。组织需根据风险承受能力选择姿态,并确保策略配置合理。

部署与运维的取舍

QM 通过独立部署目录和 CLI 简化部署,支持 Fly 或 AWS,但多 scope 隔离导致每个 scope 有独立沙箱,运维面变宽。状态耐久意味着需要管理更多资源,团队需评估自身运维能力是否匹配这种架构的复杂度。

Q&A

QM是什么?它主要解决什么问题?

QM是一个面向创业公司的多人agent平台,支持Slack和Web入口。它从第一天就按多人设计,通过scope隔离每个人的记忆、文件和沙箱,解决了传统个人助理式agent在公司中共享记忆和沙箱导致的配置冲突和权限一刀切问题。

QM中的scope是什么?它如何实现隔离?

scope是QM的核心抽象,每个人、每个频道、群组或项目都是一个scope。memory、文件、keychain视图、定时任务、Web应用和durable sandbox都按scope隔离,确保个人调教的agent和频道里的agent互不污染。

QM支持哪些harness?它如何实现不绑定供应商?

QM支持Pi、OpenCode、Codex、Claude Code四种harness,它们驱动同一个core。部署方可以自由选择模型和harness,随时更换。harness层做了统一适配,四个实现落在同一接口上,换harness不用动业务。

QM的架构是怎样的?核心组件有哪些?

QM的core是无头的,包括API、身份、策略、调度器和agent loop,用TypeScript/Node实现,HTTP用Fastify。Web UI、admin面板等是可选插件,Slack是core内启动的插件。持久层用Postgres,每个scope有独立的durable sandbox。

QM每回合的处理流程是怎样的?

每回合都经过core中枢:入口插件收到消息,解析身份并落到对应scope,策略层决定允许的操作,然后交给所选harness生成回应。工具面是固定的小集合,其中execute在scope自己的沙箱中执行命令。

QM提供了哪些安全姿态?它们有什么区别?

QM提供三种安全姿态:Strict(每次工具调用都需人工批准)、Auto(默认,外部数据先过分类器再进模型)、Dangerous(不筛内容、不暂停)。更窄的scope只能收紧不能放松。此外,预声明命令策略在任何姿态下都生效。

QM如何部署?部署目录的作用是什么?

QM通过独立的部署目录和CLI部署,支持Fly或AWS。部署目录包含公司特定的配置、自定义工具、沙箱镜像等,由qm CLI校验和部署。初始化会物化一个部署技能,引导完成基础设施、Web登录、Slack接入等,全程不需要checkout源码。

QM的工程规范有哪些特点?

QM的工程规范包括:零注释,意图靠命名、结构和测试表达;合并前必须由新上下文做破坏性审查;本地只跑受影响的测试,全量交给CI;贡献只收ADR文字,不收代码,对齐后由维护方实现。

QM有哪些边界和取舍?

QM的边界和取舍包括:固定小工具面放弃harness自带工具生态,换取行为一致和审计一致;agent以人的身份行事,审计简单但要求信任;多scope隔离导致运维面变宽,每个scope一台沙箱,状态耐久意味着状态要管。

🏷️

标签

➡️

继续阅读