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

Context window yönetimi

Context window management

Bu derste neler öğreneceksin

  • Context window'un nasıl dolu tutulacağını pratik olarak anlamak
  • İlgili dosyaları stratejik biçimde açık tutma alışkanlığı kazanmak
  • Context'in ne zaman truncate edildiğini fark etmeyi öğrenmek
  • Chat konuşma geçmişinin context'e etkisini yönetebilmek

Context window yönetimi neden önemlidir?

Copilot, sahip olduğu bağlamla sınırlıdır. Context window dolup taştığında en eski veya en az alakalı bilgiler kesilir. Bu, önerilerin birdenbire kötüleşmesine yol açar — ama geliştirici nedenini anlayamaz.

İyi context yönetimi = daha az yineleme + daha az manuel düzeltme.

Stratejik sekme yönetimi

Görev: User entity için repository pattern yaz

İdeal açık sekmeler:
  ✓ src/entities/User.ts          (hedef entity)
  ✓ src/repositories/PostRepo.ts  (mevcut pattern örneği)
  ✓ src/db/connection.ts          (bağlantı yönetimi)
  ✓ tests/PostRepo.test.ts        (test pattern örneği)
  ✗ src/routes/auth.ts            (alakasız — kapat)
  ✗ docs/README.md                (alakasız — kapat)

4 ilgili sekme, 2 alakasız sekme kapatılmış. Copilot şimdi tam pattern’i görüyor.

Context öncelik sırası

Copilot, context’i şu sırayla önceliklendirir:

  1. Aktif dosyada cursor pozisyonu — en yakın kod
  2. Custom instructions — her zaman dahil
  3. Chat geçmişi — aktif konuşma
  4. Açık sekmeler — aynı dil, yakın path önce
  5. #file: referansları — kullanıcı ekledi
  6. Diğer açık sekmeler — uzak path, farklı dil

Chat geçmişi yönetimi

Uzun chat konuşmalarında:

  • Eski mesajlar truncate edilir (kesilebilir)
  • Konuşmayı temizle (/clear veya yeni chat) → context sıfırlanır
  • Kritik bilgiyi her yeni chat’e tekrar ver
İyi pratik: Bağımsız görevler için yeni chat konuşması başlat.
Kötü pratik: Tüm günü aynı chat'te geçirmek → context kirlenir.

Referans dosya kullanımı

Chat’te #file: ile dosya referansı ver:

@copilot #file:src/types/Order.ts 
Bu Order tipine göre bir serializer yazar mısın?
Sadece required alanları serialize et.

Bu yöntem, dosyanın zaten açık olmasına gerek duymadan context’e ekler. Özellikle büyük codebase’lerde dağınık sekme açmaktan iyidir.

Sırada ne var?

Bir sonraki derste system prompt ve custom instructions — kalıcı Copilot davranışını nasıl şekillendirirsin ve kurumsal best practice nedir.