Mengapa aplikasi AI memerlukan keluaran terstruktur?

Aplikasi AI memerlukan keluaran terstruktur karena perangkat lunak tidak dapat menafsirkan paragraf yang komunikatif secara andal; perangkat lunak membutuhkan kolom yang sama, dengan nama dan tipe yang sama, setiap saat. Satu kalimat tambahan atau satu kolom yang hilang dapat membuat langkah berikutnya dalam aplikasi Anda gagal.

Bayangkan sebuah perusahaan rintisan logistik fiktif dengan 12 karyawan, Parcelwise. Pengembangnya, Sana, sedang membuat alat yang membaca email pelanggan dan mengisi formulir perubahan pengiriman: referensi pesanan, tanggal yang diminta, alamat baru, dan apakah pelanggan meminta pengembalian dana. Contoh email yang biasa diterima: 'Halo, pesanan PW-88213, saya tidak di rumah hari Kamis, bisa diantar Sabtu saja? Atau titipkan di no. 14. Kalau tidak bisa, batalkan dan kembalikan dananya saja ya.' Versi pertamanya meminta model untuk 'membalas dalam JSON'. Sebagian besar balasan dapat diurai, tetapi beberapa diawali dengan 'Tentu, berikut JSON-nya', beberapa menamai kolom 'date' alih-alih 'requested_date', dan satu balasan mengembalikan tanggal sebagai 'Sabtu'.

Apa itu skema JSON dan mengapa skema ini membantu?

Skema JSON adalah deskripsi formal tentang data yang Anda harapkan: kolom apa saja yang ada, mana yang wajib diisi, tipe setiap kolom, dan nilai yang diizinkan. Memberikan skema kepada model mengubah 'tolong jawab dalam JSON' menjadi kontrak yang dapat diperiksa oleh kode Anda.

Untuk Sana, skemanya menetapkan: order_reference wajib berupa string; requested_date wajib berupa string berformat tanggal, atau null jika tidak ada tanggal yang diberikan; new_address berupa string atau null; refund_requested wajib berupa boolean; dan kolom lain tidak diizinkan. Aturan terakhir mencegah model menambahkan kolom komentar.

Bagaimana API model mendukung keluaran terstruktur?

API model utama memungkinkan Anda menyertakan skema JSON dalam permintaan, dan keluaran model dibatasi agar sesuai dengan skema tersebut.

OpenAI

Fitur Keluaran Terstruktur OpenAI membatasi respons agar sesuai dengan skema JSON yang diberikan ketika mode ketat diaktifkan. Dokumentasinya membedakan fitur ini dari mode JSON yang lebih lama, yang hanya memastikan JSON valid, bukan kesesuaian dengan skema Anda, dan menyarankan penggunaan Keluaran Terstruktur jika tersedia.

Anthropic

API Claude menyediakan keluaran JSON yang sesuai dengan skema yang Anda berikan, serta opsi ketat pada definisi alat agar masukan alat divalidasi terhadap skema alat tersebut. Dokumentasinya mencantumkan fitur skema yang didukung dan fitur yang menghasilkan kesalahan.

Google

API Gemini menerima skema JSON untuk respons dan mendukung sejumlah kata kunci skema yang telah ditentukan. Dokumentasinya menyatakan bahwa meskipun keluaran berupa JSON yang benar secara sintaksis, Anda tetap harus memvalidasi nilainya dalam aplikasi Anda.

Mengapa Anda tetap memerlukan validasi dan percobaan ulang?

Anda tetap memerlukan validasi karena skema mengatur struktur data, bukan memastikan bahwa nilainya benar. Balasan dengan struktur yang sempurna tetap dapat memuat tanggal yang salah, nomor referensi pesanan yang dibuat-buat, atau penanda pengembalian dana yang tidak pernah diminta pelanggan.

