Zero-shot vs few-shot prompting
Zero-shot vs few-shot prompting
Bu derste neler öğreneceksin
- Zero-shot ve few-shot prompting kavramlarını tanımlamak
- Copilot'ta few-shot'ın pratikte nasıl uygulandığını öğrenmek
- Hangi durumda hangi yaklaşımın daha etkili olduğunu belirleyebilmek
- Chain-of-thought prompting'in Copilot Chat'teki rolünü kavramak
Zero-shot prompting
Zero-shot: Hiç örnek vermeden doğrudan görevi anlat.
Kullanıcı: "Write a function to validate an email address"
Copilot: <regex-based validator üretir>
Copilot tanıdık, standart görevlerde zero-shot ile iyi çalışır:
- Sık karşılaşılan algoritmalar
- Bilinen design pattern’ler
- Standart kütüphane kullanımı
Few-shot prompting
Few-shot: Bir veya daha fazla örnek vererek modeli “yönlendir”.
// Örnek 1 — Bu stili kullan:
// Input: validateEmail("test@test.com") → true
// Input: validateEmail("notanemail") → false
function validateEmail(email: string): boolean {
// ...
}
// Şimdi aynı stilde phone number validator yaz:
// Input: validatePhone("+905551234567") → true
function validatePhone(phone: string): boolean {
Few-shot şu durumlarda değer katar:
- Alışılmadık dönüş tipi veya hata yönetimi istiyorsun
- Projeye özgü pattern’i empoze etmek istiyorsun
- Copilot standart yaklaşımı seçiyorsa ve sen farklı bir stilden eminsin
Chain-of-thought (CoT) prompting
Karmaşık görevlerde Copilot Chat’e adım adım düşünmesini söyleyebilirsin:
"Explain step by step how you would refactor this function
to be more testable, then implement the refactored version."
CoT şu durumlarda işe yarar:
- Architectural karar verme
- Büyük refactor
- Debug seansları (“önce analiz et, sonra düzelt”)
Hangi strateji ne zaman?
| Durum | Strateji | Neden |
|---|---|---|
| Standart algoritma, basit fonksiyon | Zero-shot | Copilot zaten biliyor |
| Özel naming/pattern/format | Few-shot | Örnek göster |
| Büyük değişiklik / mimari karar | Chain-of-thought | Önce analiz lazım |
| Yeni bir kavram öğretmek | Few-shot + açıklama | Copilot’un bilmediği domain |
Sınavda beklenen senaryo
Senaryo: Geliştirici özel bir serialization formatı istiyor ve Copilot defalarca yanlış yapı üretiyor. En etkili çözüm hangisi?
Doğru cevap: Chat’te birkaç doğru örnek göster (few-shot) ve #file:
ile format tanımını context’e ekle.
Sırada ne var?
Bir sonraki derste prompt anti-pattern’ler ve tuzaklar — yaygın hatalar ve sınavın trap sorularında yanılmama stratejisi.