Главное Авторские колонки Вакансии Вопросы
91 0 В избр. Сохранено
Авторизуйтесь
Вход с паролем

Как я перестал крутить рулетку с AI‑сервисами и сделал себе нормальный стенд

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

AI картинки

По сути, это была лотерея на настроении. Я выбирал модели не потому, что они доказали себя в цифрах, а потому, что "в прошлый раз вроде понравилось".В какой‑то момент меня это окончательно утомило, и я собрал себе маленький, но упрямый тестовый стенд на TypeScript. Ничего монструозного: обычный проект, OpenRouter API, несколько скриптов, которые запускаются через свои npm run test:* и делают всю грязную работу за меня.

Схема примитивная, как табуретка: один и тот же набор задач отправляется в разные модели, а результаты падают в отдельные директории и превращаются в HTML‑отчёт.Открыл отчёт в браузере — и сразу видно, кто действительно тянет задачу, а кто просто умеет рисовать красивые картинки без привязки к требованиям.

Что именно я гоняю по моделям

Вместо абстрактных бенчмарков я взял те сценарии, на которых чаще всего обжигаюсь в работе.

Соотношения сторон — test:aspect-ratio.Задача тривиальная: попросили 3:4 — получи 3:4, заказали квадрат — получи 1:1, нужен баннер — 16:9. На бумаге это кажется базовой функцией, но реальность такая, что часть движков упрямо лепит один и тот же формат, даже если в промпте явно прописана вертикаль или горизонталь.

Длинные и тяжёлые промпты — test:long-prompt.Знакомое всем ТЗ на полэкрана текста: условия, уточнения, исключения и ещё пара «а давайте тут по‑другому». На таких простынях отлично видно, какая модель может не развалиться к концу инструкции, а какая уже к середине начинает додумывать мир по собственным правилам.

Нишевые запросы — test:niche (ресторан, ремонт, медицина, дом).«Красивый интерьер» умеют почти все. Но стоит попросить «ванную в процессе ремонта» — и шоу начинается: один сервис показывает склад стройматериалов, другой рисует операционную, третий выдаёт странный гибрид, который не подходит ни под одну реальную задачу.

Стоимость и скорость — test:cost-and-time.Здесь я смотрю на цену и время отклика одновременно. Забавная штука: модель, которая в прайсах выглядит самой дешёвой, внезапно оказывается самой прожорливой по бюджету, если просто существенно дольше всех считает один и тот же набор промптов.

Плюс в наборе есть композиционные проверки: коллажи 2×2 и 3×3, вариативные промпты. Это уже история про аккуратные композиции и финишную доводку, когда важны не только детали, но и общая сборка сцены.

Как это встроилось в мои рабочие дни

Каждый прогон падает в outputs//results/, а в корне теста собирается outputs//index.html.Мне больше не нужно прыгать по папкам и сравнивать скриншоты «на глаз». Я открываю HTML‑отчёт и сразу вижу:

  1. какие тесты модель прошла, а какие провалила (PASS/FAIL);
  2. какие размеры она выдала фактически;
  3. выдержала ли она длинные инструкции или начала ломаться по дороге;
  4. кто на самом деле быстрый, а кто просто медленно сжигает бюджет.

Отдельный слой — управление пулом моделей. В models.conf лежит список, который я щёлкаю как тумблеры: надо протестировать модель — включил, устал от её выкрутасов — закомментировал до следующего апдейта. Логика тестов при этом не меняется, меняется только состав участников.Сейчас в активном наборе у меня, например, flux.2-klein-4b, riverflow-v2-fast, seedream-4.5, остальные спокойно лежат в конфиге и ждут своего часа.

Что реально поменялось в выборе сервисов

Главное, что ушло, — ощущение, будто я выбираю по хайпу, рекламным лендингам и случайным «мне понравилось в прошлый раз».

Теперь это выглядит куда спокойнее и честнее:

  1. нужно быстро накидать десяток черновых концептов — беру по отчётам самую шуструю модель, даже если она периодически грешит артефактами;
  2. важны чистая композиция и аккуратные детали — переключаюсь на более «вылизанную» модель и сознательно плачу её ценой в секунды;
  3. впереди длинный, сложный промпт — смотрю, кто лучше пережил test:long-prompt, а не верю маркетингу на лендинге.

В какой‑то момент это перестало быть игрой в стилe "ну давай попробуем ещё один модный сервис, вдруг повезёт".Сейчас у меня нормальный рабочий конвейер: формулирую требования, запускаю нужные тесты, смотрю на метрики, открываю отчёт и спокойно решаю, какая модель идёт в прод, а какую мы пока отправляем отлежаться до следующего крупного обновления

0
В избр. Сохранено
Авторизуйтесь
Вход с паролем