Structured Output
Sesi 5.5 · ~5 menit baca
Dari Bebas ke Bisa Diprediksi
Kalo AI generate teks bebas, setiap output berbeda. Strukturnya bervariasi. Urutan bagiannya berubah. Formatting-nya ga konsisten. Ini ga masalah untuk tulisan sekali jadi. Tapi ga bisa diterima untuk produksi, di mana tahap pipeline berikutnya mengharapkan format tertentu dan sistem publishing kamu membutuhkan struktur tertentu.
Structured output artinya menentukan format persis dari respons AI. Daripada "tulis review produk," kamu menentukan "kembalikan objek JSON dengan field: title (string), summary (maksimal 100 kata), pros (array of strings), cons (array of strings), rating (integer 1-5), dan recommendation (string)." AI menghasilkan data yang bisa kamu parse, bukan prosa yang harus kamu interpretasi.
Structured output mengubah AI dari alat kreatif jadi komponen produksi. Kalo format output bisa diprediksi, kamu bisa membangun pipeline otomatis di sekelilingnya. Script formatting, pengecekan kualitas, dan sistem publishing semua butuh tahu output-nya kaya apa sebelum mereka melihatnya.
Tiga Level Struktur
Struktur ada di spektrum. Kamu pilih levelnya berdasarkan kebutuhan pipeline kamu.
| Level | Format | Contoh Penggunaan | Bisa Di-parse oleh Kode |
|---|---|---|---|
| Longgar | Prosa dengan header yang diminta | Blog post, artikel | Sebagian (ekstraksi header) |
| Template | Markdown dengan bagian tetap | Review, perbandingan, laporan | Ya (parsing bagian) |
| Ketat | JSON, XML, atau YAML | Data produk, metadata, konten terstruktur | Ya (native parsing) |
Struktur Level Template
Untuk kebanyakan produksi konten, struktur level template adalah sweet spot. Kamu mendefinisikan template markdown dengan bagian wajib dan AI mengisinya. Template memastikan konsistensi sambil memberi AI kebebasan di dalam setiap bagian.
Template konten untuk review produk mungkin kaya ini:
## Ringkasan
[2-3 kalimat merangkum produk]
## Yang Bagus
[3-4 kekuatan spesifik dengan contoh]
## Yang Kurang
[2-3 kelemahan spesifik dengan contoh]
## Siapa yang Cocok Pakai
[1-2 paragraf mendefinisikan pengguna ideal]
## Kesimpulan
[1 paragraf, rekomendasi jelas]
Sertakan template ini di prompt kamu dengan instruksi: "Isi setiap bagian dari template di bawah. Jangan tambah, hapus, atau ubah urutan bagian." AI menghasilkan output yang cocok persis dengan template kamu, membuat pemrosesan selanjutnya bisa diprediksi.
(struktur tetap)"] --> B["AI mengisi bagian"] B --> C["Output konsisten"] C --> D["Formatting otomatis"] D --> E["Publishing"] F["Tanpa template
(bebas)"] --> G["AI menentukan struktur"] G --> H["Output ga konsisten"] H --> I["Reformatting manual"] I --> E style A fill:#222221,stroke:#6b8f71,color:#ede9e3 style C fill:#222221,stroke:#6b8f71,color:#ede9e3 style F fill:#222221,stroke:#c47a5a,color:#ede9e3 style H fill:#222221,stroke:#c47a5a,color:#ede9e3
Output JSON Ketat
Untuk konten yang banyak datanya atau komponen pipeline yang masuk ke kode, JSON adalah pilihan yang tepat. API AI modern mendukung structured output secara native. Claude, GPT, dan Gemini semuanya bisa mengembalikan JSON valid kalo diinstruksikan dengan benar.
Kuncinya menyediakan schema. Jangan cuma bilang "kembalikan JSON." Tentukan field yang persis, tipe, dan batasan. Banyak API sekarang mendukung response schema yang menegakkan struktur di level API, menjamin output yang valid.
Menguji Konsistensi Struktur
Prompt terstruktur cuma berguna kalo menghasilkan struktur yang konsisten. Tes dengan menjalankan prompt yang sama lima kali dan membandingkan output-nya. Cek: apakah kelimanya punya bagian yang sama? Apakah bagiannya di urutan yang sama? Apakah semua output JSON bisa di-parse tanpa error?
Kalo konsistensi di bawah 4 dari 5, prompt butuh perbaikan. Perbaikan umum: penanda bagian yang lebih eksplisit, instruksi formatting yang lebih ketat, atau menambahkan "Jangan menyimpang dari struktur ini" sebagai batasan.
| Skor Konsistensi | Diagnosis | Tindakan |
|---|---|---|
| 5/5 | Prompt siap produksi | Deploy ke pipeline |
| 4/5 | Sedikit melenceng di satu run | Tambah batasan eksplisit, tes ulang |
| 3/5 atau di bawah | Struktur ga ditegakkan | Tulis ulang prompt dengan aturan formatting lebih ketat |
Bacaan Lanjutan
- Structured Output with Claude, Anthropic documentation
- Structured Outputs, OpenAI documentation
- Complete Guide to Prompt Engineering with Temperature and Top-p
Tugas
Definisikan template konten untuk tipe konten yang paling sering kamu buat. Ekspresikan sebagai struktur markdown dengan section header dan deskripsi placeholder. Buat prompt yang menginstruksikan AI mengisi template persis. Tes lima kali. Seberapa konsisten strukturnya? Dokumentasikan penyimpangan apa pun dan perbaiki prompt sampai kamu mencapai konsistensi struktur 5/5.