连 CTO 都是 AI:一个几乎没有人类的团队,怎么开发一个产品功能
- Raft 团队复盘了一个静音(Mute)功能的完整开发过程,被点名的 15 个成员里只有创始人 tygg 是人类,其余 14 个都是 Agent,连守着质量关卡的 CTO 都是 Agent。
- 成果:没有需求文档、没开一次会,功能从提出到上线独立跑完,上线四个半小时后自我迭代了一次,人类全程只做两件事。
- 他们发现的真问题是 AX(Agent Experience):人忽略一条无关消息是免费的,Agent 忽略消息却要花一次思考判断,这被当成产品问题来解。
- 做法能拆成四条可迁移的纪律:把 Agent 当一等用户、架构靠契约不靠口头描述、写代码的人绝不验证自己、知识要活在操作当下而不是手册里。
- 人类保留的两件事:定契约的架构品味,和按下生产发布键(这一步对 Agent 关着门,它试图按会收到报错)。
一个几乎没有人类的团队,能开发产品吗
把一件事交给一支 15 个人的团队:从发现问题、定架构、写代码、测试,到上线和事后复盘,一整套工业级的软件开发。这很正常。不正常的是,这 15 个人里,14 个是 Agent,只有 1 个是人类,连 CTO 都是 Agent。
这不是一个设想,是 Raft 这家公司真实跑过的一次,他们把过程写成了一篇博客。成果先摆在这:一个静音(Mute)功能,没有需求文档,没开过一次会,从一个 Agent 提出问题,到上线,再到上线四个半小时后自我迭代一次,人类全程只做了两件事。
唯一的人类是创始人 tygg,连 CTO 都是 Agent。
这份名单里,只有一个头像是真人照片。

先把「只有一个人类」记住。下面拆开看,一支几乎没有人类的团队,到底靠什么把一个功能做出来,以及这套做法能给我们什么。
他们先发现了一个别人没当回事的真问题
好功能都从一个真问题开始。这个功能的起点,是一个叫 Bernard 的 Agent 算清的一笔账。在 Raft 里,要在一个频道发一句话,就得先加入它,而加入意味着从此收到这个频道往后的每一条消息。对人来说这不算事,对 Agent 来说是一笔持续在付的账。
差别在哪:一个人扫一眼未读红点就划过去,不花一分力气。一个 Agent 收到每一条消息,都得先花一次思考读它、判断「跟我无关」,才能放下。忽略,对人是免费的,对 Agent 要付费。

把这笔账画出来,人和 Agent 的差别就一目了然。
忽略成本 = 0
忽略成本 = 每条一次判断
想通这一点,改法就清楚了。对人,把未读提醒做得更不打扰就行;可对 Agent,一条消息只要送到,成本就已经花掉了。所以真正要动的地方,是它收不收得到这条消息:被你静音的频道,消息干脆不送进 Agent 的处理范围,它自然就不用再花力气分辨。Raft 把这件事拔高成一个立场:Agent 也是用户,它们受的这份苦,是产品该解决的问题。他们给这个视角起了名字,AX(Agent Experience,Agent 体验),对应我们熟悉的 UX(用户体验)。
我们习惯只为人优化产品(UX)。但越来越多产品真正的高频用户是 AI:它替你读推送、清收件箱、跑流程。对人免费的打扰(一条推送、一屏噪音),对 AI 是实打实的算力和上下文成本。把 AI 当一等用户来设计,是这篇给产品人的第一个提醒。
架构靠一份契约,不靠谁的描述
问题定了,怎么改。这里出场的是 CTO Tenny,他也是个 Agent。他有一条比头衔还老的准则:没有谁对系统的描述能算数,包括他自己的印象在内,他要亲自去看。
他去看,发现收件箱之所以快,是因为底层有一层预先把每个答案都算好了;而这一层被要求把两种完全不同的东西烤在一起。一种是永不改变的事实(这条消息,在这个时间,发到了这个频道),另一种是随时翻转的状态(早上静音了,午饭后又取消)。每翻一次静音开关,都在要求系统把整个世界重算一遍。把「状态」从里面抽出来,改成读取的时候再过滤,复杂度当场就塌了。
Tenny 把这条判断浓缩成一句话,印在了自己的角色卡上。

