AI Engineering Academy · Pelajaran

Perintah Zero-Shot dan Few-Shot

Pahami perbedaan antara meminta model menjawab secara langsung dan memberikan contoh, lalu pelajari kapan setiap pendekatan menghasilkan hasil yang lebih baik untuk tugas klasifikasi, ekstraksi, dan pembuatan.

Pelajaran 1 dari 413 langkah

Perintah Zero-Shot dan Few-Shot adalah pelajaran AI Engineering Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar AI Engineering Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus AI Engineering Academy mencakup 4 pelajaran total.

Apa Itu Prompting Zero-Shot?

Prompting zero-shot berarti meminta model menjalankan suatu tugas tanpa memberinya contoh cara melakukannya. Anda cukup menjelaskan tugas tersebut dan membiarkan model menerapkan pengetahuan hasil pelatihannya. Cara ini bekerja dengan baik untuk tugas yang sering ditemui model selama pelatihan, seperti penerjemahan, peringkasan, atau klasifikasi sederhana.

Misalnya, meminta model untuk Mengklasifikasikan ulasan ini sebagai Positif atau Negatif merupakan prompt zero-shot. Model telah menyerap ribuan contoh klasifikasi sentimen selama pra-pelatihan, sehingga dapat menjalankan tugas tersebut tanpa diperlihatkan contoh di dalam prompt.

Contoh Zero-Shot Sederhana

Prompt zero-shot bersifat ringkas dan mengandalkan pengetahuan bawaan model. Prompt ini bekerja paling baik ketika tugasnya umum dan tidak ambigu. Perhatikan bahwa prompt di bawah mendefinisikan tugas dengan jelas tanpa menunjukkan contoh keluaran yang benar.

import openai

client = openai.OpenAI()

prompt = 'Classify the sentiment of the following customer review.\nRespond with only one word: Positive, Negative, or Neutral.\n\nReview: The delivery was fast but the packaging was damaged.\n\nSentiment:'

response = client.chat.completions.create(
    model='gpt-4o-mini',
    messages=[{'role': 'user', 'content': prompt}],
    max_tokens=5
)
print(response.choices[0].message.content)  # Expected: Negative

Saat Zero-Shot Tidak Berhasil

Prompting zero-shot dapat gagal ketika format tugas tidak lazim, ketika model harus mengikuti skema keluaran yang tidak umum, atau ketika Anda memerlukan format konsisten yang mungkin ditafsirkan model secara berbeda pada setiap proses. Meminta model mengekstrak data ke dalam struktur JSON yang sangat spesifik dengan nama bidang khusus berisiko jika digunakan sebagai prompt zero-shot, karena model harus menebak maksud Anda secara tepat.

Zero-shot juga kurang efektif untuk jargon khusus bidang atau kategori klasifikasi khusus yang mungkin jarang ditemui model selama pra-pelatihan. Dalam situasi ini, pemberian contoh dapat meningkatkan akurasi secara drastis.

Apa Itu Prompting Few-Shot?

Pemancingan dengan sedikit contoh berarti memberikan model 2–8 contoh tugas (masukan dan keluaran yang diinginkan) sebelum menyampaikan kueri Anda yang sebenarnya. Contoh-contoh tersebut mengajarkan model format dan skema klasifikasi yang tepat sesuai keinginan Anda, tanpa memerlukan penyetelan atau pelatihan khusus.

Ini adalah salah satu teknik paling ampuh dan paling jarang digunakan dalam rekayasa prompt. Model menggunakan contoh-contoh tersebut untuk menyimpulkan polanya, lalu menerapkannya pada masukan baru. Penelitian dari makalah GPT-3 menunjukkan bahwa kinerja pada banyak tugas meningkat secara signifikan seiring bertambahnya jumlah contoh, hingga sekitar 8 contoh. Setelah itu, peningkatannya mendatar dan Anda hanya membuang token.

Struktur Prompt dengan Sedikit Contoh

