Copilot mimarisi ve context window
Copilot architecture and context window
Bu derste neler öğreneceksin
- Copilot'un IDE eklentisinden modele kadar çalışma mimarisini açıklamak
- Context window'a hangi bilgilerin girdiğini listeleyebilmek
- Neighboring tabs ve aktif dosyanın context'e katkısını anlamak
- Context window yönetiminin prompt kalitesine etkisini kavramak
Copilot çalışma mimarisi
Copilot bir öneri üretirken şu bileşenler devreye girer:
IDE (VS Code, JetBrains, …)
↓ Eklenti
Context builder (neighboring tabs, cursor position, file)
↓ Prompt
GitHub Copilot API (proxy katmanı)
↓ Güvenlik filtresi + content filter
LLM (OpenAI Codex tabanlı, güncel GPT-4o türevi)
↓ Yanıt
IDE'ye dönen öneri
İki kritik nokta:
- Context builder IDE tarafındadır — istemci hangi dosyaların context’e gireceğine karar verir.
- Proxy katmanı GitHub’dadır — verinin LLM’e gitmeden önce filtreden geçtiği yerdir (content exclusion burada da uygulanır).
Context window’a giren bilgiler
Copilot’un LLM’e gönderdiği bağlam şu katmanlardan oluşur:
| Kaynak | Açıklama | Ağırlık |
|---|---|---|
| Aktif dosya | Cursor çevresindeki kod | En yüksek |
| Neighboring tabs | Açık editör sekmeleri (aynı dil öncelikli) | Yüksek |
| Custom instructions | .github/copilot-instructions.md | Kalıcı |
| Copilot Chat geçmişi | Aktif konuşma | Orta |
| Referenced files | #file: ile eklenen dosyalar | Kullanıcı seçimi |
| Symbols | Import edilen sembol tanımları | Dinamik |
Context window sınırı ve truncation
Copilot’un context window’u sonsuzdur değildir. Çok fazla dosya açık olduğunda:
- Öncelik sırası: aktif dosya → yakın geçmiş → neighboring tabs → diğerleri
- Uzak veya ilgisiz dosyalar truncate edilir (kesilir)
- Bu nedenle ilgisiz sekmeleri kapat iyi bir pratiktir
Filling the context — pratik örnek
// Sadece bu dosya açıksa Copilot az bilgiyle çalışır
function processOrder(order) {
// Copilot burada ne önerecek? Order tipini bilmiyor.
}
// Ama şunları da açıksan:
// - types/Order.ts (Order interface tanımı)
// - services/PaymentService.ts (benzer pattern)
// → Copilot çok daha isabetli öneri üretir
Sırada ne var?
Bir sonraki derste prompt-response akışı — bir prompt gönderdiğinde sistem içinde tam olarak ne olur ve bu bilgi nasıl daha iyi öneri alınır.