Краткое содержание
В этом видео обсуждается эффективное использование AI-агентов для разработки кода, так называемый "вайб-кодинг". Подчёркивается, что AI-агенты — это инструменты, которые при правильном использовании могут значительно ускорить и улучшить процесс разработки. Рассматриваются различные подходы к работе с AI, выбор инструментов (IDE, CLI, веб-сервисы), а также этапы подготовки к разработке, включая создание детальных требований, архитектурных правил и планов реализации. Особое внимание уделяется важности код-ревью и применимости данного подхода к большим проектам.
- AI-агенты могут значительно ускорить разработку, но требуют правильного подхода и подготовки.
- Важно чётко формулировать требования и архитектурные правила для AI-агентов.
- Код-ревью является ключевым этапом в процессе разработки с использованием AI.
Интро [0:00]
В видео рассматривается эффективное использование AI-агентов в разработке кода, чтобы они приносили пользу и не приводили к созданию некачественного кода. AI-агенты — это инструменты, которые при правильном использовании могут значительно ускорить и улучшить процесс разработки.
Кому подойдёт вайб-кодинг? [0:26]
Вайб-кодинг не подходит начинающим разработчикам, которые ещё не знают, как писать хороший код и проектировать архитектуру приложений. Использование AI на этом этапе может навредить, так как AI-агенты — это как джуниоры, которым нужно чёткое направление и контекст. Рекомендуется использовать AI-агенты только тем, кто уже может самостоятельно написать тот же код, чтобы ускорить процесс разработки.
3 подхода в работе с AI [1:41]
Рассматриваются три подхода к работе с AI в коде:
- Использование чат-ботов (например, ChatGPT) для получения готовых фрагментов кода, которые нужно копировать и вставлять в приложение. Плюс этого подхода в том, что разработчик глубже разбирается в коде, минус — дополнительная ручная работа.
- Автокомплит с помощью AI, который предлагает варианты завершения кода. Этот подход ускоряет ручное написание кода и присутствует во многих IDE.
- Использование полноценных agentic AI (например, Vinurf), где AI выполняет задачу, а разработчик проверяет результат. Результат не всегда оптимальный и требует переписывания.
IDE vs CLI vs Web [3:28]
Возможности работы с AI-агентами разделены на три группы:
- Полноценные IDE (Fork Visual Studio Code, Cursor, Trite, Inf), которые предоставляют среду разработки с интегрированными AI-агентами. IDE подходят для задач, требующих не только генерации кода, но и его доработки и ревью.
- Агенты CLI (Anthropic, GLI, Warp), которые выполняют задачи в терминале. Этот подход удобен для делегирования AI несложных задач, особенно при работе в консольных терминалах.
- Веб-сервисы (V0), которые позволяют создавать проекты с нуля в браузере. Этот подход подходит для небольших проектов, но менее удобен для серьёзной разработки.
Подготовка требований [8:23]
Перед началом работы с AI необходимо подготовить детальное описание проекта, как это делают бизнес-аналитики. Можно написать вручную или использовать ChatGPT для описания сценариев использования приложения. Чем детальнее описание, тем проще будет работать с приложением в дальнейшем. В примере рассматривается создание шортлинкера с описанием API, создания аккаунта, восстановления пароля и статистики по ссылкам.
Правила архитектуры [11:43]
Важно описать правила архитектуры, которые ограничивают использование определённых технологий и подходов. В примере указано использование NestJS для валидации данных и подхода CQRS. Это позволяет избежать необходимости каждый раз указывать AI, какие инструменты и подходы использовать.
Правила использования [12:53]
Для обеспечения соблюдения правил архитектуры и бизнес-требований необходимо создать курсор-правила. В настройках курсора создаются новые правила проекта, которые применяются всегда. В этих правилах указывается, где описаны правила архитектуры и бизнес-требования.
План реализации [14:05]
Для избежания хаотичной реализации необходимо создать план реализации. AI должен составить детальный план реализации, указав этапы. В примере AI анализирует требования и архитектурные правила и составляет план реализации шортлинкера, включая подготовку инфраструктуры, реализацию модуля аутентификации, модуля ссылок и аналитики.
Архитектура проекта [17:35]
Необходимо добавить документ, в котором хранится и актуализируется архитектура проекта. При изменении проекта нужно вносить изменения в этот документ. После завершения подготовки можно начать реализацию первого этапа проекта. В примере AI настраивает базу данных и устанавливает необходимые зависимости, используя NestJS и другие инструменты.
Код ревью [21:29]
Основная задача при таком подходе — быть качественным ревьюером. Большую часть времени занимает ревью, исправление и повторное ревью кода, сгенерированного AI. Какие-то части кода проще написать вручную. Важно контролировать архитектуру и требования, чтобы AI поддерживал их в актуальном состоянии.
Использование на больших проектах [22:29]
Применимость подхода к большим проектам зависит от качества документации. Если проект хорошо документирован, внедрение новых фич проходит безболезненно. Если проект Legacy и нигде не описан, вайб-кодинг не поможет. AI больше подходит для реализации небольших фич, а не для написания целых микросервисов. Важно декомпозировать задачу на этапы и чётко задавать границы и правила для AI.
Аутро [24:27]
В заключение автор надеется, что видео было полезным, и призывает делиться опытом использования AI-агентов в комментариях.