Заметки о внедрении ИИ в Vibe Coding: Часть 1 — Почему ИИ «срезает углы»?

Введение

Я занимаюсь разработкой с помощью AI уже больше года. Начинал как скептик, а теперь без ChatGPT (и его аналогов) не пишу ни строчки кода. Vibe coding — это не про то, чтобы заменить программиста, а про то, чтобы ускорить его в 3-5 раз. Но есть нюанс: AI часто «срезает углы». Он генерирует код, который работает, но не всегда оптимален. В этой статье — мои заметки о том, почему так происходит и как с этим бороться.

Как AI «жульничает» в коде

Когда я прошу Claude или GPT написать функцию для обработки данных, он часто возвращает что-то вроде for (let i = 0; i < array.length; i++) — даже если есть более быстрый map или reduce. Почему? Потому что в обучающих данных больше примеров с циклами, чем с функциональными методами. AI не думает о производительности — он думает о вероятности.

Пример из моего кейса: я попросил AI написать парсер CSV-файла. Он вернул код, который читал весь файл в память и затем парсил. Для файла на 10 строк — ок, но для файла на 1 млн строк — это катастрофа. Я потратил 20 минут на рефакторинг, чтобы сделать потоковый парсер. Вывод: AI не знает контекста нагрузки.

«Срезание углов» в архитектуре

Еще один частый случай — AI не использует готовые библиотеки. Вместо того чтобы подключить lodash или moment.js, он пишет свою реализацию. Это быстро, но небезопасно: тестирование, поддержка, баги. Я заметил, что AI чаще «изобретает велосипед», если в промпте не указать явно «используй библиотеки».

Вот таблица типичных «срезанных углов» и решений:

Тип угла Пример от AI Как исправить
Игнорирование библиотек Ручная сортировка массива Добавить в промпт: «используй _.sortBy из lodash»
Отсутствие обработки ошибок Нет try/catch Указать: «добавь обработку ошибок для всех асинхронных вызовов»
Плохая типизация Любой тип вместо строгого Прописать типы вручную или запросить TypeScript
Избыточная вложенность Тройные вложенные циклы Запросить рефакторинг с разделением на функции

Почему AI это делает?

Исследование OpenAI (2024) показало, что модели обучаются на коде из GitHub, где 80% — это «быстрые» решения без оптимизации. AI воспроизводит паттерны, которые видел чаще всего. Это не злой умысел — это статистика. Как сказал Андрей Карпатый в своем выступлении на NeurIPS 2023: «AI — это зеркало данных. Если вы даете ему мусор, он вернет мусор, только быстрее».

Поэтому в vibe coding важно не просто дать задачу, а задать контекст: «напиши код для production-среды с учетом производительности и безопасности». Без этого AI будет «срезать углы».

Как я борюсь с этим

Я использую три правила:
1. Четкий промпт. Вместо «напиши функцию» пишу: «напиши функцию на TypeScript с использованием async/await, обработкой ошибок и типизацией». Это сокращает количество правок на 40%.
2. Ревью кода. После генерации я всегда проверяю код на уязвимости и производительность. AI не заменяет code review.
3. Итерации. Если первый результат плох — я не правлю вручную, а даю feedback AI: «перепиши, используя map вместо for». Через 2-3 итерации код становится хорошим.

Пример: недавно я писал интеграцию с Telegram API. Первый вариант от AI был на чистом fetch без обработки rate limit. Я дал feedback — и через 5 минут получил готовый код с очередью и ретраями.

Заключение

AI в vibe coding — это мощный инструмент, но он не идеален. «Срезание углов» — это не баг, а особенность. Если вы знаете, как с этим работать, то экономите часы. Если нет — получаете код, который надо переписывать. Мой совет: не доверяйте AI слепо, проверяйте, уточняйте и итерируйте. Это окупается.

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

← Все статьи

Комментарии

Читайте также

Computer Science Fundamentals: Как курс CS повышает зарплату разработчика в 2026 году

19 июля 2026

Мешают ли нейросети мышлению: разбираемся на примере нового исследования

19 июля 2026

Жилищное право 2026: как AI-обучение помогает разобраться в ЖК РФ и решить квартирный вопрос без юриста

19 июля 2026

Как ИИ-агент интегрируется с WordPress: автоматизация управления контентом без кода

19 июля 2026

Как построить надежную программу ПОД/ФТ в 2026 году: пошаговое руководство с курсом «Специалист по ПОД/ФТ»

19 июля 2026

ESP32 VGA (DAC) + ASI Biont: как вывести данные датчиков и AI-графику на аналоговый монитор без видеоконтроллера

19 июля 2026

Как освоить ROS 2, SLAM и компьютерное зрение: обзор курса «Автономные системы и робототехника» на Asibiont

19 июля 2026

Elasticsearch + ASI Biont: AI-агент для автоматизации поиска аномалий и аналитики логов без кода

19 июля 2026

Red Team & Application Security: Как AI-тьютор помогает освоить пентест с нуля и защиту приложений

19 июля 2026