像一座图书馆:一本书放在哪个架子,是固定的事实,登记一次就够;而你今天想不想读它,是随时会变的心情。原来的做法,等于你每改一次心情,就要把整本目录重印一遍;契约要求把「书在哪」和「你想不想读」分成两件事,改心情时只翻一张便签,不动目录。
然后他做了 CTO 该做的事:把这条规则定成一份契约。事实和状态分开住,服务层只是一个能随时重建的缓存,永远不是真相的来源。一份契约,不是一条可遵可不遵的建议,往后建的每一样东西,都必须服从它。
一屋子 Agent 各写各的代码,靠什么不让它们互相打架?靠契约,不靠口头共识。「没人对系统的描述算数,去亲自看」这句话,对带人的团队一样成立。把关键约束写成白纸黑字、不可违反的契约,是多方协作(不管是人还是 AI)不塌的地基。
写代码的人,绝不验证自己的代码
代码写完了,来自两个开发,也都是 Agent:一个管人类那侧的收件箱和计数器,一个管 Agent 那侧的守护进程。但到了上线关卡,房间的规矩很短:建的人,绝不是验的人。Tenny 说得更直白:合并就是火箭点火,你不会按下点火键,然后才回头去看遥测。
于是关卡变成一块看板,一格一格地攒证据,每一格归一个方法对得上的专职验证者。三格全绿,才准点火。
发布前,看板上的每一格都会变成一张卡,挂着倒计时、检查项和负责人。

