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

А тут как раз сдохли наёмные разработчики одного пет-проекта, бросив всё на полдороге недоделанным. Ну, думаю, вот оно. Пора. Собрался было подписку на Клода купить, но, оказалось, что у меня уже есть аналогичная штука - Кодекс, он входит в подписку на ЧатЖПТ.

Предварительно пообщался с Чатом, обсудили технологии, которые мне стоит использовать для проекта. Взвесив все “за” и “против”, пришли к заключению, что мне нужен NestJS. И пусть многое придётся написать с нуля, по сравнению с Джангой, на которой недописан проект, но зато мне не придётся бороться с непониманием, хорошо ли агент делает работу или нет - я ничерта не понимаю в Пайтоне и толком не смогу оценить качество и предложить идеологически правильное решение. Оказалось, не зря - местами его приходится останавливать: “Не-не-не! Так нельзя! Ерунда получится!”, и тогда он говорит: “Ой! Правда! Сорян! Ща переделаю!”. Если бы это был Пайтон/Джанго хрен бы я такие штуки замечал.

Консольное приложение Кодекса на удивление легко развернулось-установилось. Начал давать агенту небольшие задания: установить и настроить компоненты, которые точно потребуются в будущем. Пришлось добавить AGENTS.md в проект, чтобы он не пытался дополнительные программы сам устанавливать, а только говорил, какой именно зависимости ему не хватает. И чуть позже я добавил в файл краткое описание проекта, чтобы подсказать агенту в начале сессии как же тут всё устроено. Чувствую, следующим этапом попробую описать там же правила кодирования, размещения и структурирования кода, т.к. работает эта штука, хотя и очень быстро, но неряшливо.

“Очень быстро” - это добавляет необходимую фичу за минуты: создать новое поле в БД и подключить его к моделькам и шаблонам, например. Или добавить сущность в CRUD и в админку для редактирования человеком. Но всё-таки нужно ждать и чем-то ещё заниматься эти несколько минут. Начинаю понимать людей, которые запускают одновременно несколько сессий и в каждой решают разные задачи, выбирая лимиты токенов с ураганной скоростью. Напомнило многостоловую игру в онлайн-покер.

Результат всего этого мероприятия меня пока радует: качество кода посредственное - он не парится чувством прекрасного и всякими SOLID-принципами, а просто решает проблему. Если нужно причесать, объединить его копипасту в модули - это тема отдельной задачи.

Главное - он в точности пытается сделать то, что попросишь. Всё, что не указано в запросе явно, он будет пытаться сделать “как-то”. То есть просто сделать. Поэтому, случается, что или откатываю результаты правок или, глядя, что получилось, прошу переделать, добавляя новые вводные. Для этого иногда приходится самому искать, читать документацию, чтобы подсказать альтернативное, более правильное решение.

Продолжаю наблюдение.