Как стать автором
Обновить

Личный опыт «вайб-кодинга» глазами руководителя разработки

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров24K

Интро

Максим Романовский

Head of AI & Product engineering в одном из отделов большого европейского банка, руководитель небольшой исследовательской лаборатории по машинному обучению и основатель внутреннего AI коммьюнити компании с 500+ ML энтузиастами. До перехода в менеджмент был архитектором, тех-лидом и ведущим программистом.

Последние три месяца я активно тестировал AI coding инструменты, работая над пет‑проектами в свободное время, изучал ограничения существующих инструментов и лучшие практики. В своем ТГ‑канале я делюсь результатами своего исследования и другими полезными материалами, личным опытом и возможностями.

Выбор инструмента

Я попробовал v0, Replit, Lovable, Bolt.New, Firebase, Trae, Cursor, Windsurf, Gemini Code Assist, MS Copilot, Continue, и наверняка, еще что‑нибудь забыл. Всего же я нашел больше 100 инструментов. В первую очередь они отличаются по уровню автономности и типу.

Уровни автономности

Существует 5 уровней автономности в зависимости от уровня самостоятельности выбранного инструмента.
Существует 5 уровней автономности в зависимости от уровня самостоятельности выбранного инструмента.
  1. Детерминированные и статистические правила. Примеры: автодополнение кода (в любой IDE), статические анализаторы кода (SonarQube, Veracode, PyLint и т.д.)

  2. AI ассистенты: выполняют отдельные задачи, которые пользователь детально описывает, как правило, с высокой гранулярностью (ChatGPT, Claude, и т.д.). В последнее время у многих AI ассистентов есть тенденция к более высоким уровням автономности.

  3. AI CoPilot: программист работает над продуктом в паре с AI CoPilot, совместно внося изменения. Программист по-прежнему несет полную ответственность за разрабатываемый программный продукт. Примеры инструментов данного уровня: Cursor, Windsurf, Trae, Codex.

  4. AI Agent: генерация продуктов по описанию, пользователь выступает в качестве супервизора и тестировщика. Данный уровень все еще не достигнут, потому что в текущем поколении систем этого уровня, пользователь по-прежнему отвечает за разрабатываемый продукт и нередко вынужден помогать с разрешением проблем. Примеры: Lovable, v0, Replit , Bolt.New.

  5. Полная автономность разработки: здесь пользователь описывает цели, которые он хочет достичь, а AI система уже сама решает, как ее достичь (Devin, MetaGPT).

6 типов инструментов

Типизация инструментов в зависимости от способа взаимодействия с пользователем.
Типизация инструментов в зависимости от способа взаимодействия с пользователем.
  1. Framework - для программистов, которые хотят разрабатывать самостоятельных AI coding агентов или иметь максимальную гибкость.

  2. CLI (command line interface) - для программистов, предпочитающих гибкость и контролируемость CLI инструментов или планирующих встроить их в свой CI/CD пайплайн.

  3. IDE plugin - для разработчиков, которые не хотят переезжать со своей любимой IDE.

  4. IDE - отдельная среда разработки, как правило, на основе VS Code.

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

  6. AI chat assistant - любой ИИ чатбот, который отвечает на вопросы по программированию, например ChatGPT, Gemini, Grok или Claude.

Какой инструмент выбрать

Если вы инженер и:

  • хотите попробовать повысить свою продуктивность - попробуйте AI Coding IDE и возьмите бесплатный двухнедельный триал от Cursor. Крупные альтернативы: Windsurf, Trae.

  • не хотите менять IDE - попробуйте плагины для вашей любимой IDE: Continue, GitHub Copilot, Junie.

  • любите CLI и готовы платить за токены - попробуйте Codex или Claude Code.

  • вам катастрофически критична конфиденциальность вашей разработки - попробуйте локальную связку из MetaGPT + Ollama (с Gemini3-27B или QwQ2.5).

Если вы не инженер и хотите сделать свой небольшой проект, то попробуйте Lovable, Replit или v0. Будьте готовы, что какие‑то проблемы вам придется решать самостоятельно.

Для меня при выборе инструмента была важна возможность удобного редактирования и ревью кода, удобство развертывание и тестирования. В итоге каждая итерация работы над личными проектами заканчивалась в IDE (Cursor или Trae). Также мне понравился v0, который является подпродуктом cloud‑провайдера Vercel, и благодаря этому отлично проинтегрирован с ним.

С какими проблемами я столкнулся

Типичный "вайб-кодинг".
Типичный "вайб-кодинг".
  1. Не сразу понял важность детального описания требуемой функциональности и архитектуры.

    Решение: детально описывать задачу в промпте, архитектуру и фунциональность в md-файлах проекта.

  2. Многие тулы не универсальны и у меня возникло несоответствие ожиданий: например, многие сервисы не могут создать backend проект без фронтенд части.

    Решение: не завышать ожидания, пробовать разные тулы и детально изучать их возможности.

  3. Генерируемый код часто содержит ошибки, которые приходится исправлять вручную.

    Решение: декомпозировать задачу на мелкие подзадачи, делать тщательный код-ревью и уметь программировать самостоятельно.

  4. В большинстве инструментов есть лимиты на использование, а в некоторых еще и долгое время ожидания (в Trae до нескольких минут в час пик).

    Решение: покупать подписки с требуемыми лимитами. Если нет возможности - пользоваться сразу несколькими бесплатными инструментами.

  5. Сервисы все еще не очень стабильны, например один из них просто завис после получения запроса и так и не открылся в течение часа.

    Решение: использовать больше одного инструмента и уметь программировать самостоятельно.

  6. Код, генерируемый LLM был устаревшим и не соответствовал версиям библиотек в проекте. Особенно это болезненно при настройке аутентификации или авторизации.

    Решение: подключить MCP-сервер с актуальной документацией (например) или загрузить документацию вручную, уметь программировать самостоятельно.

  7. Часть фичей было проще сделать самому, чем добиваться правильного поведения от AI инструмента.

    Решение: уметь программировать самостоятельно.

Для всех проблем, с которыми я столкнулся есть решения, но примерно в половине случаев оно звучит так: уметь программировать самостоятельно.

Выводы

AI coding инструменты значительно ускоряют разработку, но требуют навыков программирования, тестирования и код‑ревью. Вне зависимости от наших желаний, эти инструменты с нами останутся и нам надо учиться эффективно их использовать. При неопытном и халатном использовании, можно добавить очень много серьезных багов в проект, включая, проблемы с безопасностью, производительностью или платежами.

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

Я однозначно продолжу углубляться в эту тему, потому что я люблю технологии на основе машинного обучения и вижу огромный потенциал AI coding инструментов.

Еще больше полезных постов про разработку, AI coding и стартапы у меня в TG‑канале: присоединяйтесь.

Теги:
Хабы:
+32
Комментарии57

Публикации

Работа

Ближайшие события