Vibe coding frameworks: нужны ли фреймворки с ИИ-агентами

CTO Webdelo Андрей Попов объясняет, почему зрелые фреймворки полезны и при работе с ИИ-агентами, когда достаточно минимальной программы и чему команду научили интеграции с двумя биржами.
— Примерное время чтения: 12 минут
vibe-coding-frameworks-cover

Для систем на годы фреймворки по-прежнему оправданны

В споре о vibe coding frameworks мой ответ для сложных систем с долгим сроком жизни - да, фреймворки нужны. ИИ может сократить работу над кодом. Но тестирование, исправление ошибок, обновление зависимостей и поддержка результата по-прежнему требуют времени и внимания.

Я Андрей Попов, технический директор и сооснователь Webdelo. Это мой взгляд, основанный на работе нашей команды над сложным ПО. Это инженерная оценка, а не правило, доказанное для любого проекта.

Вайб-кодинг - это когда вы описываете задачу обычными словами, а ИИ-агент пишет код. Фреймворк - готовая основа приложения с общими правилами. Зрелую основу вроде Laravel, Spring Boot или Django нужно оценивать иначе, чем небольшой пакет для подключения к одному внешнему сервису.

ИИ сокращает набор кода, но ответственность остаётся

Довод против фреймворков прост: если агент может сгенерировать код, зачем принимать чужие правила? Этот довод касается первой версии. Нас же волнует, что произойдёт, когда программа изменится или сломается.

Фреймворки избавляют от повторяющейся работы, и ИИ уменьшает эту выгоду. Но кто-то всё равно должен проверить результат и объяснить его следующему инженеру. При разработке сайтов мы учитываем передачу проекта и будущие изменения, когда выбираем основу.

Кроме того, словом "фреймворк" называют инструменты с разными задачами:

  • Серверные фреймворки, такие как Laravel, Spring Boot и Django, организуют логику приложения и доступ к данным.
  • Инструменты для интерфейсов, такие как Vue.js и Next.js, помогают создавать части приложения, с которыми работают пользователи.
  • Go Fx связывает компоненты приложения и управляет их запуском и остановкой.
  • Библиотеки выполняют более узкие функции, к которым приложение обращается по мере необходимости.
  • SDK - наборы готовых инструментов для работы с внешним API, интерфейсом, через который системы обмениваются запросами и ответами.
  • Агентные фреймворки координируют ИИ-модели, инструменты и шаги рабочего процесса.

Причина отказаться от одного небольшого SDK - не повод отказываться от фреймворка для всего приложения.

Зрелые фреймворки дают ИИ-агентам знакомую структуру

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

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

Готовые компоненты и общие правила

Серверные фреймворки и их экосистемы решают типовые задачи:

  • Направляют входящий запрос нужному коду.
  • Читают и записывают данные в базе данных.
  • Проверяют отправленные данные.
  • Управляют пользователями и правами доступа.
  • Запускают фоновые задачи через очереди.

Crm система помогает управлять отношениями с клиентами. Правила распределения клиентов могут быть уникальными для бизнеса. Но базовые механизмы приёма запросов и проверки входных данных обычно не нужно проектировать заново.

Общие соглашения также показывают агенту, где нужно внести изменение. Инженер, знакомый с Django или Laravel, уже примерно понимает, как устроен проект. В самописной основе сначала придётся разобраться.

Документация помогает людям и агентам

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

Популярные фреймворки открыто проверяют и исправляют. Однако популярность не гарантирует безопасность. За правильную настройку и своевременные обновления по-прежнему отвечает команда.

Готовые компоненты также могут сократить объём кода, который генерирует агент, и расход токенов. Я считаю это возможностью для отдельных задач, а не измеренной экономией.

Диагностика важна, когда что-то ломается

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

  • Laravel Horizon отслеживает очереди задач на базе Redis.
  • Laravel Telescope помогает изучать запросы, ошибки и обращения к базе данных.
  • Spring Boot Actuator предоставляет проверки работоспособности приложения и метрики.

Uber Fx решает другую задачу. Он управляет зависимостями компонентов и их жизненным циклом в Go. Он задаёт структуру, а не заменяет эти средства мониторинга.

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

