Do kraja 2025. sve vezano uz chat pokretali smo izravno putem OpenAI. Jedan račun, jedan ključ, jedan račun. U siječnju 2026. migrirali smo na multi-modelni agregator. Evo što se zapravo dogodilo.
Što smo imali
- OpenAI enterprise razina — $~$8k/mjesečno na svim površinama
- Sva chat dovršavanja na
gpt-4oiligpt-4o-mini - Jedan model za ugradnju, jedan model za slike (DALL-E 3)
- Izravna SDK integracija u četiri usluge
Što je potaknulo prelazak
- Claude Opus 4.6 postizao je primjetno bolje rezultate na našim evaluacijama agentnog kodiranja
- Gemini 3 Pro postao je jasan pobjednik za analizu dokumenata s dugim kontekstom
- Željeli smo testirati open-source modele (DeepSeek, Llama 4) bez postavljanja infrastrukture za inferenciju
- Pokretanje pet pružatelja značilo je pet ugovora, pet ciklusa naplate, pet nadzornih ploča za ograničenje brzine
Migracija
Prešli smo na OpenAI-kompatibilni agregator (ovaj, zapravo — koristimo vlastiti proizvod u produkciji). Cijela promjena bila je zamjena baseURL i apiKey u SDK-u. Razlika u kodu bila je 8 linija u četiri usluge.
// Prije
const openai = new OpenAI({ apiKey: process.env.OPENAI_KEY });
// Poslije
const openai = new OpenAI({
apiKey: process.env.AIGEN_KEY,
baseURL: 'https://aimarcus.eu/aigenerate/api/v1',
});
Što se promijenilo na računu
- Chat (GPT-4o → mješoviti GPT-4o + Claude Sonnet ovisno o zadatku): -22%
- Agentno kodiranje (prešlo na Claude Opus): +8%, ali evaluacije su poboljšane za 15 bodova
- Analiza s dugim kontekstom (prešlo na Gemini 3 Pro): -40%
- Generiranje slika (prešlo s DALL-E 3 na Nano Banana): -65%
Neto učinak na mjesečni račun: -28%. Bolji izbor modela na svakoj površini + niže cijene po tokenu od agregatora uzvodno s kojima ne moramo izravno pregovarati.
Tri stvari koje su pošle po zlu
- Razlike u formatu strujanja SSE. Claude struji malo drugačije od OpenAI. Naša logika međuspremnika na strani klijenta prekinula se na oko 10 minuta dok nismo dodali kompatibilni shim.
- Brojanje tokena. Različiti modeli tokeniziraju drugačije. Naša interna metrika "iskorišteni tokeni po razgovoru" trebala je biti rekalibrirana po modelu.
- Keširanje s ključem na temelju imena modela. Naša predmemorija upita koristila je
gpt-4okao ključ. Kada smo počeli usmjeravati neke zahtjeve na Claude, dobili smo zastarjele pogotke predmemorije. Pouka: uvijek uključite model u ključeve predmemorije.
Bismo li to ponovili?
Da — iz tri razloga koja nisu povezana s troškovima.
- Opcionalnost. Kada je OpenAI imao prekid od 40 minuta 3. travnja, naša chat površina nastavila je raditi jer je promet automatski preusmjeren na Anthropic i Gemini. To samo po sebi vrijedi migracije.
- Paritet modela je gotov. U 2026. ne postoji "najbolji model". Postoji najbolji model za svaki zadatak. Agregacija je način na koji zapravo koristite tu činjenicu.
- Jedan račun. Financije su to željele više nego inženjering. Jedan račun, jedan odnos s dobavljačem, jedan ugovor za 12 pružatelja.
Ako imate bilo kakav značajan volumen na jednom pružatelju, prelazak se isplati već prvog mjeseca.