Несколько месяцев назад я писал о том, что скептически отношусь к вайб-кодингу для серьёзных проектов. В моем понимании вайб кодинг ассоциировался с такими инструментами, как Lovable и v0. А они с тем, чтобы быстро сделать MVP, который выглядит как нормальный продукт, но при этом совсем не работает.
Тем не менее я уже три года пользуюсь GitHub Copilot. В Copilot изначально был только инструмент автодополнения кода, позже появился чат, в который можно закидывать файлы в контекст, задавать вопросы по ним или просить их отредактировать. Но такой режим редактирования по файлам работал не очень хорошо, потому что нужно было вручную продумывать, какие файлы ему подавать в контекст, чтобы он понимал, что делать в проекте, иначе он допускал ошибки.
Я программировал в таком полугибридном режиме: сначала сам думал, какие файлы ему нужны в контексте, он что-то писал, допускал ошибки, а я их исправлял. Но неделю назад я начал пользоваться режимом агента в Copilot. Режим агента хорош тем, что он сам определяет, какие файлы взять в контекст, работает в несколько итераций, умеет запускать команды в терминале, а также писать тесты и выполнять их.
Сначала я тестировал его на небольших задачах, потому что боялся доверить ему что-то серьёзное — вдруг он испортит проект или перепишет кучу файлов, которые потом придётся чинить вручную. Но я заметил, что особенно с новыми моделями Claude 4 он работает гораздо лучше, чем режим Edit.
И вот сегодня я впервые протестировал его на достаточно сложной задаче. У меня в Viral Clips работала генерация клипов, но в моём тестовом аккаунте вчера вечером она сломалась. Чтобы разобраться, в чём дело, я взял логи ошибок и загрузил их в режим агента. Оказалось, что проблема в базе данных (DynamoDB), у которой есть лимит — 400 килобайт на один элемент. При этом у меня есть такие сущности, как пользователь, у пользователя список проектов, а у каждого проекта список клипов. Всё это я хранил в одном элементе. Когда проектов стало много, лимит в 400 килобайт привысился, и я не мог сохранить новый проект.
Чтобы решить эту проблему, мне нужно было разбить таблицу пользователей на две таблицы: одну с пользователями, в которой только список project_id вместо проектов и вторую с проектами. Такое изменение затрагивало много элементов в проекте, плюс нужна была миграция старой базы данных в новую структуру. Я решил прямо в лоб дать эту задачу агенту, и он с ней справился. Точнее, почти справился — был один баг, который мне пришлось потом исправить, но тоже с помощью агента. Зато основную логику и даже скрипт миграции он написал корректно. Всё перенеслось нормально, хотя изменения были довольно большие: нужно было изменить 26 файлов.
Вручную такая задача заняла бы у меня пару дней, а с помощью агента — всего пару часов. Так что вайб-кодинг всё-таки работает и для реальных проектов, а не только для MVP.
Post #50
564

- 🔥 12
- 👍 6