Вайб-кодинг без фреймворков подходит для небольших, чётких задач

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

Например, скрипту для преобразования локального CSV-файла в другой формат может хватить стандартной библиотеки. Фреймворк приложения потребует настройки и обновлений, но не поможет решить задачу.

Я бы сравнивал затраты труда за весь срок жизни решения:

  • Изучение и подключение выбранных инструментов.
  • Проверка обычной работы и сбоев.
  • Установка обновлений и исправлений безопасности.
  • Передача кода другому инженеру.

Рекомендации Anthropic по созданию эффективных агентов тоже отдают предпочтение простым решениям из сочетаемых компонентов. Речь прежде всего о координации агентов, а не о веб-фреймворках вроде Laravel или Django. Полезный вывод - избегать слоёв, которые ничего не дают.

Если прототип становится постоянным сервисом, пересмотрите его архитектуру. У программы на один запуск и сервиса, на который клиенты полагаются каждый день, разные требования к поддержке.

Поддержку небольшого SDK нужно оценивать отдельно

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

Перед выбором SDK я бы проверил следующие тревожные признаки:

  • Долгие перерывы между обновлениями, хотя API продолжает меняться.
  • Отсутствие методов, нужных продукту.
  • Слабые тесты, особенно для ошибок.
  • Скрытые детали запросов или ответов, нужные для отладки.
  • Устройство пакета, которое вынуждает вносить неудобные изменения в другие части приложения.

При выборе между SDK и собственной интеграцией с API ИИ меняет начальные затраты на создание узкоспециализированного клиента. Слабый пакет больше не выигрывает лишь потому, что уже существует. Но SDK с хорошей поддержкой всё ещё может быть лучшим выбором.

Binance и Bitget показали нам разную стоимость поддержки

Мы поддерживаем высоконагруженную платформу для алгоритмической торговли и анализа рынка. Сторонний SDK для Binance помог нам начать, а затем стал кодом, который пришлось поддерживать самим. Для Bitget мы с помощью ИИ-агентов создали собственный клиент с узким набором функций.

Это опыт нашей команды с конкретными интеграциями. Это не внешний аудит бирж и не оценка всех доступных для них SDK.

Binance: от готового пакета к своему форку

Пакет для Binance уже поддерживал функции, которые понадобились нам вначале. Это сэкономило работу на старте.

Позже он отстал от API, и в нём не хватало нужных методов. Его структура также мешала нам организовать интеграцию так, как мы хотели. Мы создали форк - собственную копию пакета, которую могли менять.

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

Bitget: узкоспециализированный клиент, созданный с агентами

Для Bitget мы выбрали собственный клиент. Агенты опирались на документацию API и проверяли поведение сервиса:

  • Выполняли реальные запросы и запросы в тестовой среде.
  • Проверяли тестовые операции.
  • Тестировали WebSocket-соединения, которые остаются открытыми для постоянного получения обновлений.
  • Записывали различия между документацией и фактическим поведением в README и отчёт.

По моей оценке, рабочая основа была готова примерно за один рабочий день. У API были подробная документация и тестовая среда. Мы также ограничили набор нужных функций.

Этот срок относится только к нашему проекту. Результат первого дня ещё требовал тестирования и доработок для надёжной обработки сбоев.

Сравнение SDK Binance и собственного клиента Bitget в Webdelo: затраты на старте и ответственность за поддержку
Наши две интеграции показывают, почему удобство на старте и долгосрочную поддержку нужно оценивать отдельно.

За что мы по-прежнему отвечаем

Собственный клиент позволяет нам управлять его устройством. Но ответственность за каждый сценарий сбоя тоже остаётся на нас:

  • Обработка ошибок: решить, что делать, если запрос завершился ошибкой или пришёл неожиданный ответ.
  • Повторные запросы и идемпотентность: убедиться, что повторный запрос не выполнит одну операцию дважды.
  • Ограничения запросов: не превышать разрешённую биржей частоту запросов.
  • Восстановление соединения: подключаться заново после обрыва и проверять, не пропущены ли обновления.
  • Защита ключей: не допускать попадания учётных данных в исходный код и журналы.
  • Тестирование и поддержка: проверять изменения по мере развития API и нашего приложения.

