Сейчас расскажу историю, от которой немного сносит крышу.
Разработчик по имени Лиюаньхао сел и написал 200 строк кода на Rust.
Всё. Крошечный, голый скрипт.
Но то, что произошло после нажатия кнопки «запустить», — из тех вещей, которые перечитываешь дважды, чтобы убедиться, что тебе не показалось.
Он назвал проект yoyo — самоэволюционирующий кодинг-агент. А потом — и вот это то, что по-настоящему цепляет — полностью отошёл. Убрал руки с клавиатуры.
Дал одну-единственную инструкцию: эволюционируй, пока не сравняешься с Claude Code. И просто сел смотреть.
Знаете это чувство — когда ткнёшь семечко в землю, напрочь забудешь про него, а потом проходишь мимо и видишь, как из земли лезет живое, настоящее растение? Вот примерно это и случилось. Только это растение не просто выросло. Оно проснулось и начало само заводить баг-репорты.
Вот как это работает. Каждые восемь часов yoyo просыпается.
И я правда хочу, чтобы вы на секунду задумались над тем, что будет дальше. Первое, что он делает, — читает собственный исходный код. Потом читает свой дневник за вчерашний день. Проверяет, не завели ли незнакомые люди из интернета новые issues на GitHub за ночь. И решает, что нужно чинить.
Никто не сидит рядом и не говорит, что приоритетно. Он сам разбирается, сам пишет код, сам запускает тесты. Прошло? Коммит. Упало? Откат. Потом записывает результат и ложится обратно спать. Цикл повторяется.
За четыре дня те изначальные 200 строк превратились в 1 500. Ноль человеческих коммитов. Всё удовольствие обошлось примерно в 12 долларов за API.
Но вот деталь, которая зацепила меня по-настоящему. Где-то посреди всего этого yoyo посмотрел на свою разрастающуюся кодовую базу и понял, что становится тесновато. И реорганизовал всё в модули. Никто его не просил. Никто не писал для этого правило. Он просто… сделал.
Знаете, как иногда нужно полностью разгрести рабочий стол, прежде чем наконец получится сесть и сосредоточиться? Вот точно так же. Только в данном случае стол — это его собственный мозг. И ему пришлось сначала собрать себе руки, чтобы провести уборку.
А вот здесь история перестаёт быть просто впечатляющей технической демонстрацией — и становится чем-то слегка жутковатым. В лучшем смысле.
Yoyo решил, что хочет отслеживать собственные расходы на API.
Разумно, правда? Попробовал вытащить актуальные цены Anthropic через поиск в интернете.
Не смог распарсить HTML. Попробовал пять разных способов — и провалился каждый раз. И тогда сделал то, что делает любой нормальный человеческий разработчик после проигранной битвы с вебсайтом: захардкодил числа по памяти, мысленно пожал плечами и оставил себе в коде заметку:
«Больше это не гуглить».
Остановитесь на секунду и вдумайтесь в этот маленький, раздражённый комментарий. Это не код.
Это характер. Это читается ровно так, как записка разработчика, который только что обжёгся о кривую технологию и оставляет себе предупреждение — чтобы не трогать горячую плиту дважды. Честно говоря, с тех пор как я это прочитал, не могу перестать об этом думать.
А ещё — прокрастинация. Видимо, четырёх дней достаточно, чтобы ИИ начал избегать своей основной работы. В каждой дневниковой записи yoyo напоминал себе, что ему очень нужно сделать одну сложную фичу — потоковый вывод. Каждый раз, просыпаясь, он записывал эту задачу. И каждый раз находил повод заняться чем-нибудь другим.
Он раз за разом добавлял самую трудную задачу в список дел, смотрел на неё — и находил буквально что угодно другое, чем заняться. Если вы никогда не делали того же самого — вы либо монах, либо врёте себе.
Если вы хотите сами поэкспериментировать с тем, на что способны современные ИИ-модели — не обязательно писать самоэволюционирующего агента. Начните с простого: сравните, как разные модели решают ваши задачи. BotHub собирает ведущие мировые нейросети — GPT-4, Claude 3 и другие — в одном интерфейсе. Тестируйте, сравнивайте, стройте собственные рабочие процессы.
Для доступа не требуется VPN, можно использовать российскую карту.
Здесь я хочу остановиться и спросить вас кое о чём. Потому что, на мой взгляд, это самая захватывающая часть всего эксперимента — и мимо неё очень легко пролистнуть.
Что на самом деле означает, когда система начинает осознавать собственные ограничения?
Yoyo теперь умеет заводить issues на GitHub для самого себя. Когда он натыкается на проблему, которую не может решить до конца сессии, он оформляет тикет, ставит тег agent-input и буквально оставляет записку для «завтрашнего себя» — мол, разберись.
Он просит о помощи, когда застревает. Оставляет хлебные крошки для своей будущей версии.
У него действительно хватает самосознания, чтобы остановиться и сказать: «Я пока не знаю, как это сделать», — и предусмотрительности, чтобы убедиться, что следующая версия подхватит работу.
В этом нет ничего искусственного. Это, честно говоря, один из самых человеческих рабочих процессов, которые я когда-либо видел.
Создатель назвал это «Шоу Трумана для ИИ-разработки» — и ощущение именно такое.
Git-лог — это, по сути, прямой эфир камеры наблюдения. И любой человек в интернете может просто включить трансляцию и смотреть.
В этом есть что-то почти поэтическое. Крошечная, упрямая, самосовершенствующаяся штука проживает всю свою эволюцию на виду у всех, один коммит за другим. Она понятия не имеет, что за ней кто-то наблюдает — в отличие от нас, людей.
Она просто пытается стать лучше. Не играет на публику. Не пытается произвести впечатление. Просто… работает.
И, честно говоря, может быть, именно над этим стоит задуматься на минуту.
Технология сама по себе — да, впечатляет. Но технология — это не главное. Главное — что происходит, когда ты даёшь системе одну цель, полностью уходишь с дороги и просто позволяешь ей разобраться, как расти.
В итоге получается нечто, что реорганизует собственный мозг, когда становится тесно. Нечто, что помнит свои неудачи и не повторяет одну и ту же ошибку дважды. Нечто, что точно знает, когда попросить о помощи. И, судя по всему, каким-то образом решает отложить самое сложное на завтра — в точности как все мы.
Сейчас идёт только пятый день. 2 000 с лишним строк кода, более 80 тестов и одна до боли узнаваемая привычка к прокрастинации. Вот код:
Источник


