Penanda aras baharu bagi 12 API model bahasa besar (LLM) mendapati bahawa hampir setiap perkhidmatan mengembalikan JSON yang sepadan dengan skema yang diminta, namun sebilangan kecil memberikan nilai yang salah dari segi fakta. Kos token bagi skema yang sama berubah-ubah daripada beberapa puluh token kepada hampir lima ribu. Pembangun yang membina saluran paip pengekstrakan (extraction pipelines) atau ejen dipacu data tidak lagi boleh mempercayai "sah skema" (schema-valid) sebagai petunjuk kepada "ketepatan" (correct).
Mengapa ujian ini penting
Penyedia API telah mempromosikan "output berstruktur" (structured output) sebagai cara untuk menghapuskan ralat pemprosesan (parsing errors). Janjinya mudah: berikan model skema JSON, dan ia akan mengisi medan tanpa anda perlu menulis kod pasca-pemprosesan yang rapuh. Dalam praktiknya, banyak sistem pengeluaran sudah bergantung pada jaminan ini untuk mengelakkan kegagalan sistem (crashes) dan memastikan saluran paip analitik hiliran kekal bersih. Apabila jaminan tersebut hanya benar separuh jalan, pepijat (bugs) akan muncul secara senyap, dan pengiraan kos berdasarkan penggunaan token akan menjadi sangat tidak tepat.
Berita baik: skema kini kebanyakannya dikuatkuasakan
- Kebanyakan model dalam set ujian menghasilkan JSON yang melepasi pengesah (validator) yang ketat.
- Pengekodan terhad (Constrained decoding) – model yang mengunci penyahkod (decoder) kepada skema tidak boleh mengeluarkan aksara asing, jadi muatan (payload) yang tidak tersusun hampir tidak wujud lagi.
- Kadar ralat pemprosesan (Parse-error rates) – pembangun tidak lagi perlu membungkus setiap panggilan dalam blok try-catch untuk kegagalan sintaks JSON.
Berita buruk: kesahan ≠ ketepatan
Bentuk yang sah tidak menjamin nilai yang sah. Empat daripada dua belas model—DeepSeek V4, Qwen, dan GLM-5.2 (dua yang terakhir muncul di bawah dua nama berbeza dalam laporan)—menghasilkan JSON yang terbentuk dengan sempurna tetapi mengandungi nombor yang salah apabila mod "berfikir" (atau chain-of-thought) diaktifkan.
- Pada model Qwen, pengekstrakan aritmetik mudah berubah daripada 1 jawapan betul daripada 16 dengan penaakulan diaktifkan kepada 8 betul daripada 8 apabila penaakulan dinyahaktifkan.
- DeepSeek V4 Pro menunjukkan perubahan yang serupa: ketepatan pengekstrakan meningkat daripada 1/8 kepada 7/8 sebaik sahaja model berhenti cuba menjelaskan langkah-langkahnya.
Langkah penaakulan tambahan mengganggu penyahkod terhad, menyebabkan model tergelincir ke dalam halusinasi sambil masih mematuhi kurungan luar.
Sisi buruk: kejutan kos token dan parameter yang diabaikan
- Format respons Claude – apabila diakses melalui titik akhir (endpoint) yang serasi dengan OpenAI, Claude mengabaikan sepenuhnya bendera
response_format, dengan mengembalikan 0% output yang mematuhi skema. Model tersebut menyokong panggilan berstruktur, tetapi hanya melalui antara muka panggilan-alat (tool-call) asli Anthropic. - Inflasi token skema – skema bersaiz sederhana 12 KB hanya menelan 30 token pada DeepSeek, namun muatan yang sama memakan 4,959 token pada Claude.
- Ketidakkonsistenan pengebilan – sesetengah penyedia mengira skema sebagai sebahagian daripada prom, mengenakan caj untuk setiap token yang digunakan; yang lain menganggapnya sebagai lapisan (overlay) percuma. Pada skala besar, bil skema boleh melebihi kos kandungan yang dihasilkan oleh model.
Apa yang perlu dilakukan oleh pembangun sekarang
- Sahkan nilai, bukan sekadar bentuk – pengesah skema tidak akan mengesan jawapan numerik yang salah walaupun ia menepati jenis yang diharapkan. Tambah semakan khusus domain (julat, unit, konsistensi antara medan).
- Nyahaktifkan chain-of-thought untuk pengekstrakan pada DeepSeek, Qwen, dan GLM apabila anda memerlukan pengisian medan yang boleh dipercayai. Langkah penaakulan tambahan adalah pilihan, bukan keperluan untuk ketepatan.
- Audit penggunaan token – log berapa banyak token yang digunakan oleh setiap permintaan, termasuk bahagian skema, dan bandingkan bil antara vendor sebelum komited kepada penggunaan skala besar.
- Uji kebolehportan (portability) – skema yang berfungsi pada OpenAI mungkin diabaikan secara senyap pada Gemini atau Claude. Jalankan semakan logik (sanity check) pantas pada setiap platform sasaran sebelum melancarkan kod.
Hujah balas daripada vendor
Sesetengah penyedia berhujah bahawa mod "berfikir" adalah pilihan pembangun yang bertujuan untuk tugas di mana penjelasan lebih penting daripada ketepatan pengekstrakan mentah. Claude mengabaikan bendera response_format dan mencadangkan penggunaan panggilan-alat asli Anthropic sebagai ganti. Penjelasan tersebut secara teknikalnya betul, tetapi ia memindahkan beban kepada pembangun untuk mengetahui mod mana yang perlu dipilih dan bagaimana untuk memperuntukkan bajet bagi yuran token tersembunyi.
Kesimpulan
Skema JSON bukan lagi jaring keselamatan; ia hanyalah sebuah bentuk. Pastikan data di dalamnya sepadan dengan realiti, perhatikan kos token tersembunyi, dan ingat bahawa "pemikiran" model boleh merosakkan output yang kelihatan paling bersih sekalipun.
