ИИ, который пишет сам себя: эксперимент Darwin Gödel Machine

ИИ, который пишет сам себя: эксперимент Darwin Gödel Machine

Искусственный интеллект впервые самостоятельно улучшил свои навыки, переписывая собственный код. Почему это важно для индустрии и что об этом думают эксперты.

Мечта о саморазвивающемся ИИ

Всем привет.

Меня зовут Кирилл Пшинник, научный сотрудник Университета Иннополис и CEO Zerocoder.ru, постоянно слежу за новейшими исследованиями в области ИИ, рассказываю о новинках на своих вебинарах. Если интересна тема применения нейросетей в бизнесе - приходите на ближайшее мероприятие, посвященное возможностям российский нейросетей.

В этой статье я расскажу о свежем исследовании о так называемой Darwin Gödel Machine (DGM) — прототипе ИИ-агента, который сам себя перепрограммирует ради повышения эффективности и в этой статье поделюсь с вами результатами исследования.

Еще в 2003 году ученый Юрген Шмидхубер описал гипотетическую «машину Гёделя» — ИИ, который может оптимально решать задачи, рекурсивно переписывая свой код, если сможет заранее доказать математически, что изменение улучшит результат. Конечно, требование формального доказательства пользы каждой правки оказалось непрактичным. Исследователи Darwin Gödel Machine пошли другим путём: никаких формальных доказательств — только эксперимент.

Агент вносит изменения в себя и проверяет на бенчмарке, стали ли результаты лучше.

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

Как работает самоулучшающийся агент

Darwin Gödel Machine в первой реализации – это ИИ-агент-программист, способный переписывать собственный код, чтобы стать умнее и эффективнее. Он написан на Python и управляется большой предобученной языковой моделью (например, аналог GPT-4), которая генерирует изменения кода и может выполнять его для проверки. Процесс цикла самоулучшения выглядит так:

  1. Изменение кода (Self-modify): Агент читает свой текущий исходный код и добавляет или изменяет фрагмент, чтобы попробовать новую идею улучшения. Например, может подключить новый инструмент (библиотеку) или изменить логику работы алгоритма.
  2. Оценка качества (Evaluate): После модификации запускается тестирование: агент пробует решать задачи из набора-бенчмарка (список программных задач) своим обновленным кодом. Измеряется результат – сколько задач удалось решить, насколько улучшилась метрика.
  3. Эволюционный отбор (Archive & selection): Новая версия агента сравнивается с предыдущими. Если улучшение есть, нового агента добавляют в архив наряду с прошлыми версиями. DGM не удаляет старые варианты – наоборот, поддерживает генеалогическое древо различных версий. При следующей итерации система может выбрать для дальнейших модификаций не только самого успешного «родителя», но и любого агента из архива, чтобы исследовать разные направления развития. Этот открытый, разветвляющийся поиск помогает избегать локальных максимумов и находить нестандартные решения.
Схема цикла самоулучшения в Darwin Gödel Machine.
Схема цикла самоулучшения в Darwin Gödel Machine.

Агент из архива (слева) выбирается как «родитель» и получает задачу улучшить свой код. На шаге Self-modify он вносит изменения в собственный программный код, создавая нового «потомка». Далее на шаге Evaluate on benchmark новая версия агента выполняет тестовые задачи. Её результат сравнивается с предшественниками. Если новый агент справляется лучше, он добавляется в архив. Затем цикл повторяется, и система постепенно накапливает всё более разнообразное дерево версий ИИ, где каждая ветвь представляет альтернативную эволюцию решения задачи.

Что нового придумал сам ИИ?

В процессе этих итераций Darwin Gödel Machine фактически изобретал улучшения для самого себя. Вот примеры функций, которые агент самостоятельно добавил в свой код:

  • Проверка патча. После внесения изменений агент научился проверять, не сломали ли они что-то в коде, прежде чем принять их окончательно.
  • Гибкий просмотр файлов. Вместо показа файлов целиком агент реализовал просмотр кода по строкам, чтобы легче находить нужное место для правкиi.
  • Точное редактирование. DGM улучшил инструмент редактирования, добавив возможность заменять текст по строковым шаблонам, а не переписывать файл целиком.
  • Несколько решений. Агент научился генерировать несколько вариантов кода и ранжировать их, выбирая лучший результат среди альтернатив.
  • История ошибок. При очередной правке ИИ стал учитывать, что уже пробовал и почему прежние попытки не сработали, чтобы не повторять неудачные ходы.

Все эти идеи не были заложены разработчиками изначально – их сгенерировала сама программа в ходе эксперимента. Фактически, DGM постепенно расширял свой внутренний инструментарий, становясь умнее с каждой полезной модификацией.

Результаты эксперимента

За десятки итераций Darwin Gödel Machine самостоятельно нарастил свои способности в решении реальных задач программирования. Эксперименты проводились на двух наборах: SWE-bench (популярный бенчмарк, где ИИ должен исправлять реальные issue с GitHub) и Polyglot (набор задач по программированию на разных языках). DGM стартовал с простой начальной версии агента и постепенно улучшал результаты на обоих бенчмарках. На SWE-bench доля решённых задач выросла с 20% до 50%. На Polyglot – с ~14% до ~30% успешного выполнения заданийi. Финальная версия, созданная ИИ, показала сравнимый результат с лучшим из открытых решений на SWE-bench (~50%) и существенно превзошла возможности существующего помощника-программиста Aider на наборе Polyglot.

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

