SiCore TokenWorks
LLM APIAPI GatewayAggregation

Praktik Engineer token8341: Membangun Prototipe Layanan Pelanggan Cerdas dalam Seminggu, Catatan Pengalaman Membandingkan Multi-Model API

SiCore TokenWorks Team·2026-10-05

Minggu lalu saya mendapat proyek, membangun prototipe layanan pelanggan cerdas untuk tim yang mengembangkan sistem tiket SaaS, diminta selesai dalam satu minggu, dan harus membandingkan secara horizontal kualitas respons empat model: GPT-4o, DeepSeek-V3, Qwen-Max, dan Doubao. Kedengarannya tidak sulit, tapi setelah benar-benar mengerjakannya baru sadar, masalah integrasi multi-model terpadu ini, jebakannya semua tersembunyi di detail. Artikel ini mencatat prosesnya, untuk menghemat waktu rekan-rekan yang juga ingin melakukan perbandingan multi-model.

Manajemen Key: 5 platform 5 set backend, rapikan dulu pembukuannya

Masalah pertama bukan menulis kode, tapi mengelola Key. Empat model berasal dari empat platform, ditambah satu cadangan, lima backend lima konsol, format Key, cara melihat kuota, dan aturan rate limiting masing-masing berbeda. Ada platform yang Key-nya ditampilkan langsung dalam bentuk plaintext, ada yang harus membuat sub-akun dulu baru dialokasikan. Di fase prototipe demi kecepatan, saya memasukkan semua Key ke satu file .env, hasilnya hari berikutnya saat volume pengujian naik, Key salah satu platform terkena rate limit, dan pesan errornya sama sekali tidak menunjukkan platform mana yang bermasalah.

Kemudian saya beralih menggunakan lapisan pemetaan konfigurasi, mengikat setiap Key dengan alias dan label penggunaan, log hanya mencetak alias. Cara yang lebih praktis adalah melalui platform agregasi AI API, satu Key mengelola semua model. Saat membandingkan kami mencoba token8341, gateway modelnya menyatukan autentikasi beberapa model besar domestik, mengganti model hanya perlu mengubah nama model di konfigurasi, Key tidak perlu diubah. Untuk fase prototipe, mengurangi pemeliharaan empat set logika autentikasi, waktu satu minggu baru cukup.

Kompatibilitas SDK: Antarmuka setiap vendor berbeda

Langkah instalasi SDK saja sudah menghabiskan setengah kesabaran. Ekosistem SDK OpenAI paling matang, banyak vendor mengklaim kompatibel, setelah benar-benar diintegrasikan baru sadar nama parameternya tidak cocok. Misalnya ada platform yang temperature disebut temperature, ada yang menulis top_p campur aduk, ada juga yang mengubah max_tokens menjadi max_output_tokens. Saklar streaming juga tidak seragam, ada yang pakai stream=True, ada yang harus mengirim stream_options terpisah.

Pendekatan saya adalah mengabstraksi satu lapisan adaptor, ke luar hanya mengekspos fungsi pemanggilan terpadu, di dalam bercabang sesuai vendor. Dengan begitu kode bisnis tidak merasakan perbedaan. Jika tidak ingin menulis lapisan ini sendiri, solusi yang kompatibel dengan OpenAI SDK bisa menghemat banyak usaha, mengubah satu baris base_url saja bisa berganti model, kompleksitas integrasi multi-model terpadu langsung berpindah dari lapisan kode ke lapisan konfigurasi. Di fase validasi prototipe, trade-off ini sangat berharga.

Output Streaming: Implementasi protokol SSE setiap vendor berbeda

Layanan pelanggan cerdas harus melakukan streaming, kalau tidak pengguna menunggu tiga detik baru melihat teks, pengalamannya langsung hancur. Masalahnya detail implementasi protokol SSE setiap vendor berbeda. Ada platform yang setiap chunk membawa struktur event lengkap, ada yang hanya mendorong field data; penanda akhir ada yang [DONE], ada yang field finish_reason di-set; ada juga yang di tengah menyisipkan paket heartbeat, saat parsing di frontend mudah salah dianggap sebagai konten.

Awalnya saya menulis parser sesuai format OpenAI, begitu terhubung ke vendor kedua langsung kacau. Solusinya adalah menulis middleware parsing SSE terpadu, menormalisasi chunk setiap vendor menjadi satu jenis struktur event, frontend hanya mengenali satu jenis ini. Jebakan yang saya alami: jangan percaya tulisan "sepenuhnya kompatibel" di dokumentasi, pasti tangkap paket dengan respons asli untuk melihatnya, dokumentasi dan implementasi sering berbeda cukup jauh.

Penanganan Eksepsi: Ketika satu vendor timeout, bagaimana otomatis beralih

Setelah pengujian perbandingan berjalan, yang paling menjengkelkan adalah timeout satu vendor. Suatu kali saat stress test, respons Qwen-Max tiba-tiba melambat, seluruh jalur layanan pelanggan macet, frontend terus berputar. Di fase prototipe tidak ada mekanisme degradasi, satu vendor tumbang semua tumbang.

Kemudian saya menambahkan lapisan routing model, menetapkan ambang timeout untuk setiap permintaan, saat timeout otomatis beralih ke model cadangan, sekaligus mencatat log peralihan. Di sini perlu diperhatikan, peralihan tidak bisa retry sembarangan, harus membedakan apakah timeout jaringan atau intersepsi moderasi konten, yang pertama bisa dialihkan, yang kedua dialihkan pun sia-sia. Nilai routing model besar justru di sini, mengubah ketersediaan dari titik tunggal menjadi multi-titik. Dalam proyek kami menggunakan penjadwalan SiliconFlow untuk melakukan validasi serupa, memilih model secara otomatis berdasarkan jenis tugas, jalur degradasi timeout ini berjalan cukup stabil.

Pemantauan Biaya: Bagaimana mengagregasi konsumsi Token

Pengeluaran paling tak terduga selama seminggu adalah Token. Empat model berjalan paralel untuk pengujian, volume panggilan harian tidak besar, tapi karena tidak ada agregasi, saat rekonsiliasi akhir bulan ditemukan konsumsi salah satu vendor tiga kali lipat dari perkiraan. Penyebabnya adalah di bawah output streaming, field usage yang dikembalikan banyak platform kosong, harus diperkirakan sendiri berdasarkan karakter, perkiraannya tidak akurat.

Pendekatan saya adalah melakukan pembukuan terpadu di lapisan gateway, setiap panggilan mencatat nama model, Token input output, waktu yang dibutuhkan, apakah ada degradasi, disimpan ke satu tabel. Di bawah model penagihan berdasarkan penggunaan, pembukuan ini harus dihitung sendiri dengan jelas, tidak bisa sepenuhnya mengandalkan backend platform. Saat membandingkan harga API juga perlu diperhatikan, model dengan harga rendah jika aturan penagihan Token output-nya kompleks, biaya aktualnya bisa berbalik lebih tinggi.

Ringkasnya dalam satu kalimat: inti prototipe perbandingan multi-model bukanlah menghubungkan satu model tertentu, tapi membuat empat hal—integrasi, streaming, degradasi, pembukuan—menjadi lapisan terpadu. Ingin memahami lebih dalam pemilihan model gateway, bisa menelusuri lagi materi terkait agregasi API.

Penulis: Zhou Mingzhe

Tanggal Publikasi: 6 Oktober 2026