Siapa yang tidak pernah mengalami ini: sedang asyik menulis kode dengan bantuan AI, tiba-tiba muncul pesan rate limit exceeded atau connection timeout. Apalagi saat sedang fokus menyelesaikan satu fitur. Alur kerja jadi terputus, dan kita harus menunggu atau berpindah tool secara manual.
Hari ini saya belajar tentang cara mengatasi masalah ini dengan lebih elegan: routing model dengan failover otomatis. Alih-alih terpaku pada satu model atau satu provider, kita bisa menyusun rantai model cadangan yang otomatis dipakai ketika model utama sedang bermasalah.
Apa Itu Failover Model?
Failover model adalah mekanisme di mana ketika satu model/provider gagal — karena rate limit, timeout, atau layanan sedang turun — permintaan kita otomatis dialihkan ke model lain yang sudah kita daftarkan sebagai cadangan. Kita cukup menentukan urutan prioritas, sisanya ditangani otomatis.
Salah satu tool yang menyediakan fitur ini adalah 9Router, sebuah AI router gratis yang bisa diarahkan dari berbagai tool coding seperti OpenCode maupun Hermes Agent.
Cara Kerja 9Router
Kita menentukan urutan prioritas model yang ingin dipakai. Contohnya, jika model utama sedang terkena limit, sistem akan otomatis mencoba model berikutnya dalam daftar:
opencode --model "9router://gpt-4o,claude-3.5-sonnet,gemini-1.5-flash"
Jika gpt-4o gagal (rate limit atau timeout), sistem langsung mencoba claude-3.5-sonnet, lalu gemini-1.5-flash — tanpa intervensi manual. Kita tidak perlu berhenti menulis kode hanya karena satu provider sedang sibuk.
Konfigurasi di OpenCode dan Hermes Agent
Untuk OpenCode, model dengan failover bisa dipanggil langsung lewat CLI:
opencode --model "9router://gpt-4o,claude-3.5-sonnet,command-r-plus"
Sementara di Hermes Agent, konfigurasi dapat ditambahkan pada file config.yaml:
providers:
- name: 9router
type: router
model_chain: ["gpt-4o", "claude-3.5-sonnet", "gemini-1.5-flash"]
Keuntungan Menggunakan 9Router
| Fitur | Manfaat |
|---|---|
| Auto failover | Alur kerja tidak terputus saat rate limit |
| Multi-provider | Bisa memakai model terbaik yang tersedia saat itu |
| Tanpa konfigurasi manual | Cukup atur sekali, sisanya otomatis |
| Resume session | Konteks percakapan tetap dilanjutkan di model berikutnya |
Kapan Failover Tidak Cukup?
Untuk sesi debugging yang sangat panjang, failover model tetap disarankan dilengkapi dengan checkpoint — menyimpan ringkasan konteks setiap beberapa langkah. Ini menjaga agar model pengganti tetap memahami arah pekerjaan yang sedang dikerjakan.
Namun untuk mayoritas kasus, failover lewat 9Router sudah cukup. Fokus utama kita: menentukan urutan model yang masuk akal, lalu membiarkan sistem bekerja.
Kesimpulan
Mengganti model di tengah sesi kode bukan lagi hal yang merepotkan. Dengan 9Router, kita cukup menyusun urutan prioritas model — sistem yang akan memastikan pekerjaan tetap berjalan meski salah satu provider sedang bermasalah.