Як обрати LLM для продакшену: сліпа крос-вендорна оцінка
Найновіша, найбільш розхайпана модель виграла ту єдину метрику, яку я почав вимірювати, — і опинилася на останньому місці за всім, що насправді мало значення.
Я тримаю автоматизований пайплайн, який перетворює ідею в один рядок («дві мультяшні рибки влаштовують сцену ревнощів») на готове вертикальне відео. У його серці — один-єдиний виклик LLM, який я називаю сценаристом: із сюжету та складу персонажів він видає структурований список кадрів для кожної сцени — опис першого кадру, рух камери, репліки діалогу, емоційні акценти і перелік об'єктів, які мають залишатися прихованими до моменту навмисного розкриття.
У цього одного виклику є дві властивості, через які над ним варто трястися:
- Це стеля якості. Кожен наступний етап — зображення, відео, голос — лише відмальовує те, що вирішив сценарист. Плаский діалог чи розмитий опис уже не врятувати нижче по пайплайну.
- Він працює в кожному проєкті. Тож його ціна за виклик множиться на весь обсяг роботи.
Складіть це разом, і питання вже не «яка модель найкраща», а «яка модель дає найбільше якості за долар». І чи не лишає дешевий чинний фаворит на столі ту якість, за яку варто доплатити.
Що стало поштовхом
Дві претензії до чинного фаворита, дешевого GPT-5.4-mini. Перша — витік першого кадру: для комедійного розкриття на відʼїзді камери (дві рибки сваряться, потім камера віддаляється і показує, що вони в крихітному акваріумі, в будинку, під водою, а повз пролітає яструб) модель вписала це розкриття прямо у відкривальний кадр. Жарт зіпсовано, перший кадр перевантажено. Друга — миршавий діалог: функціональний, але плаский, часто говорив лише один персонаж.

