МУХА / В МАШИНЕ
Интерактивный эксплейнер · сентябрь 2026

Муха в машине. Как человечество научило муху играть в Doom

3 сентября 2026 Google Research и HHMI Janelia выложили полную карту проводки нервной системы самца дрозофилы. Через три дня «мозг мухи» играл в Doom, через неделю — в Beat Saber, торговал биткоином и парковался. Разбираем, где здесь биология, где инженерия, а где мем.

датасет MaleCNS v1.0 модель LIF-нейроны тело NeuroMechFly / MuJoCo читать ≈ 25 мин
166 700
нейронов в MaleCNS v1.0 — мозг + оптические доли + брюшная нервная цепочка
125млн
синаптических контактов, ≈ 25,6 млн направленных связей «нейрон → нейрон»
3дня
от публикации карты до мухи, играющей в Doom; ещё через неделю — 60+ проектов
0
демок, где доказано, что мозг мухи чему-то научился. В двух с контролем перемешанная проводка сработала не хуже
Преамбула

Почему все внезапно заговорили о мухе

Заголовки звучали как научная фантастика. Реальность интереснее — и одновременно скромнее.

В начале сентября 2026 лента выглядела так: «Google оцифровал мозг мухи», «мозг мухи играет в Doom», «мозг мухи играет в Beat Saber» (22 млн просмотров за два дня), «муха торгует биткоином», «муха паркуется параллельно». Пост Google с анонсом собрал 13 млн просмотров за неделю. Дальше включилась мем-машина: TikTok-ролики, «рай для мух» и споры о том, страдает ли симуляция.

За шумом легко потерять три отдельных события, которые случились в разное время и значат разное:

Событие 1 — карта. 3 сентября 2026 в журнале Cell вышла статья с полным коннектомом центральной нервной системы самца дрозофилы (MaleCNS v1.0) — результат работы Google Research, HHMI Janelia и сотен людей. Сам датасет был открыт ещё 8 июня 2026, а версия 0.9 — в октябре 2025.

Событие 2 — «тело». В марте 2026 стартап Eon Systems показал «загруженную муху»: модель мозга по коннектому FlyWire (самка, 2024), подключённую к физическому телу в симуляторе. Муха ходила, чистила антенны и ела. Основатель назвал это «настоящим загруженным животным». Нейробиологи ответили текстами с заголовками «Нет, мы ещё не загрузили муху».

Событие 3 — мем. 4–12 сентября 2026 инженеры-любители за считанные дни подключили открытую модель ко всему, до чего дотянулись: Doom, Mario 64, Minecraft, Beat Saber, автосимулятор, биржа, «думскроллинг», чтение Цезаря, языковая модель. Именно эти ролики вы и видели.

Этот эксплейнер — попытка разложить всё по полкам: что такое коннектом и чего в нём нет, как из статичной проводки делают динамическую симуляцию, что реально делает «муха», когда «играет в Doom», потом — песочница, где игрушечный мозг мухи играет в слот и в карты против вас, что из этого можно собрать самому за пару выходных, и, наконец, какие демки готовы прямо сейчас и на какие классы они делятся.

Пятнадцать лет до мема

«Оцифровать мозг» звучит как один акт сканирования. На деле это цепочка проектов длиной в поколение исследователей. В 2008 году Janelia (Гэрри Рубин) запустила программу FlyEM — по первым оценкам, на коннектом мухи нужно было «500 человек на 10 лет», и большинство нейробиологов считали затею невыполнимой. Дальше шаги шли по одному: сначала научились резать и снимать целый мозг (FAFB, самка, объём опубликован в 2018 — 7 062 среза, 21 млн снимков), потом — автоматически восстанавливать нейроны нейросетями и проверять их силами тысяч людей (FlyWire, 2019–2024), потом — оживлять карту простой моделью (LIF-модель Шу, 2024). Параллельно Janelia с Google снимали второе животное — самца, на этот раз вместе с брюшной нервной цепочкой.

Именно здесь важно не перепутать. MaleCNS — это не «мужская нервная цепочка, приклеенная к женскому мозгу», а одна целая особь: мозг и цепочка отсняты в одном объёме. Поэтому он и стал спусковым крючком: впервые в одном датасете есть вся дорога от фоторецептора до мотонейрона ноги. «Сборка из частей» существует в другом месте — у Eon, где женский мозг FlyWire получил вместо недостающей цепочки готовое тело NeuroMechFly. А полный «мозг + цепочка» самки тоже уже есть — BANC (Harvard + Princeton): препринт вышел летом 2025-го, а статья в Nature — 8 июня 2026, в один день с финальной версией MaleCNS. В одном из демо ниже BANC тоже используется.

Фактор 1
Полная ЦНС в одном датасете

С MaleCNS больше не нужно додумывать, куда идут нисходящие нейроны: мотонейроны ног и крыльев — в той же таблице. Демо-проекты просто выбирают «розетки» с обоих концов.

Фактор 2
Открытый код симуляции

Код статьи Шу et al. (Brian2), репозиторий Eon с бэкендами на PyTorch, CUDA и GeNN, форки на Rust и WebGPU. Любой скрипт «подать импульс на нейрон» — это десять строк поверх готового движка.

Фактор 3
Вайб-кодинг

Как минимум двое авторов демо прямо пишут, что собрали их с помощью GPT Astra «just for fun». Порог входа — не знание нейробиологии, а умение сформулировать задачу ассистенту.

Хронология · от FlyEM до мема, 2008–2026
прокрутите вправо →
Оранжевые точки — события 2026 года. Даты датасетов — по сайтам Janelia и FlyWire, даты демок — по публикациям авторов в X и YouTube.
Суть

Пять вещей, которые стоит знать до просмотра любого ролика

Если читать только один раздел — этот.

TL;DR
  1. Коннектом — это карта проводов, а не работающий мозг. В нём есть нейроны, синапсы и их направление, предсказанный нейромедиатор. В нём нет весов, временных констант, нейромодуляции, пластичности, глии, электрических синапсов и «состояния» (голод, сон, опыт).
  2. Чтобы карта «заработала», её нужно оживить моделью. Стандарт — leaky integrate-and-fire (LIF): одинаковые для всех точечные нейроны, вес связи = число синапсов × знак нейромедиатора. Такая модель на ноутбуке предсказывает известные рефлексы мухи (сахар → вытягивание хоботка) примерно в 9 случаях из 10. Это много — и это всё.
  3. «Муха играет в Doom» = инженер выбрал, какие нейроны считать глазами, а какие — руками. Кадр стимулирует 4 146 модельных фоторецепторов, спайки двух нисходящих нейронов превращаются в «повернуть» и «идти/стрелять». Автор Doomfly сам пишет: «это инженерные назначения, а не подтверждённые команды настоящей мухи», а обучение выживанию «не продемонстрировано».
  4. Единственные демо с контрольной группой показали: проводка мухи пока не даёт преимущества. Oruk Labs (эмоции в речи) и FLM (мозг мухи как адаптер к LLM) сравнили настоящую проводку с перемешанной — разница нулевая или в пользу контроля. Это самый важный и самый недооценённый результат недели.
  5. Eon Systems — первый замкнутый цикл «сенсоры → коннектом → тело», но ходьбу делает тело. Мозг-модель выдаёт несколько «рукояток» (поворот, скорость, груминг), а готовые контроллеры NeuroMechFly превращают их в движения ног. Критики: «коннектом здесь — переключатель заранее написанных сценариев». Сами Eon в техническом посте честно перечисляют, чего не хватает.

