Sebelum memulai praktik, pastikan Anda telah memahami konsep dasar pada materi kelas AI Agent & PHP di infokoding.

BAB 6

Memahami Prompt Engineering

Menguasai seni prompt engineering: cara menulis system prompt yang efektif, memahami temperature dan max token, serta tips praktis membuat AI memberikan respons yang presisi.

Terakhir diperbarui:

TL;DR (Ringkasan Cepat)

  • System Prompt mendefinisikan persona, batasan, dan format output AI.
  • Temperature 0 = deterministik/konsisten, Temperature 1 = kreatif/bervariasi.
  • Gunakan response_format: { type: "json_object" } untuk output JSON yang andal.
  • Prompt yang baik: spesifik, berikan contoh, dan tentukan format output secara eksplisit.

System Prompt

System Prompt adalah instruksi dasar yang mendefinisikan "kepribadian" dan "aturan" AI Anda. Ini adalah message dengan role system yang ditempatkan di posisi pertama dalam array messages.

$systemPrompt = '''
Kamu adalah AI Agent yang ahli dalam analisis data bisnis.

KEMAMPUAN:
- Menganalisis data penjualan dan memberikan insight actionable
- Membuat laporan ringkas dalam format terstruktur
- Menghitung metrik seperti growth rate, MoM, YoY

FORMAT OUTPUT:
- Selalu jawab dalam Bahasa Indonesia yang formal
- Gunakan format JSON ketika diminta data terstruktur
- Berikan maksimal 3 rekomendasi per analisis

BATASAN:
- Jangan membuat prediksi tanpa data yang cukup
- Jangan memberikan saran hukum atau medis
''';

User Prompt, Assistant Prompt & Riwayat Percakapan

Membangun percakapan multi-turn dengan OpenAI dilakukan dengan menyusun array messages secara berurutan:

$messages = [
    ['role' => 'system',    'content' => $systemPrompt],
    ['role' => 'user',      'content' => 'Data penjualan bulan ini: 1200 unit, bulan lalu: 1000 unit.'],
    ['role' => 'assistant', 'content' => 'Growth rate bulan ini adalah 20% (MoM). Tren positif!'],
    ['role' => 'user',      'content' => 'Berikan 3 rekomendasi untuk mempertahankan tren ini.'],
];

Temperature dan Max Token

Parameter Nilai Efek Use Case
temperature 0.0 Deterministik, konsisten Analisis data, klasifikasi, ekstraksi
temperature 0.7 Seimbang Chatbot umum, asisten coding
temperature 1.0+ Kreatif, bervariasi Brainstorming, penulisan kreatif
max_tokens 256 Jawaban singkat Klasifikasi, sentiment analysis
max_tokens 4096 Jawaban panjang Penjelasan mendalam, penulisan artikel

Response Format JSON

Saat membangun AI Agent, kita sering membutuhkan output dalam format JSON yang terstruktur agar mudah diproses secara programatik:

$payload = [
    'model'    => 'gpt-4o-mini',
    'messages' => $messages,
    'response_format' => ['type' => 'json_object'],
    'temperature' => 0.1, // Rendah untuk output JSON yang konsisten
];

// Response akan selalu berupa JSON valid
$response = $client->chat($messages);
$jsonData = json_decode($client->extractContent($response), true);

Tips Membuat Prompt yang Baik

  1. Spesifik dan eksplisit: "Buatkan tabel perbandingan 3 framework PHP terpopuler dengan kolom: Nama, Versi, Performa, Learning Curve" >> "Bandingkan framework PHP"
  2. Berikan contoh (few-shot): Tampilkan contoh input dan output yang diharapkan dalam prompt.
  3. Tentukan format output: "Jawab dalam format JSON dengan key: analysis, recommendations, score"
  4. Beri konteks yang cukup: Jelaskan latar belakang dan tujuan task dengan jelas.
  5. Gunakan Chain of Thought: "Pikirkan langkah demi langkah sebelum menjawab"

Poin Kunci Bab 6

Prompt engineering adalah skill yang paling berpengaruh dalam kualitas AI Agent Anda. Luangkan waktu untuk mengeksperimen dan menyempurnakan prompt — perbaikan kecil pada prompt sering kali memberikan peningkatan kualitas yang dramatis.