Written on 2025-04-09

Нейронка пишет код, как стажёр. Ленивый стажёр.
Помните, недавно я написал радостный пост про то, как с помощью нейросети сделал за час новую библиотеку для роутинга урлов, почти как в Django? Затем я потратил ещё пару часов на эксперименты с рефакторингом кода и дополнением тест-кейсов - тоже с помощью нейросети Claude 3.7 конечно. Только в этот раз использовал не Roo Code, в Aider и плагин для подключения его к Emacs.
В итоге, нейронка написала мне почти полторы тысячи строк а я при этом лишь давал ей инструкции на человеческом языке, да позволял запустить тесты - даже особо не вчитывался в диффы кода, ведь именно так в конечном итоге хочется использовать нейронки - ты ей ТЗ на вход, а на выходе готовое решение. Да?
Сегодня я нашел время посмотреть, что за код понаписала нейронка по мои сценариям использования библиотеки. Тесты ведь проходят, значит либа рабочая и можно катить в прод! Ведь да?
А вот и нет! Такого говнокода я давненько не видел. Использование глобальных переменных не к месту, полный игнор некоторых сценариев использования, кривой API для других сценариев, тесты, которые не проверяют ничего, и самое главное - код библиотеки, в который захардкожены значения из тестов (пример на скриншоте в начале статьи).
Так что переписываю сейчас всё это старым добрым мясным способом.