1. 细胞就是一座城:3.7万个智能体到底在“演”什么
看到“斯坦福团队做了家AI药企,3.7万个智能体一起做药”这条消息时,我第一反应是:这不是我们熟悉的“AI制药”。
过去几年,AI制药的主流玩法是让模型在海量分子结构里找规律,预测靶点、生成候选分子,本质还是“模式识别”。但这个项目完全换了路数——他们不直接做药,而是先造了一座“数字细胞城市”:把细胞里面成千上万的基因、蛋白质、代谢物、信号分子,一个个变成有独立行为的智能体,然后让它们在虚拟空间里各司其职、互相通信、共同运转。
一整个细胞,成了一座可运行的“城市”。药物研发,变成了“给城市一个修复方案,然后观察它能不能恢复秩序”。
我第一次看到这个思路时,说实话是有被击中的感觉。因为真实的细胞本身就高度像一座城市:基因是“市民”,承载着遗传信息;蛋白质是“工人”,负责运输、催化、组装;信号通路是“交通网络”,指挥物质和信息的流向;代谢物是“市政物资”,维持城市的能量供应。当某个基因突变,相当于一个关键部门出了问题,城市不会立刻崩溃,而是会启动补偿机制、备用通路,甚至牺牲一部分功能来保命。这些行为本质上是成千上万个“个体”协同博弈的结果,不是任何一条单独规则能描述的。
过去我们用AI模拟这种协同,基本是两个极端:
- 要么把细胞拆成分子层面的一堆方程,用传统的数学建模去跑——精确但慢,而且根本覆盖不了“整座城市”的规模;
- 要么让一个大模型吞进去海量组学数据,试图直接从数据里“悟”出规律——高效但黑箱,我们只知道它给出了一个结果,却说不出机制上为什么。
“细胞即城市”这个项目给的答案是第三个方向:不用一个超级AI去模拟整座城市,而是让3.7万个“普通AI居民”自己把城市演出来。细胞内的复杂行为不被建模,而是被涌现。
这个思路最大的魅力在于可解释性。当模型预测“某个基因突变会导致某种代谢异常”时,你可以直接查看模拟过程:哪些智能体最先响应,哪些通路发生了拥堵,哪个蛋白质智能体失职了,城市是怎么一步步走向失调的。整个过程像一部可以回放、可以暂停、可以单步调试的“城市纪录片”。对做药的人来说,这比一个黑箱输出一个靶点要有价值得多——因为药物研发真正难的从来不是“知道哪个分子有问题”,而是“理解这个问题是怎么发生的”。
当然,这个项目从严格意义上说并不是真的“开了一家药企”,它更像是一个重新定义药物研发前端的实验范式:把“读文献、查数据库、做实验、提假设”这件事,部分外包给一个可以并行运行、可以反复调参、可以无限重启的数字细胞城市。
所以这篇文章我想认真拆一下:3.7万个智能体是怎么协作的,这个架构解决了什么真实问题,工程上有什么硬骨头,以及作为普通开发者,我们能从这种“万人操盘”的多智能体协作里偷到哪些师。
2. 3.7万这个数字不是拍脑袋:智能体角色是怎么设计的
你有没有想过,为什么是3.7万,而不是370或者3700万?
数字背后是有生物学依据的。一个典型的人类细胞里,编码蛋白质的基因大约有两万个。但细胞内的“功能实体”远不止基因——还有各种转录本、蛋白质亚型、非编码RNA、代谢物、信号复合物。如果把细胞里那些在疾病过程中真正“有职位”的关键实体都算上,数量级就在几万这个区间。3.7万这个数字,对应的其实是一批经过筛选的、有明确功能和交互关系的生物实体集合。
2.1 每个智能体只干一件事:角色边界是第一设计原则
做多智能体系统,最容易犯的错误就是让每个智能体“什么都懂一点”。这个项目不是这么干的。
每个智能体被赋予的角色极其收窄。一个扮演“某种激酶”的智能体,它的系统提示词里不会塞入整个生物学知识库,只会包含:这个激酶是什么、在哪些通路里起作用、它会磷酸化哪些下游底物、受哪些上游信号调控、它在正常状态和疾病状态下的行为差异。
这实际上就是给每个智能体写了一份“岗位说明书”。你不需要它懂细胞的全貌,你只需要它把自己的岗位职责履行好,并在收到上下游“邻居”发来的信号时,做出符合生物学逻辑的反应。
这个设计思路和现实中的组织管理高度一致:一个城市里,交警不需要懂发电厂的运维,但车祸发生时,他需要知道该通知哪些相关部门。每个角色只负责自己的一亩三分地,但通过标准化的信息传递,整个系统就能运行起来。
2.2 通信与协调:四级架构,逐级上报
3.7万个智能体如果全部两两直连,交换信息的复杂度会直接爆炸。实际架构一定是分层的。按这类多智能体系统的常见设计,至少会有四个层级:
- 分子层:单个基因、蛋白质、代谢物智能体,负责对外界信号做出反应;
- 通路层:一组功能相关的智能体组成一条“通路”,通路内部可以直接通信,通路与通路之间通过关键节点交换信息;
- 细胞器层:线粒体、内质网、细胞核等功能模块,负责汇总自己区域内的状态;
- 细胞层:一个“总调度”智能体,只看各细胞器上报的摘要,不关心单个分子的细枝末节。
这套“逐级上报”机制非常关键。现实里一个细胞正在发生炎症反应时,NF-κB通路里的蛋白会疯狂传递信号,但细胞核并不需要收到所有分子的全部消息,它只需要知道“炎症信号来了,强度多高,持续时间多长”。分级之后,每一层的通信量都被控制在一个合理范围,系统才能支撑起数万个智能体的规模。
你发现没有,这其实是在用系统架构模拟真实的生化逻辑:细胞内本来就不存在“全知全能”的调控中心,基因表达、翻译后修饰、代谢调控,全是靠着局部的信息传递和反馈回路完成的。让3.7万个智能体用同样的方式协作,恰恰是“形神兼备”。
2.3 全局“市政厅”:避免局部理性导致全局灾难
分层架构解决了通信带宽,但带来了另一个问题:局部行为合理,不代表全局结果正确。这在复杂系统里太常见了——每个部门都在做对自己最有利的事,合在一起,城市反而失衡了。
所以这个系统里必然需要一个“市政厅”类的全局协调模块。它不直接指挥每个智能体,而是维护一个全局状态面板:当前模拟的是正常状态还是疾病状态、哪些通路已经被激活、ATP能量池还剩多少、整体稳态是否被打破。一旦某个通路级的行为和全局状态冲突,市政厅会做仲裁,而不是让局部智能体无限发散。
举个例子:模拟“缺氧”场景时,单个细胞会从有氧代谢切换到糖酵解,这是局部层面的合理应对。但如果几百条通路都同时要求大量葡萄糖摄入,整个“城市”的能量预算就崩了。市政厅这时候就要做宏观调控:限制糖酵解通路的资源配额,同时让其他通路降低能耗,确保城市整体存活优先。
没有这个机制,3.7万个智能体模拟出来的不是一座细胞城市,而是一场没有交通规则的街头混战。有经验的工程师看到“3.7万个智能体”这个数字就能猜到,这个项目真正的技术重心根本不在“有多少个智能体”,而在“这几万个智能体之间跑的那套协调协议”。
3. “单模型算分子”和“多智能体演系统”差在哪儿
聊完架构,我想把这个问题掰开揉碎:同样是AI制药,为什么非得绕这么大一圈,用3.7万个智能体去“演”一座城市?一个足够强的大模型,直接吃进去海量生物数据,难道不能给出更好的靶点吗?
这个问题的答案,藏在药物研发的真实痛点里。
3.1 单模型的核心局限:只能“预测”,不能“体检”
传统AI制药的路径,可以概括为:数据进,结论出。你给它一堆已知的蛋白结构、化合物活性数据,它告诉你哪些分子可能有活性。这套打法的优势是快、便宜、可大规模筛选,它事实上已经成为药物发现流水线上的重要一环。
但它的天花板也很明显:单模型预测的是“相关性”,而不是“机制”。它告诉你“这个靶点值得试”,却说不清楚“这个靶点参与了哪条通路、阻断它会引发什么代偿反应、为什么在A类患者身上有效而在B类患者身上无效”。
药物研发的真实场景,从来不是“找到一把钥匙开一把锁”,而是“在密密麻麻的交通网络里,找到一条既能缓解拥堵、又不会导致其他街区瘫痪的调流方案”。你干预一个靶点,身体一定会启动补偿机制。单模型很难模拟这种“牵一发而动全身”的级联反应,因为在它的训练数据里,这些反应是以统计规律的形式存在的,而不是以动态过程的形式存在的。
3.2 多智能体的核心优势:可回放、可干预、可追问
多智能体系统的价值,恰恰在于“过程可见”。我用表格对比一下:
| 对比维度 | 单模型AI制药 | 多智能体模拟 |
|---|---|---|
| 建模对象 | 分子的统计规律 | 细胞内的动态过程 |
| 输出形式 | 靶点、分子结构、活性分数 | 运行轨迹、通路状态变化、依赖关系 |
| 可解释性 | 低(黑箱) | 高(每个智能体行为可审计) |
| 干预方式 | 重新训练或微调 | 直接调整某个智能体或局部参数 |
| 数据需求 | 海量历史数据 | 角色知识+通路关系,可推理运行 |
| 适用场景 | 高通量筛选、分子生成 | 机制研究、联合用药、耐药性推演 |
这张表的最后一行特别值得品。单模型的强项在于“快筛”,但它回答不了“这个药为什么在联合用药时失效”这种系统性问题。多智能体的强项在于“推演”——你把细胞调到“疾病状态”,然后给药一个“修复方案”,观察整个系统的演化轨迹。耐药性是怎么产生的?是因为某个智能体通过代偿通路绕过了药物阻断,这个过程在模拟里是可以被追踪的。
3.3 为什么药物研发本质上是一个系统问题
我说一个几乎所有做过药物研发的人都有共鸣的场景:你找到了一个完美的靶点,体外实验、动物实验都很顺利,但临床一期就出问题了——不是靶点不对,而是这个靶点在人体里参与的生理功能比预想的多得多。阻断它虽然能杀死癌细胞,也顺便破坏了心肌细胞的正常信号传导。
这类问题的根源在于:生物体是一个极度冗余、极度依赖补偿机制的系统。你在纸面上“阻断”了一个节点,但细胞可能会开启三条替代通路绕过阻断。这种“多个体博弈后的动态平衡”,天然适合用多智能体来模仿——因为每个智能体都在根据局部环境做决策,遇到障碍时会产生新的行为,而不是像数学方程那样在参数边界内机械响应。
所以,与其问“多智能体能不能做药”,不如问“为什么我们直到最近才具备做这件事的技术条件”。答案也很直白:因为构建3.7万个有生物学知识、能互相通信、成本还在可控范围内的智能体,这个能力本身就是大模型平民化之后才有的红利。
4. 把3.7万个智能体跑起来,工程上全是硬骨头
外行看热闹,内行看门道。几万个智能体协作这件事,听起来性感,做起来全是痛苦。以下是我结合这类多智能体系统的工程实践,认为这个项目里最容易被低估的几个硬骨头。
4.1 上下文窗口不是无限的:智能体不能“全员闲聊”
3.7万个智能体,如果每个智能体都要“读”其他智能体的完整输出,Token消耗会直接爆炸。哪怕只跑一轮完整的信息交换,总消耗都可能达到几十亿Token——这个成本足以让大多数团队当场破产。
所以真实系统里一定不是“全员闲聊”,而是采用共享黑板(Shared Blackboard)模式。每个智能体不直接互相发消息,而是把自己的关键状态写到一块公共的“状态黑板”上,其他智能体按需去读取与自己相关的部分。这正是我前面提到的“逐级上报”机制的工程化落地:每个智能体都有明确的输出协议,只在特定时机、向特定层级、提交特定格式的信息。
这里其实有一个很值得普通开发者学习的工程原则:通信成本决定系统规模。你能支撑多少智能体,不取决于你有多少算力,而取决于你设计的消息传递机制有多克制。
4.2 幻觉是致命的:不能让智能体“脑补”生物学关系
大模型的幻觉问题,在闲聊场景里最多让人笑一笑,在药物研发场景里是要出人命的。一个智能体如果“脑补”出一个并不存在的蛋白质相互作用关系,整个下游模拟都会跑偏,最后推导出的靶点假设可能就是完全错误的。
这个项目一定做了大量的幻觉约束。从实践来看,比较可靠的做法有两层:
- 第一层是知识约束:每个智能体的系统提示词和本地知识库,不是靠模型自由发挥,而是从真实生物学数据库(比如Gene Ontology、STRING这种蛋白-蛋白相互作用数据库)里提取的结构化关系。智能体不能说“我和谁有关系”,只能说“我的数据库里有据可查的、和谁的关系”。
- 第二层是输出校验:智能体的输出会被一套规则引擎做格式和模式校验。如果它的回答里出现了数据库里不存在的关系,或者逻辑上违背了基本的生化守恒(比如“蛋白质凭空合成”),系统会拒收并要求重新生成。
套用一句做AI Agent的老话:无约束,不Agent。尤其是垂直领域,约束得好不好,决定系统是真的生产力,还是一场昂贵的角色扮演。
4.3 成本与算力:大模型做关键决策,小模型跑日常流程
3.7万个智能体如果全部调用GPT-4或Claude这个级别的大模型,单个实验的成本是不可接受的。工程上几乎必然采用“分层模型策略”:
- 日常的、重复性的、逻辑简单的智能体行为,由轻量模型(甚至是传统规则系统)承担;
- 关键的、需要复杂推理的节点,比如通路级的状态判断、全局协调器的决策,才会调用高级大模型。
这个策略和人类组织的资源配置逻辑也是一样的:不是所有岗位都需要博士,大部分岗位只需要训练有素的执行者。如果把高级模型的推理能力当成“劳动力”,它就应该被投放到最需要深度思考的岗位,而不是让一个高级研究员去干贴发票的活。
4.4 验证闭环:模拟的结论,终究要回到实验室
最后也是最重要的一点:这套系统跑出来的所有假设,都必须在真实生物学实验里验证。智能体模拟说“这个靶点联合那个靶点一起阻断,可以规避代偿机制”——这只是一个高置信度的猜测,而不是结论。
我看到这个项目里提到的一个验证路径是:先在酵母、细菌这类结构更简单的模式生物里做验证,再逐步推进到哺乳动物细胞系。这个路径非常务实。越是简单的生物,可参考的数据库越全,代偿机制越少,验证成本越低。把一个新范式放在成本最低、信号最干净的环境里先跑通,本身就是工程化的正解。
5. 泼盆冷水:这套“AI药企”离真正的药厂还有多远
聊了这么多技术细节,我还是想泼一盆冷静的冷水。
3.7万个智能体一起做药,听上去很炸裂,但如果冷静下来看,它目前更准确的定位是“假设生成器”,而不是“药物制造机”。
5.1 “智能体”不等于“科学家”
3.7万个智能体,每一个都只掌握一个极其窄的技能点。它们合在一起可以模拟一座细胞城市,但单拎出来,没有一个智能体真正“理解”药物研发。就像一座城市里没有一个人知道城市整体如何运转,但城市本身可以正常运转一样。这套系统的智能不在个体,而在涌现。
这也意味着,它的输出质量完全取决于“城市设计”的质量。角色分工是否合理、交互规则是否忠实于真实生物学、全局协调器的仲裁逻辑是否正确——这些才是决定模拟结果可信度的关键。模型能力只是底座,真正花功夫的是用一套严谨的“游戏规则”把这些能力组织起来。
5.2 模拟与现实的鸿沟:离散文本 vs 连续生化
还有一个根本性的鸿沟:智能体的交互是基于文本的离散决策,而真实细胞内的调控是连续的生化反应。智能体说“我将下调这个基因的表达”只需要一个Token,但真实细胞里这个过程涉及转录因子结合、染色质重塑、RNA聚合酶招募等一系列连续生化事件,还受到浓度梯度、时间延迟、空间定位的影响。
从离散的智能体决策,到连续的生化过程,中间需要大量的人做“翻译”和校准。这也是我认为这个范式短期内不会取代真实实验的原因——它会大幅压缩假说的筛选空间,但最终裁决权还是在湿实验手里。
5.3 现阶段最合理的打开方式
如果你问我,这套系统现在最大的价值是什么?我的答案是:让科学家在“真正做实验之前”,先在虚拟空间里犯错。
过去,一个科研假设从提出到验证,路径极长、成本极高。错误方向的探测往往要花掉几个月。有了这套系统,很多“明显走不通”的方向可以在虚拟城市里被快速检验和排除,剩下的高置信度假设再进实验室——这才是它现阶段最务实、最落地的用法。
缩短科学发现的“试错前置环节”,不是替代实验,而是让实验做得更聪明。能把这个价值用好,就已经是一场实打实的效率革命了。
6. 从细胞城市里偷师:给普通多智能体开发者的三条建议
这个项目虽然是生物医药场景,但它暴露出来的多智能体工程问题,和我们平时做的AI Agent项目是完全相通的。我提炼了三块可以直接抄走的经验,尤其适合正在做Agent框架、多智能体协作的开发者。
6.1 角色边界比模型能力更重要
这个项目给我最大的启发是:智能体的能力上限不重要,角色边界才重要。你再强的一个智能体,如果岗位职责定义得模糊,它也会变成系统里的不稳定因素。
我见过很多多智能体项目失败,不是模型不够强,而是每个智能体的系统提示词写得像“百科全书”。正确的做法是:给每个智能体写“岗位说明书”,明确它的职责范围、可调用的资源、必须上报的事项、绝对不做的事项。边界清晰,是协作有序的前提。你在设计时要问自己:把我的智能体系统交给一个完全不懂技术的用户配置,他能依据角色描述判断这个智能体该干什么吗?如果不能,边界就不够清晰。
6.2 用“逐级上报”代替“全员直连”,通信成本决定规模
很多人在做多智能体的时候,直观的想法是让智能体之间自由聊天。几个智能体还好,一旦超过十几个,消息量就会失控,而且大量信息是无关噪声。
向“细胞城市”学:分层。把智能体按功能域划分,域内可高频通信,域间通过汇总节点交换信息。上层只接收摘要,不关心细节。每个智能体有明确的“上报时机”和“上报对象”,而不是随时随地广播自己的状态。这会让你的系统臃肿度下降一个数量级。
6.3 必须有一个“市政厅”:全局协调器不能省
最后一条,也是我踩坑最多的一条:当你引入了哪怕三个以上各有目标的智能体,就一定要有一个负责全局仲裁的协调器,否则局部理性必然导致全局混乱。
协调器的职责不是替每个智能体做决策,而是维护全局状态、发现冲突、做资源调配。它像系统里的“宪法”,负责在局部目标和全局目标冲突时给出裁决。这个模块的输出越早接入越好,不要等系统跑乱了再补——到那时,你会发现自己面对的是3.7万个“都有道理”的智能体在互相指责。
多智能体系统的熵增速度远超你的直觉,不设全局协调器,几乎是必然失控的结局。
我在实际做Agent项目的过程中,有一个特别深的体会:很多人总觉得多智能体的门槛在“怎么把智能体做得更聪明”,但真正拉开差距的,是“怎么让一群并不那么聪明的角色,像城市一样有序运转”。斯坦福这个“细胞即城市”的项目,不过是把这个道理放到了3.7万个角色的极端规模上重新验证了一遍。下次你再设计多智能体系统的时候,不妨也问自己一句:如果我这个系统里的智能体是一座城市的居民,那么这座城市的交通规则、部门分工、危机响应机制,我设计好了吗?