Важно и то, что это не обесценивает. Открытый датасет с 166 700 нейронами и 125 млн синапсов, скачиваемый под лицензией CC-BY, — реальный научный прорыв: по нему уже вышли работы о зрении, вкусе, половом диморфизме нервной системы. А то, что «хобби-инженеры за неделю» подключили его к играм, говорит о зрелости инструментов: код Shiu et al., бэкенды Eon на PyTorch и Brian2, готовые тела в MuJoCo. Порог входа упал настолько, что вопрос «что бы с этим сделать» стал практическим — к нему вернёмся в разделе про идеи.

От скана до руля · пять картинок, которые объясняют цепочку
нажмите, чтобы увеличить
1Сегментированный мозг мухи: каждый нейрон окрашен своим цветом
Скан

Мозг и цепочку режут на десятки тысяч срезов и снимают электронным микроскопом; нейросеть собирает из срезов трёхмерные нейроны. Каждый цвет — один восстановленный нейрон, а не биология. HMS / Tyler Sloan

2Схема проводки мозга FlyWire: подсвеченные типы нейронов
Карта

Из объёма — граф: у каждого нейрона известны партнёры, число синапсов и предсказанный нейромедиатор. Здесь FlyWire, мозг самки: 139 255 нейронов и около 50 млн синапсов. flywire.ai

3Все сенсорно-моторные петли: мозг и брюшная нервная цепочка в теле мухи
Петли в теле

Полных «мозг + брюшная нервная цепочка» уже два: BANC — самка (Harvard + Princeton) и MaleCNS — самец (Janelia + Google). На кадре BANC: сенсорно-моторные петли идут от глаз через шею до мотонейронов ног и крыльев. HMS / Tyler Sloan

4Схема поведенческих модулей нисходящих нейронов: ходьба, полёт, груминг, угроза
Схема

Нисходящие нейроны делят поведение на модули — ходьба, руление в полёте, груминг, реакция на угрозу — и модули связаны друг с другом. Именно эти «рукоятки» дёргают демки. BANC, Bates et al.

5Муха за рулём в CARLA: слева дорога, справа мозг и муха с рулём
Демка

Flyhard: активность симулированного мозга переведена в руль, педали и передачу автосимулятора CARLA. По нашей шкале — уровень 1: переключатель, а не водитель. thedrivingfly.com

Кадры 1, 3 и 4 — из материалов Harvard Medical School к статье BANC (видео и иллюстрации Tyler Sloan), 2 — галерея flywire.ai, 5 — страница проекта Flyhard; права на изображения принадлежат авторам. Цвета на первых картинках — метки сегментации, так рендерят каждый коннектом.
Масштаб · что уже картировано целиком, а что — нет
полный коннектом организма / ЦНС фрагмент (≈1 мм³) оценка, коннектома нет
Переключите на линейную шкалу — и все насекомые исчезнут на фоне 86 млрд нейронов человека. Именно поэтому «а когда человек?» — вопрос не про «ещё немного», а про шесть порядков. Наведите на столбец, чтобы увидеть год и источник.
Эксплейнер · часть 1

Коннектом: как из мухи получают граф

«Оцифровать мозг» звучит как сканирование. На деле это нарезка, миллионы фотографий, нейросети и годы ручной проверки.

Коннектом — это полный список нейронов и всех синапсов между ними: кто с кем соединён, в какую сторону и сколько раз. Получить его можно одним способом: залить мозг смолой, нарезать на слои толщиной в десятки нанометров, сфотографировать каждый слой электронным микроскопом и собрать 3D-объём. Для мозга самки (проект FlyWire) это ≈ 7 000 срезов и 21 млн снимков; для MaleCNS объём ещё больше, потому что вместе с мозгом отсняли брюшную нервную цепочку — аналог спинного мозга.

Дальше начинается работа алгоритмов: нейросети Google (flood-filling networks) «раскрашивают» каждый нейрон, прослеживая его ветви через тысячи срезов, отдельные модели находят синапсы и предсказывают нейромедиатор по форме везикул. А затем — люди: во FlyWire на ручную проверку («proofreading») ушло около 33 человеко-лет, включая труд волонтёров-геймеров. Пройдите по шагам ниже.

Конвейер · от живой мухи до графа за 6 шагов
кликните шаг или нажмите → / ←

Иллюстрации схематические. Числа — из статей FlyWire (Nature, 2024) и MaleCNS (Cell, 2026) и с сайта проекта Janelia.

Результат — таблица из миллионов строк вида «нейрон A → нейрон B, 17 синапсов, предсказанный медиатор: ацетилхолин». Плюс ≈ 11 700 типов клеток, к которым нейроны отнесены, и 3D-модель каждого. Всё это лежит в открытом доступе: MaleCNS — на neuPrint и в виде скачиваемых таблиц, FlyWire — в Codex. Лицензия CC-BY 4.0: качай, считай, публикуй.

А теперь главный вопрос этого раздела: чего в коннектоме нет. Всё, что вы видели в роликах, зависит от того, как авторы демо заполнили эти пробелы.

Что внутри · инвентаризация графа
нажмите на строку, чтобы раскрыть