Prompt dengan sedikit contoh mengikuti pola yang konsisten: tampilkan N contoh sebagai pasangan masukan-keluaran, lalu sampaikan masukan baru dan biarkan model melengkapi keluarannya. Pemformatan contoh-contoh tersebut mengajarkan model format keluaran yang tepat sesuai harapan Anda.

import openai

client = openai.OpenAI()

prompt = ('Extract the product name and price from each sentence.\n'
          'Respond in the format: Product: <name> | Price: <price>\n\n'
          'Sentence: The blue headphones cost $79.99.\n'
          'Product: Blue Headphones | Price: $79.99\n\n'
          'Sentence: You can get the leather wallet for just $34.\n'
          'Product: Leather Wallet | Price: $34\n\n'
          'Sentence: Order the ergonomic keyboard for $129.99 today.\n')

response = client.chat.completions.create(
    model='gpt-4o-mini',
    messages=[{'role': 'user', 'content': prompt}],
    max_tokens=30
)
print(response.choices[0].message.content)

Memilih Contoh yang Baik untuk Prompt dengan Sedikit Contoh

Kualitas contoh Anda sama pentingnya dengan jumlahnya. Pilih contoh yang:

  • Mencakup kasus batas — sertakan contoh dengan masukan ambigu agar model memahami cara Anda ingin masukan tersebut ditangani
  • Mencakup seluruh ruang keluaran — jika Anda memiliki tiga kelas, sertakan setidaknya satu contoh untuk setiap kelas
  • Representatif — gunakan contoh yang serupa dalam gaya dan kompleksitas dengan masukan nyata di lingkungan produksi
  • Konsisten dalam format — ketidakkonsistenan format apa pun dalam contoh Anda akan terbawa ke keluaran model

Contoh yang dipilih dengan buruk justru dapat menurunkan kinerja karena menyesatkan model mengenai distribusi tugas.

Zero-Shot vs Sedikit Contoh: Kapan Menggunakan Masing-Masing

Gunakan zero-shot ketika: tugasnya umum dan terdefinisi dengan baik, Anda menginginkan biaya token minimal, atau Anda sedang melakukan iterasi dengan cepat dan belum mudah mengumpulkan contoh. Zero-shot juga lebih disukai ketika pengetahuan umum model sebaiknya tidak dibatasi oleh contoh.

Gunakan sedikit contoh ketika: format keluarannya tidak lazim atau ketat, Anda memiliki kategori khusus domain, zero-shot menghasilkan format yang tidak konsisten, atau Anda memerlukan model untuk mengikuti gaya atau nada tertentu secara konsisten. Sedikit contoh sangat efektif untuk ekstraksi, classification, dan generasi dengan batasan format.

Prompt dengan Sedikit Contoh untuk Tugas Klasifikasi

Classification adalah salah satu penggunaan paling bernilai dari pemancingan dengan sedikit contoh. Ketika Anda memiliki label khusus yang tidak sesuai dengan kategori umum, pemberian contoh melatih model menggunakan taksonomi Anda. Contoh-contoh di bawah ini mendefinisikan secara tepat arti Bug, Feature Request, dan Question dalam konteks tiket dukungan.

import openai

client = openai.OpenAI()

prompt = ('Classify the support ticket into: Bug, Feature Request, or Question.\n\n'
          'Ticket: The login button does nothing when I click it.\n'
          'Category: Bug\n\n'
          'Ticket: Can you add dark mode to the dashboard?\n'
          'Category: Feature Request\n\n'
          'Ticket: How do I export my data to CSV?\n'
          'Category: Question\n\n'
          'Ticket: The export button crashes the app every time.\n'
          'Category:')

response = client.chat.completions.create(
    model='gpt-4o-mini',
    messages=[{'role': 'user', 'content': prompt}],
    max_tokens=10
)
print(response.choices[0].message.content)  # Bug

Pemancingan dengan Satu Contoh

Di antara zero-shot dan pemancingan dengan sedikit contoh terdapat pemancingan dengan satu contoh: memberikan tepat satu contoh. Hal ini sering kali cukup untuk memperbaiki masalah pemformatan atau memperjelas tugas yang ambigu, dan membutuhkan jauh lebih sedikit token daripada prompt dengan sedikit contoh yang lengkap. Pemancingan dengan satu contoh merupakan langkah peningkatan pertama yang baik ketika zero-shot menghasilkan hasil yang tidak dapat diandalkan.

