Prompt anti-pattern'ler ve tuzaklar
Prompt anti-patterns and traps
Bu derste neler öğreneceksin
- Yaygın Copilot prompt anti-pattern'lerini tanımlamak
- Sınavda sıkça çıkan "trap" soru tiplerini fark etmek
- Kötü öneriye yol açan davranışları listeyebilmek
- Anti-pattern'leri düzeltme stratejilerini öğrenmek
En yaygın prompt anti-pattern’ler
1. Belirsiz görev
// Anti-pattern
// make this better
function calc(x, y) { return x + y; }
// İyi
// Rename parameters to be descriptive, add type annotations,
// add JSDoc with @param and @returns
function calc(x: number, y: number): number { return x + y; }
“Better” kelimesi her şey anlamına gelir. Copilot tahmin eder; tahmin çoğunlukla yanlıştır.
2. Çok büyük görev tek promptta
// Anti-pattern
"Build me a complete REST API for user management with JWT auth,
database migrations, rate limiting and email verification"
// İyi: Görevi parçala
1. "Create the User model with TypeORM"
2. "Add JWT token generation utility"
3. "Implement registration endpoint"
Tek büyük prompt → Copilot ortalama bir çözüm üretir. Parçalı prompt → her adım için odaklı çözüm.
3. Negatif talimat vermek
// Anti-pattern
"Don't use callbacks, don't use console.log, don't use var"
// İyi
"Use async/await, use the logger from utils/logger.ts, use const/let"
Negatif talimatlar (“yapma”) LLM’lerde daha az güvenilirdir. Pozitif yönlendirme (“yap”) tercih edilir.
4. Kötü bağlamla iyi çıktı beklemek
// Anti-pattern: context'siz çalışmak
// (hiç ilgili dosya açık değil, custom instructions yok)
// "Implement the repository pattern"
// → Copilot genel bir implementation üretir, projeye uymayabilir
// İyi: context hazırla, sonra sor
5. Copilot’u tamamen kör bırakmak
# Anti-pattern
def process():
# TODO: implement
pass
# İyi: Neyi, neden, nasıl — hepsini hint olarak ver
def process_payment(amount: float, currency: str) -> PaymentResult:
"""
Process payment via Stripe. Raises PaymentError on failure.
Uses STRIPE_KEY from config.settings.
Returns PaymentResult with transaction_id and status.
"""
Sınavın sevdiği trap senaryoları
| Senaryo | Yanıltıcı cevap | Doğru cevap |
|---|---|---|
| Copilot sürekli yanlış öneri veriyor | ”Copilot’u yeniden yükle” | Context’i düzelt, custom instructions ekle |
| Öneri kalitesi düştü | ”Yeni bir model isteyin” | İlgisiz sekmeleri kapat, chat temizle |
| Copilot projeye özgü pattern bilmiyor | ”Few-shot örnek veremezsin” | Neighboring tabs aç, custom instructions yaz |
| Uzun chat sonrası cevaplar kötüleşti | ”Copilot API sorunu” | Chat geçmişi truncation — yeni chat başlat |
Sırada ne var?
Bir sonraki derste iterative prompt refinement — Copilot’tan kötü öneri aldığında nasıl iyileştirirsin ve bu döngüyü nasıl etkili çalıştırırsın.