Баг наочно: GPT-5.4-mini вписав усе розкриття-від'їзд прямо у відкривальний кадр — дім, кімната, яструб і крихітний акваріум видно водночас. Панчлайн зіпсовано ще до початку сцени.
Я міг би поміняти модель «на відчуттях». Натомість я прогнав оцінку — бо вартість цього виклику множиться на кожне відео, яке я колись зроблю.
Метод (це і є та частина, яку можна перевикористати)
Чесний вхід. Я не вигадував синтетичний тестовий промпт. Я відтворив рівно ті повідомлення, які пайплайн надсилає в продакшені: системний промпт на ~12 000 токенів із сюжетом, персонажами та всіма правилами авторства, плюс крихітний user-промпт («згенеруй список кадрів для 1 сцени») і жорсткий контракт виводу в JSON. Кожна модель отримала байт-у-байт ідентичний контент; під вендора адаптувався лише механізм структурованого виводу.
Чотири моделі вздовж осі вартості: дешевий чинний фаворит (GPT-5.4-mini), найновіший повноцінний GPT (GPT-5.5), топовий Claude (Opus 4.8) і Claude середнього рівня (Sonnet 4.6).
Два інструменти. Детермінований сканер витоків, який механічно перевіряє поля моменту t=0 на приховані слова, незадекларовані іменники-«чужинці» та формулювання розкриття (бал: 10 мінус штрафи). І сліпа крос-вендорна суддівська панель: двоє суддів від різних вендорів (один Opus, один GPT-5.5) оцінювали чотири анонімізовані виводи — переназвані A/B/C/D, жодному судді не казали, яка модель що написала і яка з них його власна, — за шістьма вимірами: діалог, опис, рух, емоція, дисципліна першого кадру і зв'язність.
Двоє суддів від різних вендорів страхують від смаку якоїсь однієї моделі; анонімізація входів не дає судді нахвалювати власну роботу.
Що сталося
Раунд 1, вузький тест на витік. На свіжому семплі всі чотири моделі набрали чисті 10/10 проти 0/10 у реального продакшен-кадру. Той самий чинний фаворит, який витік у продакшені, тут видав чистий кадр — з того ж промпту.
Це перший урок, і його легко проґавити: баг був стохастичним, а не дефектом моделі. За нормальної температури семплінгу збій — імовірнісний. Один прогін не може розвести моделі за цією віссю — і жодна заміна моделі не гарантує чистий кадр.
Раунд 2, повна сліпа оцінка. Оскільки вузький тест насичився, я судив увесь вивід. Підсумки панелі з 60 можливих:
- Claude Opus 4.8 — 49.5
- Claude Sonnet 4.6 — 49.0
- GPT-5.4-mini (чинний фаворит) — 40.5
- GPT-5.5 — 34.0
Обидва судді незалежно поставили дві моделі Claude нагору, а GPT-5.5 — останнім. Деталь, через яку я цьому повірив: суддя на GPT-5.5 поставив моделі власного вендора на останнє місце. Жодних поблажок «своїм» — якщо вже на те, то навпаки.
Те, що їх розділило, було цілком конкретним. Двійка лідерів написала справжній двосторонній обмін — одна рибка звинувачує, інша відповідає («я просто їла…», прив'язуючи виправдання до черв'яка в роті) — плюс анімовану фізичну комедію («ляскає плавцем по морді, черв'як вилітає»). Обидві моделі GPT видали одностороннє звинувачення і лишили другого персонажа без діла.
І ось кульмінація всього дослідження: GPT-5.5, найновіший флагман, виграв вузьку метрику витоку, але прийшов останнім загалом. Він тримав перший кадр чистим — а потім переніс розкриття в інше поле, яке сканер не перевіряв. Він пройшов проксі-метрику і все одно зіпсував жарт.

Чистий перший кадр на Sonnet 4.6: лише два персонажі. Черв'як у роті риби-клоуна — та сама відмовка, яку обіграє діалог: деталь історії, а не витекле розкриття.
Оптимізація однієї метрики може активно відбирати гірший продукт. Єдине, що це впіймало, — погляд на весь вивід цілком, наосліп.
Рішення «якість проти вартості»
Це той розділ, заради якого дослідження й існує. Заміряно на живому виклику: одна сцена на Sonnet 4.6 з'їла ~12k вхідних + ~1.3k вихідних токенів — вхід домінує через фіксований системний промпт, вихід масштабується з кількістю сцен. Як приблизні співвідношення на проєкт для відео з 6 сцен (перевіряйте поточні ціни вендорів перед тим, як озвучувати, — довговічна частина саме у співвідношеннях):
- GPT-5.4-mini — ~1× (найдешевший), якість 40.5
- Sonnet 4.6 — ~15× від чинного фаворита, якість 49.0
- Opus 4.8 — ~5× від Sonnet, якість 49.5
- GPT-5.5 — той самий рівень, що й Sonnet, якість 34.0
Читайте це трьома способами:
- Найдешевше не означає безкоштовне. Чинний фаворит у ~15× дешевший, але на 8.5 бала якості нижчий — і оскільки сценарист — це стеля, цей розрив виявляється в кожному відео. Економія повертається у вигляді гіршого виводу.
- Найдорожче тут не варте того. Opus номінально №1, але його перевага в 0.5 бала над Sonnet лежить усередині шуму панелі з двох суддів, при ~5× вартості за токен — на виклику, який працює в кожному проєкті.
- Найновіший флагман — домінований. GPT-5.5 і гірший, і не дешевший. Немає жодної робочої точки, де він був би правильним вибором. «Найновіший і найбільш розхайпаний» — це не те саме, що «найкращий для задачі».
Тож я викотив Sonnet 4.6 — коліно кривої: приблизно якість Opus, помітно вище за обидва GPT, приблизно за пʼяту частину ціни Opus. Два уточнення тримають рахунок чесним: некреативні допоміжні виклики (валідатор, нормалізатор діалогів) лишаються на дешевій моделі, бо вони нічого не пишуть; а модель сценариста — це одна конфігураційна константа, тож підвищення до Opus чи відкат назад — це зміна в один рядок.
А той баг, із якого все почалося? Апгрейд моделі знижує шанси витоку першого кадру, але не може скасувати кидок кубика. Надійне виправлення — детерміноване: збирай відкривальний кадр з обмежених слотів (персонажі, їхня поза та емоція, лише навколишнє оточення) і вирізай будь-яке розкриття чи об'єкт-«чужинця» в коді, незалежно від моделі. Платити за більшу модель, щоб купити надійність, яку можна отримати детерміновано й безкоштовно, — це просто та сама пастка дешевої моделі, лише навиворіт.
Що я хотів би, щоб ви взяли — але не на віру
Чесні обмеження: цей рейтинг спирається на одну генерацію на модель і двох суддів. Розрив Opus/Sonnet — це шум; вважайте їх рівними. Судді — теж гравці (анонімізація і крос-вендорна згода зменшують самопіар, але не стирають його). Це один сценарій, один жанр. Сильніше дослідження прогнало б N≥10–20 семплів на модель і звітувало б розподілами, а не точковими балами. Ніщо з цього не перевертає напрямок результату, але задає межі того, наскільки твердо його можна заявляти.
Частини, які переносяться, незалежно від того, який вендор переможе у вашому випадку:
- Тестуйте на вашому реальному промпті, а не на синтетичному. Чесність тримається на ідентичному, продакшен-достовірному вході.
- Вимірюйте холістично і наосліп. Одна проксі-метрика рано чи пізно вибере гірший продукт; анонімізоване крос-вендорне суддівство це ловить.
- Рахуйте ціну на реальних токенах і порівнюйте якість-за-долар, а не пікову якість — особливо для виклику, помноженого на весь ваш обсяг роботи.
- Відділяйте стохастичні баги від якості моделі. Якщо дефект то з'являється, то зникає між прогонами однієї й тієї ж моделі, він імовірнісний — лагодьте його в коді, не відкуповуйтесь більшою моделлю.
---
Я Дзмитро Гарупа, фракційний CTO, який власноруч будує і викочує AI-системи і описує те, чого вчить мене робота, — як-от як я дав своїм AI-агентам стійку памʼять між сесіями. Якщо ви ганяєте подібні оцінки або хочете оскаржити те, як я провів цю, напишіть мені — найгостріші заперечення найкорисніші.