Rekayasa Konteks, System Instructions & Output Terstruktur
Memaksa Model Probabilistik Menghasilkan Struktur Data Deterministik Menggunakan JSON Schema
01. Target Pembelajar & Prasyarat
Developer yang ingin menghubungkan respons AI langsung ke database tanpa risiko parsing error.
02. Kompetensi Konseptual (Level 1ā2)
- āMembedakan System Prompt biasa dengan Context Engineering tingkat produksi.
- āMenjelaskan bagaimana constrained decoding dan JSON Schema memaksa token model sesuai sintaks objek.
03. Kompetensi Praktis & Artefak Nyata (Level 3ā4)
- āMerancang JSON Schema Draft 2020-12 yang lengkap dengan required, enum, dan additionalProperties: false.
- āMembangun parser tangguh yang memvalidasi output sebelum disimpan ke sistem internal.
04. Aplikasi Nyata & Verifikasi
Penerapan Industri: Ekstraksi data faktur otomatis, klasifikasi prospek penjualan, dan pengisian form digital.
Metode Verifikasi: Menguji parser terhadap variasi output teks dan memverifikasi kegagalan jika ada field wajib yang hilang.
Mengapa Subjek Ini Krusial dalam Rekayasa Nyata?
Pelajari seni Context Engineering, perancangan guardrails di System Prompt, dan penegakan struktur JSON valid menggunakan skema ketat.
Dalam lingkungan produksi, kegagalan memahami batas-batas arsitektur sistem sering kali menyebabkan bug yang sulit dilacak, pemborosan biaya komputasi, atau antarmuka yang lambat bagi pengguna.
Bagaimana Sistem Sebenarnya Bekerja di Tingkat Protokol
Dari Prompt Engineering Menuju Context Engineering
Banyak tutorial hanya mengajarkan trik merangkai kata-kata persuasif di dalam prompt. Dalam rekayasa perangkat lunak produksi, hal itu tidak cukup. Kita membutuhkan Context Engineering: perancangan lingkungan konteks yang mencakup instruksi peran, batasan negatif (apa yang dilarang), skema output mesin, dan contoh one-shot terverifikasi.
Ketika sebuah sistem bergantung pada output AI untuk memperbarui database, satu karakter koma yang hilang atau field yang tertukar nama akan memicu runtime error pada aplikasi hilir. Oleh karena itu, kita menggunakan JSON Schema sebagai kontrak formal.
Alur Arsitektur Sistem Otonom & Runtime
Pesan bahasa alami diterima melalui antarmuka web atau webhook chat.
{
"input": "Berapa estimasi biaya pembuatan landing page bisnis?"
}Koreksi Asumsi Umum vs Realitas Rekayasa
āCukup menulis 'Kembalikan format JSON' agar model selalu mengeluarkan JSON valid.ā
Tanpa JSON Schema atau response_format: { type: 'json_object' }, model sering menambahkan markdown trik ticks (```json) atau teks obrolan pembuka yang menggagalkan JSON.parse().
Implementasi Langkah-demi-Langkah
Hasil akhir yang diharapkan: Skrip validasi JSON Schema yang memproses draf tiket dan menolak data yang tidak mematuhi kontrak.
lab-a1-m2/ āāā schema-validator.mjs
1Implementasi Validator Skema Mandiri
Validasi runtime sederhana untuk memastikan integritas data output AI.
| 1 | // schema-validator.mjs |
| 2 | function validasiOutputTiket(data) { |
| 3 | const KATEGORI_VALID = ['TEKNIS', 'TAGIHAN', 'PENJUALAN']; |
| 4 | const PRIORITAS_VALID = ['RENDAH', 'SEDANG', 'TINGGI', 'KRITIS']; |
| 5 | |
| 6 | if (typeof data !== 'object' || data === null) { |
| 7 | return { valid: false, error: 'Output harus berupa objek JSON' }; |
| 8 | } |
| 9 | if (!KATEGORI_VALID.includes(data.kategori)) { |
| 10 | return { valid: false, error: `Kategori '${data.kategori}' tidak valid.` }; |
| 11 | } |
| 12 | if (!PRIORITAS_VALID.includes(data.prioritas)) { |
| 13 | return { valid: false, error: `Prioritas '${data.prioritas}' tidak valid.` }; |
| 14 | } |
| 15 | if (typeof data.ringkasan !== 'string' || data.ringkasan.length < 5) { |
| 16 | return { valid: false, error: 'Ringkasan minimal 5 karakter' }; |
| 17 | } |
| 18 | return { valid: true, data }; |
| 19 | } |
| 20 | |
| 21 | const sampelAI = JSON.stringify({ |
| 22 | kategori: 'TEKNIS', |
| 23 | prioritas: 'TINGGI', |
| 24 | ringkasan: 'Website 3D mengalami drop FPS di perangkat seluler', |
| 25 | skorKeyakinan: 0.95 |
| 26 | }); |
| 27 | |
| 28 | const parsed = JSON.parse(sampelAI); |
| 29 | const hasil = validasiOutputTiket(parsed); |
| 30 | console.log('Hasil Validasi:', hasil); |
Hasil Validasi: { valid: true, data: { kategori: 'TEKNIS', ... } }Mengantisipasi Masalah Umum & Tantangan Ekstensi
Tambahkan field estimasiJamPenyelesaian bertipe number dengan nilai minimal 1.
Uji Kompetensi Mandiri & Verifikasi Hasil
Standar kelulusan Z-Automation mewajibkan skor minimum 80 / 100 Poin dengan komponen Implementasi Praktis minimal 21 / 35 Poin (60%). Jawab soal diagnostik dan centang hasil pengujian praktis Anda.
BAGIAN A // PERTANYAAN DIAGNOSTIK KONSEPTUAL & TEKNIS (40 POIN)
01.Mengapa properti 'additionalProperties: false' sangat dianjurkan dalam JSON Schema untuk AI?
BAGIAN B // DAFTAR PERIKSA HASIL IMPLEMENTASI PRAKTIS (35 POIN ā MIN. 21 POIN)
Centang item di bawah ini hanya jika Anda telah menjalankan kode di komputer Anda dan mengamati output yang benar: