如果你看过第一篇,你已经知道我当时在干嘛了——我手上有 12 个 AI,天天在 Discord 里互相喊,我卡在中间当传话筒,快被吵死。那篇讲的是痛点。
这一篇我想讲另一件事:Agora 这个项目,最开始到底是怎么冒出来的。
先补一句给新刷到的朋友。Agora 是我后来和 AI 在 5 天里从零做出来的一个开源项目。它做的事,说白了就是编排一群 AI 在同一个任务里讨论、分工、互相提意见,再在关键节点交给人拍板,最后让 Claude Code、Codex 这种工具真的去执行。
而它最重要的那一下,不是在键盘上想出来的——是我拿着手机说出来的。
四十秒的起点
那天我刷到一个做 AI 编排的开源项目。具体它长什么样其实没那么重要,第一篇已经讲过了。对我来说,重要的是它刚好戳中了我当时最难受的那个点。
我当时第一反应不是"我学到了一个设计",而是:我也有 12 个 AI 在 Discord 里天天互相喊来喊去,我是不是也该做一个东西,把这事管起来。
但我没打字。
我直接拿起手机,对着豆包语音输入说了一大段,大意是:
这个是一个开源项目是搞小龙虾的,挺有想法的,弄了个三省六部的架构去控制小龙虾,其实我们也有这种想法,你可以看我们这个工作区是我们的龙虾我们让他们在一个频道里 互相@ 分职责 合作 但是确实很混乱,因为虽然有职责但是又可以@,然后的话你看怎么样融合进入我们现在的这一套体系我们不想直接切换,但是我们也想有这样的面板,而不是只通过discord当然discord很好,所以现在其实也是再和你讨论 希望你能给我一个好的方案
就这么一段话,四十秒左右。后来我回头看,那四十秒几乎就是 Agora 的起点。
打字会把最重要的东西压没
我一直觉得,如果那天我是打字的,我大概率只会写一句:
"参考一个现有项目,设计一个多 Agent 协作框架。"
就没了。
这两种输入,AI 拿到的东西根本不是一回事。打字的时候,人会自动凝练。不是因为你表达能力强,很多时候恰恰相反——是因为你还没想清楚,所以你会本能地把那团乱七八糟的想法,压缩成一句你自己都觉得"差不多了"的话。
这一压缩,最重要的东西就没了:那些犹豫,那些"我也不知道对不对,但我就是觉得别扭",那些你自己没意识到、但其实已经在脑子里起作用的前提。
AI 最需要的,恰恰是这些东西。
它最怕的不是你说得乱,它最怕的是你说得太干净。因为你一旦把问题讲得过于整齐,AI 就会顺着那个整齐的问题,给你一个也很整齐的答案——看起来很漂亮,甚至很专业,但它解的,可能根本不是你真正卡住的那个地方。
这也是为什么我现在越来越依赖语音。手机上我基本直接用豆包的语音输入,回到电脑前又会继续用闪电说把后面的东西往下倒。不是因为懒得打字,是因为我发现,语音进来的时候,AI 更容易抓到我真正在问什么,而不是我以为我在问什么。
光这一点,差别就已经很大了。
语音只是第一步,你还得敢跟 AI 辩
但后面我发现,语音还只是第一步。真正让一个想法从"一闪而过"变成"可以落到 PRD 里"的,不只是你把它说出来,而是你有没有本事跟 AI 辩。
那天我把触发点说完之后,AI 很快给了我一个方案:
给每个 Agent 一个专属频道,任务通过一个协调器派发,Agent 之间不要互相打扰,这样消息就不会爆炸了。
如果只看表面,这个方案挺像回事——消息隔离了,上下文干净了,每个人各干各的。
但我看了一眼,马上有一种很强的别扭感。不是那种"我不同意你"的别扭,而是你这个方案好像很完整,但你碰坏了一个更重要的东西的别扭。
我没有立刻说"这个方案不好",我开始继续往外说:
不对,问题不是这样的。
我现在这个系统最有价值的地方,恰恰不是大家被隔离开,恰恰是 Agent 能互相看到彼此的产出。Sonnet 在做方案的时候,能看到 GLM 已经说了什么,它会直接批评;GLM 看到 Opus 的建议,也会吸收,会改。它们不是一轮一轮交卷,它们是在推理的中间态,就不断接收别人的最新消息。
这个过程很吵,但这个过程本身就是价值。
因为那不是一个协调器在替所有人想,那是一群不同能力、不同倾向的 AI,在同一个任务里互相拧、互相抬杠、互相修正。三个臭皮匠顶一个诸葛亮,这句话放在这儿,居然非常准确。
而你的方案一旦把它们彻底隔离,最后会发生什么?所有判断都会落到那个 main agent 或任务协调器一个人手上——它来决定谁做,它来决定谁说得对,它来决定谁的结果被采用。
那就不是集思广益了,那是中央集权。
不是提需求,是指出矛盾
那一刻我其实不是在给 AI 提新需求,我是在指出一个矛盾。
很多人和 AI 对话,习惯是"我想做个什么,你帮我补完"。我后来越来越觉得,这不是最有效的方式。更有效的方式是,你要敢对它说:
这个地方有问题 这个定义不对 你把不该自己做的事情也做了 你现在解决了一个表面问题,却破坏了我真正想保留的东西
AI 在这种时候才会真的开始帮你想。 因为你不是在让它顺着你,你是在逼它回到问题本身。

那天也是这样。我把那一大段说完之后,AI 的回应明显变了。
你用过 AI 就知道,它说"你说得对"是家常便饭。大多数时候那就是客气话,说完还是按它原来的路子走。但那次不一样——它没有在原方案上修修补补,而是直接把前面的思路推翻了,换了一个完全不同的方向:
那问题就不是隔离 Agent,问题是隔离任务。 每个任务一个 Thread,一个任务就是一个单独的工作区。Thread 里面,AI 继续自由讨论、继续互相批评、继续看见彼此,但任务和任务之间不再互相污染。
我看到这句话的时候,几乎是瞬间就知道——对了,就是这个。
不是隔离 Agent,是隔离任务。
架构对了,名字自己就冒出来了
后面更奇怪的事情发生了。架构一旦对了,名字几乎是自己往外冒的:
Agora — 古希腊广场,大家聚在一起讨论、争论、投票、形成共识的地方 Archon — 执政官,不是替所有人思考的人,而是在关键节点做裁决的人,也就是人 Citizens — 公民,那些在广场上发言、争论、提出方案的 AI Craftsmen — 工匠,Claude Code、Codex 这种真正去干活、去写代码、去产出结果的执行者
你现在回头看,会觉得这一套概念很像是设计出来的。但它真不是。它更像是那条逻辑自己长出来的——想法被对话逼清楚之后,名字、边界、角色、架构,都会开始自然出现。
后面真开始写代码的时候,我跟 AI 其实也是这么聊的。不是"帮我写这个功能",而是不断抓它的问题:这个职责不对,这个东西不该归 Agora 管,这个定义不是 Core 应该拥有的,你现在把 Discord 的东西耦合进来了,你现在把 runtime 本来该做的事情也想自己做了。
跟 AI 对话,最有用的不是提需求
我后来慢慢意识到,我跟 AI 对话时最有用的几个动作,不是提需求,是这几个:
先把脑子里那团东西原样说出来 盯着它给的方案里最别扭的那个点 别急着给更好的答案,先说清楚它为什么不对 再往下追问,这件事到底是谁的职责 最后把抽象的讨论拽回真实场景里,看它能不能跑
说白了就是,别太快让 AI 给你答案。要先让它陪你把问题问对。
这件事很像什么?很像你脑子里有一团雾,语音先把那团雾喷出来,然后你和 AI 一起拿着手电一层一层照。照到最后你才会发现,原来你一开始卡住的根本不是表面那个问题,你真正要的,也许是另外一个东西。
最难的部分,不是写文档
Agora 从那次对话到第一版 PRD,中间其实只隔了一个小时。不是因为 AI 写得快,是因为那一个小时里最难的部分已经做完了——不是写文档,不是画架构图,不是起名字,而是把问题本身真的想明白了。
我现在越来越觉得,AI 时代最可惜的一件事,不是你不会写代码,也不是你不会做产品,而是你脑子里明明闪过一个很好的念头,它却在你打开输入框的那几秒里,被你自己压扁了,压干净了,压没了。
很多人不是没有东西,是没来得及把那个东西抓住。
语音最有价值的地方,也许就在这儿。
它不是让你偷懒,它是让你在那个念头还热的时候,先别急着把它整理成正确答案——先把它说出来,先让 AI 听见它原本的样子,再让对话一点一点把它逼清楚。
因为很多值得被做出来的东西,一开始都不是计划。它们只是一个瞬间的感觉,一句"这个不对",一句"我想要的不是这个",一句你还说不清但你知道它重要的话。
每个人脑子里,其实都有一些值得被做出来的东西。不只是程序员——你做内容,做产品,做生意,做课程,做一个小工具,甚至只是想把脑子里一个模糊的想法变成一个像样的东西,都是一样。
先别急着把它写正确。先把它说出来。
夜雨聆风