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

Iterative prompt refinement

Iterative prompt refinement

Bu derste neler öğreneceksin

  • İteratif prompt iyileştirme döngüsünü açıklamak
  • Kötü öneriyi düzeltmek için hangi adımların atılacağını bilmek
  • Follow-up prompt stratejilerini öğrenmek
  • Copilot Chat'te çalışma akışını optimize etmek

İteratif refinement döngüsü

Copilot mükemmel bir oracle değildir. İyi Copilot kullanıcısı döngüsel çalışır: öneri al → değerlendir → rafine et → tekrar al.

Prompt v1

Öneri al

Değerlendir: doğru mu? eksiksiz mi? stile uygun mu?

[İyi] ─────────────────→ Kabul et ve devam
[Kötü] → Neden kötü?
           ├── Bağlam eksik → Context ekle
           ├── Görev belirsiz → Spesifikleştir
           ├── Yanlış pattern → Örnek ver (few-shot)
           └── Hatalı context → Sekme/chat düzelt

           Prompt v2 → tekrar dene

Follow-up prompt stratejileri

İlk öneri yanlış olduğunda Chat’te kullanabileceğin follow-up yaklaşımları:

Kısıtlama ekle

[İlk yanıt üretici function kullandı]
"Rewrite this without generator functions, use a simple for loop instead"

Spesifik hata belirt

"This won't work because UserService is a singleton — 
rewrite using dependency injection"

Örnek göster

"That approach is incorrect for this codebase. Here is how 
we handle DB queries: [örnek yapıştır]. Now apply the same pattern."

Parçala

[Yanıt çok büyük ve yanlış]
"Let's start smaller. Only write the interface definition first."

Inline completion vs Chat refinement

SenaryoTercih et
Tek satır / küçük blok düzeltmeInline — sil ve yeniden yaz
Büyük yapısal hataChat — açıklama + follow-up
Pattern öğretmeChat — few-shot + açıklama
Hızlı format değişikliğiInline — yorum satırı güncelle

Pratik refinement süreci — örnek

Görev: "Express route handler yaz, kullanıcıyı güncelle"

v1 prompt:
  "write update user route"
  → Copilot çok basit, validation yok, error handling yok üretir

v2 prompt:
  "#file:routes/users.ts — look at the existing GET /user/:id route
  Write POST /user/:id/update following the same pattern.
  Include zod validation (schema in types/UpdateUser.ts),
  database update via UserService.update(), 
  return 200 or 400/500 with error message."
  → İstenilen yapıda, validation + hata yönetimi dahil sonuç

Sırada ne var?

Modül 5 — Developer Use Cases — Copilot’un gerçek geliştirici senaryolarında nasıl kullanıldığı: kod tamamlama, Chat, agent mode ve Copilot Workspace.