Sebuah tolok ukur baru terhadap 12 API large-language-model (LLM) menemukan bahwa hampir setiap layanan mengembalikan JSON yang sesuai dengan skema yang diminta, tetapi sebagian kecil yang cukup signifikan menghasilkan nilai yang salah secara faktual. Biaya token untuk skema yang sama bervariasi dari beberapa lusin token hingga hampir lima ribu token. Pengembang yang membangun alur ekstraksi atau agen berbasis data tidak lagi dapat mempercayai "validitas skema" sebagai tolok ukur "kebenaran".
Mengapa pengujian ini penting
Penyedia API telah mempromosikan "structured output" sebagai cara untuk menghilangkan kesalahan parsing. Janjinya sederhana: berikan model skema JSON, dan ia akan mengisi bidang-bidang tersebut tanpa Anda perlu menulis kode pasca-pemrosesan yang rapuh. Dalam praktiknya, banyak sistem produksi sudah mengandalkan jaminan ini untuk menghindari crash dan menjaga alur pipa analitik hilir tetap bersih. Ketika jaminan tersebut hanya benar sebagian, bug menyelinap masuk secara diam-diam, dan perhitungan biaya berdasarkan penggunaan token menjadi sangat meleset.
Kabar baiknya: skema sekarang sebagian besar sudah dipaksakan
- Sebagian besar model dalam rangkaian pengujian menghasilkan JSON yang lolos validator ketat.
- Constrained decoding – model yang mengunci decoder ke skema tidak dapat mengeluarkan karakter liar, sehingga payload yang salah format praktis sudah punah.
- Tingkat kesalahan parsing – pengembang tidak lagi perlu membungkus setiap panggilan dalam blok try-catch untuk kegagalan sintaksis JSON.
Kabar buruknya: validitas ≠ akurasi
Bentuk yang valid tidak menjamin nilai yang valid. Empat dari dua belas model—DeepSeek V4, Qwen, dan GLM-5.2 (dua yang terakhir muncul dengan dua nama berbeda dalam laporan)—menghasilkan JSON dengan format sempurna namun berisi angka yang salah saat mode “thinking” (atau chain-of-thought) diaktifkan.
- Pada model Qwen, ekstraksi aritmatika sederhana berubah dari 1 jawaban benar dari 16 dengan penalaran diaktifkan, menjadi 8 benar dari 8 saat penalaran dinonaktifkan.
- DeepSeek V4 Pro menunjukkan perubahan serupa: akurasi ekstraksi naik dari 1/8 menjadi 7/8 setelah model berhenti mencoba menjelaskan langkah-langkahnya.
Langkah penalaran tambahan mengganggu constrained decoder, membiarkan model hanyut ke dalam halusinasi sambil tetap mematuhi kurung luar.
Sisi buruknya: kejutan biaya token dan parameter yang diabaikan
- Format respons Claude – saat diakses melalui endpoint yang kompatibel dengan OpenAI, Claude sepenuhnya mengabaikan flag
response_format, mengembalikan output yang patuh skema sebesar 0%. Model tersebut memang mendukung panggilan terstruktur, tetapi hanya melalui antarmuka tool-call asli Anthropic. - Inflasi token skema – skema 12 KB yang sederhana memakan biaya 30 token di DeepSeek, namun payload yang sama menghabiskan 4.959 token di Claude.
- Ketidakkonsistenan penagihan – beberapa penyedia menghitung skema sebagai bagian dari prompt, menagih untuk setiap token yang dikonsumsinya; yang lain memperlakukannya sebagai overlay gratis. Dalam skala besar, tagihan skema dapat melampaui biaya konten yang dihasilkan model.
Apa yang harus dilakukan pengembang sekarang
- Validasi nilai, bukan hanya bentuk – validator skema tidak akan menangkap jawaban numerik yang salah meskipun sesuai dengan tipe yang diharapkan. Tambahkan pemeriksaan spesifik domain (rentang, unit, konsistensi antar-bidang).
- Matikan chain-of-thought untuk ekstraksi pada DeepSeek, Qwen, dan GLM saat Anda membutuhkan pengisian bidang yang andal. Langkah penalaran tambahan bersifat opsional, bukan persyaratan untuk kebenaran.
- Audit penggunaan token – catat berapa banyak token yang dikonsumsi setiap permintaan, termasuk bagian skema, dan bandingkan tagihan antar vendor sebelum berkomitmen pada penerapan skala besar.
- Uji portabilitas – skema yang berfungsi di OpenAI mungkin diabaikan secara diam-diam di Gemini atau Claude. Lakukan pemeriksaan kewarasan (sanity check) cepat pada setiap platform target sebelum merilis kode.
Argumen tandingan dari vendor
Beberapa penyedia berargumen bahwa mode “thinking” adalah pilihan pengembang yang ditujukan untuk tugas-tugas di mana penjelasan lebih penting daripada akurasi ekstraksi murni. Claude mengabaikan flag response_format dan menyarankan penggunaan tool call asli Anthropic sebagai gantinya. Penjelasan tersebut secara teknis benar, tetapi mereka mengalihkan beban kepada pengembang untuk mengetahui mode mana yang harus dipilih dan bagaimana menganggarkan biaya token tersembunyi.
Intinya
Skema JSON bukan lagi jaring pengaman; itu hanyalah sebuah bentuk. Pastikan data di dalamnya sesuai dengan kenyataan, awasi biaya token tersembunyi, dan ingatlah bahwa “pemikiran” model dapat merusak output yang terlihat paling bersih sekalipun.
