复刻一只果蝇的大脑,需要几个 GitHub 仓库?——三天成型的开源生态普查(附「FlyMe」查证)
本文是《把一只果蝇的脑子搬进电脑,里面还剩多少「它」?》的续篇。上一篇回答"布线里存了多少算法";本篇回答一个更接地气的问题——如果你想亲手复刻一只果蝇的大脑,今天伸手能够到什么。结论是:比一周前容易了一个数量级,因为过去三天(09-12 至 09-15),这个领域从零散的行为艺术,长成了一个有入口、有基础设施、甚至…
*果蝇连接组开源生态全景普查 · 附「FlyMe」查证 · 数据快照 2026-09-15*
本文是《把一只果蝇的脑子搬进电脑,里面还剩多少「它」?》的续篇。上一篇回答"布线里存了多少算法";本篇回答一个更接地气的问题——如果你想亲手复刻一只果蝇的大脑,今天伸手能够到什么。结论是:比一周前容易了一个数量级,因为过去三天(09-12 至 09-15),这个领域从零散的行为艺术,长成了一个有入口、有基础设施、甚至有自己诚实风气的开源生态。顺带处理一桩悬案:那个被问到的「FlyMe」项目,查无此人。
〇、一句话定性
复刻果蝇大脑的分工已经清晰得像一份 BOM 表(物料清单):数据(连接组)已经齐货,通用仿真件(引擎)成型中,行为级闭环(身体)有二到三个严肃实现,而学习与可塑性——真正的硬骨头——基本缺位。过去三天最大的变化不是任何单项突破,而是出现了一份 60+ 项目的社区普查清单(awesome-fly)和一条 pip install flybrain 命令:前者让生态可导航,后者把门槛从"读三篇论文加一周末配环境"压到"一行命令,三十秒下载,166,700 个神经元在你笔记本上放电"。
一、「FlyMe」:一次查无此人的寻人启事
先处理悬案。有人问:「复刻果蝇大脑的新项目 FlyMe 是什么?」
答案有点扫兴:不存在。GitHub 全站搜索「FlyMe + fly brain」零结果;Exa 深度检索、arXiv、Hacker News、科技媒体多轮交叉,没有任何叫这个名字的果蝇大脑项目。搜出来的「FlyMe」清一色无关:魅族 Flyme AIOS(手机操作系统)、FlyMe for Meta Quest(VR 遥控飞机模拟器)、北海道大学一家用真实果蝇做药物筛选的创药初创(人家复刻的是疾病模型,不是大脑)。
但它大概率不是凭空捏造的,而是名字记串了。最可能的四个"本尊":
| 候选 | 是什么 | 为什么容易被记成 FlyMe |
|---|---|---|
| FlyEM | Janelia 的项目团队名,MaleCNS 数据的制作方 | 字面最近,新闻里高频出现 |
| FlyGM | 清华的 Fly-connectomic Graph Model(arXiv 2602.17997),把整个连接组实例化为图神经网络,强化学习学会行走/转弯/飞行 | "连接组复刻+具身"最出圈的学术工作 |
| FLYNN | 密西西比州立的 Fly Connectome Neural Network(arXiv 2607.00025),连接组拓扑 RNN 做机器人导航 | 拼写最近,下面会专门讲 |
| Fly64 | github.com/ornata/fly,把 MaleCNS 模型接进超级马里奥 64 | 病毒传播最广的 demo 之一 |
二、七十二小时之后:从行为艺术到基础设施
上一篇讲到 Cell 论文发表后 72 小时内的游戏浪潮(Minecraft、DOOM、SM64、Beat Saber)。当时的定性是"接口工程":像素怎么进光感受器、哪些下行神经元接哪个按键,全是开发者手工设计的映射。
三天前(09-12)开始,事情起了一些质变。零散 demo 还在涌现,但更重要的是地层开始分化——有人开始做别人可以站在上面的东西:
| 日期 | 事件 | 为什么重要 |
|---|---|---|
| 09-12 | awesome-fly 清单建立(Mert Cobanov),当天即有订阅,现已 235 星 | 生态第一次有了地图。60+ 项目分八类,每条注明局限(circuit subset / prototype / release pending) |
| 09-12 | Fly Arena 发布 | NeuroMechFly 身体 + MaleCNS 的行为级仿真:气味羽流搜索、关节取食、理毛、睡眠-唤醒,甚至双蝇抢食与前腿击剑 |
| 09-13 | flybrain 包上架 PyPI(v0.1.0) | pip install flybrain,一行命令跑完整 MaleCNS,详见第四节 |
| 09-14 | Stonkfly(Coinbase 工程师 nftechie) | 完整 MaleCNS 的 166,700 个神经元看 K 线图炒加密货币(纸面交易),Tom's Hardware 与 GIGAZINE 报道,是 DOOM 之后最出圈的接口工程 |
三、四层解剖:一份 60+ 项目的生态普查
awesome-fly 收录的项目,按严肃程度大致可以切成四层。每一层的完整清单都在文末信源里,这里只讲每层的骨架和值得单独点名的东西。
第一层:研究级脑模型——复刻的"正文"
这一层是一切的地基,核心其实只有一个模型和一个身体:
- philshiu/Drosophila_brain_model:Shiu 等 Nature 2024 的官方代码。FlyWire 雌脑连接组 + 递质符号 + 最简单的 LIF 点神经元动力学,对 164 项感觉-运动预测命中 91%。上一篇讲过,这是"布线+极少额外信息≈大量算法"的最强实证。所有后续复刻,包括那些炒币的,神经元动力学几乎都溯源于此。
- eonsystemspbc/fly-brain:Eon Systems 把 Shiu 模型做成了多后端实现——Brian2、Brian2CUDA、PyTorch、NEST GPU 四套引擎共享同一份数据和参数,附基准测试。它的价值是工程化的:你可以比较不同仿真后端跑同一个大脑的代价。
- TheFlyExperiment/Virtual-Embodied-Fly:Eon 的具身闭环,12.7 万神经元 LIF 全脑对接 NeuroMechFly v2 物理 body(MuJoCo),脑-身 15ms 同步,出现取食、逃逸、理须等行为。上一篇提过,目前"脑+身"最完整的实现。
- 身体侧标准件是两套:NeuroMechFly/flygym(EPFL)和 flybody(Turaga Lab/DeepMind/Janelia),都是解剖学级 MuJoCo 身体+感觉接口+RL 环境。造自己的复刻品时,没人需要再建一只苍蝇的腿。
- TuragaLab/flyvis:连接组约束的视觉系统深度模型(Nature 2024),连接+任务优化就复现出 ON/OFF 通路与 T4/T5 方向选择性。想研究"视觉部分怎么复刻",从这里进。
- 一个新面孔值得注意:train-your-fly(eudald-seeslab),PyTorch Geometric 工具包,把果蝇眼模型接上 FlyWire 全脑图的消息传递,再接蘑菇体读出——布线全部固定,只训练每个突触的增益。这个"冻结布线、只调增益"的范式,正在成为连"复刻"和"学习"之间缝隙的标准做法。
第二层:引擎与基础设施——造复刻品的零件
这一层三天前还不存在,现在有了六个成员:
- FastFly(eonfathom):CUDA/CuPy 实现,目标是在消费级 GPU 上实时或超实时跑完 FlyWire v783 全图。
- Connectome-OS(ruvnet):Rust 写的 LIF 运行时+调试界面,可以对连接组做"刺激、切断、测量"——像调试器调试程序一样调试布线。Alpha 阶段,但方向对:连接组天然需要一套自己的 gdb。
- mps-malecns-model:MaleCNS 搬上 Apple Silicon(PyTorch MPS)。苹果用户第一次有了官方路径之外的能跑版本。
- AxonWeave:把 MaleCNS 暴露为 NumPy/PyTorch/TensorFlow 共用的稀疏可训练基底,拓扑来源与建模假设显式声明——做的是"数据接口卫生"这件脏活。
- fwmc:C++23 的 Izhikevich 脉冲网络+光遗传刺激建模的"神经孪生"桥,野心在双向:不只是仿真,还想反过来对真蝇做闭环刺激。
- fly-connectome-template(cobanov):React + Three.js + MaleCNS 真实 soma atlas 的实验模板,规定了模型输出格式。它降低的是"做一个自己的果蝇实验"的前端成本。
第三层:数据与分析——命脉所在
容易被视为"只是数据"的一层,其实是整个生态的命脉,而且全部开放:MaleCNS 官方数据 CC BY;BANC(雌性全 CNS)与 FlyWire 注释、跨数据集递质 ground truth 都在 flyconnectome 组织下版本化管理。分析侧的 NAVis 三件套(形态学/分割/坐标变换)、Codex 数据浏览器、cocoa(跨数据集比较)、connectome-interpreter(全脑尺度有效连接与可微模型)构成了研究者的日常工具箱。一个冷静的观察:这一层的成熟度远高于上面两层——连接组领域花了二十年建数据基础设施,"复刻"才刚起步,落差本身就是进度的刻度。
第四层:社区应用——行为艺术与压力测试
游戏(Doomfly、Fly64、Minecraft 模组、CARLA 方向盘、国际象棋)、桌宠(DesktopFly 及两个 Linux 移植)、交易(Stonkfly 炒币、OpenFly 炒印度期权)、艺术(俳句生成、印花设计)。这一层最热闹,也最需要上一篇的定性来消毒:它们是接口工程,不是"果蝇学会了什么"。给一张按图索骥的精选表:
| 玩法 | 项目 | 一句话 |
|---|---|---|
| DOOM | Doomfly | MaleCNS 接 ViZDoom,可塑性实验阴性结果如实发布 |
| 超马 64 | Fly64 | 最早出圈的 demo,神经元模型后被 flybrain 包收编 |
| Minecraft | Fly Brain Minecraft | Fabric 模组,每只蝇 mob 跑一份过滤后的 MaleCNS 图,带神经 HUD |
| 驾驶 | Flyhard | MaleCNS 模型经模拟蝇肢操作方向盘,接 CARLA;只到"有界转向" |
| 井字棋 | FLYT3 | 全图 MaleCNS LIF + REINFORCE 训读出,自带输给 MLP 的对照 |
| 桌宠 | DesktopFly | macOS 桌面蝇,真实逃逸回路(LC4/LPLC2→Giant Fiber,约 4ms 潜伏) |
| 炒币 | Stonkfly | 见第二节;默认纸面交易,实盘 opt-in |
| 俳句 | Faiku | 蘑菇体启发的强化写俳句,带降级备用模型 |
四、pip install flybrain:复刻的最低门槛
单独讲 flybrain 包,因为它是"复刻果蝇大脑"这个动作目前的最低门槛,值得知道门槛到底长什么样。
它封装的是完整 MaleCNS v1.0:166,700 个神经元、2,560 万条连接,按电子显微镜找到的原样接线,MIT 许可(数据遵循 CC BY 4.0)。LIF 动力学,脑内零训练——你刺激它自己的神经元,步进,读下行神经元的输出。性能口径:24 线程 CPU 单步 12-15ms(首次运行 numba 编译慢),RTX 4060 上单步 1.4ms,还能 batch=8 一次跑八只独立的蝇。首次 FlyBrain() 自动下载约 260MB 脑文件,SHA-256 校验;不想用预制品,也可以 flybrain build 从 MaleCNS 原始发布(约 1.1GB)自己构建。
有意思的是它的出身:作者(alextitonis)注明神经元模型跟随 Fly64——就是那个把果蝇接进超级马里奥的 Jessica Paquette 的项目。玩具repo的代码,长成了正经的库。这正是生态成型的微观机制:第四层负责试错和传播,第一层负责收编和固化。
包里还带了 reservoir computing 工具链(Trace/run/Readout:采任意神经元群的脉冲轨迹,拟合交叉验证的线性读出)和一个驱动视投影神经元的视觉编码器(Eyes/FeatureDetectors)。换句话说,它把"冻结的大脑+可训练的读出"这个当前主流范式做成了开箱即用——你能用它做的最诚实实验,恰好是下一节的主题。
它的"你好,果蝇"长这样——刺激左眼的 looming(逼近阴影)感受器,等逃逸指令神经元放电:
from flybrain import FlyBrain
brain = FlyBrain(device="auto") # 首次运行自动下载脑文件
left_loom = brain.cells(["LC4", "LPLC2"], side="L") # 左眼逼近探测器
giant_fiber = brain.cells(["DNp01"], side="L") # 逃逸指令神经元
for step in range(50):
fired = brain.step(inject=[(left_loom, 0.8)])
if set(giant_fiber) & set(fired):
print(f"逃逸指令在第 {step * brain.dt:.2f} 秒下达")
两行 brain.cells() 之所以能按细胞类型点名,是因为 MaleCNS 的 11,710 种细胞类型注释随数据一起发布——没有这层注释,166,700 个神经元只是 166,700 个没有名字的整数编号。复刻的门槛从来不只是拿到布线,还包括拿到布线的"电话簿"。这一段十一行的代码,放在两周前是一篇博客教程的工作量。
五、连接组输给 MLP:一个社区的诚实时刻
普查中最值得记录的,不是哪个项目多惊艳,而是这个社区对负结果的处理方式。几个例子,全部来自项目自己的文档:
- FLYT3(seanphan,井字棋+野火瓦片分类)自己公布了对照:连接组电路在五类卫星野火损毁瓦片分类上得 60.8%,而同一输入喂给一个简单的池化像素 MLP 得 85.7%。连接组输了,输得很干脆,作者把它写进了 README。
- Doomfly(nftechie)记录了可塑性实验的阴性结果:学习了生存吗?没有。
- FlyPong 记录了多巴胺启发的可塑性规则无效。
- awesome-fly 清单给每个条目标注"circuit subset"(只用了子回路)、"release pending"(代码未发)、"no profitable edge demonstrated"(Stonkfly 没证明赚钱优势)——连自己置顶推荐的模板项目都标了"source-available,自定义许可"。
六、真正的宝藏:把布线当先验
那复刻到底图什么?三天里最有分量的答案来自两个学术工作,它们不试图"复刻一只果蝇",而是把果蝇布线当作网络架构:
- FLYNN(arXiv 2607.00025):把连接组拓扑直接实例化为 RNN,在 MuJoCo 里训练视觉导航。性能追平同参数量的手工网络,这不稀奇;稀奇的是鲁棒性——面对分布外数据,以及感官丧失:完全失去视觉输入后,FLYNN 不经任何再训练仍能继续导航,而手工网络即使专门用 camera dropout 训练过也大多瘫掉。作者用 PCA 指出可能的原因:FLYNN 内部表征高度模块化,丢一个模态,其余模块照常工作。这正是生物神经系统最让人嫉妒的性质,第一次被连接组先验"白送"给了人工网络。对做机器人的人来说,这条性质几乎不需要翻译:一台传感器随时会脏、会被遮、会坏掉的机器,和一块在实验室光照下训练的显卡,需要的是两种网络——而连接组恰好是前者的架构。
- FlyGM(arXiv 2602.17997,清华):无权重的连接组图神经网络做全身运动控制,样本效率胜过随机图与度保持重连图。上一篇引用过,此处的意义在于它与 FLYNN 互为印证:进化花五亿年调出来的图结构,是一份免费的网络架构先验——对 AI 研究者,这可能比仿真一只真果蝇值钱得多。
七、进度条:复刻走到哪一步了
把四层生态、一篇前传和三天增量压成一张进度条:
| 环节 | 状态 | 依据 |
|---|---|---|
| 布线数据 | 完备 | 雄(MaleCNS,Cell 09-03)雌(BANC,Nature 06-08)全 CNS 齐,开放许可 |
| 仿真引擎 | 成型中 | 一个模型四后端;消费级 GPU 实时;pip 包;Rust 调试器 alpha |
| 身体闭环 | 2-3 个严肃实现 | Eon Virtual Embodied Fly、Fly Arena、Embodied fly-brain(带预印本) |
| 感觉/运动接口 | 手工映射,标准未成 | 每个项目一套映射;fly-connectome-template 开始做格式规范 |
| 学习/可塑性 | 基本缺位 | 所有"学习"都发生在连接组外的人工读出;可塑性实验多为阴性 |
| 学界已知的缺失 | 八类信息不在扫描里 | 突触强度、调质、gap junction、胶质、通道、身体、发育、内部状态(详见前篇) |
pip install flybrain 就够了;但科学的答案是,把现存所有仓库加起来,也还凑不出一只会学习的果蝇。布线给了我们路由,读出层给了我们行为,而参数与状态——那只使这只蝇成为这只蝇的东西——仍然留在扫描仪够不到的地方。一周内从 Cell 论文到 60+ 项目生态,这个速度本身是数据开放(CC BY)+ 社区热情 + 工程成熟度三者共振的结果。接下来值得盯的三个信号:可塑性实验首次转正;接口映射标准(fly-connectome-template 类)被两个以上独立项目采用;以及 MaleCNS 配套的雌雄比较工作开始产出回路级假说。哪一个先来,都比再来一个游戏 demo 重要。
信源分级
【A】一手来源(本报告论据)
- awesome-fly 清单及各项目 README/文档:github.com/cobanov/awesome-fly(2026-09-12 审阅版,235 星)· philshiu/Drosophila_brain_model · eonsystemspbc/fly-brain · TheFlyExperiment/Virtual-Embodied-Fly · NeLy-EPFL/flygym · TuragaLab/flybody · TuragaLab/flyvis · eudald-seeslab/train-your-fly · eonfathom/FastFly · ruvnet/Connectome-OS · seohyunjun/mps-malecns-model · dhakalnirajan/axonweave · stanbot8/fwmc · nftechie/stonkfly · seanphan/flyt3 · ornata/fly(Fly64)
- flybrain PyPI 页(版本 0.1.0,上传 2026-09-13T11:01 UTC)及 github.com/alextitonis/fly.ai:全部性能与功能口径出自包文档自述
- FLYNN: arXiv 2607.00025(Wang & Chen,密西西比州立)· FlyGM: arXiv 2602.17997 · MaleCNS: Berg et al., Cell 189(18), 2026-09-03,数据 male-cns.janelia.org(CC BY 4.0)
- Fly Arena:项目官方文档(wpnews 转载版核对,2026-09-12),MIT,数据 MaleCNS v1.0
- Tom's Hardware / GIGAZINE(2026-09-14):Stonkfly 报道,K 线图 320×180 像素、3,335 个 R1-R6 + 811 个 R8 输入口径以两方交叉核对
- awesome-fly 各条目的行为描述系"作者文档综述",清单明言"非独立复现"
- 「FlyMe」项目本身(多轮检索零命中,判定为 FlyEM/FlyGM/FLYNN/Fly64 之误记或讹传)
*深度研究 · 续篇(前作:zhichai.net/t/178634820)· 数据快照 2026-09-15 · zhichai.net* *文中所有数字均给出口径;查证类结论附检索范围;阴性结果一律如实收录。*
#果蝇 #连接组 #MaleCNS #开源生态 #计算神经科学