Până la sfârșitul anului 2025, am rulat tot ce ținea de chat direct prin OpenAI. Un cont, o cheie, o factură. În ianuarie 2026, am migrat la un agregator multi-model. Iată ce s-a întâmplat de fapt.

Ce aveam

  • OpenAI nivel enterprise — $~$8k/lună pe toate suprafețele
  • Toate completările de chat pe gpt-4o sau gpt-4o-mini
  • Un model de embedding, un model de imagine (DALL-E 3)
  • Integrare SDK directă în patru servicii

Ce a declanșat mutarea

  • Claude Opus 4.6 obținea scoruri vizibil mai bune la evaluările noastre de codificare agentică
  • Gemini 3 Pro a devenit câștigătorul clar pentru analiza documentelor cu context lung
  • Am vrut să testăm modele open-source (DeepSeek, Llama 4) fără a pune în funcțiune infrastructura de inferență
  • Gestionarea a cinci furnizori însemna cinci contracte, cinci cicluri de facturare, cinci dashboard-uri de limitare a ratei

Migrarea

Am trecut la un agregator compatibil cu OpenAI (acesta, de fapt — folosim propriul nostru produs în producție). Întreaga schimbare a fost înlocuirea baseURL și apiKey în SDK. Diferența de cod a fost de 8 linii în cele patru servicii.

// Înainte
const openai = new OpenAI({ apiKey: process.env.OPENAI_KEY });

// După
const openai = new OpenAI({
  apiKey: process.env.AIGEN_KEY,
  baseURL: 'https://aimarcus.eu/aigenerate/api/v1',
});

Ce s-a schimbat în factură

  • Chat (GPT-4o → mix GPT-4o + Claude Sonnet în funcție de sarcină): -22%
  • Codificare agentică (mutat la Claude Opus): +8%, dar evaluările au crescut cu 15 puncte
  • Analiză context lung (mutat la Gemini 3 Pro): -40%
  • Generare de imagini (mutat de la DALL-E 3 la Nano Banana): -65%

Efect net asupra facturii lunare: -28%. Alegerea unui model mai bun pe fiecare suprafață + tarife mai mici pe token de la agregatori upstream pe care nu trebuie să le negociem direct.

Trei lucruri care au mers prost

  • Diferențe în formatul de streaming SSE. Claude transmite ușor diferit față de OpenAI. Logica noastră de buffer pe partea clientului s-a rupt timp de aproximativ 10 minute până când am adăugat un shim de compatibilitate.
  • Numărarea token-urilor. Modelele diferite tokenizează diferit. Metricul nostru intern „token-uri utilizate pe conversație” a trebuit recalibrat pentru fiecare model.
  • Cache bazat pe numele modelului. Cache-ul nostru de prompturi folosea gpt-4o ca cheie. Când am început să direcționăm unele cereri către Claude, am primit hit-uri de cache învechite. Lecție: întotdeauna includeți modelul în cheile de cache.

Am face-o din nou?

Da — din trei motive care nu au legătură cu costul.

  • Opționalitate. Când OpenAI a avut o întrerupere de 40 de minute pe 3 aprilie, suprafața noastră de chat a continuat să funcționeze deoarece traficul a fost redirecționat automat către Anthropic și Gemini. Doar asta merită migrarea.
  • Paritatea modelului s-a încheiat. Nu există „cel mai bun model” în 2026. Există un model cel mai bun pentru fiecare sarcină. Agregarea este modul în care folosești de fapt acest fapt.
  • O singură factură. Finanțele au dorit acest lucru mai mult decât ingineria. O singură factură, o singură relație cu furnizorul, un singur contract pentru 12 furnizori.

Dacă rulați orice volum semnificativ pe un singur furnizor, schimbarea se amortizează în prima lună.