Lewati ke isi

AI & Otomasi

Apa Itu Structured Output dan Kenapa Penting untuk Aplikasi

Penjelasan structured output pada model AI, bedanya dengan JSON mode biasa, contoh skema, dan kenapa fitur ini penting untuk aplikasi dan otomasi.

Terbit 5 menit baca

Jawaban singkat

Structured output adalah fitur API model AI yang memaksa jawaban mengikuti skema JSON yang kamu tentukan. Aplikasi jadi bisa langsung membaca hasilnya tanpa menebak format, sehingga integrasi dengan database, formulir, dan alur otomasi lebih andal.

Daftar isi
  1. Apa bedanya dengan meminta JSON lewat prompt?
  2. Seperti apa contohnya?
  3. Kenapa penting untuk aplikasi dan otomasi?
  4. Contoh pemakaian sehari-hari
  5. Apa batasannya?
  6. Pertanyaan yang sering diajukan

Structured output adalah fitur pada API model AI yang membuat jawaban model selalu mengikuti struktur data yang kamu tentukan, biasanya dalam bentuk JSON Schema. Kamu tidak lagi meminta "tolong jawab dalam format JSON" lalu berharap model menurut. Formatnya dijaga oleh sistem, bukan oleh harapan.

Kenapa ini penting? Karena aplikasi tidak membaca jawaban seperti manusia. Program butuh kolom yang pasti: nama di sini, angka di sana, tanggal dengan format tertentu. Satu kurung kurawal yang hilang atau satu kalimat pembuka seperti "Berikut hasilnya:" sudah cukup untuk membuat program gagal membaca hasilnya.

Apa bedanya dengan meminta JSON lewat prompt?

Ada tiga tingkat cara mendapatkan JSON dari model AI, dan keandalannya berbeda.

  • Lewat prompt saja. Kamu menulis instruksi seperti "jawab hanya dalam JSON dengan kolom nama dan total". Biasanya berhasil, tetapi kadang model menambah teks penjelasan, lupa satu kolom, atau memakai nama kolom yang sedikit berbeda.
  • JSON mode. Beberapa API punya opsi yang menjamin keluaran berupa JSON yang valid secara sintaks. Namun JSON yang valid belum tentu cocok dengan struktur yang kamu harapkan. Kolom bisa hilang atau tipenya keliru.
  • Structured output dengan skema. Kamu mengirim JSON Schema bersama permintaan, dan model dibatasi untuk menghasilkan keluaran yang cocok dengan skema tersebut: kolom wajib selalu ada, tipe data sesuai, dan nilai pilihan hanya dari daftar yang diizinkan.

Per 11 November 2026, fitur ini tersedia di API OpenAI, Claude (Anthropic), dan Gemini (Google), masing-masing dengan nama parameter dan batasan yang sedikit berbeda. Detail terbaru selalu ada di dokumentasi resmi masing-masing vendor yang tercantum di sumber artikel ini.

Seperti apa contohnya?

Misalnya kamu ingin AI membaca pesan pesanan dari WhatsApp pelanggan, lalu menyimpannya ke database. Skemanya bisa seperti ini:

{
  "type": "object",
  "properties": {
    "nama_pelanggan": { "type": "string" },
    "produk": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "nama": { "type": "string" },
          "jumlah": { "type": "integer" }
        },
        "required": ["nama", "jumlah"],
        "additionalProperties": false
      }
    },
    "metode_kirim": { "type": "string", "enum": ["kurir", "ambil_sendiri"] },
    "catatan": { "type": ["string", "null"] }
  },
  "required": ["nama_pelanggan", "produk", "metode_kirim", "catatan"],
  "additionalProperties": false
}

Dari pesan "Kak, saya Rina, pesan 2 kopi susu sama 1 roti bakar, nanti saya ambil sendiri ya", model akan mengembalikan objek dengan nama_pelanggan berisi "Rina", dua item di produk, dan metode_kirim bernilai ambil_sendiri. Nilai di luar daftar enum tidak akan muncul, dan kolom catatan tetap ada walaupun isinya null.

