До кінця 2025 року ми керували всім, що стосується чату, безпосередньо через OpenAI. Один акаунт, один ключ, один рахунок. У січні 2026 року ми перейшли на мульти-модельний агрегатор. Ось що насправді сталося.
Що ми мали
- OpenAI enterprise tier — $~$8k/місяць на всіх поверхнях
- Усі завершення чату на
gpt-4oабоgpt-4o-mini - Одна модель для вбудовування, одна модель зображень (DALL-E 3)
- Пряма інтеграція SDK у чотирьох сервісах
Що спричинило перехід
- Claude Opus 4.6 показував помітно кращі результати на наших оцінках агентного кодування
- Gemini 3 Pro став явним переможцем для аналізу документів з довгим контекстом
- Ми хотіли протестувати моделі з відкритим кодом (DeepSeek, Llama 4) без розгортання інфраструктури для інференсу
- Керування п'ятьма постачальниками означало п'ять контрактів, п'ять циклів виставлення рахунків, п'ять панелей обмеження швидкості
Міграція
Ми перейшли на агрегатор, сумісний з OpenAI (власне, цей — ми використовуємо власний продукт у виробництві). Вся зміна полягала в заміні baseURL і apiKey у SDK. Різниця в коді становила 8 рядків у чотирьох сервісах.
// До
const openai = new OpenAI({ apiKey: process.env.OPENAI_KEY });
// Після
const openai = new OpenAI({
apiKey: process.env.AIGEN_KEY,
baseURL: 'https://aimarcus.eu/aigenerate/api/v1',
});
Що змінилося в рахунку
- Чат (GPT-4o → змішаний GPT-4o + Claude Sonnet в залежності від завдання): -22%
- Агентне кодування (перейшли на Claude Opus): +8%, але оцінки покращилися на 15 пунктів
- Аналіз довгого контексту (перейшли на Gemini 3 Pro): -40%
- Генерація зображень (перейшли з DALL-E 3 на Nano Banana): -65%
Загальний ефект на місячний рахунок: -28%. Кращий вибір моделей на кожній поверхні + нижчі ставки за токен від агрегаторів, з якими нам не потрібно домовлятися безпосередньо.
Три речі, які пішли не так
- Різниця у форматі потокового SSE. Claude транслює трохи інакше, ніж OpenAI. Наша логіка буферизації на стороні клієнта зламалася на 10 хвилин, поки ми не додали сумісний шар.
- Підрахунок токенів. Різні моделі токенізують по-різному. Наш внутрішній показник "використаних токенів на розмову" потрібно було переналаштувати для кожної моделі.
- Кешування за ключем назви моделі. Наш кеш підказок використовував
gpt-4oяк ключ. Коли ми почали направляти деякі запити до Claude, ми отримали застарілі хіти кешу. Урок: завжди включайте модель у ключі кешу.
Чи зробили б ми це знову?
Так — з трьох причин, не пов'язаних з вартістю.
- Опціональність. Коли OpenAI мав 40-хвилинний збій 3 квітня, наша чат-поверхня продовжувала працювати, оскільки трафік автоматично перейшов на Anthropic і Gemini. Це саме по собі варте міграції.
- Паритет моделей закінчився. У 2026 році немає "найкращої моделі". Є найкраща модель для кожного завдання. Агрегація — це спосіб дійсно використовувати цей факт.
- Один рахунок. Фінансовий відділ хотів цього більше, ніж інженерний. Один рахунок, одне відношення з постачальником, один контракт для 12 постачальників.
Якщо ви використовуєте значний обсяг у одного постачальника, перехід окупається вже в перший місяць.