Исследования разработки с ИИ дают контекст, но не решают вопрос о фреймворках

Исследования ниже не дают прямого ответа на вопрос о фреймворках. Они показывают, что эффект ИИ зависит от задачи и инструментов, а сгенерированный код нужно проверять. Моя оценка архитектуры - отдельное суждение, а не результат этих исследований.

Скорость зависит от условий

В эксперименте METR 2025 года 16 опытных разработчиков выполнили 246 задач в зрелых проектах с открытым исходным кодом. С ИИ-инструментами начала 2025 года они потратили на 19% больше времени. Этот результат описывает конкретные условия, а не всех разработчиков.

Обновление METR за 2026 год рассматривает смещение выборки: состав участников эксперимента и выбранные ими задачи могут исказить результат. Исследователи считают, что новые инструменты, вероятно, полезнее. Они также объясняют, почему надёжно измерить текущий эффект сложно.

Эксперимент Google с 96 инженерами дал оценку сокращения времени на задачи примерно на 21% в конкретных условиях компании. У этой оценки была значительная неопределённость. Нет единого показателя продуктивности с ИИ, который подскажет, какую архитектуру выбрать.

Доверие и безопасность требуют проверок

В опросе разработчиков Stack Overflow за 2025 год около 66% ответивших на вопрос о разочарованиях при работе с ИИ выбрали ответы, которые "почти верны, но не совсем". В вопросе о точности 46% не доверяли результатам ИИ, а 33% доверяли. Это ответы на разные вопросы, а не измерения качества кода.

Для сравнения с опросом за 2026 год нужно сопоставлять формулировки вопросов и группы респондентов. Доверие к ответу, который легко проверить, отличается от общего доверия к точности.

Компания в сфере безопасности Veracode сообщила о небезопасных результатах примерно в 45% выбранных ею задач на генерацию кода. Задачи проверяли сценарии, в которых безопасность особенно важна. Эта цифра не означает, что 45% всего ПО, созданного с ИИ, небезопасно.

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

Сохраняйте структуру и проверяйте, нужны ли лишние слои

Кейс OpenAI Harness engineering описывает разработку силами агентов, которым помогают чёткие архитектурные границы и документация. В нём также подчёркивается роль автоматических проверок, метрик и средств наблюдения за системой. Это опыт одной компании, а не сравнение веб-фреймворков.

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

Фреймворк или собственный код: оцените сложность и поддержку

Я начинаю с двух вопросов: насколько сложна система и насколько она должна учитывать особые требования? Затем оцениваю стоимость поддержки. ИИ меняет затраты на разработку, но не принимает это решение за нас.

Матрица выбора архитектуры по сложности системы и потребности в доработках под особые требования
Начните со сложности и особых требований, затем проверьте, какие обязанности по поддержке останутся у команды.
Ситуация С чего можно начать Что проверить в первую очередь
Сложная система с долгим сроком жизни и типовыми задачами приложения Зрелый фреймворк Подходит ли его структура продукту и команде поддержки?
Сложная система с особыми бизнес-правилами или интеграциями Гибрид: зрелая основа и собственные компоненты Можно ли чётко отделить собственные части?
Простая разовая задача Минимальная программа или небольшая библиотека Останется ли задача в прежних границах?
Узкая интеграция с хорошей документацией, тестовой средой и слабым SDK Небольшой собственный клиент Кто отвечает за обработку сбоев, безопасность и обновления API?

Для сложных B2B-систем мы часто предпочитаем гибридный подход. Мы сохраняем зрелую основу приложения, а отдельные интеграции создаём сами. Подходящая библиотека или SDK тоже может решить эти задачи.

Эта матрица - ориентир, а не правило. Проверяйте конкретный пакет и API. Для криптографии и критически важной инфраструктуры используйте проверенные реализации, а не просите агента придумать замену.

В нашей веб студии этот выбор - часть планирования долгосрочной поддержки. Полезный вопрос напоследок: кто будет понимать и поддерживать этот код через два года?

Выбирайте основу, которую сможете поддерживать

Для сложного ПО я по-прежнему предпочитаю зрелые фреймворки с небольшими собственными компонентами там, где они оправданны. Для скрипта с чёткими границами задачи - минимальное решение. Главное - сколько работы потребует поддержка после запуска первой версии.

