你有没有想过,一个看似无聊的桌面宠物,背后可能藏着完整的果蝇大脑神经网络?Dewey 就是这样一个项目——它是一只住在 macOS 菜单栏里的果蝇,点击图标就会飞出来,在屏幕上盘旋、躲避鼠标、停在窗口边缘,还会像真苍蝇一样梳洗自己。这些行为不是简单的脚本预设,而是由一个从真实果蝇中枢神经系统连接组中提取的简化电路实时驱动。

连接组(connectome)是神经科学领域对大脑所有神经元之间连接关系的完整图谱。Janelia 研究所的 FlyEM 项目在 2025 年发布了雄性果蝇中枢神经系统的完整连接组数据(v1.0),包含大约 13 万个神经元和数百万条突触连接。Dewey 没有直接用全图,而是聚焦于与视觉逃逸、着陆和梳理行为相关的子电路:它抽取了 1,339 个细胞类型节点和 30,655 条带权重、有符号的边,模拟成一个以 60 Hz 运行的速率网络(rate network,即用节点激活值表示神经元的发放率,而非逐脉冲仿真)。

这个简化电路怎么工作?关键路径有两条:当鼠标指针靠近时,视觉输入触发 LPLC2/LC4 两类视觉神经元,进而激活巨纤维神经元(giant fiber,DNp01)和逃逸下行神经元,最后驱动起飞动作;当果蝇靠近屏幕边缘时,视觉着陆输入触发着陆下行神经元(DNp07/DNp10),让果蝇减速并停在边缘上;空闲时间则触发梳理下行神经元,让果蝇做出梳头、搓前腿、清理翅膀等动作。这些神经元名字虽然拗口,但你可以理解为:果蝇大脑里有一套专门处理“危险→逃跑”“接近边界→降落”“无聊→梳洗”的硬接线回路,Dewey 就是把这段回路搬进了 App。

行为的视觉效果也相当讲究。Dewey 的翅膀采用八字形拍动,中间用半透明残影表现运动模糊;转弯时会倾斜机身,起飞时仰角拉起,降落前还有 flare(拉平动作)。它能看到屏幕边缘的接近速度(每侧视野的时间接触量),据此调整降落在 Dock 或窗口边缘的姿态。窗口追踪只读取窗口边界,不读取标题和屏幕内容,隐私友好。

项目还实现了一个“朋友”系统:可以添加最多 5 只随机小 10-15% 的伙伴苍蝇。每只都有自己的独立连接组大脑,飞行时通过 boids 算法(分离、对齐、聚集三种规则)形成 flock 群聚行为。boids 的输入不会触发逃逸路径,但会作为转向和推力信号进入每只苍蝇的底层网络,并且伙伴们对 Dewey 的权重是 2.5 倍,所以整个群体始终跟着主角飞。落地后伙伴们会分散停在边上,起飞时再跟上。

从工程角度看,这个项目的架构很值得参考。它分为两个主要部分:pipeline(Python,用 uv 管理)负责数据下载、电路构建和 3D 模型导出;app(SwiftPM 包,不需要 Xcode)实现了核心模拟、行为状态机、3D 渲染和菜单栏交互。pipeline 的 build_circuit.py 从下载的 1.1 GB feather 文件里做种子扩展、类型节点提取,生成带符号权重的 circuit.json;app 端用 CSR(压缩稀疏行)存储邻接矩阵,RateNetwork 负责每帧更新,SensoryEncoder 把屏幕感知编码成输入特征,MotorDecoder 解码出电机命令。模块间通过 docs/contracts.md 定义了严格的 schema 接口,让 Python 与 Swift 可以无缝对接。

Dewey 的作者还提供了丰富的环境变量用于调试和演示,比如 FLY_SNAPSHOT_DIR 可以每两秒保存渲染帧(不需要屏幕录制权限),FLY_FORCE_STATE 可以强制摆姿势录制快照。测试也覆盖了电路 sanity check 和 Swift 侧的 0.5 ms 脑步定时基准。

那么,这个项目对你的日常开发有什么启发?如果你在做模拟类应用、游戏 AI,或者想探索“真实生物神经网络驱动虚拟角色”这条路,Dewey 提供了一个非常完整的参考实现:如何把科学数据集(连接组)压缩成一个实时可运行的简化模型,如何把神经信号映射为行为指令,以及如何用类型化接口解耦数据处理和运行时渲染。要注意的是,Dewey 的行为模型是“受真实电路拓扑和权重塑造的,但并非经过验证的生物物理模型”——解码阈值、感觉编码和部分符号分配都是近似值。换句话说,它更像一个“神经启发式”的行为系统,而不是严谨的神经仿真。但正因如此,它才这么快、这么轻,能在菜单栏里跑得流畅。

如果你想自己复现或改造,记住两点:一是连接组数据是 CC-BY 4.0 许可(来自 Janelia),flybody 模型是 Apache-2.0 许可,使用时要遵守授权;二是项目需要 macOS 14+ 和 Swift 6 命令行工具,Python 部分用 uv 跑,Blender 用于重建模型(约 20 秒)。把一只果蝇放进你的菜单栏,这大概是最小的“大脑模拟”应用了——但它展示的技术栈,从数据管线到实时行为系统,一点都不小。

阅读原文 → 返回 AI 技术文档

内容与图片版权归原作者所有 · 原文: https://github.com/JorenSix/Dewey