Domain 2 özeti — Tool seçimi, MCP, ortam & güvenli yürütme
Domain 2 — Tool selection, MCP, environment & safe execution
Bu derste neler öğreneceksin
- Tool seçimi ve least-privilege izin modelini bilmek
- GitHub remote MCP server, MCP allow list ve MCP registry farkını ayırt etmek
- Agent'ı CI workflow'da scope'lu çalıştırmayı öğrenmek
- Retry → rollback → escalation zincirini ezberlemek
- 4 mini quiz ile en ağır domain'i pekiştirmek
Ağırlık: %20-25 — EN AĞIR. Mock’ta ~11 soru. Bu domain için iki kat zaman ayır; community raporu (jingchang0623) “tool calling agent’larda en zor kısım” diyor.
Domain 2 dört alt-bölüm: (1) tool seçimi & izin, (2) MCP server’lar, (3) ortam entegrasyonu, (4) güvenli yürütme & hata yönetimi.
1. Tool seçimi ve izin (least-privilege başlar)
Üç bullet:
- Identify required tools — görev için MİNİMUM tool seti
- Configure agent tools — bağla
- Configure agent tool permissions — sadece gerekli scope
GitHub’da least-privilege üçlüsü:
- Scoped token — fine-grained PAT veya workflow
permissions:bloğu - Repo/branch scope — agent sadece izinli repo/branch’te yazar
- MCP allow list — agent sadece izinli MCP tool’lara erişir
Sınav formülü: “Agent’a least-privilege uygula” sorusu cevabı üç mekanizmanın birlikte kullanıldığı seçenektir.
2. MCP — sınavın çekirdek konusu
MCP (Model Context Protocol) = agent’ların tool/veri’ye bağlandığı standart arayüz. Sınav 4 bullet sorar:
| Bullet | Ne demek |
|---|---|
| Add an MCP server as a tool to an agent | Server’ı agent’a bağla |
| Configure a GitHub remote MCP server | GitHub’ın resmi remote server’ını yapılandır |
| Configure the MCP registries | Server’ların keşfedileceği dizinler |
| Configure MCP allow lists | Hangi server/tool erişilebilir — güvenlik sınırı |
Allow list vs Registry — community’de en sık karıştırılan ikili
| Allow list | Registry | |
|---|---|---|
| Ne yapar | Güvenlik sınırı: kim/ne erişebilir | Keşif: server’lar nerede |
| Karar | ”Bu agent şu MCP server’a erişebilir mi?" | "Hangi server’lar mevcut?” |
| Yanlış yapılırsa | Yetkisiz erişim, veri sızıntısı | Server bulunamaz, agent başlamaz |
| Karıştırma | ”Registry’ye eklersem otomatik erişim olur” — YANLIŞ | ”Allow list’e koymadıysam registry’de görünmez” — YANLIŞ |
Allow list ve registry bağımsız kontrollerdir. İkisini de yapılandırman gerekir.
3. Agent’ı geliştirme ortamına entegre etme
6 bullet — hepsi GitHub-yerli mekanizmalardır:
| Bullet | GitHub karşılığı |
|---|---|
| Evaluate execution context | Repo, branch, runner env, secrets — agent ne görüyor? |
| Configure agent’s scope to specific repository | Repo-bazlı scope (Copilot agent ayarı + token scope) |
| Configure agent to be invoked in a CI workflow | Actions workflow event-trigger (push, PR, issue) |
| Configure agent to use branch-based scope | Sadece belli branch’lerde çalışsın |
| Enable agent to perform autonomous actions (branches, PRs) | Yazma izni + branch protection ile gate |
| Handle environment-specific constraints | Staging↔prod env, secret farklılıkları |
4. Güvenli yürütme + hata yönetimi (retry/rollback/escalation)
5 bullet — sınavın imza zinciri:
Error → Retry (idempotent ise) → Rollback (bilinen iyi state) → Escalation (insan)
↓
Traceability (her adım kayıtlı)
Doğru sıralama
- Retry — sadece idempotent action için (DB write değil; API call ile aynı request ID retry edilebilir)
- Rollback — partial state varsa bilinen iyi state’e dön
- Escalation — retry+rollback çözmediyse insana net bağlam (logs, denenen adımlar, hata) ile bildir
- Traceability — her adım Actions logs + PR/commit history + audit log’da iz bırakır
Lab önerisi (Domain 2 için, ~2 saat)
- Test repo’da Copilot custom agent tanımla
- Bir remote MCP server bağla (örn. resmi GitHub remote MCP)
- Allow list ile sadece 2 tool’a (read repo + create issue) erişim ver
- Actions workflow:
on: issuesevent’iyle agent’ı tetikle (issue açılınca agent triage yapar, branch + PR açar) - Bilinçli bir hata yarat (yanlış tool param) → Actions log’a bak → retry/rollback/escalation hangisi devreye girmeli karar ver
Mini quiz — Domain 2 (4 soru)
Sırada ne var?
Domain 3 — Memory & state. Sınavın daha hafif (%10-15) ama kavramsal olarak çatallı domain’i. Senin secondbrain mimarini biliyorsan büyük kısmı tanıdık gelecek.