Обсудите с Webdelo архитектуру и долгосрочную поддержку ПО, от которого зависит ваш бизнес.

Часто задаваемые вопросы

Нужны ли фреймворки при вайб-кодинге?

Для сложных систем с долгим сроком жизни - да. ИИ сокращает работу над кодом, но тестирование, исправление ошибок, обновление зависимостей и поддержка по-прежнему требуют времени. Зрелый фреймворк вроде Laravel, Spring Boot или Django даёт команде и ИИ-агенту готовые компоненты, документацию и средства диагностики. Это мнение CTO Webdelo Андрея Попова, а не правило, доказанное для каждого проекта.

Что такое вайб-кодинг и что такое фреймворк?

Вайб-кодинг - это когда вы описываете задачу простыми словами, а код пишет ИИ-агент. Фреймворк - готовая основа для приложения с общими правилами его устройства. Серверные фреймворки, такие как Laravel, Spring Boot и Django, закрывают типовые задачи: направляют запросы к нужному коду, работают с базой данных, проверяют входные данные, управляют пользователями и запускают фоновые задачи.

Когда вайб-кодинг без фреймворков оправдан?

Он подходит для небольших, чётко ограниченных задач, которым почти не нужна инфраструктура. Разовому скрипту, который переводит локальный CSV-файл в другой формат, может хватить стандартной библиотеки. Большой фреймворк добавит настройку и обновления, но задаче не поможет. Если прототип позже станет постоянным сервисом, архитектуру стоит пересмотреть.

Как выбрать между сторонним SDK и собственным клиентом для API?

Проверьте, как SDK поддерживается и покрывает ли он ваши задачи. Тревожные признаки: долгие перерывы между обновлениями, нехватка нужных методов, слабые тесты, скрытые детали запросов и устройство, которое заставляет неудобно менять остальное приложение. Если SDK слабый, а у API хорошая документация и тестовая среда, небольшой собственный клиент, написанный с ИИ-агентами, может оказаться лучше. Но хорошо поддерживаемый SDK по-прежнему может быть правильным выбором.

Чему Webdelo научили интеграции с Binance и Bitget?

Сторонний пакет для Binance сэкономил работу на старте, но потом отстал от API, и в нём не хватало нужных методов. Команде Webdelo пришлось сделать форк и самой поддерживать чужой код. Для Bitget ИИ-агенты собрали узкий собственный клиент по документации, реальным и тестовым запросам и проверкам WebSocket. По оценке CTO, рабочая основа появилась примерно за один рабочий день, но это частный случай, и результат ещё требовал тестирования.

За что вы отвечаете сами, если пишете собственный клиент для API с помощью ИИ?

Вы отвечаете за каждый сценарий сбоя. Это обработка ошибок, безопасные повторы, чтобы повторный запрос не выполнил одну операцию дважды, соблюдение лимитов запросов и восстановление оборванного соединения. Ещё нужно не допускать попадания ключей в исходный код и логи и проверять клиент при изменениях API и приложения.

Почему исследования разработки с ИИ не решают вопрос о фреймворках?

Они измеряют работу ИИ в конкретных условиях, а не выбор фреймворка. В эксперименте METR 2025 года 16 опытных разработчиков с ИИ-инструментами начала 2025 года тратили на 19% больше времени. В обновлении METR 2026 года сказано, что новые инструменты, вероятно, полезнее, но надёжно измерить это трудно. Эксперимент Google с 96 инженерами показал примерно на 21% меньше времени на задачу, с заметной неопределённостью. Veracode нашла небезопасные результаты примерно в 45% отобранных задач, связанных с безопасностью, поэтому сгенерированный код всё равно нужно проверять.

cookies Мы используем Cookie

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

Необходимые (обязательные)

Обеспечивают работу сайта (навигация, доступ к защищённым разделам). Всегда включены и могут быть изменены только в настройках браузера.

Аналитические

Помогают нам понять, как вы используете сайт, чтобы улучшать сервис. Не собирают личные данные. Для аналитики мы используем ряд инструментов.

Маркетинговые / Рекламные

Используются для показа персонализированной рекламы и измерения эффективности рекламных кампаний.