Perhatikan pola "additionalProperties": false dan semua kolom masuk required. Beberapa vendor mewajibkan pola ini untuk mode ketat, dan kolom yang boleh kosong ditulis dengan tipe yang menyertakan null.

Kenapa penting untuk aplikasi dan otomasi?

Integrasi jadi bisa diandalkan. Hasil AI bisa langsung masuk ke database, spreadsheet, CRM, atau langkah berikutnya di alur otomasi, tanpa kode tambahan untuk membersihkan teks.

Lebih sedikit percobaan ulang. Tanpa skema, aplikasi sering harus mengulang permintaan saat format jawaban rusak. Setiap pengulangan berarti tambahan token dan waktu tunggu. Cara lain menekan biaya dibahas di menghemat biaya token API.

Kode lebih sederhana. Pengembang bisa mendefinisikan skema sekali, misalnya lewat model data di Python atau TypeScript, lalu memakainya untuk validasi di sisi aplikasi juga.

Dasar untuk agen AI. Agen yang memanggil alat atau API lain butuh argumen dengan format pasti. Konsep ini erat dengan function calling, yang juga memakai skema untuk mendefinisikan parameter setiap alat.

Contoh pemakaian sehari-hari

KebutuhanIsi skemaHasil yang dipakai aplikasi
Membaca pesanan dari chatNama, daftar produk, jumlah, metode kirimData pesanan masuk ke sistem kasir
Ekstraksi data fakturNomor faktur, tanggal, vendor, totalBaris baru di pembukuan
Klasifikasi tiket supportKategori dari daftar tetap, tingkat urgensiTiket otomatis diarahkan ke tim yang tepat
Ringkasan ulasan pelangganSentimen, topik, kutipan singkatDashboard kepuasan pelanggan
Mengisi formulir dari dokumenKolom formulir sesuai standar perusahaanFormulir siap diperiksa manusia

Apa batasannya?

Structured output menjamin bentuk jawaban, bukan kebenaran isinya. Model tetap bisa salah membaca angka di faktur atau salah menebak kategori. Skema yang ketat bahkan bisa memaksa model mengisi kolom wajib dengan tebakan ketika datanya tidak ada. Karena itu, sediakan jalan keluar di skema, misalnya kolom yang boleh null atau nilai enum seperti "tidak_diketahui". Penyebab dan cara mengurangi jawaban mengarang dibahas di halusinasi AI.

Batasan lain yang perlu dicek di dokumentasi vendor:

  • Tidak semua fitur JSON Schema didukung. Beberapa batasan, seperti panjang teks atau rentang angka, bisa diabaikan atau ditolak tergantung vendor dan mode.
  • Tidak semua model mendukung fitur ini. Cek daftar model yang didukung sebelum memilih.
  • Permintaan pertama dengan skema baru bisa sedikit lebih lambat karena skema diproses lebih dulu, menurut penjelasan di dokumentasi beberapa vendor.
  • Model bisa menolak menjawab permintaan tertentu karena alasan keamanan, dan bentuk penolakan itu tidak selalu mengikuti skema. Aplikasimu perlu menangani kasus ini.

Pertanyaan yang sering diajukan

Apakah structured output membuat jawaban AI lebih akurat?

Tidak secara langsung. Fitur ini menjaga format agar bisa dibaca program. Akurasi isi tetap bergantung pada model, kualitas prompt, dan data yang diberikan.

Apakah model open source yang dijalankan sendiri bisa memakai structured output?

Bisa. Beberapa server inferensi untuk model open source menyediakan fitur keluaran terbatas skema (sering disebut guided decoding atau constrained decoding). Dukungan dan cara pakainya berbeda per perangkat lunak, jadi cek dokumentasinya.

Lebih baik structured output atau function calling?

Pakai structured output saat kamu ingin jawaban akhir berupa data terstruktur. Pakai function calling saat model perlu memutuskan alat mana yang dipanggil dan dengan argumen apa. Keduanya memakai skema dan sering dipakai bersama.

Sumber & referensi

Baca juga