Батч відповідає на одне питання: A краще за B?
До / після або дві гіпотези. Інпути однакові, змінюється одна річ.
Якщо між A і B відрізняється дві речі — ти не знаєш, яка з них дала ефект. Такий батч можна викидати.
Баг вирішено: ≥70% кейсів і жодних нових проблем. Інакше — ітеруємо далі або фіксуємо, що це технічне обмеження.
Рахуй виклики й гроші до запуску. Дорого — ріж матрицю, не повтори.
5–10 ітерацій перед повним прогоном. Перевіряєш не якість, а механіку: інпути, промпт, формат, папки.
50 паралельних запитів (семафор). Вище — 429 від провайдера, тому ретраї з backoff.
Комбінації множаться. 5 × 10 × 8 × 2 — це вже 800 генерацій. Спершу рахуй, потім запускай.
Запиши, що вважаєш «краще», до того як відкриєш картинки. Інакше мозок підганяє критерій під ту, що сподобалась.
Генерація стохастична. Один вдалий результат нічого не доводить — мінімум 3 на кейс, дивимось на розкид.
A і B поруч, без підписів. Коли знаєш, де «нова версія», хочеш, щоб вона виграла.
У папку кожного рану кладеш config.json: модель, промпт, параметри, дата. Через тиждень без нього батч нічого не вартий.
Не викидай помилки й відмови моделі. Відсоток фейлів — часто головна різниця між A і B.
Обирай інпути, які ламають пайплайн: темний продукт, текст на пакуванні, нестандартні пропорції. На легких A і B однакові.
Не довіряй оцінці нейронки. У 99% наших кейсів потрібен human eval.
Композицію, реалістичність, «живість» аватара, схожість продукту з референсом нейронка поки оцінити не може. Вона ставить 8/10, бо картинка загалом гарна, і пропускає криві руки та зламаний текст на пакуванні.
Сам дивишся A і B поруч, наосліп, за критерієм, записаним до запуску. Нейронка може лише відсіяти очевидний брак (порожній результат, не той формат).
Кожен виклик пишеться в лог рану. Без логів не видно, чому B дешевший, повільніший чи частіше падає.
Ретраї обовʼязкові й записуються кожен окремо. Після рану дивишся на них так само уважно, як на картинки.