Sehingga akhir 2025, kami menjalankan semua perkara berkaitan chat melalui OpenAI secara langsung. Satu akaun, satu kunci, satu bil. Pada Januari 2026, kami berpindah ke pengagregat multi-model. Inilah yang sebenarnya berlaku.

Apa yang kami ada

  • OpenAI enterprise tier — $~$8k/bulan untuk semua permukaan
  • Semua penyempurnaan chat pada gpt-4o atau gpt-4o-mini
  • Satu model embedding, satu model imej (DALL-E 3)
  • Integrasi SDK langsung dalam empat perkhidmatan

Apa yang mencetuskan perpindahan

  • Claude Opus 4.6 mencatat skor yang lebih baik dalam penilaian pengkodan agentik kami
  • Gemini 3 Pro menjadi pemenang jelas untuk analisis dokumen konteks panjang
  • Kami ingin menguji model sumber terbuka (DeepSeek, Llama 4) tanpa menubuhkan infrastruktur inferens
  • Menjalankan lima penyedia bermaksud lima kontrak, lima kitaran bil, lima papan pemuka had kadar

Migrasi

Kami beralih kepada pengagregat yang serasi dengan OpenAI (yang ini, sebenarnya — kami menggunakan produk kami sendiri dalam pengeluaran). Keseluruhan perubahan adalah menggantikan baseURL dan apiKey dalam SDK. Perbezaan kod adalah 8 baris di seluruh empat perkhidmatan.

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

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

Apa yang berubah dalam bil

  • Chat (GPT-4o → campuran GPT-4o + Claude Sonnet berdasarkan tugas): -22%
  • Pengkodan agentik (berpindah ke Claude Opus): +8%, tetapi penilaian meningkat 15 mata
  • Analisis konteks panjang (berpindah ke Gemini 3 Pro): -40%
  • Penjanaan imej (berpindah dari DALL-E 3 ke Nano Banana): -65%

Kesan bersih pada bil bulanan: -28%. Pilihan model yang lebih baik pada setiap permukaan + kadar per-token yang lebih rendah dari pengagregat hulu yang kami tidak perlu rundingkan secara langsung.

Tiga perkara yang salah

  • Perbezaan format penstriman SSE. Claude menstrim sedikit berbeza dari OpenAI. Logik buffer sisi klien kami rosak selama kira-kira 10 minit sehingga kami menambah shim keserasian.
  • Pengiraan token. Model yang berbeza men-tokenkan secara berbeza. Metrik dalaman kami "token digunakan setiap perbualan" perlu dikalibrasi semula bagi setiap model.
  • Pengecahan berdasarkan nama model. Cache prompt kami menggunakan gpt-4o sebagai kunci. Apabila kami mula mengarahkan beberapa permintaan ke Claude, kami mendapat hit cache yang basi. Pengajaran: sentiasa sertakan model dalam kunci cache.

Adakah kami akan melakukannya lagi?

Ya — untuk tiga sebab yang tidak berkaitan dengan kos.

  • Opsionaliti. Apabila OpenAI mengalami gangguan 40 minit pada 3 April, permukaan chat kami terus berjalan kerana trafik gagal ke Anthropic dan Gemini secara automatik. Itu sahaja sudah berbaloi untuk migrasi.
  • Kesetaraan model telah berakhir. Tiada "model terbaik" pada 2026. Ada model terbaik untuk setiap tugas. Pengagregatan adalah cara anda benar-benar menggunakan fakta itu.
  • Satu bil. Kewangan mahukan ini lebih daripada kejuruteraan. Satu invois, satu hubungan vendor, satu kontrak untuk 12 penyedia.

Jika anda menjalankan sebarang volum bermakna pada satu penyedia, peralihan ini membayar untuk dirinya sendiri pada bulan pertama.