Lakukan validasi dalam dua lapisan. Pertama, periksa strukturnya dengan pustaka skema, seperti Pydantic dalam Python atau Zod dalam JavaScript, yang semuanya ditampilkan dalam contoh di dokumentasi OpenAI, Anthropic, dan Google. Kedua, periksa aturan bisnis: apakah referensi pesanan sesuai dengan pola dan tercatat dalam sistem, apakah tanggalnya berada di masa mendatang dan merupakan hari pengiriman, serta apakah alamatnya berada dalam area pengiriman? Tangani juga kasus yang dijelaskan dalam dokumentasi penyedia: penolakan, yang mungkin tidak mengikuti skema Anda, dan jawaban yang terpotong oleh batas maksimum token sehingga menghasilkan JSON yang tidak lengkap.

Ulangi percobaan dengan hati-hati. Jika pemeriksaan gagal, kirim satu percobaan ulang yang menyertakan kesalahan spesifik, seperti 'requested_date harus berupa tanggal; email menyebutkan Sabtu, dan tanggal pesanan adalah 14 Oktober'. Batasi percobaan ulang menjadi satu atau dua kali, lalu alihkan email ke petugas.

Seperti apa keluaran terstruktur yang lemah dan yang andal?

Versi lemah: instruksi berbunyi 'Ekstrak detailnya dan balas dalam JSON.' Aplikasi membaca apa pun yang dikembalikan. Untuk email di atas, aplikasi menerima kolom bernama order dan date, nilai tanggal 'Sabtu', serta nilai pengembalian dana true, karena model menganggap 'kalau tidak, batalkan saja' sebagai permintaan yang pasti. Formulir terisi secara keliru dan pelanggan menerima pengembalian dana yang tidak mereka inginkan.

Versi yang andal: permintaan menyertakan skema Sana dengan mode ketat, dan instruksi menjelaskan setiap kolom, termasuk 'refund_requested bernilai true hanya jika pelanggan meminta pengembalian dana tanpa syarat'. Model mengembalikan order_reference PW-88213, requested_date berupa tanggal Sabtu berikutnya, new_address bernilai null, refund_requested bernilai false, serta conditional_request, kolom yang ditambahkan Sana ke skema khusus untuk kasus ini, dengan nilai 'kembalikan dana jika pengiriman pada Sabtu atau kepada tetangga tidak memungkinkan'. Validasi memastikan bahwa pesanan tersebut ada dan Sabtu merupakan hari pengiriman. Karena email berisi permintaan bersyarat, aturan mengalihkannya ke petugas untuk keputusan akhir.

Apa saja kesalahan umum terkait keluaran terstruktur?

Kesalahan paling umum adalah menganggap JSON yang valid sebagai data yang benar. Kesalahan lainnya: hanya mengandalkan instruksi ketika API menyediakan penerapan skema secara ketat, menggunakan nama kolom yang tidak jelas tanpa deskripsi, memaksakan nilai ketika jawaban yang jujur adalah null, mengabaikan penolakan dan balasan yang terpotong, serta mencoba lagi tanpa memberi tahu model apa yang salah.

Di bagian mana keluaran terstruktur dibahas dalam katalog Tosheo.ai?

Keluaran terstruktur adalah pelajaran di jalur Kode dalam kursus membuat aplikasi AI, pada kategori Membangun Aplikasi AI. Versi praktik lengkap dengan kode, yang mencakup penentuan skema, pemanggilan API, validasi respons, dan penambahan mekanisme percobaan ulang, tersedia di jalur Kode setelah Anda mendaftar, dengan umpan balik berdasarkan panduan penilaian pada setiap langkah.

Sumber dan cakupan

Dokumentasi API OpenAI, panduan Keluaran Terstruktur, perbandingan mode JSON, dan penolakan (diperiksa 19 October 2026) ↗

Dokumentasi Anthropic Claude, keluaran terstruktur dan penggunaan alat dengan aturan ketat (diperiksa 19 October 2026) ↗

Dokumentasi API Google Gemini, keluaran terstruktur dan saran validasi (diperiksa 19 October 2026) ↗