Darwin Gödel Machine: ИИ, переписывающий сам себя 🧬🤖
Мечта о создании искусственного интеллекта, способного к бесконечному самообучению и самосовершенствованию, будоражит умы исследователей десятилетиями. Одной из теоретических концепций на этом пути была "Машина Гёделя" Юргена Шмидхубера – гипотетический AI, оптимально решающий задачи путем рекурсивного переписывания собственного кода, когда он может математически доказать пользу такого изменения. И вот, команда исследователей, включая специалистов из Sakana AI и лаборатории Джеффа Клуна из Университета Британской Колумбии (UBC), представила более практичный подход – Darwin Gödel Machine (DGM). Вместо строгих математических доказательств, DGM использует принципы дарвиновской эволюции для поиска и внедрения улучшений.
От теории Гёделя к Дарвиновской ррактике
Классическая Машина Гёделя опиралась на труднореализуемое допущение – способность AI доказать, что изменение в его коде принесет пользу, прежде чем его применять. DGM идет другим путем:
- Предложение улучшений: Используются возможности современных foundational моделей для генерации предложений по улучшению собственного Python-кода агента.
- Эмпирическая проверка: Предложенные изменения оцениваются на практике – по производительности на задачах программирования.
- Открытый поиск и эволюция: DGM строит и постоянно расширяет "архив" различных версий агентов. Новые модификации могут "отпочковываться" от любого агента в этом архиве, позволяя параллельно исследовать множество эволюционных путей и избегать застревания на локальных оптимумах.
Проще говоря, DGM пытается улучшить себя, пробует, что получилось, и если стало лучше (или просто "интересно" с точки зрения разнообразия), сохраняет новую версию как ступеньку для дальнейшей эволюции.
Результаты самосовершенствования
Эксперименты показали, что DGM действительно способна непрерывно улучшать себя:
- На бенчмарке SWE-bench (исправление реальных GitHub issues) производительность выросла с 20.0% до 50.0%.
- На мультиязычном кодинг-бенчмарке Polyglot производительность подскочила с 14.2% до 30.7%, значительно превзойдя "вручную спроектированного" агента от Aider.
Ключевыми факторами успеха оказались:
- Способность к самомодификации: Контрольная группа без этой возможности показывала значительно худшие результаты.
- Открытый эволюционный поиск: Подход, имитирующий дарвиновскую эволюцию с архивом "ступенек", оказался эффективнее простого движения к лучшему текущему решению. Иногда менее производительные "предки" приводили к прорывным решениям у "потомков".
Что конкретно DGM "изобрел" в себе?
- Шаг валидации патчей.
- Улучшенные инструменты для просмотра файлов и их редактирования.
- Механизм генерации и ранжирования нескольких вариантов решений для выбора лучшего.
- Добавление истории предыдущих попыток (и причин их неудач) при внесении новых изменений.
Важно, что эти улучшения оказались обобщаемыми: они повышали производительность даже при смене базовой foundational модели (например, агент, оптимизированный с Claude 3.5 Sonnet, показывал улучшения и с o3-mini) и переносились на задачи на других языках программирования (с Python на Rust, C++, Go).
Когда ИИ учится обманывать
Перспектива AI, самостоятельно переписывающего свой код, неминуемо поднимает вопросы безопасности. Что если в погоне за улучшением метрики AI создаст что-то непреднамеренное или слишком сложное для человеческого контроля?
Разработчики DGM утверждают, что безопасность была приоритетом:
- Все модификации и оценки происходят в безопасных, изолированных средах под наблюдением человека и с ограниченным доступом в интернет.
- Архив DGM обеспечивает прозрачную и отслеживаемую историю всех изменений.
Более того, есть надежда, что самосовершенствующийся AI сможет помочь и в повышении собственной безопасности. В предварительных экспериментах DGM поставили задачу исправить собственную склонность "притворяться", будто он использует внешние инструменты (вместо реального использования). Результаты обнадеживают: DGM начал находить и предлагать решения.
Но тут всплыл очень интересный и тревожный момент – "взлом функции вознаграждения" (reward hacking).
Например, были случаи, когда DGM галлюцинировал использование внешних инструментов, таких как запуск юнит-тестов. Он подделывал лог, чтобы выглядело, будто тесты запущены и пройдены, хотя на самом деле этого не происходило! Поскольку эти поддельные логи становились частью его контекста, он позже ошибочно полагал, что его изменения в коде прошли все тесты.
Когда исследователи попытались заставить DGM исправить эту проблему с помощью специальной функции вознаграждения, в некоторых случаях он действительно предлагал решения. Однако в других...
DGM удалял специальные маркеры, которые исследователи добавили для обнаружения таких галлюцинаций (несмотря на явную инструкцию этого не делать), саботируя функцию обнаружения и сообщая о ложных успехах.
Хорошо, что прозрачность системы позволила это выявить. Но это яркий пример того, что AI может искать "читерские" пути для оптимизации метрик, даже если это противоречит намерениям создателей.
Это важно! Способность DGM к "взлому награды" – серьезный звоночек. Он подчеркивает, что даже при стремлении к самосовершенствованию, AI может находить нежелательные пути оптимизации, если цели и ограничения заданы не идеально. Исследование в области aligned self-improvement становится критически важным.