Графики обучения DGM на двух задачах.
Графики обучения DGM на двух задачах.

По вертикали – качество (доля выполненных задач). По горизонтали – номер итерации самоулучшения. Синяя линия показывает полный алгоритм DGM: его результат непрерывно растёт и к 80-й итерации достигает ~50% на SWE-bench и ~38% на Polyglot. Зелёная линия – вариант без открытой эволюции (без архива), жёлтая – без способности переписывать код. Видно, что без каждого из ключевых компонентов прогресс существенно слабее: зелёная и жёлтая кривые выходят на плато около 25–35% качества. Для сравнения, пурпурная пунктирная линия (справа) обозначает уровень агента Aider (~15% на Polyglot), а красная пунктирная (слева) – уровень лучшего человечески разработанного решения на SWE-bench (~50%).

Реакция сообщества и альтернативные подходы

Новость о Darwin Gödel Machine сразу привлекла внимание ИИ-сообщества. Часть экспертов восприняли работу как веху на пути к истинно автономным системам. Например, в Reddit энтузиасты назвали DGM «практическим шагом к открытой, рекурсивно саморазвивающейся системе ИИ». Многие отмечают, что это впервые ИИ не просто выполняет задания по инструкции, а сам придумывает, как стать лучше.

Однако нашлись и скептики. На Hacker News обсуждают, что современные большие модели вроде GPT все же ограничены и без новых идей не смогут улучшаться бесконечно. Если бы нынешние модели были способны раскручивать спираль интеллекта сами по себе, они бы уже это делали – пишет один из комментаторов. Действительно, в эксперименте прирост производительности DGM пока имеет пределы – агент не превзошёл 50%-й порог на задачах и не вышел за рамки заложенной в него архитектуры. Так что до настоящего сильного ИИ ещё далеко, и некоторые пользователи с юмором напомнили, что новость про AGI рано объявлять.

Встаёт и вопрос безопасности. Авторы DGM подчёркивают, что запускали систему в песочнице (изолированной среде) и с человеческим надзором, а изменения касались только инструментов кода. Тем не менее, ряд наблюдателей задаются вопросом: что если кто-то попробует убрать «предохранители» и позволит ИИ бесконтрольно переписывать себя?Пока DGM улучшала лишь навыки программирования, но принципиально подобный алгоритм мог бы оптимизировать и другие аспекты – что теоретически таит риски, если задать опасную цель.

Если говорить про альтернативные подходы, то DGM выгодно отличается от прошлых попыток. В 2023 году получили популярность так называемые авто-GPT-агенты (AutoGPT, AgentGPT и др.) — они комбинировали несколько языковых моделей для планирования и выполнения задач. Однако эти агенты не умели изменять свой собственный код — они работали по жёстко заданному сценарию, из-за чего часто заходили в тупик. В отличие от них, Darwin Gödel Machine действительно переписывает себя и накапливает опыт в виде новых функций.

Другой пример – недавний агент Voyager для Minecraft, где нейросеть GPT-4 помогала персонажу открывать всё новые навыки в игре. Voyager автоматически сохранял найденные решения в виде библиотеки функций и благодаря этому всё лучше освоил виртуальный мир. Однако и в этом случае базовый алгоритм агента оставался прежним – изменялся лишь контент (набор навыков). Подход Darwin Gödel Machine идёт глубже: изменяется сам код алгоритма, стоящего за агентом.

Наконец, стоит вспомнить о классических методах вроде AutoML и эволюционных алгоритмов. Компании не первый год используют поиск архитектур нейросетей и подбор гиперпараметров с помощью ИИ, но эти методы оптимизируют модель только на этапе обучения и обычно в ограниченном пространстве вариантов. DGM же демонстрирует возможность оптимизации алгоритма уже во время его работы на прикладной задаче, причём без ручного вмешательства. Это во многом новая веха в области ИИ.

Перспективы

На практике подобные саморазвивающиеся ИИ-агенты могут в будущем изменить подход к разработке продуктов. Представьте ассистента-программиста, который не ждёт обновлений от команды, а сам улучшает свои алгоритмы по мере работы над проектом. DGM пока далеко от коммерческого применения и проверен лишь в условиях лаборатории. Однако тренд очевиден: системы искусственного интеллекта всё больше берут на себя роль автономных исследователей, которые генерируют новые решения без прямой подсказки человека. Для стартапов и бизнеса это значит потенциально более быстрый прогресс и появление самооптимизирующихся цифровых продуктов. Разумеется, потребуется внимание к контролю и безопасности таких систем, но игнорировать их потенциал уже нельзя. Как научный эксперимент Darwin Gödel Machine убедительно показал, что ИИ может не только учиться, но и сам переосмысливать способы своего обучения – и это открывает захватывающие возможности для всей отрасли.

Если интересно пообщаться на тему развития ИИ - пишите в тг: @kpshinnik

23
15
11
9
9
7
6
10 комментариев