İyi prompt anatomisi
Anatomy of a good prompt
Bu derste neler öğreneceksin
- Etkili bir Copilot promptunun dört temel bileşenini tanımlamak
- Copilot Chat'te görev odaklı prompt yapısını uygulamak
- Belirsiz ve spesifik prompt arasındaki farkı örnekle göstermek
- Copilot'a doğru bağlamı vermenin hangi yollarla yapıldığını öğrenmek
Neden prompt kalitesi önemli?
Domain 4, sınavın en yüksek ağırlıklı alanıdır çünkü Copilot’un günlük kullanımında prompt kalitesi çıktı kalitesini doğrudan belirler. Aynı model, iyi prompt ile harika kod, kötü prompt ile işe yaramaz kod üretir.
İyi prompt’un dört bileşeni
| Bileşen | Nedir | Örnek |
|---|---|---|
| Görev (Task) | Ne yapmasını istiyorsun? | ”Write a function that…” |
| Bağlam (Context) | Hangi ortamda, hangi kısıtlarla? | “…in TypeScript using Express…” |
| Girdi/Çıktı (I/O) | Ne alacak, ne döndürecek? | “…takes a userId string, returns a User object” |
| Kısıtlar (Constraints) | Yapmaması veya zorunlu olması gerekenler | ”…without external HTTP calls, use only the DB connection in db.ts” |
Kötü vs iyi prompt karşılaştırması
Kötü:
// yazacak
function getUser
İyi:
/**
* Fetch a user by ID from the PostgreSQL database.
* Uses the `db` connection from ./db.ts.
* Returns null if user not found, throws on DB error.
* @param userId - UUID string
*/
async function getUser(userId: string): Promise<User | null> {
İyi prompt’ta fonksiyon imzası, JSDoc, bağlam dosyası referansı ve hata davranışı zaten verilmiş. Copilot body’yi çok daha doğru tamamlar.
Copilot Chat’te prompt yapısı
Chat modunda ek yönlendirme araçları mevcuttur:
| Araç | Kullanım | Etki |
|---|---|---|
#file: | #file:types/User.ts | Dosyayı context’e ekler |
#codebase | #codebase fix this bug | Tüm codebase üzerinde arama |
@workspace | @workspace explain the auth flow | Proje geneli |
/fix | /fix this error | Hata düzeltme slash komutu |
/explain | /explain this function | Açıklama slash komutu |
/tests | /tests for this function | Test üretimi |
Context vermenin yolları özet tablosu
| Yöntem | Nasıl | Etki alanı |
|---|---|---|
| Neighboring tabs aç | İlgili dosyaları editörde aç | Otomatik context |
#file: referans | Chat’te dosyaya referans ver | Seçici context |
| Custom instructions | .github/copilot-instructions.md | Her zaman geçerli |
| JSDoc/yorum satırı | Kod içinde açıklama | Inline completion |
| Fonksiyon imzası | Tip ve dönüş değeri yaz | Güçlü hint |
Sırada ne var?
Bir sonraki derste context window yönetimi — context’in nasıl stratejik olarak şekillendirilip Copilot önerilerinin nasıl iyileştirileceği.