Антипаттерны AI-кода: как избежать 6 МБ мусора на сайте | AiManual
AiManual Logo Ai / Manual.
03 Апр 2026 Гайд

Антипаттерны AI-кода: разбор сайта CEO YC и как избежать 6 МБ мусора на главной странице

Разбор реального случая с сайтом CEO YC: 6 МБ мусора, 8 логотипов и тестовые файлы на продакшене. Как избежать таких ошибок при генерации кода ИИ.

Когда ИИ выходит из-под контроля: 6 МБ мусора на главной странице

Вы знаете того самого CEO YC? Да, Гарри Тан. Его личный сайт в 2024 году стал хрестоматийным примером того, что происходит, когда доверяешь генерации кода нейросети без единой проверки. Главная страница весила 6 МБ. Шесть. Мегабайт. Для справки, современный стандарт в 2026 году - 500 КБ для всего, включая контент. Сайт загружал 8 (восемь!) идентичных логотипов, тащил за собой тестовые JSON-файлы и даже фрагменты папки node_modules. И самое печальное - в 2026 году такие ошибки все еще случаются сплошь и рядом. Даже с GPT-5, Claude 4 Opus или Gemini Ultra 2.0. Модели умнеют, а антипаттерны - живучи.

Это не просто анекдот. Это диагноз. AI-генерация кода без последующего аудита гарантированно приводит к проблемам с производительностью, SEO и безопасностью. В эпоху, когда SEO адаптируется под смысловой поиск, 6 МБ мусора - это прямой путь в бан поисковых систем.

Что пошло не так? Разбор трех главных грехов

Давайте разберем эту катастрофу по косточкам. Это не случайность, а закономерность при работе с LLM для веб-разработки.

Грех 1: Слепое доверие к сгенерированной структуре проекта

ИИ, получив промпт "создай сайт-визитку", часто генерирует полную структуру проекта как для корпоративного приложения: src/, public/, assets/, tests/, node_modules/. И все это может оказаться в билде. На сайте CEO YC в папке public лежали файлы test-data.json и mock-api-response.js. Вес - лишние 300 КБ. Зачем они в продакшене? Нейросеть просто скопировала шаблон из своего обучения.

Грех 2: Копипаста ресурсов "на всякий случай"

Восемь одинаковых логотипов в разных форматах и размерах (logo.svg, logo.png, logo@2x.png, favicon.ico, apple-touch-icon.png и т.д.) - классический признак того, что ИИ перестраховался. Вместо того чтобы генерировать адаптивную SVG-иконку, модель накидала все возможные варианты из своей тренировочной выборки. Итог - 2 МБ только на графику.

💡
Современные LLM, такие как GPT-5, стали лучше понимать контекст, но все еще грешат избыточностью. Они оптимизированы для выполнения задачи ("покажи логотип"), а не для оптимального решения ("покажи логотип с минимальным весом").

Грех 3: Отсутствие минификации и tree-shaking

Сгенерированный JavaScript-бандл содержал все библиотеки, которые ИИ "считал полезными", включая jQuery для простого слайдера и три разных CSS-фреймворка. Tree-shaking не применялся. Результат - 3.5 МБ неиспользуемого кода (dead code). В 2026 году это уже не неопытность, а преступление.

Почему это происходит? Механика ошибки

Нейросеть не видит разницы между разработкой и продакшеном. Для нее код - это текст, который должен соответствовать паттернам из ее датасета. Ее цель - удовлетворить промпт, а не создать эффективное решение. Она не запускает Lighthouse и не смотрит на вес страницы. Это - ваша работа.

1Шаг аудита: что искать в сгенерированном коде

Не запускайте сайт в сеть, пока не пройдете этот чеклист. Возьмите за правило: каждый AI-генерируемый проект проходит строгий контроль.

  • Размер билда: Запустите du -sh dist/ (или вашу папку билда). Если больше 1 МБ - тревога.
  • Структура файлов: Ищите папки test, mock, examples в публичной директории. Удаляйте.
  • Дубликаты ресурсов: Используйте fdupes или простой скрипт на Python для поиска одинаковых изображений.
  • Неиспользуемый код: Запустите Webpack Bundle Analyzer или Rollup Plugin Visualizer.

2Интеграция в CI/CD: автоматический запрет на мусор

Человек может забыть. Конвейер - нет. Настройте ваш GitHub Actions или GitLab CI так, чтобы билд падал при нарушении лимитов.

# .github/workflows/audit.yml
name: Audit AI Build
on: [push]

jobs:
  audit:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4
      - name: Install dependencies
        run: npm ci
      - name: Build project
        run: npm run build
      - name: Check bundle size
        run: |
          SIZE=$(du -sk ./dist | cut -f1)
          if [ $SIZE -gt 1024 ]; then # 1 MB limit
            echo "Bundle size exceeds 1 MB: ${SIZE}KB"
            exit 1
          fi
      - name: Run Lighthouse CI
        uses: treosh/lighthouse-ci-action@v12
        with:
          configPath: "./lighthouserc.json"

3Оптимизация ресурсов: одна иконка вместо восьми

Забудьте про пнгшки. В 2026 году единственный нужный формат для иконок - SVG. Создайте один файл icon.svg и используйте его для всего. Для фавикона сконвертируйте его в .ico онлайн или через скрипт. Используйте тег <svg> прямо в HTML - это ноль HTTP-запросов.

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

4Выбор правильного промпта: как общаться с ИИ

Промпт "создай сайт" порождает хаос. Промпт "создай минимальный статический сайт на HTML и CSS, без JavaScript, с одной SVG-иконкой, общий вес не должен превышать 200 КБ" - дает шанс на успех. Чем конкретнее, тем лучше. Указывайте явные ограничения.

Частые ошибки и как их не повторить

ОшибкаПоследствиеРешение
Импорт всей библиотеки ради одной функции+500 КБ к бандлуИспользуйте tree-shaking и явные импорты (import { debounce } from 'lodash-es')
Неоптимизированные изображения от AI-дизайнераГрафика весит 80% страницыПропускайте все изображения через Squoosh, Sharp или конвертируйте в TextWeb где возможно.
Оставленные console.log и debug-флагиУтечка данных и ошибки в продакшенеИспользуйте Terser с drop_console: true в сборке.

Главный урок сайта CEO YC: ИИ - это мощный черновик, а не финальный продукт. Доверяй, но проверяй. Причем проверяй автоматически. Иначе ваш легкий сайт-визитка превратится в груду цифрового мусора, который не только раздражает пользователей, но и может стать причиной санкций со стороны поисковиков в рамках "Январского шторма 2026". И да, даже если вы используете AI-агентов для персонализации, базовый код должен быть чистым. Агенты добавят свой вес, ваш мусор им не нужен.

Финальный совет: Сделайте аудит производительности частью вашего workflow. Потратьте 10 минут на запуск Lighthouse и анализ бандла. Эти 10 минут сэкономят часы дебага и гигабайты трафика ваших пользователей. И не дайте ИИ превратить ваш сайт в музей веб-антипаттернов.

Подписаться на канал