Modül 3 · Domain 3 — How Copilot Works & Data Handling (%15-20) · ⏱ 15 dakika

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:

  1. Context builder IDE tarafındadır — istemci hangi dosyaların context’e gireceğine karar verir.
  2. 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:

KaynakAçıklamaAğırlık
Aktif dosyaCursor çevresindeki kodEn yüksek
Neighboring tabsAçık editör sekmeleri (aynı dil öncelikli)Yüksek
Custom instructions.github/copilot-instructions.mdKalıcı
Copilot Chat geçmişiAktif konuşmaOrta
Referenced files#file: ile eklenen dosyalarKullanıcı seçimi
SymbolsImport 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.