Dalam praktiknya, mulailah dengan zero-shot, evaluasi pada sampel masukan nyata, dan tambahkan contoh hanya pada bagian yang gagal ditangani model. Dengan demikian, prompt Anda tetap ringkas dan hemat token, sekaligus menargetkan perbaikan pada bagian yang paling membutuhkannya.

Pemilihan Dinamis Contoh

Dalam sistem produksi, menetapkan contoh yang sama untuk setiap kueri bukanlah pilihan yang optimal. Pemilihan dinamis contoh mengambil contoh yang paling mirip dengan masukan saat ini dari bank contoh berlabel menggunakan kemiripan embedding, lalu hanya menyisipkan contoh tersebut ke dalam prompt.

Dengan cara ini, model selalu melihat demonstrasi yang paling relevan untuk masukan tertentu, bukan contoh umum yang mungkin tidak sesuai dengan gaya atau domain masukan. Teknik ini menggabungkan manfaat pemancingan dengan sedikit contoh dan skalabilitas sistem pengambilan, dan terkadang disebut pemancingan yang diperkuat pengambilan berbasis contoh.

Batasan Format dalam Prompt dengan Sedikit Contoh

Pemancingan dengan sedikit contoh adalah cara paling andal untuk menerapkan format keluaran yang ketat sebelum Anda memiliki akses ke keluaran terstruktur atau mode JSON. Dengan menunjukkan kepada model format tepat yang Anda harapkan — termasuk nama bidang, pembatas, dan urutannya — Anda secara drastis meningkatkan kemungkinan memperoleh keluaran yang dapat diuraikan.

Selalu akhiri prompt dengan sedikit contoh Anda menggunakan awal pola keluaran yang diharapkan (misalnya kurung kurawal pembuka objek JSON atau nama bidang pertama). Hal ini mempersiapkan model untuk melanjutkan pola, bukan berpotensi meringkas atau mengomentari tugas terlebih dahulu.

Pemeriksaan Singkat

Uji pemahaman Anda tentang konsep Rekayasa AI dari pelajaran ini.

Rangkuman Pelajaran

Dalam pelajaran ini, Anda mempelajari bahwa: pemancingan zero-shot meminta model menjalankan tugas hanya berdasarkan deskripsi, pemancingan dengan sedikit contoh memberikan 2–8 contoh masukan-keluaran untuk mengajarkan format dan taksonomi, dan pemilihan dinamis contoh mengambil contoh yang paling relevan untuk setiap kueri menggunakan kemiripan embedding. Selanjutnya, kita akan membahas pemancingan rantai pemikiran untuk tugas penalaran yang kompleks.

Gratis untuk memulai

Belajar Python dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
30
Pelajaran
120

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Perintah Zero-Shot dan Few-Shot” gratis?

Ya — teks lengkap “Perintah Zero-Shot dan Few-Shot” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus AI Engineering Academy, upgrade ke CoddyKit PRO. Kursus AI Engineering Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Perintah Zero-Shot dan Few-Shot”?

Pahami perbedaan antara meminta model menjawab secara langsung dan memberikan contoh, lalu pelajari kapan setiap pendekatan menghasilkan hasil yang lebih baik untuk tugas klasifikasi, ekstraksi, dan… Kamu berlatih AI Engineering Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai AI Engineering Academy?

Tidak diperlukan pengalaman sebelumnya. AI Engineering Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.

Berapa lama pelajaran “Perintah Zero-Shot dan Few-Shot” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran AI Engineering Academy ini?

Ya. Setiap pelajaran AI Engineering Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Perintah Zero-Shot dan Few-Shot
  2. Rantai Pemikiran dan Penalaran Langkah demi Langkah
  3. Perintah Sistem dan Pendefinisian Persona
  4. Iterasi dan Penelusuran Kesalahan pada Perintah
← Kembali ke AI Engineering Academy