Aplikasi keuangan saya FinMan VHWorx membaca meter utilitas, tanda terima bahan bakar dan laporan bank dari foto dan file. Semua itu berjalan pada LLM visi/teks melalui OpenRouter — dan banyak di antaranya pada model tingkat gratis.
Model gratis sangat bagus kecuali untuk satu hal: mereka terus berubah. Mereka muncul, menghilang, diganti nama atau secara diam-diam didepresiasi. Mengkodekan id model, dan fitur Anda mati secara diam-diam pada hari Selasa yang acak.
Jadi FinMan berhenti memperlakukan model sebagai konstanta. Model adalah data:
- Pekerjaan harian menyinkronkan daftar model langsung dari OpenRouter. Model visi gratis baru ditambahkan secara otomatis; yang hilang dinonaktifkan.
- Fallback berbayar diurutkan kembali berdasarkan harga setiap hari. Keluarga Gemini Flash mendukung tingkat gratis, yang termurah lebih dulu — sehingga failover tidak pernah mengejutkan tagihan.
- Pengenalan berjalan di daftar prioritas. Jika model mengalami kesalahan atau hilang, yang berikutnya mengambil alih. Satu model mati tidak pernah merusak foto pengguna.
- Aplikasi memperbarui dirinya sendiri. Pekerjaan terpisah menetapkan model teratas dari papan peringkat komunitas publik sebagai prioritas #1 — sehingga tugas teks secara diam-diam berpindah ke apa pun yang saat ini terbaik.
- Perubahan memberi tahu saya di Telegram. Tidak ada dasbor untuk diperiksa.
Hasil setelah berbulan-bulan dalam produksi: Saya belum menyentuh id model sejak itu. Setiap gelombang deprecations berlalu tanpa terdeteksi — oleh saya dan oleh pengguna.
Jika Anda membangun di atas LLM (terutama tingkat gratis), ini adalah perubahan kecil dengan pengaruh tertinggi yang saya tahu: model sebagai data, bukan konstanta. Sebuah tabel, sebuah cron harian, sebuah daftar prioritas. Itulah seluruh triknya.