До края на 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 доставчици.

Ако управлявате значителен обем на един доставчик, преминаването се изплаща още през първия месец.