Есть в коннектоме

    Нет — и приходится додумывать

      Правая колонка — это и есть список «допущений», о которых честно пишут и Shiu et al., и Eon, и автор Doomfly. Каждая строка справа — место, куда попадает инженерное решение или гипотеза.

      Самец против самки. Из-за того, что FlyWire (2024) — самка, а MaleCNS (2026) — самец, у сообщества теперь есть два целых мозга одного вида. Статья в Cell нашла 262 пол-специфичных и 114 диморфных типов клеток — около 4,8 % центрального мозга. Часть демок (ролик про Minecraft от Ro0oney) сделана на самке, часть (Doomfly, Beat Saber, Mario) — на самце. Для мемов разницы нет; для науки — есть.

      Эксплейнер · часть 2

      Как проводка начинает «думать»: от LIF-нейрона до Doom

      Граф сам по себе ничего не делает. Нужно решить, как нейрон копит заряд, когда стреляет и что происходит на другом конце провода.

      В 2024 году Филип Шу (тогда Berkeley, теперь — глава инженерии Eon Systems) с коллегами сделали самую простую вещь из возможных: взяли все 139 255 нейронов FlyWire и объявили каждый «дырявым конденсатором». Это модель leaky integrate-and-fire: мембранный потенциал растёт от входящих спайков, утекает к покою с постоянной времени ≈ 20 мс и, дотянув до порога, выдаёт спайк и сбрасывается. Вес каждой связи — число синапсов, умноженное на одинаковый для всех «квант» и на знак: ацетилхолин — «плюс», ГАМК и глутамат — «минус» (у дрозофилы глутамат в центральном мозге работает в основном как тормозной медиатор; знак предсказан нейросетью по электронным снимкам).

      Никаких обучаемых параметров. Никаких индивидуальных настроек. И тем не менее модель воспроизвела известные из экспериментов рефлексы: стимулируешь сахарные рецепторы — активируется моторный нейрон хоботка; добавляешь горькое — активация подавляется; трогаешь антенны — включается цепь груминга. Совпадение с экспериментами — около 91 %. Считалось всё на ноутбуке.

      Один нейрон · leaky integrate-and-fire в реальном времени
      80 Гц
      40
      20 %
      выход0 Гц
      τ / τсин / порог20 / 5 мс · 7 мВ
      Параметры в духе Shiu et al. (2024): мембранная постоянная 20 мс, синаптическая 5 мс, порог примерно на 7 мВ выше покоя, одинаковый квант на синапс. Покрутите вес: при малом числе синапсов вход «утекает» быстрее, чем накапливается, и нейрон молчит, сколько ни стимулируй. Так в модели возникает нелинейность «всё или ничего» — и так же исчезают слабые связи.

      Теперь соединим несколько таких нейронов по мотивам реальной вкусовой цепи мухи. Слева — сенсорные нейроны (сахар, горькое), в середине — интернейроны центрального мозга, справа — моторный нейрон хоботка MN9. Это игрушечная схема на два десятка узлов, а не фрагмент датасета, но логика та же, что и в полной модели: возбуждение по цепочке, торможение на перекрёстке.

      Микроцепь · сахар → хоботок, горькое → стоп
      сенсорные возбуждающие тормозные мотонейрон

      Удерживайте кнопку — это «оптогенетическая» стимуляция: выбранные нейроны стреляют пуассоновским потоком, как в статье и в репозитории Eon.

      MN9 · хоботок
      тишина
      низкий
      Заметьте, что при «сахар + горькое» хоботок почти не двигается: тормозной интернейрон гасит путь, хотя сахарные сенсоры кричат вовсю. Именно такой результат модель Shiu et al. предсказала для настоящей мухи. Добавьте шум — и цепь начнёт «ложно срабатывать»: в полной модели на 166 700 нейронов эту роль играют неточности реконструкции и допущения о весах.

      Так что делает муха, когда «играет в Doom»?

      Doomfly Алекса Вормута — самый документированный из демо-проектов, поэтому разбираем его. Схема одинакова для Mario, Minecraft и Beat Saber, различаются только назначения нейронов. Нажмите на любой блок: подпись показывает, что здесь взято из биологии, что придумано инженером, а что — допущение между ними.

      Doomfly · один цикл «кадр → мозг → клавиша», 100 мс
      биология допущение инженерное решение
      Нажмите на блок, чтобы прочитать подробности.
      Источник — README и страница проекта Doomfly. Цитата автора: «Это реконструированная проводка с приближённой динамикой нейронов, а не валидированная эмуляция мухи». На момент написания муха дошла до раунда 6385 и, по словам PC Gamer, «играет не очень».

      Схема выше — статичная. Ниже тот же цикл крутится вживую, но на игрушечном мозге: ≈ 300 LIF-нейронов, собранных по тому же рецепту (сетчатка → центр → нисходящие нейроны, 80 % возбуждения и 20 % торможения, клетки Кеньона с дофаминовой пластичностью), а не на реальном датасете. Слева — то, что «видит» движок, справа — что происходит в голове. Два переключателя внизу — главный аргумент раздела.

      Doomfly на пальцах · игрушечная сеть, живой цикл
      сетчаткацентр / KCторможениенисходящиедофамин
      Движок · что видит муха
      Голова · что происходит в сети
      DNp20 L
      0 Гц
      DNp20 R
      0 Гц
      DNpe017
      0 Гц
      PPL101
      —
      декодер → тишина
      связей KC→MBON изменено0средний вес KC→MBON×1.00
      Эксперимент

      Правило декодера: DNp20 L − DNp20 R за 120 мс → поворот, DNpe017 выше порога → выстрел; попадание засчитывается, если монстр в конусе прицела. Ранение — 200 мс входа в PPL101 и ослабление активных связей KC → MBON, как в экспериментальной ветке Doomfly.

      Муха «целится» в монстра только потому, что монстр ярче стены, яркость слева сильнее возбуждает левую половину сети, а инженер назначил «левые спайки = поворот влево». Нажмите «поменять L ↔ R» — та же сеть начнёт отворачиваться. Нажмите «перемешать проводку» — сенсорные входы останутся на месте, внутренние связи получат случайных адресатов, а общий уровень активности подгонится под исходный: спайки, шкалы и «пластичность» будут выглядеть так же убедительно, но связь между сетчаткой и рулём исчезнет. Иными словами, муха перестанет играть правильно: не будет разворачиваться к монстру, станет реже стрелять и почти перестанет попадать, а по картинке активности этого не заметишь. Это и есть разница между «мозг играет» и «мозг подключён» — и ровно тот эффект, который контроль и должен показать.

      Обратите внимание на последний блок. В базовой версии Doomfly веса зафиксированы — «обучения нет». В экспериментальной версии автор добавил дофаминовое подкрепление: каждое ранение на 200 мс стимулирует два нейрона PPL101, а те по правилу, срисованному с реальной биологии грибовидного тела (дофамин + активная клетка Кеньона → ослабление синапса на выходной нейрон MBON), меняют 4 184 связи. Это единственное место в схеме, где что-то может измениться от опыта. И автор пишет прямо: версия v6 «не прошла свои же проверки на зрение, обусловливание и выживание».

      Ловушка интерпретации. Если модель стреляет спайками на любой вход, а инженер назначил «правый минус левый DNp20 = поворот», муха будет поворачиваться. Это не значит, что она «видит» монстра. Точно так же случайно перемешанная проводка будет «поворачиваться». Единственный способ отличить одно от другого — контрольная группа. К счастью, два человека её сделали.

      Контрольная группа: перемешанная проводка

      Oruk Labs взяли 499-нейронный фрагмент MaleCNS, подали в него аудио (лог-мел-спектр через случайную проекцию) и обучили только линейный «ридаут» распознавать эмоции в речи. Это классический reservoir computing: сеть не учится, учится лишь тот, кто её слушает. Затем перемешали адресатов всех связей, сохранив число и знаки. Результат: настоящая проводка — 16,84 % mAP, перемешанная — 16,88 %, константа — 9,71 %. Резервуар помогает; мушиность резервуара — нет.

      Тот же Вормут через неделю после Doom выпустил FLM — «Fly Language Model»: весь MaleCNS как резервуар, прикрученный к замороженной языковой модели на 1,2 млрд параметров. Обучаемых весов — 278 528 (0,024 %). Потери снизились с 1,382 до 1,360 нат/токен — а контроль без графа, с тем же ридаутом, оказался лучше во всех трёх запусках. Статья называется «Flies are all you need» — и это ирония, которую авторы подчёркивают сами.

      Что это значит. Не «коннектом бесполезен», а «на чужой задаче со случайным входом структура мухи ничем не лучше случайной». Чтобы структура заработала, входы и выходы должны совпадать с теми, для которых эволюция эту структуру собрала: реальные фоторецепторы, реальные нисходящие нейроны, реальное тело. Ровно это и пытаются сделать Eon и авторы «телесных» демо — и ровно там возникает следующая проблема.

      Eon Systems: тело, которое умеет слишком много

      7–10 марта 2026 Eon Systems выложили ролик и технический разбор. Мозг — LIF-модель FlyWire (≈ 140 000 нейронов, 50 млн синапсов) плюс зрительная сеть Lappalainen et al. (64 типа клеток оптической доли, обученная по коннектому). Тело — NeuroMechFly v2 из EPFL: 3D-модель мухи с 87 суставами на физическом движке MuJoCo, с готовыми модулями зрения, обоняния и осязания. Мозг и тело синхронизируются каждые 15 мс.

      Что в итоге умеет виртуальная муха: идёт на запах и вкус (фуражировка), чистит антенны от «виртуальной пыли», вытягивает хоботок при контакте лапок с сахаром. Реакция бегства на приближающийся объект «детектируется в мозге, но в теле ещё не реализована».

      А теперь — где тонко. Eon сами пишут, что используют «небольшой набор нисходящих сигналов как рукоятки управления»: DNa01/DNa02 — поворот, oDN1 — скорость, антенные нисходящие нейроны — груминг, MN9 — кормление, гигантское волокно — бегство. Дальше «низкоуровневые контроллеры превращают эти сигналы в моменты в суставах и траектории ног». То есть походку считает не коннектом, а заранее обученный контроллер тела: 15 000 нейронов брюшной нервной цепочки, которые у настоящей мухи координируют шесть ног, в модели отсутствуют. Отсюда две публичные критики — на LessWrong («No, we haven't uploaded a fly yet») и от фонда Carboncopies: «коннектом здесь не генерирует ходьбу, а служит переключателем заранее записанных сценариев»; «замените коннектом простым скриптом — ролик будет выглядеть так же». Обе критики признают инженерную ценность первого замкнутого цикла, но настаивают: эмуляция проверяется не тем, «как хорошо» система выполняет задачу, а соответствием реальной мухе — а такой проверки нет.

      Песочница

      Сыграем с мухой

      Две игры на игрушечной сети, а не на датасете: одна про дофамин и подкрепление, другая про обучаемый ридаут. Зато с контролями, которых нет в роликах.

      Оба виджета крутят один и тот же движок: несколько сотен LIF-нейронов с параметрами из статьи Шу et al., сенсорные группы, 80 % возбуждения и 20 % торможения, клетки Кеньона, MBON, дофаминовые нейроны и нисходящие «рукоятки». Это не MaleCNS — тот в браузер не влезет, — а модель принципа. Поэтому всё, что здесь происходит, доказывает ровно то, что заложено в конструкцию, и ни капли больше. В этом и смысл: кнопка «перемешать проводку» есть у каждого демо. Она делает то же, что контроли Oruk и FLM: сенсорные входы (а в Hi-Lo — и обучаемый ридаут) остаются на месте, адресаты всех внутренних связей перемешиваются с сохранением числа и знаков, после чего общий уровень активности подгоняется под исходный. По классификации из раздела «Демки» ниже слот — это уровень 2, Hi-Lo — уровень 3.

      Муха у слота · выигрыш → дофамин → тяга к рычагу
      фон / светцентр / KCMBON, DNPAM
      Автомат · ставка 1, банкролл 100
      Голова · дофамин PAM усиливает KC → MBON → DN
      DN «спин»
      0 Гц
      дофамин
      —
      спинов в минуту0спинов всего0из них рукой0банкролл100.0фактический RTP—вес KC→MBON×1.00
      96 %
      волатильность
      Эксперимент

      DN «спин» — нисходящий нейрон, который мы назначили рычагом: как только его частота за последние 150 мс превышает 18 Гц, муха дёргает рычаг. Каждый выигрыш на 250 мс включает дофаминовые нейроны PAM; уровень дофамина в сети подскакивает и затухает за ≈ 0,3 с — это и есть спад на нижнем треке. Пока он держится, активные связи KC → MBON усиливаются (правило по мотивам грибовидного тела), MBON подталкивает DN — и на верхнем треке видно, как после каждого всплеска дофамина базовая частота DN «спин» становится чуть выше. Кнопка «впрыснуть» делает то же без выигрыша: это Flytok. Рычаг можно дёрнуть и самому — кнопкой или тапом по автомату: такие спины идут в банкролл и в статистику RTP, но не в «спинов в минуту», потому что это ваша рука, а не мухи.

      Что здесь стоит увидеть аналитику: за пару минут частота спинов вырастает в 2–4 раза, а средний вес KC → MBON упирается в потолок — «тяга» выучивается. Банкролл при этом делает то, что велит RTP: при 96 % теряет в среднем 4 % от оборота, сколько бы дофамина ни было. Подкрепление меняет частоту поведения, а не математику игры. Холодный старт медленный: пока муха не выиграла, дофамина нет, и она дёргает рычаг редко — дёрните пару раз сами, первый же выигрыш запустит петлю. «Перемешать проводку» рвёт путь KC → MBON → DN: дёргайте за муху сколько угодно, выигрыши и дофамин будут, а её собственная частота спинов не вырастет. Так контроль отличает «мозг научился» от «мы так собрали».
      Ты против мухи: Hi-Lo · сеть фиксирована, учится ридаут
      сенсоры «мало / много»центрDN выше / нижеPAM
      на столе
      →
      следующая
      твой ход: выше или ниже?
      ты
      0 / 0
      последние 20: —
      муха
      0 / 0
      последние 20: —
      Голова · номинал карты → «мало» / «много» → центр → DN
      DN выше
      —
      DN ниже
      —
      раунд 0 · муха думает…
      Винрейт, скользящее окно 20 раундов
      мухаты
      Эксперимент

      Номинал карты кодируют две сенсорные популяции: «мало» стреляет тем чаще, чем карта младше, «много» — наоборот. После твоего хода сеть 400 мс «думает» (в облаке видно, как разгораются сенсоры и центр), решение — какая из нисходящих групп настреляла больше, и только потом вскрывается карта. После вскрытия логистический ридаут (веса центр → DN) получает правильный ответ и делает шаг градиента. Оптимальная стратегия человека — «выше» при 7 и ниже — даёт ≈ 77 %.

      Муха стартует с 50 % и за 50–100 раундов подтягивается к 70 %+ — но учится не мозг, а слой снаружи, как у Oruk и FLM. Нажмите «перемешать проводку» и запустите ещё 100 раундов: ридаут выучит перемешанную сеть примерно так же. Именно это и показали оба проекта с контролем на настоящем коннектоме.
      Идеи для проекта

      Что с этим можно сделать самому

      Пять идей под аналитический стек — Python, DuckDB, статистика, дата-сторителлинг. GPU не обязателен ни для одной из первых трёх.

      Сообщество за неделю закрыло нишу «подключить муху к игре и снять ролик». Ниша «сделать то же самое, но так, чтобы результату можно было верить» — пустая. Песочница выше — прототип этой ниши на игрушечной сети: кнопка «перемешать проводку» рядом с каждой игрой стоит дешевле любого ролика и говорит больше. Это и есть точка входа для аналитика: не новая игра, а контрольные группы, метрики и честный отчёт. Идеи отсортированы по трудоёмкости; у каждой есть минимальный результат, который стоит опубликовать даже если дальше не пойдёт.

      Идея 1 · выходные

      Коннектом как датасет: история в цифрах

      Дата-журналистская история про граф на 166 700 узлов: распределение степеней, хабы, баланс возбуждения и торможения по отделам, «самец против самки» по типам клеток. Формат — такой же интерактивный лонгрид, как этот.
      усилие 1–2 дня данныетаблицы связей MaleCNS (CC-BY) + FlyWire через Codex стекneuprint-python → parquet → DuckDB → d3 / vanilla SVG результатлонгрид «карта проводки в цифрах»
      план
      1. Скачать с male-cns.janelia.org таблицы connections и neurons (тип клетки, нейромедиатор, отдел). Проверить хэши, зафиксировать версию v1.0.
      2. В DuckDB: in/out-степени, тяжёлый хвост, топ-50 хабов и их типы, доля тормозных входов по нейропилям, матрица «отдел → отдел».
      3. Сравнить с FlyWire: одинаковые типы клеток есть в обоих датасетах — что отличается у самца и самки (в статье это 4,8 % центрального мозга).
      4. Три-четыре сцены: «мозг разговаривает сам с собой» (85 % нейронов — внутренние), «зрение — половина мозга», «где живёт торможение», «что общего у самца и самки».
      Идея 2 · 1–2 недели

      Контрольная группа для мухи

      Повторить эксперимент Oruk / FLM на дешёвой задаче и с нормальным дизайном: фрагмент коннектома как резервуар против перемешанной проводки против случайного графа с теми же степенями. Заранее посчитать размер выборки и мощность — ровно то, для чего существует stat·plan.
      усилие ~10 вечеров данныеподграф 500–5 000 нейронов вокруг вкусовой или обонятельной цепи стекnumpy / PyTorch (CPU), scikit-learn, stat·plan для предрегистрации результатноутбук + пост «Важна ли проводка? Мы проверили»
      план
      1. Задача с временной структурой, где резервуар уместен: распознавание произнесённых цифр (Free Spoken Digit Dataset) или классификация синтетических последовательностей.
      2. Три резервуара одинакового размера: (а) реальный подграф с весами = число синапсов × знак, (б) те же рёбра с перемешанными адресатами, (в) случайный граф с сохранёнными степенями. Динамика — как у Oruk: x = (1−α)x + α·tanh(Wx + W_in·u).
      3. Предрегистрация: метрика, минимальный интересный эффект (например 2 п.п. точности), число сидов — по калькулятору мощности. Это принципиально: «прогнал 3 раза, разница 0,05» — не результат.
      4. Ридаут — ridge-регрессия. Бутстрэп доверительных интервалов по сидам. Отчёт с графиком «эффект и интервал», а не с одним числом.
      Идея 3 · 2–3 недели

      Муха играет в Pong — с нулевой гипотезой

      Взять готовый спайковый движок (Eon fly-brain на PyTorch или ядро Doomfly), простую игру и оформить как A/B-тест: настоящая проводка против перемешанной против случайной политики. Метрика — время выживания; N запусков — по расчёту мощности. Опционально — включить правило пластичности KC→MBON из Doomfly и проверить, меняется ли хоть что-то.
      усилие 2–3 недели данныеMaleCNS v1.0; подграф «зрение → центральный мозг → нисходящие» (десятки тысяч нейронов) стекeonsystemspbc/fly-brain (PyTorch-бэкенд), pygame / Gymnasium, pandas результатвоспроизводимый эксперимент + видео, где честно написано, что получилось
      план
      1. Развернуть fly-brain по environment.yml, прогнать эталонный тест (сахар → MN9) — убедиться, что модель воспроизводит статью.
      2. Вырезать подграф: фоторецепторы → оптические доли → центральный мозг → нисходящие нейроны DNp20 / DNa02. На CPU секунда симуляции такого подграфа занимает минуты; на одной GPU — секунды.
      3. Интерфейс, как в Doomfly: пиксели → яркость R1–R6, спайки нисходящих нейронов в окне 100 мс → действие. Все назначения — в конфиге, чтобы их можно было перемешать так же, как проводку.
      4. Три плеча, предрегистрированная метрика, N по мощности. Затем — четвёртое плечо с пластичностью. Сравнить кривые выживания. Опубликовать, чем бы ни закончилось.
      Идея 4 · 1–2 недели

      Микроцепь в браузере на настоящих данных

      То, что здесь нарисовано на двадцати узлах, сделать на реальном фрагменте: вкусовая цепь от сахарных рецепторов до MN9 (несколько сотен нейронов) с LIF-динамикой прямо в JavaScript или WebGPU. Готовый виджет для учебника по AI-грамотности: «как отличить демо от науки».
      усилие 1–2 недели данныеподграф MaleCNS через neuPrint (запрос по типам GRN, MN9 и их соседям) стекPython для выгрузки → JSON → vanilla JS / WebGPU (есть референс webgpu-fly) результатвстраиваемый интерактив + глава учебника
      план
      1. neuPrint-запрос: все нейроны в 2 синапсах от сахарных GRN до MN9 с числом синапсов ≥ 5. Ожидаемо — несколько сотен узлов, несколько тысяч рёбер.
      2. Экспорт в компактный JSON (узел: тип, знак, координата сомы; ребро: вес).
      3. LIF-шаг на 0,5 мс в Web Worker; раскладка — по отделам мозга; растер спайков; кнопки «сахар», «горькое», «вода».
      4. Рядом — панель «что здесь допущение»: тот же список, что и в разделе про коннектом, привязанный к конкретным элементам виджета.
      Идея 5 · месяц+

      Своё тело: NeuroMechFly + коннектом

      Повторить замкнутый цикл Eon на открытых компонентах: FlyGym (NeuroMechFly v2), LIF-мозг, «рукоятки» на нисходящих нейронах. Ценность не в ролике, а в том, чтобы измерить, сколько поведения приходит из мозга, а сколько — из контроллера тела: замените мозг случайным графом и посчитайте, что изменится.
      усилие месяц и GPU данныеFlyWire v783 (готовая LIF-модель) или MaleCNS; FlyGym стекMuJoCo, FlyGym, PyTorch/Brian2CUDA, много терпения результат«Сколько мухи в мухе» — количественный ответ на критику Eon
      план
      1. Пройти туториалы FlyGym: ходьба по CPG-контроллеру, обоняние, зрение — без мозга.
      2. Подключить мозг только к одной рукоятке — повороту (DNa01/DNa02) — и сравнить фуражировку: коннектом против перемешанного графа против случайного шума на той же рукоятке.
      3. Расширять по одной рукоятке за раз, каждый раз с контролем. Итог — таблица «поведение × источник».

      План на четыре недели

      Идеи 1 → 2 → 3 выстраиваются в один проект: сначала данные, потом резервуар, потом спайки. Идеи 4 и 5 — ответвления.

      НЕДЕЛЯ 0
      Окружение
      • conda-окружение из fly-brain
      • токен neuPrint, скачать таблицы MaleCNS, проверить хэши
      • прогнать эталон Shiu: сахар → MN9
      НЕДЕЛЯ 1
      Данные → история
      • DuckDB-ноутбук с EDA графа
      • 4 сцены лонгрида, черновик текста
      • публикация идеи 1
      НЕДЕЛЯ 2
      Резервуар с контролем
      • подграф + два контроля
      • предрегистрация в stat·plan
      • прогон, интервалы, пост
      НЕДЕЛЯ 3–4
      Спайки и игра
      • подграф зрение → нисходящие
      • Pong-интерфейс, три плеча
      • отчёт + видео с честным заголовком

      Чек-лист: пять вопросов к любому ролику про «мозг мухи»

      1. Какой датасет и сколько нейронов реально симулируются — весь мозг, подграф или «668-нейронный фрагмент», как в некоторых десктоп-мухах?
      2. Кто и как выбрал входы и выходы? Если «правый минус левый DNp20 = поворот» назначил человек, поведение — заслуга назначения не меньше, чем мозга.
      3. Есть ли обучение, и где оно живёт — в самом мозге (пластичность) или в ридауте / контроллере снаружи?
      4. Есть ли контроль с перемешанной проводкой? Если нет — ролик ничего не говорит о том, что структура мухи важна.
      5. Что делает тело или движок игры? В Eon походку считает контроллер NeuroMechFly, в Beat Saber — записанные движения. Мозг может быть «переключателем».
      Какие демки готовы

      Пять уровней: от зомби-мухи до мозга в теле

      Все ролики выглядят одинаково — муха и облако спайков рядом. Под капотом это пять разных конструкций. Разбираем каждую: принцип, код, примеры, что доказывает.

      Шкала ниже — по инженерной изощрённости: чем выше уровень, тем больше в системе происходит по-настоящему. Но у неё есть коварная вторая ось — сколько в демо самой мухи, — и она идёт не параллельно. Проекты третьего уровня технически самые продвинутые, но используют мозг как случайную рекуррентную матрицу, и их собственные контроли показали: «мушиность» там не работает. А «примитивная» стимуляция рецепторов на втором уровне ближе к биологии, чем граф, прикрученный к языковой модели. Пометка «с контролем» — отдельная и, пожалуй, самая важная.

      0уровень
      Реплей и декорация: «зомби-муха»
      Активность мозга показана, но ничем не управляет — либо записана заранее, либо действие заскриптовано, а спайки просто крутятся рядом.

      Принцип

      скрипт / записьрасписание стимуляциймозг-модельспайки → в кадртело / иградвижения по скриптустрелки от мозга к телу нет

      Самый честный вариант этого класса — «neural replay»: спайки заранее просчитаны и просто воспроизводятся рядом с игрой. Менее честный — «зомби-муха»: список нейронов дёргают по таймеру, а тело или персонаж отыгрывает заранее известное движение. В обоих случаях облако активности можно заменить чем угодно, и ролик не изменится.

      Как это собирают

      # «зомби-муха»: расписание стимуляций по времени, тело отыгрывает скрипт
      schedule = [(0.0, 'DNa02_L', 150), (0.5, 'DNa02_R', 150), (1.0, 'MDN', 120)]  # (t, тип нейронов, Гц)
      for t, cell_type, hz in schedule:
          brain.activate(cell_type, rate=hz, start=t, dur=0.4)   # пуассоновский вход, как в Shiu et al.
      spikes = brain.run(2.0)                                     # 2 секунды модельного времени
      body.play(clip='turn_left_then_right')                     # анимация выбрана заранее
      overlay.render(spikes)                                      # спайки — только для красоты

      Примеры

      • FLYSSBM — Super Smash Bros Melee на GameCube; в углу честно написано «neural replay: 23 538 026 spikes replayed».
      • Beat Saber (Lyra) — 136 мотонейронов передних ног, «neural motor rehearsal»; моторика дообучена на записях движений, автор сама говорит о «зависимости от внешних сигналов».
      • Кубик Рубика, спирограф, скейтборд под дабстеп — тело в MuJoCo или 3D-сцена, мозг рядом; связь между ними в роликах не показана.
      • Bad Apple — кадры видео превращены в расписание стимуляций фоторецепторов в интерфейсе FlyWire-симулятора; мозг «показывает» клип.
      • Fly City — GTA Vice City; в правом верхнем углу подпись PARODY.
      Что доказывает: что у вас есть визуализатор спайков. Чего не доказывает: ничего о поведении. Вопрос-детектор: «если заменить мозг генератором шума, что изменится в ролике?» Здесь ответ — ничего.
      1уровень
      Переключатель: сенсор → спайки → клавиша
      Среда стимулирует настоящие сенсорные нейроны, сеть считается по-честному, спайки назначенных выходных нейронов превращаются в действия. Обучения нет.

      Принцип

      средакадр, мирсенсорыR1–R6, GRNсеть LIFвеса = синапсы × знакзафиксированыридаутDN → клавишадействиецикл замкнут, но ничего не меняется от опыта

      Это «настоящая» симуляция коннектома: та же LIF-модель, что в статье Шу et al., только вход — не сахар, а пиксели, а выход читают не с мотонейрона хоботка, а с нисходящих нейронов, которые инженер объявил рулём. Здесь честно всё, кроме одного: правило «эти спайки = эта клавиша» придумано человеком, и поведение — заслуга правила не меньше, чем сети.

      Как это собирают

      from brian2 import *
      # 1. мозг: одинаковые LIF-нейроны, веса — из таблицы коннектома
      G = NeuronGroup(N, '''dv/dt = (-(v - v_rest) + g)/tau_m : volt
                             dg/dt = -g/tau_s : volt''',
                      threshold='v > v_th', reset='v = v_rest', refractory=2.2*ms)
      S = Synapses(G, G, 'w : volt', on_pre='g_post += w')
      S.connect(i=pre_ids, j=post_ids)              # A → B из MaleCNS
      S.w = 0.275*mV * n_syn * sign                 # знак по нейромедиатору
      
      # 2. сенсоры: кадр → частоты пуассоновских спайков в фоторецепторы
      retina = PoissonGroup(len(R16_ids), rates=brightness(frame)*Hz)
      Sin = Synapses(retina, G, on_pre='g_post += 2*mV'); Sin.connect(i=range(len(R16_ids)), j=R16_ids)
      
      # 3. ридаут: спайки нисходящих нейронов → клавиши (правило придумано инженером)
      mon = SpikeMonitor(G); run(100*ms)
      turn = rate(mon, DNp20_R) - rate(mon, DNp20_L)
      keys = {'turn': sign(turn), 'move': rate(mon, DNpe017) > 20*Hz}

      Примеры

      • Doomfly (базовая версия) — 4 146 фоторецепторов на входе, DNp20 и DNpe017 на выходе.
      • Minecraft — три реализации: Ro0oney (FlyWire), NeuroCraft Fly (@evnsnclr, MaleCNS, «создан с помощью GPT-6 Astra») и Fabric-мод blendi-remade с настоящими сенсорными путями и иерархией выходов.
      • Fly64 — Super Mario 64; Марио в основном бегает в стену.
      • Flyhard — руль, педали и передача в CARLA: «параллельная парковка завершена*».
      • Соцсеть для мух (Wormuth) — 3 самца и 3 самки (BANC v888) «представляются друг другу», стимулируя сенсорные нейроны; активность решает, ответит ли муха.
      • Письмо стилусом, мемкоин-лаунчпад, DesktopFly — та же схема с разными «розетками».
      • Doom-схема выше — игрушечная версия этого уровня.
      Что доказывает: что сеть по коннектому можно посчитать в реальном времени и замкнуть в цикл. Чего не доказывает: что муха «видит» или «решает». Без сравнения с перемешанной проводкой любое осмысленное поведение может быть артефактом назначений — см. кнопку «поменять L ↔ R».
      2уровень
      Рецепторы и дофамин: подкрепление через настоящие цепи
      К переключателю добавляют событие среды → дофаминовые нейроны → пластичность связей в грибовидном теле. Единственное место, где что-то меняется от опыта.

      Принцип

      средаурон / выигрышсенсорыKC → MBONгрибовидное теловеса пластичныридаутдействиеDAN: PPL1 / PAMдофамин × след KC

      У настоящей мухи это и есть механизм обучения: дофаминовые нейроны PPL1 сигнализируют наказание, PAM — награду; совпадение дофамина с активностью клеток Кеньона (KC) ослабляет их синапсы на выходные нейроны MBON, и запах, паривший с ударом током, становится неприятным. Демо этого уровня «втыкают» событие игры в эти же нейроны и добавляют правило пластичности вручную. Это уже больше, чем переключатель, — но «обучение» здесь означает «веса поменялись», а не «муха стала играть лучше».

      Как это собирают

      # подкрепление: событие среды → дофаминовые нейроны (настоящие типы клеток из датасета)
      if damage:  brain.activate('PPL101',     rate=200*Hz, dur=200*ms)  # наказание, как в Doomfly
      if reward:  brain.activate('PAM_gamma5', rate=200*Hz, dur=200*ms)  # награда, как в Flytok / Stonkfly
      
      # правило пластичности по мотивам грибовидного тела (Aso et al., 2014):
      # дофамин × след активности KC → изменение связи KC → MBON; остальная проводка фиксирована
      for kc, mbon in kc_to_mbon_edges:                  # в Doomfly — 4 184 связи KC → MBON11
          dw = eta * DA[t] * trace[kc]                   # trace затухает ~250 мс после спайка
          w[kc, mbon] = clip(w[kc, mbon] - dw, 0, w_max) # минус для наказания, плюс для награды

      Примеры

      • Doomfly, экспериментальная ветка — урон → 200 мс в два нейрона PPL101 → пластичность на 4 184 связях KC → MBON11. Автор: v6 «не прошёл проверки на зрение, обусловливание и выживание».
      • Flytok / Wirehead (Matty Hempstead) — 15 дофаминовых нейронов PAM «измеряются и искусственно усиливаются, чтобы обеспечить максимальное удовольствие»: муха, которая «счастливее всех остальных мух вместе взятых». Wireheading в чистом виде.
      • Великая мушиная теория истории (@adrian_valentim) — муха «читает» Цезаря, дофамин подаётся, «когда она думает о создании огромной мушиной империи». 320 слов в минуту, «virtue charge 92 %».
      • Stonkfly — дофамин за прибыль на Coinbase; README: «прибыльное обучение не продемонстрировано».
      • «Муха у слота» в песочнице выше — игрушечная версия: выигрыш → PAM → KC → MBON → тяга к рычагу.
      Что доказывает: что цепь подкрепления можно замкнуть на настоящие типы нейронов и веса меняются. Чего не доказывает: что поведение улучшается. У всех авторов этого уровня, включая самых честных, «обучение выживанию не продемонстрировано». Метрика «веса изменились» — не метрика «стало лучше».
      3уровень
      Мозг как ядро для нейросети: резервуар и обучаемый ридаут
      Граф коннектома — фиксированная рекуррентная сеть; учится только линейный слой снаружи. Технически сложнее всех, биологически — дальше всех.

      Принцип

      входаудио, токены, картыграф-резервуарx = (1−α)x + α·tanh(Wx + W_in·u)W зафиксированаридаутridge / логистическаявыходконтрольW с перемешанными адресатами

      Это классические резервуарные вычисления: любая достаточно большая рекуррентная сеть разворачивает вход в богатое пространство признаков, а линейный ридаут учится их читать. Коннектом здесь — источник матрицы W, и только. Вопрос, который задают авторы этого уровня (и, к их чести, честно отвечают): даёт ли именно мушиная матрица что-то, чего не даёт перемешанная? Пока ответ — нет.

      Как это собирают

      W = load_connectome_matrix('malecns_v1')     # 166 700 × 166 700, разреженная; знак — по медиатору
      W = W * (0.9 / spectral_radius(W))           # чтобы резервуар не «взрывался»
      W_in = random_projection(d_in, N, seed=0)    # вход втыкается случайно — не в фоторецепторы
      x, X = zeros(N), []
      for u in inputs:                             # лог-мел-кадры аудио / эмбеддинги токенов / номинал карты
          x = (1 - a) * x + a * tanh(W @ x + W_in @ u)
          X.append(x[readout_idx])
      readout = Ridge(alpha=1.0).fit(X, y)         # учится только это: 278 528 параметров в FLM
      
      # контроль, без которого результат ничего не значит:
      W_shuf = shuffle_targets(W)                  # те же степени, знаки и веса, случайные адресаты
      score_fly, score_shuf = evaluate(W), evaluate(W_shuf)   # Oruk: 16,84 % против 16,88 %

      Примеры

      • Oruk Labs — 499 нейронов как резервуар для эмоций в речи; 16,84 % против 16,88 % у перемешанной проводки; константа — 9,71 %.
      • FLM (Wormuth) — весь MaleCNS как адаптер к замороженной LFM2.5-1.2B; контроль без графа лучше в 3 из 3 сидов.
      • «Сказка на ночь» — 49 393 нейрона и 9 млн синапсов «как рекуррентное ядро крошечной LLM»: «Once upon a time, there…».
      • Блэкджек (FanPu Zeng) — ридаут с Q-значениями «hit / stick» на 1 298 нисходящих нейронах; «сейчас она в плюсе».
      • fly-craftax — коннектом + Craftax с обучением PPO.
      • «Hi-Lo против мухи» в песочнице выше — игрушечная версия: сеть фиксирована, учится логистический ридаут.
      Что доказывает: что 166 700 узлов — приличный резервуар, и линейный слой поверх него что-то выучивает. Чего не доказывает: что структура мухи важна — обе работы с контролем показали обратное. Парадокс уровня: самое «серьёзное» ML — самое далёкое от мухи.
      4уровень
      Тело и замкнутый цикл в физике
      Мозг-модель управляет физическим телом в MuJoCo через «рукоятки» на нисходящих нейронах; сенсоры тела возвращают сигнал в мозг. Единственный полноценный сенсомоторный цикл.

      Принцип

      сенсоры телазрение, запах, касаниемозг LIFFlyWire, 140 000«рукоятки»DNa02, oDN1, MN9контроллерCPG → суставытело← походку считает это, не мозг

      Здесь впервые всё по-настоящему замкнуто: физика тела, сенсоры, мозг, моторика. Но между мозгом и суставами стоит готовый контроллер тела (в NeuroMechFly — генератор паттернов ходьбы), а мозг выдаёт лишь несколько чисел: повернуть, ускориться, почистить антенны. Критики Eon называют это «переключателем заранее написанных сценариев»; сами Eon в техническом посте перечисляют, чего не хватает, начиная с 15 000 нейронов брюшной цепочки.

      Как это собирают

      from flygym import Fly, Camera
      from flygym.examples.locomotion import HybridTurningController   # CPG-ходьба с «рулём»
      
      sim = HybridTurningController(fly=Fly(enable_adhesion=True, enable_vision=True),
                                    cameras=[Camera(attachment_point='Animat/camera_top')])
      obs, info = sim.reset()
      for t in range(T):
          brain.feed_vision(obs['vision'])            # сетчатка тела → фоторецепторы модели
          brain.feed_odor(obs['odor_intensity'])      # запах → обонятельные нейроны
          brain.run(15*ms)                            # шаг синхронизации, как у Eon
          left  = brain.rate('DNa02_L');  right = brain.rate('DNa02_R')   # «рукоятки»
          obs, reward, term, trunc, info = sim.step(np.array([left, right]))  # контроллер → суставы

      Примеры

      • Eon Systems — LIF-мозг FlyWire + зрительная сеть Lappalainen + NeuroMechFly v2; фуражировка, груминг, кормление; реакция бегства «в теле не реализована».
      • Скейтборд под дабстеп (Alexey Fateev) — FlyGym 2.1 и физика MuJoCo вживую: «едет в ритм, отталкивается задней лапкой, потом вступает бас — и оно трясётся и падает». Судя по описанию, мозг здесь скорее скриптовый, тело — настоящее.
      • flybody (Janelia + DeepMind) и NeuroMechFly / FlyGym (EPFL) — сами тела; без коннектома, но без них не было бы ни Eon, ни скейтборда.
      Что доказывает: что цепь «сенсоры → коннектом → тело → сенсоры» можно собрать и она не разваливается. Чего не доказывает: что мозг что-то «решает»: не показано, что перемешанный граф на тех же рукоятках вёл бы себя иначе. Именно этот эксперимент — идея 5 в разделе «Идеи для проекта» выше.

      Каталог

      Проекты, у которых есть код, видео или живая страница. У каждой карточки — уровень по лестнице выше и пометка, если есть контроль с перемешанной проводкой. Число нейронов в заголовках демок гуляет — 165 122, 166 700, 176 422 — это не разные мухи, а разные фильтры одного датасета (по числу синапсов на связь, по привязанным фрагментам).

      Два проекта, без которых демок бы не было, к мему отношения не имеют: flybody (Janelia + Google DeepMind, Nature 2025) — физическое тело мухи в MuJoCo с 67 сегментами и 102 степенями свободы, обученное ходить и летать по видеозаписям настоящих мух; и NeuroMechFly (EPFL, Nature Methods 2022 и v2 в 2024) — тело с сенсорикой, в которое Eon и вставили мозг. Их авторы с самого начала писали: цель — когда-нибудь подключить коннектом. «Когда-нибудь» наступило быстрее, чем ожидалось, и обнажило, сколько работы делает тело.

      Источники

      Откуда цифры

      Первоисточники, демо-проекты, критика и новости. Ссылки в тексте ведут сюда; все открывались 16 сентября 2026.

      Датасеты и статьи

      1. Google Research: A connectomics milestone — mapping the complete male fruit fly brain · 3 сентября 2026
      2. Janelia FlyEM: Male CNS Connectome · версии v0.9 (окт. 2025), v1.0 (июнь 2026), доступ через neuPrint, CC-BY 4.0
      3. Berg et al. Sexual dimorphism in the complete connectome of the Drosophila male central nervous system · Cell, 2026; препринт bioRxiv 10.1101/2025.10.09.680999
      4. Google Keyword: 5 amazing visuals show how the male fruit fly's brain map is advancing neuroscience
      5. Newswise / Janelia: Completing the connectome — how pursuing a map of the fly brain rewired neuroscience · история FlyEM с 2008 года, «500 человек на 10 лет»
      6. Janelia: Complete fly brain imaged at nanoscale resolution · FAFB, 2018: 7 062 среза, 21 млн снимков (Zheng et al., Cell 174, 730–743)
      7. Bates et al. Distributed control circuits across a brain-and-cord connectome · Nature 656, 957–970 (2026), онлайн 8 июня 2026; BANC-FlyWire Consortium: полная ЦНС самки, ≈ 160 000 нейронов (≈ 140 000 в мозге и ≈ 20 000 в цепочке)
      8. Harvard Medical School News: Researchers publish first complete connectome of fruit fly brain and «spinal cord» · Catherine Caruso, 8 июня 2026; видео с Александром Бейтсом и иллюстрации — Tyler Sloan; отсюда кадры 1, 3 и 4 галереи «От скана до руля»
      9. FlyWire Blog: The BANC — brain and nerve cord · полная ЦНС самки; препринт bioRxiv 10.1101/2025.07.31.667571, затем статья в Nature (см. выше)
      10. Dorkenwald et al. Neuronal wiring diagram of an adult brain · Nature 634, 124–138 (2024): FlyWire, 139 255 нейронов, ≈ 50 млн синапсов
      11. Schlegel et al. Whole-brain annotation and multi-connectome cell typing of Drosophila · Nature, 2024 (8 453 типа клеток)
      12. Shiu et al. A leaky integrate-and-fire computational model based on the connectome of the entire adult Drosophila brain · Nature, 2024; код — philshiu/Drosophila_brain_model
      13. UC Berkeley: Researchers simulate an entire fly brain on a laptop · цитаты Шу и Стерн, список допущений модели
      14. Lappalainen et al. Connectome-constrained networks predict neural activity across the fly visual system · Nature, 2024; код flyvis
      15. Vaxenburg et al. Whole-body physics simulation of fruit fly locomotion · Nature, 2025 (flybody, Janelia + Google DeepMind); новость Janelia: 67 сегментов, 66 суставов, 102 степени свободы
      16. Wang-Chen et al. NeuroMechFly v2 · Nature Methods, 2024 (EPFL); v1 — Lobato-Ríos et al., Nature Methods 19, 620–627 (2022)
      17. Aso et al. The neuronal architecture of the mushroom body provides a logic for associative learning · eLife, 2014: дофамин, клетки Кеньона и MBON
      18. Scheffer et al. A connectome and analysis of the adult Drosophila central brain · eLife, 2020: hemibrain, ≈ 25 000 нейронов
      19. Winding et al. The connectome of an insect brain · Science, 2023: личинка, 3 016 нейронов, 548 000 синапсов
      20. White et al. The structure of the nervous system of the nematode Caenorhabditis elegans · Phil. Trans. R. Soc. B, 1986: первый коннектом, 302 нейрона
      21. MICrONS Consortium. Functional connectomics spanning multiple areas of mouse visual cortex · Nature, 2025: 1 мм³ коры мыши, ≈ 200 000 клеток, 523 млн синапсов
      22. Shapson-Coe et al. A petavoxel fragment of human cerebral cortex reconstructed at nanoscale resolution · Science, 2024: H01, ≈ 57 000 клеток, 150 млн синапсов, 1,4 ПБ

      Демо и код

      1. Doomfly — Alex Wormuth · README с описанием входов, ридаута и пластичности; живая страница
      2. eonsystemspbc/fly-brain · LIF-модель FlyWire v783 на Brian2 / PyTorch / NEST GPU / GeNN
      3. Eon Systems: How the Eon Team Produced a Virtual Embodied Fly · 10 марта 2026, технический разбор
      4. Wissner-Gross: The First Multi-Behavior Brain Upload · 7 марта 2026; автор указывает финансовый интерес в Eon
      5. Oruk Labs: We taught a fruit fly to hear human emotion · 8 сентября 2026; контроль с перемешанной проводкой
      6. FLM — Fly Language Model · 12 сентября 2026; разбор MarkTechPost
      7. fly-brain-minecraft · Fabric-мод, MaleCNS v1.0, LIF с τ 20/5 мс
      8. Ro0oney: I Put A Fly's Conscious Brain into Minecraft · 7 сентября 2026, FlyWire
      9. Stonkfly · муха торгует биткоином; в README — «прибыльное обучение не продемонстрировано»
      10. Fly / Wirehead — Matty Hempstead · Flytok: дофаминовые нейроны PAM под видеолентой
      11. awesome-fly · curated-список 60+ проектов: игры, тела, инструменты
      12. The Driving Fly (Flyhard) · @alright_mark; муха «водит» в CARLA, код: MarkUnthank/flyhard
      13. Посты авторов в X: @wormuth (Doom, Stonkfly, соцсеть для мух), @evnsnclr (NeuroCraft Fly), @mattyhempstead (Flytok), @adrian_valentim (чтение Цезаря), @FanPu_Zeng (блэкджек), @linguinelabs (Bad Apple), @superalesha (скейтборд) · скриншоты предоставлены читателем; часть демок (Smash Bros, кубик, спирограф, стилус, мемкоин, «сказка») — авторы не установлены
      14. flybody · FlyGym / NeuroMechFly · FlyWire Codex · neuPrint

      Критика и контекст

      1. LessWrong: No, we haven't uploaded a fly yet
      2. Carboncopies Foundation: No, a Fruit Fly has not been uploaded
      3. explainx.ai: Fruit Fly Brain Video Trend, Explained · почему только Oruk сделали контроль
      4. Know Your Meme: Fruit Fly Brain Simulations · хронология и просмотры

      Новости

      1. PC Gamer: …software engineers made it play Doom, Mario64, and Beat Saber · 10 сентября 2026
      2. Tom's Hardware · HotHardware · TechSpot · Slashdot
      3. IBTimes UK: …then start building it 'Fruit Fly Heaven'
      4. The Register: Disembodied fruit fly brain joins the crypto speculation swarm
      5. Mindplex: Whole-brain emulation drives simulated fly behaviors · цитата Андрегга про «настоящее загруженное животное»