GitHub Copilot ekosistemi — completion'dan agent'a
The GitHub Copilot ecosystem — from completion to agent
Bu derste neler öğreneceksin
- Copilot'un farklı katmanlarını ayırt etmek (completion, chat, custom agent, cloud agent)
- Custom instructions, custom agents, Copilot SDK kavramlarını tanımak
- Copilot memory ne yapar, neden önemli görmek
- GH-600'ün hangi katmanı ölçtüğünü ayırt etmek
GH-600 prompt mühendisliği değil, agent mühendisliği sınavıdır. Copilot’un altında birden fazla ürün katmanı var; sınavın hangi katmanı ölçtüğünü ayırt etmek, soruları doğru okumana yardım eder.
Copilot katmanları (alttan üste)
| Katman | Ne yapar | GH-600’de ağırlık |
|---|---|---|
| Code completion | IDE’de inline öneri | DÜŞÜK (sınav konusu değil) |
| Copilot Chat | IDE/web’de sohbet asistanı | DÜŞÜK |
| Custom instructions | .github/copilot-instructions.md dosyasıyla repo davranışını ayarla | ORTA |
| Custom agents | Belirli bir görev için özelleştirilmiş agent | YÜKSEK — sınavın çekirdeği |
| Cloud agent | Background agent — issue→PR otomasyonu, async iş | YÜKSEK |
| Copilot SDK | Kendi agent’ını geliştirmek için API | YÜKSEK |
Sınav prompt veya completion sorusu sormaz. Custom agent + cloud agent + SDK etrafında döner.
Custom instructions — agent’ın “constitution”u
Repo’da .github/copilot-instructions.md dosyası, Copilot’un o repo’da
nasıl davranacağını anlatır. Örnek:
# Copilot instructions for this repo
- Always write TypeScript with strict mode
- Use vitest, not jest, for tests
- For PR descriptions, include a "Risk" section
- Never modify files in `legacy/` without explicit user request
GH-600 Domain 4.3 “Revise instructions, workflows, or constraints” tuning’i genellikle buraya yapılan müdahalelerdir.
Custom agents
Belirli bir görev için özelleştirilmiş agent — örn. “PR reviewer”, “issue triager”, “release notes writer”. Tanımlanırken:
- System prompt / instructions (davranış)
- Tool access (hangi MCP server’lara/tool’lara erişebilir) — least-privilege
- Scope (hangi repo, hangi branch, hangi event’te tetiklenir)
- Permissions (token izinleri)
GH-600 Domain 2.1 “Select and configure agent tools” + 2.2 “Configure MCP servers” tam custom agent yapılandırmasıdır.
Cloud agent
Background çalışan agent. Sen IDE kapatınca da iş bitirebilir.
| Tipik kullanım | Örnek |
|---|---|
| Issue → PR | ”Bug raporu açıldı → fix branch açıp PR submit et” |
| Async refactor | ”Bütün repo’da X library’sini Y’ye geç” |
| Periyodik bakım | ”Haftalık dependency update PR’ı aç” |
Cloud agent için GitHub’ın özel guardrail dokümanı var: docs.github.com/copilot/tutorials/cloud-agent/build-guardrails. Domain 6 sorularının çoğu cloud agent’lara uyarlanmıştır.
Copilot SDK
Kendi custom agent’ını programatik olarak geliştirmek için kullanılır. Domain 2.4 “safe execution paths” ve Domain 5 multi-agent koordinasyonu SDK seviyesinde uygulanır: docs.github.com/copilot/how-tos/copilot-sdk/use-copilot-sdk/custom-agents.
Copilot Memory — Domain 3’ün çekirdeği
Copilot’un memory özelliği, agent’ın oturumlar arası bilgi tutmasını sağlar: docs.github.com/copilot/concepts/agents/copilot-memory.
GH-600 Domain 3.1 “Choose between short-term, long-term, and external memory” bullet’ı tam buraya bağlanır.
- Short-term: mevcut görev/oturum içi context (chat history)
- Long-term: kullanıcı veya repo bazında kalıcı bilgi (tercihler, stil)
- External: repo dosyaları, issue/PR, doküman — agent’ın okuduğu dış kaynak
MCP — agent’ın “tool API”si
Model Context Protocol (MCP), agent’ların dış tool/veri’ye standart arayüzle bağlanması için. Sınavın en ağır domain’i (Domain 2 %20-25) çoğunlukla MCP yapılandırma sorularıdır:
- MCP server — tool’ları sunan taraf (örn. GitHub remote MCP server, bir database MCP server)
- MCP allow list — agent’ın hangi server’a/tool’a erişebileceği güvenlik sınırı
- MCP registry — server’ların nereden keşfedildiği (dizin)
Bunlara Modül 3’te (Domain 2) derinlemesine ineceğiz.
Sırada ne var?
Bir sonraki derste Agentic AI 101 — agent nedir, agent değildir, LLM ile agent arasındaki fark, plan-then-act modelinin tarihçesi — sınavın genel kavramsal omurgasını netleştireceğiz.