Привет, Хабр! Меня зовут Кирилл Пшинник, я научный сотрудник Университета Иннополис и CEO Онлайн-Университета «Зерокодер», а еще большой поклонник всего, что связано с искусственным интеллектом. Недавно я нашел интересную новость о Darwin Gödel Machine (DGM) — прототипе агента ИИ, который способен перепрограммировать себя сам, — и теперь хочу поделиться с вами тем, что узнал.
Идея системы, способной обучаться без вовлечения в процесс человека, уже давно интересует ИИ-сообщество. Есть даже такая вещь как «машина Геделя» — концепция, описанная в 2003 году ученым Юргеном Шмидхубером и названная в честь математика Курта Геделя. Это гипотетический искусственный интеллект, который может рекурсивно переписывать самого себя, но только в случае, если ему удастся математически доказать, что изменение сделает его лучше.
Разработчики Darwin Gödel Machine улучшили эту идею, а как именно — сейчас расскажу. Желающие же могут прочитать непосредственно оригинал исследования на английском языке.
Как работает дарвиновский ИИ
Darwin Gödel Machine — это написанный на Python агент-программист, который умеет писать код и имеет «под капотом» большую предобученную языковую модель — например, GPT-4.
Работает он следующим образом. Агент вносит в свой код изменения, потом проверяет на бенчмарке, сделали ли перемены его лучше, и если сделали, то закрепляет результат в специальном «генеалогическом древе» изменений. Недаром в названии Darwin Gödel Machine есть имя Дарвина: в некоторой степени он работает как мутация в живых организмах, только место естественного отбора здесь занимает бенчмарк. Выживают только полезные — те, которые действительно делают агента лучше.
Если более подробно: развитие агента проходит через три этапа.
Изменение кода, он же Self-modify (самомодификация), в ходе которого система изменяет или дополняет собственный код, таким образом пробуя новую идею улучшения. Непосредственно улучшение может быть любым — скажем, агент может добавить новую библиотеку.
Оценка качества, он же Evaluate (оценка), потому что внесенные правки обязательно нужно оценить. Для этого агент сам прогоняет свою измененную версию через специальные бенчмарки, а потом оценивает результат. Например, метрика могла улучшиться, могла стать хуже, и от этого будет зависеть следующий этап.
Эволюционный отбор, он же Archive & selection (архивирование и отбор), когда новая версия сравнивается с предыдущими. Дальше просто: если обнаруживаются изменения в лучшую сторону, новая версия добавляется в своего рода «генеалогическое древо» — архив. Старые версии не удаляются — они все находятся в архиве, чтобы система в любой момент могла сравнить несколько разных версий или даже выбрать для развития одного из «старших» архивных агентов.
Вот как выглядит эволюционное развитие агентов — картинка ниже. Тот агент, который используется для улучшения, получает название «родительского», тогда как получившийся из него измененный агент — это «потомок». Все успешные версии сохраняются в архиве, что помогает избегать локальных максимумов и находить нестандартные решения. Иными словами, для развития может быть выбран любой «родитель» из заархивированных — и может получить весьма неожиданное развитие.

Самообучающийся и саморазвивающийся
DGM не только улучшает сам себя — он еще и развивает саму систему улучшений. Например, он:
проверяет патчи после внесения изменений — таким образом он убеждается, что точно ничего не сломает своими правками;
просматривает код по строкам вместо того, чтобы показывать файлы целиком: это сильно упрощает внесение правок;
улучшает инструмент редактирования, добавив возможность заменять текст по строковым шаблонам вместо переписывания всего файла целиком;
генерирует несколько вариантов кода для того, чтобы выбрать лучший результат среди альтернатив;
учитывает ошибки предыдущих итераций, чтобы не повторять заведомо неудачные ходы.
И стоит отметить, что DGM никто не учил вести себя именно так — он изобрел это самостоятельно, фактически улучшив и расширив свой инструментарий.
Что показал эксперимент
Darwin Gödel Machine — это вполне рабочий прототип, который прошел проверку на реальных задачах. Авторы протестировали его на двух популярных бенчмарках: SWE-bench — это задания по исправлению настоящих проблем с GitHub, и Polyglot — коллекция задач по программированию на разных языках.
Изначально DGM стартовал в «базовой комплектации» и с довольно скромными возможностями. Но за десятки итераций самоулучшения агент не только «подкачал мускулы», но и научился решать задачи заметно лучше. Например, на SWE-bench он поднялся с 20% до 50% успешно решенных задач, а на Polyglot — с 14% до примерно 30%.
Финальная версия, созданная самим агентом, показала результат на уровне лучших из открытых решений на SWE-bench и существенно превзошла популярного помощника-программиста Aider на Polyglot.
Но, как говорится, все познается в сравнении. Контрольные версии системы, в которых не было возможности переписывать себя или не было архива с альтернативами, довольно быстро достигали потолка и переставали прогрессировать. Это важный вывод: без самоизменения и без эволюционного отбора прогресс невозможен. Одна лишь линейная работа над одной версией — тупик. А вот «дарвиновский подход» с множеством вариантов и отбором лучших действительно дает прирост.

