Langsung ke konten

Apa itu Structured Outputs (Keluaran Terstruktur JSON AI)?

Fitur inferensi model AI yang menjamin format respon secara deterministik 100% mematuhi skema data terstruktur seperti JSON Schema.

Apa itu Structured Outputs?

Structured Outputs adalah fitur platform inferensi model kecerdasan buatan modern yang menjamin bahwa jawaban teks yang dihasilkan oleh model bahasa besar (Large Language Model) akan secara mutlak 100% mematuhi skema data yang telah ditentukan oleh pengembang (developer-defined schema), seperti format JSON Schema.

Sebelum fitur ini diperkenalkan, pengembang perangkat lunak sering menghadapi kendala keandalan saat mengintegrasikan AI ke dalam aplikasi produksi. Meskipun telah diinstruksikan melalui system prompt untuk hanya menjawab dalam format JSON, model bahasa standar terkadang menyelipkan kata pengantar ("Tentu, ini data JSON Anda:"), tanda kutip yang tidak tertutup, koma berlebih, atau memunculkan kunci data (keys) di luar format yang diharapkan. Hal ini menyebabkan kode parser sistem (seperti json.loads()) mengalami crash. Structured Outputs menyelesaikan masalah tersebut pada tingkat arsitektur inferensi.

Bagaimana Structured Outputs bekerja di tingkat mesin (Engine-Level)?

Structured Outputs tidak bekerja dengan cara memeriksa dan memperbaiki teks setelah selesai ditulis. Fitur ini bekerja langsung pada saat proses pembentukan token (token decoding step) menggunakan teknik yang disebut Constrained Decoding (Dekoding Terbatas):

  1. Penyusunan Finite State Machine (FSM) atau Grammar: Skema data yang disediakan pengembang (misalnya format JSON Schema atau Pydantic class) dikonversi oleh sistem penyedia API menjadi representasi tata bahasa formal (Context-Free Grammar atau FSM).
  2. Penyaringan Masking Logit (Logit Masking): Pada setiap langkah pemilihan token berikutnya, mesin inferensi mengevaluasi token mana saja dalam kosakata yang valid menurut aturan tata bahasa saat itu.
    • Jika saat itu aturan mewajibkan pembukaan kurung kurawal {, maka probabilitas seluruh token alfabet selain { langsung diubah menjadi nilai $-\infty$ (probabilitas 0%).
    • Jika model sedang mengisi nilai untuk bidang numerik (integer), seluruh token huruf alfabet langsung dimatikan sehingga model mustahil menghasilkan karakter selain angka.
  3. Jaminan Sintaksis Deterministik: Karena pilihan token yang tidak sesuai skema dicegah secara komputasional sebelum token tersebut dicetak, model dijamin tidak akan pernah menghasilkan galat sintaksis (syntax error) atau struktur data yang cacat.

Mengapa Structured Outputs sangat penting untuk aplikasi modern?

  • Keandalan Integrasi Backend: Menghilangkan kebutuhan untuk membuat fungsi perulangan coba ulang (retry loop) atau pustaka perbaikan JSON manual (seperti dirtyjson) yang memakan biaya komputasi tambahan.
  • Dukungan Function Calling yang Kebal Galat: Memastikan parameter fungsi yang dipanggil oleh agen AI (tool calling) selalu memiliki nama atribut dan tipe data yang presisi saat dieksekusi ke basis data atau API eksternal.
  • Ekstraksi Data Dokumen Berskala Besar: Mengonversi teks laporan acak, percakapan transkrip, atau berkas PDF menjadi data tabel relasional yang siap disimpan ke basis data SQL.

Batasan dan salah paham umum

  • Menjamin format, bukan kebenaran isi: Structured Outputs menjamin bahwa format data 100% valid sesuai skema, namun model tetap berpotensi mengalami halusinasi fakta pada nilai konten yang diisikan ke dalam bidang tersebut jika tidak didukung konteks data rujukan yang akurat.
  • Keterbatasan kompleksitas skema: Skema JSON yang memiliki tingkat percabangan bersarang (nested depth) terlalu dalam atau ekspresi reguler (regex) yang sangat rumit dapat meningkatkan latensi komputasi awal saat mesin menyusun struktur FSM pertama kali.
  • Penolakan Permintaan yang Melanggar Kebijakan: Jika instruksi pengguna memicu pelanggaran panduan keselamatan model (safety policy), model tetap dapat mengembalikan respon penolakan teks biasa daripada struktur JSON yang diminta.

Rujukan resmi

  • OpenAI Platform Documentation: Structured Outputs Guide & JSON Schema Enforcement (Pengecekan: 3 Oktober 2026, rujukan resmi: platform.openai.com/docs/guides/structured-outputs).
  • Google AI for Developers: Structured Outputs with Gemini API (JSON Schema & Enums) (Pengecekan: 3 Oktober 2026, rujukan resmi: ai.google.dev/gemini-api/docs/structured-output).
  • Willison, Simon: Evaluating Constrained Decoding and Grammar-Based LLM Sampling (Pengecekan: 3 Oktober 2026, rujukan resmi: simonwillison.net/2024/Aug/6/structured-outputs/).

Istilah Terkait

Function Calling (AI Tool Use)APISystem PromptInferensi AI (AI Inference)Output Token (Completion Token)