Как я перестал бояться делегировать код нейросети — и что из этого получилось через полгода

Полгода назад я скептически относился к идее доверять генерацию кода нейросети дальше простых сниппетов. Казалось, что для реального проекта это либо не сработает, либо создаст больше проблем с отладкой, чем сэкономит времени. Спойлер: я ошибался, но не так, как ожидал.

Первая попытка и первое разочарование

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

Что изменило подход

Переломный момент — когда я перестал просить готовый результат и начал просить план. Сначала — описание архитектуры решения текстом, без кода. Потом — реализация по одной функции за раз, с явным указанием, какие библиотеки и паттерны уже используются в проекте. Это добавило шагов, но убрало главную проблему — рассинхрон между сгенерированным кодом и реальным контекстом проекта.

Где нейросеть реально экономит время

Рутинные, но объёмные задачи — написание тестов под уже готовую логику, рефакторинг однотипного кода, перевод кода с одного языка на другой, документирование существующих функций. Здесь экономия ощутимая — то, что раньше занимало полдня, сейчас занимает час с проверкой результата.

Где до сих пор нужен человек

Архитектурные решения — где действительно нужно продумать, как модуль будет масштабироваться и взаимодействовать с остальной системой — модель предлагает адекватные варианты, но финальный выбор всё равно должен делать человек, который понимает бизнес-контекст проекта целиком. Также ручной контроль остаётся обязательным на этапе код-ревью — модель иногда пропускает edge-кейсы, которые опытный разработчик замечает интуитивно.

Итог за полгода

Общая скорость разработки выросла, по моим ощущениям, процентов на 30-40 на рутинных задачах, и почти не изменилась на сложных архитектурных решениях. Главный урок — нейросеть работает как хороший младший разработчик: быстро выполняет чётко поставленную задачу, но нуждается в проверке и не заменяет опыт. Если интересно, как именно я выстроил процесс промежуточных проверок — писал об этом подробнее в телеграм канале, там же лежит структура промптов, которую использую при работе с кодом.

11