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
| Senaryo | Tercih et |
|---|---|
| Tek satır / küçük blok düzeltme | Inline — sil ve yeniden yaz |
| Büyük yapısal hata | Chat — açıklama + follow-up |
| Pattern öğretme | Chat — few-shot + açıklama |
| Hızlı format değişikliği | Inline — 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.