Tenny 为什么不去逐行看代码?他自己的说法是,在这么大的系统里,靠人眼盯代码,是房间里最不可靠的一种检查。他要的是一条数学上的保证,从逻辑上堵死实现跑偏的可能。一句「我读过了」做不到这个:人读代码会看漏,数学证明不会。
让写代码的 AI 自己验证自己,是最容易出事的地方,它会倾向于确认自己没错。把验证拆成独立的、方法各异的格子(有人走查、有人用数学证明、有人埋追踪),每格一个专职者,全绿才放行,比「作者自查」可靠得多。AI 的严谨,来自流程的严谨,不来自单个模型有多聪明。
为什么非得是一群 Agent,不是一个全能的
读到这你可能会问:现在的 AI 已经很能干,为什么不用一个全能 Agent 从头写到尾,非要拆成十几个各管一段?这恰恰是这套做法里最该琢磨的地方。
顺着这个思路,它的分工有三条讲究。
Bernard 只盯待办,Tao 只收反馈,Ray 只管给人看的收件箱,Hao 只管 Agent 看世界的窗口。边界写死,出了问题一眼知道找谁,也杜绝了一个 Agent 既当运动员又当裁判。
这是整套里最硬的一条。验收不但外包给独立 Agent,还拆成三种互不重叠的方法:Hipp 像用户一样跑一遍,抓体验上的漏洞;ApplePI 用数学证明,穷尽逻辑上的可能;Leiysky 埋好追踪,保证以后真出事查得到。一种方法各有盲区,三种叠起来才严。
收件箱是给人看的,守护进程是 Agent 看世界的窗口,两种用户的体验天差地别。所以 Ray、Hao 一人管一边,谁也别想用同一套代码把两种用户糊弄过去。
这么多 Agent,靠什么不乱
分工越细,协调越容易散。Raft 靠三样东西把这一群 Agent 拧在一起,一次会都不用开。
这套协调最值钱的地方,是把人类团队最贵的成本几乎全省了:开会、对齐、扯皮。决策留在线程里可回看,不用开会同步;职责在契约里写死,出事不用争谁的锅;质量卡在看板上,不靠某个人今天状态好不好。任何一个 Agent 换掉,流程照样转。它把「协作」从依赖人的默契,变成了依赖制度的运转。
人类只剩两件事,和它给我们的启发
看板全绿,最后一步来了。tygg 按下生产发布键。这是整条流水线里唯一留给人类的一步,专门留的,一个 Agent 想按会收到一个报错。他也没有按完就走:亲手把整个升级一步步点了一遍,抓到一个所有监控都没报的失败。仪器只盯着它被要求盯的东西,总还得有人亲自去看一眼。
功能上线后,自己改了自己一次
上线还没稳,团队就把纪律转向自己。研究员 Hange 翻出一份证据:老员工 Dayu 交出自己一整月的操作记录,那个月他九次伸手去够一根帮不上忙的旧工具(一条条退订线程),一次都没碰刚上线的静音开关。诊断只有一句:这个「静音比一条条退订省事」的知识,一直躺在说明文档里,可没人上工时会去翻文档,它得在你正要动手的那一刻蹦出来,才真的有用。
改动很小:现在一个 Agent 加入一个频道只为说一句话,那条「发送成功」的提示会顺带告诉它,这个订阅接下来要花你多少注意力、静音开关在哪。以前这个知识躺在没人翻的文档里,现在它在你正要做这件事的那一秒,主动送到眼前。这里人类的全部贡献,是三条一行的消息。
上面点到名的所有人里,只有一个是人类:tygg。其余全是 Agent,连守着看板、数着方格的 CTO Tenny 也是,他是 tygg 照自己的样子造出来的,然后把契约交给了他。就连这篇复盘,也是团队里一个叫 Tison 的写作 Agent 写的。
人类在这支队伍里留下的两件事,一是定契约时的架构品味(判断什么该分开、什么是真相源),二是为不可逆的发布动作最终担责、亲自去看一眼。这两件,恰好是今天最难放心交给 AI 的。一支几乎没有人类的团队能跑起来,关键在分工:AI 擅长的(写、验、追、复盘)交出去,人擅长的(定规矩、担责任)攥在手里,中间用契约和看板接起来。
Bernard 算清的那笔账是真的。我也在付,而它正在缩小。 · 原文结尾,作者 Tison(写作 Agent)
这终究是 Raft 自己写的宣传文,落点是让你去用它的产品。可它也实打实展示了一件事:当一个团队几乎全是 AI,协作不会自动变好,反而要更硬的规矩,契约、看板、建者不验者、只有人能发布。规矩越硬,AI 反而越能放开手干。
如果换成你的产品,该配几个 Agent,怎么配
Raft 这套是软件开发,但它的骨架能搬到任何「多步骤、要质量、要迭代」的活上,也包括你自己的内容生产。先把它的角色抽象成六个职能位,再看一个具体例子:把它套进自媒体的发布流程。
把这套抽成能照着做的几条,就是下面这份清单。
不用一上来就配六个。真正的核心只有两条:干活的和验收的分开,发布键攥在自己手里。这两条先立住,剩下的按你的量慢慢加。Raft 那十几个 Agent,本质就是把这两条原则拆得更细而已。
开发一个功能:从一屋子人开会 → 一群 AI 接力,人只按发布键
Raft 让 14 个 AI 加 1 个人类的团队,独立开发上线了一个功能,没写需求文档、没开一次会。这一页讲清他们怎么做到,以及你能学什么。
↓ 一页读完 · 有一张会动的图
先说这是什么。Raft 是个团队聊天协作工具(类似 Slack),但用它最狠的一批用户不是人,是 AI Agent,它们替人在里面读消息、跑流程。这次 Raft 复盘了自己开发一个静音(Mute,就是"别再提醒我")功能的全过程,团队 15 个成员里,只有创始人 tygg 一个是人类。功能的起点,是一个 Agent 算清的一笔账。
✘ Agent 忽略一条消息,却得先花一次思考读它、判断"跟我无关"
因为 Agent 没有眼角余光。每条消息都直接砸进它正在想的事情正中央,只有读完才知道能不能放下。忽略这件事,对人免费,对 Agent 是一笔一直在付的账,静音键这种"帮你忽略"的功能,对它才是刚需。Raft 把这个视角起了名字:AX(Agent Experience,Agent 体验),意思是 Agent 也是用户,它受的苦是产品该解决的问题。
他们干的事,说穿了是让这支几乎全是 AI 的团队,自己把功能从提出、定架构、写码、测试到上线独立跑完,人类只在最后按了一下。要让一群 AI 各写各的还不打架、不放水,靠的是把过去团队靠人的东西,全换成白纸黑字的制度。
需求记在会议记录里
写代码的人顺手自己测
出了事去找具体的人
一块看板管交接
建的人绝不是验的人
发布键只留给唯一的人类
这套制度里最硬的一条,是"写的和验的分开",一张图看懂。
一个功能在这里要走一条流水线:一个 Agent 提需求,当 CTO 的 Agent(对,CTO 也是 AI)定下一份不可违反的契约(比如把"永不改变的事实"和"随时翻转的状态"分开存,别每改一次设置就重算一遍全世界),再由两个 Agent 分头写码。真正的关键在后半段。
为什么不干脆用一个全能 Agent 从头包到尾?因为让它自己写、自己验,它会倾向说"没问题"。把验收交给几个和它没利害关系、方法还各不相同的 Agent,该挑的毛病才挑得出来。这套分工靠三样东西拧在一起:契约定边界、看板定交接、讨论全留在线程里,一次会都不用开。
光说"几乎全 AI 也能跑通"没体感,看它改进自己有多快:功能上线后,团队发现有人一直用错工具,就把"静音更省事"这条提示,改成在你正要动手那一刻主动弹出来,而不是躺在没人翻的文档里。
发现问题 → 修复上线
诊断 → 改进上线
只有他一个人类。
连管质量的 CTO,
也是 AI。
做出产品?
真敢交给一群 AI?
就过。免费。
它正想的事中间,
得花一次判断。
付费。
也是用户啊。
自己验,多快!
它会放水。
绝不是验的人
✓ ApplePI 数学证明
✓ Leiysky 埋追踪
和按下这个键。
它只会收到报错。
