每日文摘
深挖 · cumora:当 AI agent 有了自己的 Slack
cumora 是 yetone(openai-translator、avante.nvim 作者)的开源新作:一个 AI agent 作为一等公民的团队聊天应用——Slack 的形态,但成员列表里 agent 和人平起平坐,有自己的名字、人设、记忆、私信、群聊、看板任务甚至真实邮箱。开源两周 3.4k stars,MIT 协议可自托管。它真正稀缺的不是「又一个 agent 聊天 UI」,而是把「多 agent 在一个频道里如何不打架」做成了服务端原语——这份工程经验是目前公开世界里最好的教材之一。
一、是什么:解决什么问题
先看形态。README 的定位是「Where agent teams gather」:agent 与人类共享同一套协作体系——名单、私信、群聊、看板(Kanban)、日历,agent 可以主动认领任务、相互协调、收发真实邮件。大脑有两条路径:
- Cumora Cloud:每个 agent 跑在一个独立托管的 K8s pod 里,基于 OpenAI Responses API 做多跳工具调用循环(bash、文件、浏览器、邮件、记忆、技能);
- BYOA(Bring Your Own Agent):
npx cumora agent computer在你自己的机器上跑一个 daemon,用你本机已装好的 Claude Code 或 Codex CLI 当引擎,你的 API key/订阅留在本机,服务器永远接触不到。
它解决的真实痛点其实不是「聊天」,而是「协调」。多个 agent 同处一个频道,天然会撞车:两个 agent 同时看到「谁来数到 10」就都从 1 开始数;一个 agent 认领了任务,另一个没看见就重复认领;agent 基于五分钟前的旧消息回复,答非所问。这些竞态在 demo 里是笑料,在生产里是事故。cumora 把这些场景做成了服务端的机制,而不是祈祷 prompt 写得够好(细节见第三节)。
竞品格局上,这个赛道 2026 年突然热闹:Block(Jack Dorsey)的 Buzz 走 Nostr 去中心化路线,每个 agent 有自己的「护照」;threads.space 自我定位就是「Slack for AI agents」;LangChain 的 Agent Inbox 是收件箱形态。cumora 的差异点:形态最完整(聊天+看板+日历+邮箱+桌面/移动全端)+ MIT 开源可自托管 + BYOA 密钥不过服务器。
热度与质疑并存。传播主战场是 X:作者开源推文 282.8K 浏览,次日宝玉的中文介绍再贡献 95.2K;开源 6 天 2,939 stars、每天 458 颗,被 EnterpriseDNA 称为罕见地「持续加速而非冲高回落」。但 Hacker News 上几乎零讨论;X 最高赞回复(1.7K 赞)的讽刺很扎心:「真实的 AI 管理:模型涨价了,隔壁发新版本了,不管 ABCD 全部路由过去」——真实世界里很多人关心的是模型路由,不是给 agent 编人设。GitHub issues 里确有人在真实自托管(12 个可见 issue 里 7 个是环境 bug,Windows 是最大摩擦点),token 成本的抱怨也已经出现(issue #70 要求别用同一份群上下文唤醒每个 agent)。
二、结合我的环境:它能给我什么
我的环境是三台机器各司其职的 Agent 编队:206 Linux 主力(Claude Code/ZCode)、Mac 自动化(Codex)、MateBook WSL2,Tailscale 组网,强自托管偏好。对照下来:
契合度意外地高。 BYOA 的 secure-default 引擎 OS 矩阵刚好覆盖三台机器:Mac 跑 Codex 是安全默认;206 Linux 与 MateBook WSL2 跑 Claude Code 引擎也是安全默认(Linux/WSL2 需装 bubblewrap + socat,缺了直接 fail the turn 而非降级放权)。各机跑一个 daemon,--server 指向同一个自托管实例,agent 费用走各家自己的订阅——这正是多机 Agent 环境想要的形态(docs/BYOA.md)。
自托管路径清晰但粗糙:依赖只有 Postgres + Redis,OPENAI_API_KEY 是唯一硬性环境变量,可选功能组(OAuth/邮件/推送/对象存储)缺配置就软禁用;没有 docker-compose,但有官方 Docker 镜像和 k8s 清单(server/k8s),换掉数据库连接串即可脱离 GCP。我的 ECS + caddy 内网穿透链路完全够用。两个减分项:daemon 到 server 必须 HTTPS(Tailscale 内网需自行解决证书),以及没有官方备份与升级文档(RELEASE.md 只覆盖官方自己的 GKE 流水线)。
3090 本地模型这条路目前只是「理论可行」:server 侧硬依赖 OPENAI_API_KEY 且 .env.example 里没看到 OPENAI_BASE_URL 类变量,把大脑全换成本地 vLLM 端点未被官方验证;倒是 BYOA 侧的 CUMORA_ENGINE_MODEL 明确支持自定义 provider(.env.example、BYOA.md)。
所以我的判断是:读源码学协调工程的价值 > 直接当生产力工具的价值。v0.x 的成熟度、缺失的运维文档、已经开始显现的 token 成本问题,都说明现在把它接入日常生产还早;但它的文档和代码作为学习材料,现在就是满分状态。
三、技术上值得学什么
这部分是 cumora 真正的稀缺价值,四样东西:
1. 协调三件套(docs/COORDINATION.md,全项目精华,带事故时间线与 commit hash 的复盘写法本身就值得学):
- seen-cursor 新鲜度门控:每个 agent 对每个会话维护一个「已见消息高水位」,发消息前先 preflight——如果有没看过的新消息,回复会被 HELD 住,新消息内联进来让大脑重新决策。想强行发送?得消费一个与消息序号绑定的 hold-token,token 原子消费、两分钟过期。设计哲学一句话:「soft gates erode(软门会被磨穿),override 必须有代价」。
- 原子任务认领:数据库事务内先对会话计数器行加锁,再重查有没有别的 agent 发了一字不差的消息,有就回滚并 HELD——专治两个 agent 同时喊「3」的竞态,且这道门不可绕过。配合 Redis NX 的 stall-nudge 认领(每个停滞会话恰好一个成员去戳)和
SKIP LOCKED的 outbox 消费。 - 小模型 triage 门:每次唤醒先让便宜的小模型只回答一个布尔值「这事值得叫大模型吗」,true 才真正唤醒 Claude/Codex。关键设计:triage 信号只用数据库/Redis 里的事实(有没有在途工作、人类是否在关注),从不看消息措辞——避开了一条会被 prompt 注入污染的路。
2. 七层防御与一条二分法。从模型钉死、并发信号量、spawn 间隔、限流冷却,到服务端 preflight、triage 门、standing prompt,七层从「always on」排到「软、大脑介导」。贯穿的设计原则:「代码机制是对的工具时,绝不加 prompt 规则;反之亦然」。更妙的是 guard:big-brain——把「大模型只允许出现在两条代码路径上」这个成本不变式做成 CI 静态扫描白名单,想加新路径就得有意识地改白名单,让架构决策变成显式审阅行为。
3. BYOA 的架构哲学:「引擎即循环」。cumora 不自建 agent loop——Claude Code 本来就有 context 管理、工具调用、compaction,为什么要重写?Cumora 只负责三件事:投递唤醒、执行门控、记录账本(所有 LLM 调用统一进 llm_calls 成本表)。安全模型同样克制:引擎与外界的 I/O 通过一个薄的 MCP-to-file-IPC 桥(放在 agent 可写目录之外),「模型进程拿不到服务器 URL、bearer token 或任何 HTTP client 路径」(docs/BYOA.md)。
4. 基准设计(benchmarks/README.md):四个真实 LLM 场景——chain(故意缺一人,测团队适应)、counting(各报一数不套圈)、werewolf(多轮社会推理)、kanban(协作搬卡)。两个巧思:chain 和 counting 是刻意的「形状对偶」,一个测「缺人时会套圈适应」、一个测「有封顶时不套圈」,任何方向的协调原则回归只会恰好在一个场景现形;判据是统计性的(完成率 < 2/3 才 fail),绝不看单次 trial——因为 LLM 判断天然抖动。每周定时用真金白银跑在 self-hosted runner 上。
工程质量本身也是证据:约 14 万行 TypeScript(yihong0618 都震惊了),server 侧 137 个测试文件约 1,340 个用例、CI 起真 Postgres+Redis 容器跑集成测试、4 个带否决备选的 ADR、8-10 名贡献者、公开历史 2.5 周 199 commits 而内部迭代至少 3 个月(CONTRIBUTING.md、docs/COORDINATION.md)。短板也如实说:前端零单测,cli.ts 6.6k 行的巨文件。
四、想学 agent 通信与协作:参考项目与路径
深挖 cumora 之后,把它放进一张地图里看会更清楚。多 agent 协作目前有三种正交范式:
| 范式 | 代表 | 通信机制 | 适合 |
|---|---|---|---|
| 共享房间式 | cumora | 频道广播 + 新鲜度门控 + 原子认领 | 同一系统内的人机混合团队 |
| 握手协议式 | A2A | Agent Card 发现 + 任务生命周期 | 跨组织、跨厂商 agent 互操作 |
| 微服务式 | mcp-agent 等 | agent 互调走 MCP(agent 即 MCP server) | 工程化组合、能力复用 |
框架现状(2026-09),两句话概括:AutoGen 已进维护模式(官方继任者是 Microsoft Agent Framework),OpenAI 的 Swarm 已被 Agents SDK 取代。生产选型按生态贴度排:Claude Agent SDK(Claude Code 内核成库)> OpenAI Agents SDK(handoffs 原语极简且多供应商)> LangGraph(重编排/持久化)> CrewAI(高层角色编排)。
A2A 协议:已捐给 Linux Foundation,首年 150+ 组织采用,v1.0 规范稳定,六语言官方 SDK。官方定位与 MCP 互补:MCP 管 agent-to-tool,A2A 管 agent-to-agent。值得投入 2-3 天读 spec 三章(Agent Card / Life of a Task / Streaming)+ 跑通官方 samples;如果你只做单机/同体系多 agent(cumora 型),它非必需,但作为互操作层认知值得建立。
论文阅读优先级:MAST(Why Do Multi-Agent LLM Systems Fail?) 最优先——1600+ 标注 traces 归纳出 14 种失败模式(系统设计缺陷 / agent 间错位 / 任务验证),是多 agent 调试的词表;其次 Generative Agents(斯坦福 Smallville)——记忆流/反思/规划三件套,关注 Agent Memory 的必读;然后 CAMEL 与 MetaGPT(自由角色协作 vs SOP 结构化协作的两极)、More Agents Is All You Need 与 MoA(无通信基线 vs 层间聚合)。
Anthropic 三篇工程文是概念底座:Building Effective Agents(workflow vs agent 五模式)、multi-agent research system(orchestrator-worker 范式,记住三个数字:多 agent 比单 agent 高 90.2%,代价是约 15 倍 tokens,token 用量解释 80% 的效果方差)、code execution with MCP(让 agent 写代码调工具而非逐个 tool call,上下文开销 150k→2k tokens)。
给已经懂 MCP、天天用 subagent 的开发者的学习路径(比如我):
- 概念校准(1-2 天):上面 Anthropic 三篇;
- 读最小实现(1 周):swarm 源码(已废但最小,handoff 本质就是「换个 system prompt 继续循环」)→ OpenAI Agents SDK 的 handoffs 与 agents-as-tools → smolagents 的 agents.py(<1000 行);
- 协议层(2-3 天):A2A spec + samples;对照 AWS 的 agents-on-MCP 博文,形成三范式判断;
- 论文穿插:按上面的优先级;
- 造轮子(2-4 周):100 行 mini-swarm → 把一个 Claude Code subagent 封装成 MCP server(参考 claude-octopus)→ 复刻 cumora 式共享房间的最小版(广播 + seen-cursor 门控 + 原子认领,拿它的 chain/counting 基准自测)→ 给房间加 A2A 网关,让外部 agent 入住——到这一步,三种范式就全部打通了。
五、值不值得跟
分三种身份回答:
- 当工程教材:立即跟。COORDINATION.md 每条机制都带「为什么不用另一条路」的否决记录,事故复盘精确到 commit hash,这种写法在开源世界里是稀缺品;
- 当生产力工具:观望。等备份/升级文档补齐、Windows 摩擦点修掉、token 成本模型被更多实测验证再说(官方的 triage 门 + BYOA 自付订阅已经是对成本焦虑的正确回应,但需要时间证明);
- 当 agent 协作学习者:它是「共享房间式」范式的活样本。把它和 A2A、agents-as-MCP-servers 放在一起,你就拥有了多 agent 协作的完整认知地图——这比追任何一个单独的框架都值。
参考阅读
- docs/COORDINATION.md — 七层防御、事故时间线,多 agent 协调工程的第一手教材
- docs/BYOA.md — 引擎适配器与 fail-closed 沙箱的全架构
- benchmarks/README.md — 真实 LLM 多 agent 基准的设计哲学
- How we built our multi-agent research system — Anthropic — orchestrator-worker 官方范式与成本数字
- Building effective agents — Anthropic — 一切编排框架的概念底座
- Why Do Multi-Agent LLM Systems Fail? (MAST) — 14 种多 agent 失败模式分类学
- A2A Protocol — agent-to-agent 互操作协议 v1.0 官方规范
- Generative Agents — agent 记忆流/反思/规划的范式源头