Sebuah AI membaca surel pelanggan dan menulis, “Kemungkinan ini terkait pengiriman; nomor pesanannya A-812.” Kalimat itu mudah dipahami manusia. Untuk aplikasi yang harus menyiapkan tiket, hasilnya masih menyisakan pertanyaan: apakah kategori pengiriman pasti, dari mana nomor pesanan diambil, dan apa yang harus dilakukan ketika nomor tidak ada?
Structured Outputs membantu model mengembalikan data dengan format yang sudah disepakati. Tim bisa menetapkan nama kolom, jenis nilai, dan pilihan yang boleh dipakai. Dengan begitu, aplikasi tidak perlu menebak-nebak bagian mana dari paragraf yang merupakan nomor pesanan. Pemeriksaan berikutnya tetap menentukan apakah isinya dapat dipercaya.
Mulai dari Data yang Dibutuhkan Aplikasi
Misalkan layanan pelanggan ingin membuat draf tiket dari surel. Pemilik layanan menetapkan kategori yang memang dipakai tim, misalnya pengiriman, penagihan, dan lainnya. Tim integrasi menetapkan bahwa nomor pesanan berupa teks atau kosong. Nol atau tanda hubung tidak boleh dipakai sebagai pengganti data yang hilang.
- Kategori: salah satu nilai yang disepakati. Gunakan pilihan “lainnya” untuk kasus di luar daftar dan kirim ke antrean pemeriksaan bila diperlukan.
- Nomor pesanan: ambil hanya jika tertulis atau tersedia dari sumber yang diizinkan. Jika pelanggan menyebut beberapa nomor tanpa jelas mana yang dimaksud, biarkan kosong dan tandai alasannya.
- Bukti: kutipan pendek atau penunjuk ke bagian sumber untuk membantu operator memeriksa hasil. Aplikasi dapat mencocokkan kutipan itu dengan surel yang diterima.
- Status pemeriksaan: aplikasi menetapkannya dari validasi dan kebijakan. Saran model dapat membantu menjelaskan kasus, tetapi tidak berfungsi sebagai izin.
Dalam integrasi berbasis JSON, bentuk data ini bisa dinyatakan dengan JSON Schema, yaitu aturan yang menjelaskan kolom serta jenis nilai yang diharapkan. Dokumentasi Structured Outputs dari OpenAI menyatakan bahwa keluaran yang selesai dan tidak ditolak mengikuti skema yang didukung. Integrasi tetap perlu menangani penolakan, respons belum selesai, atau kegagalan layanan. Periksa dukungan skema pada model dan antarmuka yang akan dipakai.
Format Valid Masih Bisa Memuat Nomor yang Salah
Bayangkan surel menulis A-812, tetapi model mengeluarkan A-821. Keduanya berbentuk teks dan bisa lolos pemeriksaan format. Aplikasi perlu memeriksa apakah nomor itu memang muncul pada sumber, ada di sistem pemesanan, dan terkait dengan pelanggan yang tepat. Nomor yang cocok pun belum memberi model hak untuk melihat rincian pesanan di luar cakupan pengguna.
Gunakan tiga tahap yang bisa ditelusuri: periksa struktur, cocokkan nilai penting dengan sumber yang berwenang, lalu jalankan aturan bisnis. Jika bukti tidak cukup, beri operator draf yang dapat diperiksa atau alasan mengapa sistem tidak membuat draf. Jangan mengisi nilai kosong dengan tebakan hanya agar tiket bisa diteruskan.
Bedakan Hasil Terstruktur dari Pemanggilan Fungsi
Hasil terstruktur berguna saat aplikasi perlu menerima data. Pemanggilan fungsi berguna saat model mengusulkan penggunaan alat, misalnya pencarian status pesanan. Fungsi yang diizinkan dijalankan oleh aplikasi sesuai kebijakan aksesnya. Untuk tahap awal, batasi proses ke baca dan draf; perubahan alamat, penutupan tiket, atau komunikasi keluar tetap melalui persetujuan sesuai proses perusahaan.
Uji Kasus yang Paling Sering Merusak Integrasi
Siapkan contoh dengan nomor hilang, dua nomor yang mirip, kategori baru, dan keluaran yang tidak selesai. Bandingkan hasil dengan proses manual pada set yang sama. Ukur berapa banyak hasil yang bisa diproses secara teknis, berapa banyak kolom penting yang benar, dan berapa banyak draf diterima operator tanpa koreksi material. Pisahkan ketiganya: seluruh keluaran bisa terbaca aplikasi meski sebagian isinya keliru.
Saat menambah kategori atau kolom wajib, uji ulang konsumen data yang sudah ada. Simpan versi skema bersama hasil agar tim dapat menelusuri perubahan. Untuk tahap sebelum kontrak data ini, baca panduan menyusun kategori dokumen bisnis.
Jika tim Anda ingin menghubungkan keluaran AI ke aplikasi internal, diskusikan satu alur integrasi dengan Layana.ID. Bawa contoh masukan yang sudah disamarkan, kolom yang dibutuhkan sistem, dan tindakan yang harus tetap disetujui. Itu cukup untuk memetakan ruang lingkup pilot AI dan pengujiannya.
