生物学里的代谢过程从来都不是按部就班的。线粒体和溶酶体不会照着中央剧本走,它们靠化学信号互相喊话,在资源分配上讨价还价。做Cyto Agent的时候,我想把这种去中心化的智能用现代大模型代理的模式复刻出来。
这篇文章聊聊怎么搭一个实时细胞模拟器,核心是个"LangGraph风格"的工具调用编排器。
![]()
传统模拟器的问题在于脚本化。大多数实现用硬编码的if/else阶梯:if (病原体) { 防御(); }。效率是有的,但少了生物适应那种微妙的弹性。
Cyto Agent把这些阶梯换掉,换成一个细胞核代理——由大模型驱动的编排器,把细胞状态当成非结构化数据来感知,通过推理可用工具来决定行动。
整个系统拆成三块。引擎(Simulation.ts)是反应式状态机,处理细胞的"物理":ATP衰减、葡萄糖消耗、病原体伤害。事件总线(EventBus.ts)是发布订阅系统,让代理能"听到"信号又不用紧耦合。AI编排器(LangChainService.ts)是模拟状态和大模型推理之间的桥梁。
最有意思的部分是给大模型装上"眼睛"和"手"。不是每次提示词都塞完整状态进去,而是实现了工具调用。比如query_organelle_status这个工具,能探测特定细胞器的内部遥测数据,返回ATP效率等级、完整性指标这些。
危机发生时,细胞核不会直接 panic,而是调用check_genomic_database(病原体类型)去查病毒株和真菌株各自的针对性对策。这样就把领域知识(数据库)和推理能力(大模型)解耦开了。
为了让模拟器有生命感,可视化用了Framer Motion做细胞组件动画。病原体不是静态圆点,行为随类型变化:病毒是带刺的、快速振动的紫红色物体,反映高频复制;细菌是慢速移动的翡翠色药丸形状,反映代谢毒性;真菌是脉动的琥珀色孢子,代表缓慢稳定的生长。
最爽的功能是"自主进化"。细胞核可以决定用汇总后的ATP来"进化"线粒体,升到2级或3级。这就形成了反馈闭环,模拟器能随时间自我优化,不需要人插手。
代码开源在:https://www.dailybuild.xyz/project/128-cyto-agent
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.