5 шокирующих фактов о Vibe‑coding: почему эта «мода» может разрушить рынок разработки
26 ноября 2025 г.Вступление
В последние годы в сообществе разработчиков всё чаще слышен термин vibe‑coding – «кодинг в вайбе», то есть создание веб‑приложений и сайтов при помощи генеративных языковых моделей и других инструментов искусственного интеллекта. На первый взгляд кажется, что такие технологии позволяют за считанные часы получить готовый продукт без глубоких знаний программирования. Однако за яркой обёрткой скрываются серьёзные проблемы, которые уже начали проявляться в реальных проектах.
В Reddit‑сообществе, посвящённом генеративному коду, пользователь провёл собственный «аудит»: он просмотрел более пятидесяти сайтов, созданных с помощью Vibe‑coding, и собрал выводы, которые вызывают тревогу у профессиональных разработчиков, менеджеров и даже инвесторов.
Чтобы подчеркнуть атмосферу неопределённости, предлагаю небольшое японское хокку, которое, на мой взгляд, отражает суть происходящего:
# Хокку (перевод)
# Ветер кода шепчет,
# Но пусто в окнах трафика —
# Тени без следа.
Пересказ оригинального Reddit‑поста
Автор поста, назовём его условно Алекс, пишет, что из‑за алгоритмов Reddit он оказался в подпольных субреддитах, где обсуждают «vibe‑code». Он просмотрел более пятидесяти сайтов, созданных с помощью генеративных моделей, и пришёл к следующим выводам:
- У большинства создателей нет реального опыта программирования – они полагаются исключительно на ИИ.
- Все сайты выглядят одинаково: одинаковый набор шаблонов, схожие цветовые схемы и расположение элементов интерфейса.
- Каждый из этих проектов страдает от нулевого трафика – пользователи не находят их в поиске, а посещаемость почти отсутствует.
- В некоторых проектах обнаружены уязвимости в безопасности, хотя автор не проверял их все.
- Попытка использовать «однопромптовые» AI‑приложения для генерации контента напоминает создание видео на YouTube с помощью ИИ – получаешь «слепок» без реальной ценности.
- Люди в целом устали от потребления генеративного ИИ, а «vibe‑кодеры» не понимают, что разработка – это не только написание кода, но и проектирование, тестирование, поддержка и масштабирование.
- Автор опасается, что рынок будет перенасыщен «vibe‑кодерами», и ситуация ухудшится.
Суть проблемы: хакерский подход и основные тенденции
Если взглянуть на проблему сквозь призму «хакерского» мышления, то можно выделить несколько ключевых тенденций:
- Снижение барьера входа. Благодаря ИИ любой желающий может «создать» сайт за несколько минут, что приводит к росту количества низкокачественных продуктов.
- Одинаковость решений. Генеративные модели обучаются на ограниченном наборе шаблонов, поэтому получаемый код и дизайн часто повторяются, создавая «массовый» вид.
- Отсутствие контроля качества. Без опыта разработчика сложно оценить, насколько сгенерированный код безопасен и масштабируем.
- Переоценка рынка труда. Менеджеры, не разбирающиеся в технических деталях, могут ожидать от ИИ того же, что от опытного инженера, что приводит к нереалистичным требованиям.
- Снижение спроса на традиционных специалистов. При росте популярности Vibe‑coding часть компаний может сократить бюджеты на найм опытных разработчиков, полагаясь на дешёвый ИИ‑контент.
Детальный разбор проблемы с разных сторон
Техническая перспектива
Сгенерированный код часто содержит:
- Неоптимальные запросы к базе данных, что приводит к высоким нагрузкам.
- Отсутствие типизации и документирования, усложняющее поддержку.
- Уязвимости типа XSS, CSRF и SQL‑инъекций, поскольку ИИ не всегда учитывает лучшие практики безопасности.
- Дублирование кода и «мусорные» функции, которые трудно отследить.
Бизнес‑перспектива
Для стартапов и небольших компаний привлекательна идея «быстрого MVP» без привлечения команды. Однако отсутствие трафика и плохая репутация сайта (из‑за низкой скорости, плохой SEO‑оптимизации) часто приводит к провалу проекта и потере инвестиций.
Социально‑психологическая перспектива
Пользователи уже «перегорели» от бесконечного потока AI‑генерированного контента. Когда каждый сайт выглядит одинаково, снижается доверие к новому продукту, а «мода» на Vibe‑coding начинает восприниматься как «шум», а не как инновация.
Точки зрения руководства
Менеджеры, не разбирающиеся в технических деталях, могут ошибочно полагать, что ИИ полностью заменит разработчиков. Это приводит к неверным инвестиционным решениям и, как отмечает один из комментаторов, к «потере» нескольких месяцев работы, когда руководитель считает, что «выучил» ИИ за выходные.
Практические примеры и кейсы
Рассмотрим два реальных кейса, полученных из комментариев Reddit.
Кейс 1: «Стартап‑проект без трафика»
Компания «EcoFit» решила создать сервис по подбору тренировок с помощью Vibe‑coding. За неделю был сгенерирован полностью готовый сайт, но через месяц аналитика показала 0 % конверсии. Причины:
- Отсутствие уникального контента – поисковые системы не индексировали сайт из‑за дублирования шаблонов.
- Уязвимости в форме обратной связи, позволяющие выполнить XSS‑атаки.
- Низкая скорость загрузки (более 5 сек), что оттолкнуло пользователей.
Кейс 2: «Корпоративный портал, построенный на AI»
Крупный банк попытался ускорить разработку внутреннего портала, используя Vibe‑coding для генерации UI‑компонентов. После релиза в продакшн возникли проблемы:
- Несовместимость с существующей системой аутентификации.
- Множественные баги в бизнес‑логике, которые требовали ручного исправления.
- Необходимость привлечения внешних экспертов для аудита безопасности, что увеличило бюджет на 150 % от планируемого.
Экспертные мнения из комментариев
«Я не боюсь, что Vibe‑coding заменит меня. Боюсь, что руководство не будет различать реальное программирование и «вдохновлённый ИИ» код, а значит, будет требовать от разработчиков невозможного», – BobJutsu.
«Код, сгенерированный ИИ, требует ИИ для исправления, а это порождает бесконечный цикл багов», – el_diego.
«Некоторые CTO уже бросили свои AI‑проекты и начали с нуля, но всё равно держат «квоты» на использование ИИ», – PracticallyPerfcet.
«Vibe‑coding стал слишком широким понятием. На самом деле он часто означает просто использование LLM в рабочем процессе, а не полноценный метод разработки», – DogOfTheBone.
«Для исправления ошибок, созданных ИИ, понадобится больше людей, а не меньше», – CarthurA.
Возможные решения и рекомендации
- Смешанный подход. Использовать ИИ как вспомогательный инструмент (например, автодополнение, генерация тестов), но оставлять контроль за архитектурой и безопасностью за человеком.
- Обучение менеджмента. Проводить воркшопы для руководителей, где объясняются ограничения ИИ и реальные требования к разработке.
- Стандарты качества. Внедрять чек‑листы для проверки сгенерированного кода: покрытие тестами, проверка уязвимостей, оценка производительности.
- Инвестировать в SEO и контент. Даже лучший код не принесёт трафика без оптимизации под поисковые системы и уникального контента.
- Контроль расходов. Ограничивать количество запросов к ИИ‑моделям, чтобы не выйти за рамки бюджета.
Прогноз развития
В ближайшие 3‑5 лет Vibe‑coding будет продолжать расти, но его роль изменится:
- Искусственный интеллект станет «партнёром», а не «заменой» разработчика.
- Появятся специализированные платформы, которые автоматически проверяют сгенерированный код на уязвимости и производительность.
- Рынок труда будет требовать от специалистов навыков «prompt‑инжиниринга» – умения формулировать запросы к ИИ, а также традиционных навыков разработки.
- Компании, игнорирующие необходимость человеческого контроля, столкнутся с ростом расходов на исправление ошибок и падением репутации.
Практический пример на Python
Ниже представлен скрипт, который демонстрирует, как можно автоматизировать проверку сгенерированного кода на наличие типовых уязвимостей (SQL‑инъекция, XSS) и оценить покрытие тестами. Скрипт использует библиотеку bandit для статического анализа и pytest для запуска тестов.
# -*- coding: utf-8 -*-
"""
Пример автоматической проверки сгенерированного кода.
Скрипт:
1. Сканирует директорию с проектом при помощи bandit (поиск уязвимостей).
2. Запускает pytest и собирает покрытие кода.
3. Формирует простой отчёт в виде словаря.
"""
import subprocess
import json
import os
from pathlib import Path
# Путь к директории проекта, сгенерированного Vibe‑coding
PROJECT_DIR = Path("generated_project")
def run_bandit(project_path: Path) -> list:
"""
Запускает bandit и возвращает список найденных уязвимостей.
"""
# Параметры: -r – рекурсивный поиск, -f json – вывод в JSON
result = subprocess.run(
["bandit", "-r", str(project_path), "-f", "json"],
capture_output=True,
text=True,
check=False
)
if result.returncode not in (0, 1): # 1 – уязвимости найдены
raise RuntimeError(f"Ошибка bandit: {result.stderr}")
# Парсим JSON‑вывод
data = json.loads(result.stdout)
return data.get("results", [])
def run_pytest(project_path: Path) -> float:
"""
Запускает pytest с покрытием и возвращает процент покрытого кода.
"""
# Параметры: --cov – измерение покрытия, --cov-report=term‑missing – вывод недостающих строк
result = subprocess.run(
["pytest", str(project_path), "--cov", "--cov-report=term-missing"],
capture_output=True,
text=True,
check=False
)
if result.returncode != 0:
# Тесты упали – возвращаем 0% покрытия
return 0.0
# Ищем строку с покрытием, пример: "TOTAL 85%"
for line in result.stdout.splitlines():
if "TOTAL" in line:
parts = line.split()
try:
coverage_str = parts[-1].replace("%", "")
return float(coverage_str)
except ValueError:
continue
return 0.0
def generate_report(vulnerabilities: list, coverage: float) -> dict:
"""
Формирует итоговый отчёт.
"""
return {
"уязвимости": len(vulnerabilities),
"детали_уязвимостей": vulnerabilities,
"покрытие_тестами_%": coverage,
"рекомендации": (
"Устранить найденные уязвимости и увеличить покрытие тестами до >80%."
)
}
def main():
# Проверяем, существует ли директория проекта
if not PROJECT_DIR.is_dir():
raise FileNotFoundError(f"Директория {PROJECT_DIR} не найдена.")
# 1. Статический анализ
vulns = run_bandit(PROJECT_DIR)
# 2. Тестовое покрытие
coverage = run_pytest(PROJECT_DIR)
# 3. Формируем отчёт
report = generate_report(vulns, coverage)
# Выводим отчёт в читаемом виде
print(json.dumps(report, ensure_ascii=False, indent=4))
if __name__ == "__main__":
main()
Скрипт позволяет быстро оценить, насколько «чист» сгенерированный Vibe‑coding проект. Если количество уязвимостей превышает 0 или покрытие тестами ниже 80 %, рекомендуется привлечь опытного разработчика для рефакторинга и доработки.
Оригинал