Введение в проект Wild Boids
В начале моей научной работы у меня был задание на Java на каникулах. Я попробовал написать небольшую симуляцию искусственной жизни, опираясь на классическую модель «boids» Крейга Рейнольдса. Рейнольдс жёстко задавал правила, из которых при взаимодействии индивидуумов возникало стайное поведение. Мне, как и другим, было любопытно, могло ли аналогичное поведение возникнуть в результате эволюции. Может ли генетическая симуляция это выяснить? То задание частично ответило на вопрос — прямого стайного поведения тогда не наблюдалось, но в ходе цифровой эволюции боиды, первоначально реагировавшие совершенно случайным образом, постепенно трансформировались в то, что выглядело очень похоже на намеренное поведение. Они начали преследовать, уворачиваться. Это появление тревожно живого поведения из «ничего» глубоко засело в моей голове. Я задумался, не являются ли мои собственные намерения иллюзией — не просто ли я набор химических шумов с итерацией поверх? (Эта сцена в итоге попала в научно-фантастическую книгу.)
Возвращение к идее
То небольшое окно в жизнь, которое открыл мой Java‑код, всегда хотелось снова посетить, но не было времени. У всех есть такие проекты — они где‑то в подсознании и иногда всплывают: «хотел бы я это довести до конца…» Двадцать лет спустя я и многие другие разработчики впервые серьёзно испугались и восхитились LLM. Первый, кто это явно отметил — Джон Минтон: теперь дело стало серьёзным. Я попробовал Claude Code (далее CC) с всё более сложными идеями, пока мысли не вернулись к тем самым беспокоящим боидам. В свободные промежутки зимы и весны, работая в папке на своём компьютере вместе с CC, я сделал прототип Wild Boids. Есть двух с половиной минутное видео, показывающее стадии эволюции до первого момента, когда возникло стаевое поведение (хищники кружат вокруг пищи, выработав стратегию ждать там добычу вместе).
Основные элементы Wild Boids
Кратко об основных элементах Wild Boids: модульная симуляция на C++: физический движок, отдельно — движок эволюции, отдельно — графический интерфейс, отдельно — «мозги» боидов. У мозгов боидов есть спецификация в JSON для загрузки/сохранения — есть начальный простой преследуемый боид, пример 76-го поколения и сводка лучших преследуемых и хищников в турнире (обратите внимание на карты сил каждого мозга — они сильно различаются). В README на странице github описан запуск и использование. Боиды используют реалистичные двигатели. Они эволюционируют веса, которые переводят входные данные от сенсоров в команды к двигателям. Выбор «реалистичной физики» был мотивирован попыткой 2007‑го года: тогда они научились использовать плохо заданную физику (оригинальная модель Рейнольдса не стремилась к физической реалистичности), вырабатывая трюки вроде «прыжков» при преследовании. Под давлением реалистичных физических ограничений таких «хаков» не получается.
Алгоритм эволюции и его результаты
Алгоритм эволюции — NEAT, запущенный в виде турниров. Начинают с чистых вход‑выходных весов и пробуют добавлять нейроны между входами и выходами — если даёт преимущество, сохраняют, нет — отбрасывают. На видео видно, что некоторые боиды эффективно добывают пищу вообще без внутренних нейронов между входом и выходом — селекция может найти хорошие прямые веса «вход/выход». Но дополнительные узлы позволяют эффективно комбинировать сигналы, усиливать и ослаблять их, отвечая более условно, что важно при балансировке пищи, хищников, стайности и голода. Это был мой первый крупный проект с CC, не по объёму байтов, а по сочетанию теории, архитектуры и воплощения. Он нигде серьёзно не разваливался. Через диалог и документацию (см. планировочные документы) проект строился модульно, итеративно: мы думали, какой кусок брать, на каком уровне архитектуры работать, когда отступить и попробовать другую дорогу.
Роль Claude Code в проекте
Я не написал ни строчки C++ кода. Я попросил CC пройтись по моему Java‑коду 2007 года и извлечь оттуда идеи — это единственное место, где мои пальцы касались программирования. Раньше я писал C++ как плагины для R для быстрой оптимизации отдельных задач, но это не было структурной работой, и принципиально не отличается от Java и других языков. Это как знать, что делает рулевое колесо, в отличие от умения сконструировать весь автомобиль. Для Wild Boids CC в основном построил эквивалент «автомобиля». Я думал в терминах ООП, что, вероятно, помогло. Но отделить, что сделал я, а что — CC, непросто. Это важно.
Изменение в подходе к технологиям
До этого скачка в возможностях LLM были впечатляющими, но ненадёжными — то работали, то нет. Сейчас барьер между идеей проекта и его реальным существованием резко снижен. Разница в скорости меняет природу того, что можно создавать, не только количество, потому что цикл тестирования, обучения и случайных открытий стал плавным и быстрым. Было много других технологических «больших сдвигов», которые легко забываются, когда становятся привычной средой: интернет, поиск, мобильные телефоны — все радикально изменили доступ к знанию (хотя и они сейчас быстро меняются под влиянием LLM). Но этот сдвиг в том, как происходит кодирование, кажется новым. Технологии этой версии лишь несколько месяцев в деле.
Будущее технологий и их влияние
Что дальше? Ленты LinkedIn сейчас на 95 процентов заполнены обсуждениями этого и смежных вопросов про LLM. Люди устали слышать про ИИ. Сложно найти позицию вне ригидных «за» или «против». Чтобы понять эффект LLM, полезно разобраться, почему это вызывает такие острые споры. Мы, кто кричит «большая перемена!», оказываемся в разрыве. С одной стороны, когда я показываю это людям без опыта кодирования, они часто реагируют «мило/впечатляет/не очень понимаю». Возможно, с развитием инструментов это быстро изменится, но сейчас потенциальное влияние не широко осознано. Государственные речи о том, как ИИ решит все проблемы, выглядят часто пустыми — мало кто способен объяснить, как именно. С другой стороны, есть решительные анти‑LLM‑активисты, которые говорят, что LLM впечатляют только тех, кто не хочет писать, кодить, исследовать или вникать в судебную практику. Часто это вырастаёт из морального неприятия технологии и ведёт к восприятию сторонников LLM как «дураков или злодеев». При этом полностью игнорируется само происходящее.
Этические аспекты и общественное восприятие
Я — кодер с детства; мне не свойственно восторгаться тем, что просто «не хочется делать самому». Я знаю, насколько разрывным является то, что CC может сделать подобное Wild Boids. Я ни в коем случае не считаю, что технологию нельзя обсуждать этически — наоборот. Но поляризация мешает ясно говорить о том, что происходит и чего мы хотим дальше. Это перекликается с более старыми историями технологий вроде ядерной энергетики и ГМО. Я раньше занимал позицию «за ГМО, если это финансируется публично»; оппозиция ГМО во многом похожа на аргументы против LLM. Как и с ядерной энергией, у LLM есть и «непристойные» стороны. Их энергопотребление додаёт проблем климату. Руководители самых продвинутых моделей зачастую обладают отвратительными чертами характера — почти карикатурно злодейскими. Юристы по авторским правам, которые могли бы судить за скачивание MP3, вдруг забывают про права, когда компании используют всеобщее человеческое знание в обучении моделей, подрывая открытое глобальное сотрудничество в науке и образовании. Всё это формирует то, как технология будет влиять на общество — нельзя чисто отделить последствия от её происхождения.
Коллективные действия и будущее технологий
Похожая задача: Uber и открытый инструмент Namma Yatri ставят ту же цель, но их влияние на таксистов диаметрально противоположно. Всё сводится к простому вопросу: можем ли мы вырвать технологии из лап мерзавцев? Для ГМО — сместить финансирование в сторону публичных исследований, а не корпораций‑монополистов. Боевой бойкот мало что даст в одиночку; эффект настойчивых индивидуальных выборов — это тактика нефтяных компаний для переложения ответственности с корпораций на потребителей. Коллективные действия имеют другой эффект. Лично выбирать лететь или нет — мало что меняет. Но если общество честно обсудит авиацию и решит сократить полёты, мы могли бы перейти к альтернативам. Давайте национализируем платформы вроде Twitter/X или поместим их в общественный траст и запустим алгоритмы, которые служат нам, а не поляризации и эксплуатации. Используем демократические инструменты, чтобы коллективно определить курс по климату. Постройте «конституцию платформы», чтобы компании вроде Uber не были вне досягаемости и не оставляли миллионы в нищете. Ограничьте LLM так, чтобы их развитие соответствовало нашим социальным и климатическим целям. Мы можем это сделать. Это наша планета.
Заключение
Я понимаю, что звучит утопично. Но мне это представляется реалистичнее, чем иллюзия, что всё исчезнет, если мы будем сигналить моральной неприязнью. Это потребует работы — но именно это даёт шанс получить лучшую реальность, где технологии работают на нас. Текущая версия Claude Code — младенец. Мой мозг частично кормит этого младенца. Компании LLM возвращают нам часть нашего же обучения в виде улучшенных моделей — параллель с Uber, который учится у водителей, чтобы потом заменить их беспилотными машинами и «выбросить» людей. Им скоро могут и не понадобиться даже наши имитации — ни потребители, ни предприятия, ни «для вида». Наши данные станут их собственностью, наши деньги — незначительными. Как только это произойдет, предположительно, крупные игроки закроют доступ к технологиям: «Это не игрушка», — скажут они, — «и вы не дети». Такое развитие кажется правдоподобным. Сила, которую CC сейчас даёт мне, кажется золотым моментом, который не продлится долго, не в последнюю очередь потому, что я плачу лишь часть реальной стоимости. Это немного опасно — как легко создавать сложные инструменты. Возможно, они научатся на нас, а затем обойдутся без нас. Но это не обязательно чисто «первопроходцы выигрывают всё», как было с поиском. Другие над этим работают. Всё быстро меняется. Что ещё появится и от кого? Какие формы примут новые инструменты, если крупные игроки ограничат доступ или исчезнут? Технологические изменения по своей природе непредсказуемы. Они просачиваются через сложные человеческие и экономические системы, те дают обратную связь, цикл продолжается. Что технология не делает — она не исчезает только потому, что нам не нравится. Мы справляемся с неопределённостью коллективными действиями, защищая себя по мере проявления эффектов, и пытаемся вырвать технологию из рук мерзавцев. Будущее, где любой человек может иметь идею и затем, на естественном языке, увидеть её реализованной, было бы неплохо. Давайте постараемся вместе сделать это с минимально возможным уровнем мерзавщины. И заранее прошу прощения, если когда‑нибудь потом дрон‑роение, эволюционировавшее из Wild Boids при помощи Claude Code, убьёт весь ваш город.