Авторы построили наглядные графики: синяя кривая (полная версия DGM) стабильно растет и к 80-й итерации достигает ~50% качества на SWE-bench и ~38% на Polyglot. Остальные (без архива или без изменения кода) — выходят на плато в районе 25–35%. Для сравнения: уровень Aider — около 15%, а верхняя граница человеческих решений на SWE-bench — те же 50%.
Как отреагировало сообщество
Проект быстро стал темой для обсуждения в ИИ-среде. Особенно живо его восприняли на Reddit — там его назвали «практическим шагом к по-настоящему автономным ИИ-системам». И действительно, раньше ИИ исполнял инструкции, а теперь сам решает, как стать лучше.
Конечно, не обошлось и без скептиков. На Hacker News звучали более сдержанные оценки: мол, GPT-подобные модели все равно ограничены, и если бы они могли безгранично улучшаться, то давно бы это сделали. Так что разговоры о наступлении AGI пока преждевременны. DGM действительно не вышел за рамки своей архитектуры и не прошел «магическую» границу в 50% производительности на всех задачах. Но сам факт прогресса — уже событие.
Подняли и вопросы безопасности. Хотя авторы запускали систему в изолированной песочнице и строго ограничили зону изменений, многие справедливо задаются вопросом: а что будет, если убрать ограничения? Дарвиновский подход хорош, пока вы четко определяете цель. Но если алгоритм получит доступ к системному уровню или начнет оптимизировать что-то более критичное, риски вырастут. Так что эти эксперименты точно требуют осмысленного контроля.
Другие самообучающиеся модели
DGM выгодно смотрится на фоне других попыток сделать ИИ-агентов автономными.
AutoGPT и AgentGPT, которые взлетели в 2023 году, могли планировать и выполнять задачи, но не умели менять свой собственный код. У них был жесткий сценарий, и как только они упирались в предел — все, ступор. В отличие от них, Darwin Gödel Machine реально переписывает себя и учится на собственных ошибках.
Агент Voyager (работал в Minecraft) запоминал полезные навыки и сохранял их как функции. Но и тут менялось содержание, а не поведение самого агента. DGM идет глубже: он меняет не только инструменты, но и саму стратегию мышления.
Ну и конечно, старые-добрые методы вроде AutoML и эволюционных алгоритмов. Они тоже ищут лучшие модели и параметры, но, как правило, только до начала работы системы. DGM же показывает, что самооптимизация возможна прямо во время решения задач — и без участия человека.
Куда движется эволюционная ветка
Пока Darwin Gödel Machine — это разработка, далекая от реального продакшена. Но идея, стоящая за ним, потенциально меняет все. Представьте себе ассистента-разработчика, который не просто помогает вам писать код, но и становится лучше в процессе работы. Не ждет обновлений от команды, не нуждается в инструкции — он учится на ходу и совершенствует свои инструменты.
Да, потребуется много внимания к безопасности, и регуляторные вопросы никто не отменял. Но тренд уже нельзя игнорировать: ИИ выходит на уровень, где может быть не просто исполнителем, а исследователем.
Darwin Gödel Machine — это шаг к системам, которые не только обучаются, но учатся учиться. И именно такие подходы могут однажды привести нас к настоящему интеллекту. Пока — маленькими шагами. Но с каждым из них мир ИИ становится все интереснее.
Yukr
ни из статьи, ни из первоисточника не понял - что является побудительным мотивом начать изменения? в источнике приводится фраза
что за артефакты и почему вдруг ИИ должен захотеть их искать?