Modül 4 · Domain 4 — Prompt Crafting & Engineering (%20-25) · ⏱ 15 dakika

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?

DurumStratejiNeden
Standart algoritma, basit fonksiyonZero-shotCopilot zaten biliyor
Özel naming/pattern/formatFew-shotÖrnek göster
Büyük değişiklik / mimari kararChain-of-thoughtÖnce analiz lazım
Yeni bir kavram öğretmekFew-shot + açıklamaCopilot’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.