Fino alla fine del 2025 abbiamo gestito tutto ciò che riguardava le chat direttamente tramite OpenAI. Un account, una chiave, una fattura. A gennaio 2026 siamo passati a un aggregatore multi-modello. Ecco cosa è successo realmente.

Cosa avevamo

  • Tier enterprise di OpenAI — circa $8k/mese su tutte le superfici
  • Tutte le completamenti di chat su gpt-4o o gpt-4o-mini
  • Un modello di embedding, un modello di immagini (DALL-E 3)
  • Integrazione diretta SDK in quattro servizi

Cosa ha innescato il cambiamento

  • Claude Opus 4.6 stava ottenendo risultati significativamente migliori nei nostri test di codifica agentica
  • Gemini 3 Pro è diventato il chiaro vincitore per l'analisi di documenti a lungo contesto
  • Volevamo testare modelli open-source (DeepSeek, Llama 4) senza dover configurare infrastrutture di inferenza
  • Gestire cinque provider significava cinque contratti, cinque cicli di fatturazione, cinque dashboard di limiti di velocità

La migrazione

Siamo passati a un aggregatore compatibile con OpenAI (questo, in realtà — usiamo il nostro prodotto in produzione). L'intero cambiamento ha comportato la sostituzione di baseURL e apiKey nell'SDK. La differenza nel codice è stata di 8 righe nei quattro servizi.

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

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

Cosa è cambiato nella fattura

  • Chat (GPT-4o → mix GPT-4o + Claude Sonnet in base al task): -22%
  • Codifica agentica (passata a Claude Opus): +8%, ma i test sono migliorati di 15 punti
  • Analisi a lungo contesto (passata a Gemini 3 Pro): -40%
  • Generazione di immagini (da DALL-E 3 a Nano Banana): -65%

Effetto netto sulla fattura mensile: -28%. Migliore scelta del modello su ogni superficie + tariffe per token più basse dagli aggregatori upstream che non dobbiamo negoziare direttamente.

Tre problemi riscontrati

  • Differenze nel formato di streaming SSE. Claude trasmette in streaming in modo leggermente diverso rispetto a OpenAI. La nostra logica di buffer lato client si è interrotta per circa 10 minuti fino a quando non abbiamo aggiunto uno shim di compatibilità.
  • Conteggio dei token. I diversi modelli tokenizzano in modo diverso. La nostra metrica interna "token usati per conversazione" ha dovuto essere ricalibrata per modello.
  • Caching basato sul nome del modello. La nostra cache dei prompt utilizzava gpt-4o come chiave. Quando abbiamo iniziato a indirizzare alcune richieste a Claude, abbiamo ottenuto hit di cache non aggiornati. Lezione: includere sempre il modello nelle chiavi della cache.

Lo rifaremmo?

Sì — per tre motivi non legati ai costi.

  • Opzionalità. Quando OpenAI ha avuto un'interruzione di 40 minuti il 3 aprile, la nostra superficie di chat ha continuato a funzionare perché il traffico è stato automaticamente reindirizzato ad Anthropic e Gemini. Questo da solo vale la migrazione.
  • La parità tra modelli è finita. Non esiste "il miglior modello" nel 2026. Esiste un modello migliore per ogni task. L'aggregazione è il modo per sfruttare realmente questo fatto.
  • Una sola fattura. La finanza lo voleva più dell'ingegneria. Una fattura, un rapporto con il fornitore, un contratto per 12 provider.

Se stai gestendo un volume significativo con un unico provider, il passaggio si ripaga nel primo mese.