Langsung ke konten
Kuskuskuy JournalTeknologi yang bisa dipakai. Kuskuskuy.com
Langsung ke isi artikel

Structured Output JSON dengan AI: Tutorial Praktis

Pelajari structured output JSON dengan AI untuk ekstraksi data, workflow aplikasi, evaluasi hasil, dan troubleshooting.

Structured Output JSON dengan AI: Tutorial Praktis

Structured output JSON dengan AI membantu mengubah jawaban model menjadi data yang lebih mudah diproses aplikasi. Alih-alih menerima paragraf bebas, kamu meminta model mengembalikan object dengan field, tipe, dan aturan yang jelas.

Tutorial ini memakai contoh ekstraksi data produk. Fokusnya bukan sekadar mendapatkan JSON yang tampak rapi, tetapi membuat workflow yang bisa divalidasi, diuji dengan input berbeda, dan memiliki jalur aman ketika hasilnya tidak lengkap.

Apa itu structured output?

Structured output adalah cara mengarahkan model agar respons akhirnya mengikuti schema tertentu. Dokumentasi resmi Google menjelaskan bahwa structured output dapat dipakai untuk ekstraksi data, klasifikasi terstruktur, dan workflow agentic. Schema JSON bukan jaminan bahwa nilai selalu benar, jadi aplikasi tetap wajib memvalidasi makna data setelah parsing.

Bedakan dengan function calling. Structured output mengatur format jawaban akhir, sedangkan function calling dipakai ketika model perlu meminta aplikasi menjalankan aksi.

Contoh kasus: ekstraksi data produk

Misalkan kamu menerima deskripsi produk dan ingin mendapatkan nama, kategori, harga, daftar fitur, serta penanda needs_check. Buat aturan bahwa harga harus berupa integer, category memakai enum, dan model tidak boleh mengarang informasi yang tidak ada di teks.

Langkah 1: Tulis schema sekecil mungkin

Mulailah dari object yang benar-benar diperlukan. Nama field harus stabil dan deskripsinya jelas. Jika provider hanya mendukung subset JSON Schema, gunakan tipe dasar seperti string, integer, boolean, object, array, dan enum sesuai dokumentasinya.

Langkah 2: Susun prompt yang membatasi sumber

Schema mengatur bentuk, sedangkan prompt menjelaskan tugas. Minta model memakai hanya teks input, mengembalikan nilai default yang disepakati ketika data tidak tersedia, dan mengatur needs_check menjadi true jika harga atau nama tidak bisa ditentukan.

Contoh instruksi: Jangan menebak. Jika harga tidak tersedia, isi 0 dan tandai needs_check true. Pilih category hanya dari enum. Output akhir harus mengikuti schema.

Langkah 3: Parse lalu validasi di aplikasi

Setelah menerima respons, pastikan respons dapat diparse sebagai JSON, validasi schema dan tipe data, lalu jalankan validasi bisnis seperti harga tidak negatif, category dikenal, dan nama tidak kosong.

Jangan langsung menyimpan hasil hanya karena JSON valid. JSON yang valid masih bisa berisi harga atau klaim yang salah. Gunakan needs_check dan kirim kasus ambigu ke operator.

Workflow praktis dari input sampai hasil

  1. Terima teks dari form atau file yang aman.
  2. Normalisasi input dan batasi panjang.
  3. Kirim prompt dan schema ke provider AI.
  4. Parse output dan validasi schema.
  5. Jalankan validasi bisnis dan simpan versi prompt.
  6. Tampilkan hasil yang perlu ditinjau manusia.
  7. Simpan contoh gagal sebagai dataset evaluasi.

Untuk latihan alur data terstruktur pada bisnis, lihat Aplikasi Kasir - Simpel-POS. Produk ini memiliki fitur produk, stok, laporan, API, webhook, dan Smart Scan. Ia bukan library structured output; provider AI tetap perlu dikonfigurasi sesuai kebutuhan.

Cara mengevaluasi kualitasnya

Buat dataset berisi sejumlah input aman: deskripsi lengkap, harga kosong, typo, bahasa campuran, teks pendek, fitur berulang, dan input yang seharusnya ditolak.

  • Parse rate: persentase respons yang bisa dibaca sebagai JSON.
  • Schema pass rate: persentase yang lolos tipe dan field wajib.
  • Business accuracy: kesesuaian nama, kategori, dan harga dengan sumber.
  • Ambiguity recall: apakah kasus ambigu ditandai.
  • Latency dan biaya: kelayakan workflow untuk penggunaan rutin.

Simpan versi model, prompt, schema, input, output, error, dan penilaian. Uji prompt lama sebagai baseline, lalu ubah satu hal setiap siklus.

Troubleshooting

Output bukan JSON

Pastikan mode structured output atau response format benar-benar diaktifkan, bukan hanya menyebut kata JSON di prompt. Periksa apakah endpoint dan model mendukung fitur tersebut. Tetap sediakan error handling.

Schema ditolak provider

Sederhanakan schema, hapus keyword yang tidak didukung, kurangi nested object, cek required field, dan cocokkan tipe dengan dokumentasi provider.

JSON valid tetapi isinya salah

Tambahkan deskripsi field, enum, aturan default, dan contoh input beragam. Perketat validasi aplikasi. Jika sumber tidak menyebut harga, jangan biarkan model mengisi angka berdasarkan tebakan.

Hasil berubah-ubah

Gunakan parameter determinisme sesuai kemampuan provider, schema lebih sempit, prompt eksplisit, dan dataset evaluasi. Satu contoh bagus bukan bukti workflow stabil.

Latency atau biaya terlalu tinggi

Batasi input, kirim field relevan, gunakan model yang cukup, cache hasil aman, dan pisahkan ekstraksi sederhana dari kasus yang membutuhkan model lebih kuat.

Checklist sebelum production

  • Schema punya field wajib dan tipe jelas.
  • Output diparse dan divalidasi sebelum dipakai.
  • Aturan bisnis tidak diserahkan sepenuhnya ke model.
  • Input tidak membawa token, password, atau data customer yang tidak diperlukan.
  • Kasus ambigu punya jalur tinjauan manusia.
  • Prompt, schema, model, error, dan evaluasi memiliki versi.
  • Ada test untuk input normal, kosong, typo, panjang, dan adversarial.
  • Perubahan prompt melewati regression test.

Kesimpulan

Structured output JSON membuat integrasi AI lebih mudah diproses, tetapi kualitas workflow tetap bergantung pada schema, prompt, validasi aplikasi, evaluasi, dan troubleshooting. Mulai dari satu object kecil, uji dengan dataset beragam, lalu perluas setelah metrik stabil.

Sumber primer: Google AI for Developers — Structured outputs, diperiksa 26 September 2026. Featured image: visual original Kuskuskuy, dibuat khusus untuk artikel ini; tidak menggunakan gambar pihak ketiga.