Üç yıl önce IDE bize "şu satırı şöyle yazabilirsin" diyordu. Bugün "bu task'i bitirdim, şu testler kırıldı, bir review eder misin?" diyor. Arada bir IDE jenerasyonu değil, geliştirici rolünün küçük bir devrimi var.

Bu yazıda autocomplete'ten agentic kodlamaya geçişi, kullandığımız araçların somut farklarını ve hangi senaryoda hangisinin işe yaradığını paylaşıyoruz. Reklam yok; her aracın hem güzel hem topal yanını açık yazıyoruz.

Agent ne demek (kod bağlamında)?

Bir agent, kendisine verilen hedefe ulaşmak için sırasıyla şunları yapan sistemdir:

  1. Görevi anlar, alt-adımlara böler.
  2. Mevcut tool'larına bakarak hangisini kullanacağına karar verir (dosya okuma, grep, terminal komutu, edit).
  3. Tool çağırır, sonucu okur.
  4. Yeterli mi, devam mı kararı verir. Gerekirse plan günceller.
  5. Hedefe ulaştığında durur ve özet verir.

Klasik autocomplete'in yapamadığı şey adım 4. Plan revize etmek, "az önce ne yaptım, sonuç ne, nereye dönmem lazım" sorularını cevaplamak — bu döngü agentic'in kalbi.

Üç araç, üç farklı felsefe

Cursor — IDE-first agent

Cursor, VS Code'un fork'u; agentic özellikler IDE'nin içinde. Composer ve Agent modları aynı pencerede sohbet, refactor ve plan üretimi sunuyor. En güçlü yanı: UI etkileşimi. Diff'leri inline görüyor, kabul edip etmeyeceğine satır satır karar veriyorsun.

Zayıf yanı: bağlam yönetimi hâlâ otomatik kararlara dayalı. Bazen ilgili dosyayı atlıyor, bazen alakasızı dahil ediyor. .cursorrules dosyası bunu telafi ediyor ama tamamen değil.

Claude Code — terminal-first agent

Anthropic'in CLI tabanlı kod asistanı. Terminalden claude komutu ile başlatıyorsun; ajan repoda dolaşıyor, dosya okuyor/yazıyor, komut çalıştırıyor. IDE arayüzü yok ama IDE eklentileri (VS Code, JetBrains) ile sıkı entegre.

Güçlü yanı: uzun-soluklu görevlerde dayanıklı. "Bütün şu klasörü TypeScript'e taşı", "şu test suite'ini yeşile çek" gibi multi-step işlerde plan disiplini iyi. CLAUDE.md ile ekip standartlarını öğretmek pratik.

Zayıf yanı: IDE inline-diff deneyimi yok; review terminalden ya da git diff üzerinden. Hızlı tek-dosya değişiklik için Cursor'a göre biraz daha "ağır".

Copilot — autocomplete artı sohbet

Microsoft'un aracı. 2024'ten sonra agent modu da eklendi ama DNA'sı hâlâ autocomplete. Sürekli yazıyorsan, sürekli yardım ediyor; ama "şu task'i kendi kendine bitir" diye bıraktığında diğerleri kadar derin gitmiyor.

Avantaj: VS Code ile birinci sınıf entegrasyon, enterprise lisanslama tarafında olgun, çoğu kurumda halihazırda kurulu. Çoğu geliştirici için "baseline".

Hangi senaryo, hangi araç?

Tek satır tamamlama
Copilot — hâlâ en hızlısı. Cursor da aynı işi yapıyor ama Copilot'un latency tarafında ufak avantajı var.
Çok-dosyalı refactor
Cursor Composer — diff'leri inline görüp kabul/red etmek, küçük-orta refactor'da en konforlusu.
Test suite onarımı
Claude Code — uzun döngülü, "çalıştır - hatayı oku - düzelt" işine en uygunu.
Yeni feature scaffolding
Karma — önce Cursor agent ile iskelet, sonra Copilot ile satır içi tamamlama.
Migration / cleanup
Claude Code — checkpoint'leri planlamada ve geri dönmede daha iyi.
Tasarım/mimari konuşması
Tool değil; doğrudan chat (Claude / GPT). Kod yazdırmadan önce karar verme yeri.

Geliştirici akışı nasıl değişti?

Eski akış: "problemi düşün → kod yaz → çalıştır → debug → tekrar."

Yeni akış: "problemi düşün → ajana brief yaz → ajan kodu üretirken paralelde başka bir şeye bak → ajan bitirince diff'i review et."

İkinci akışta yeni bir yetkinlik ortaya çıkıyor: brief yazma sanatı. Ajana ne kadar net hedef verirsen, geri o kadar iyi şey getiriyor. Belirsiz brief = ajan kendi yorumuna göre saatlerce yanlış yöne gidiyor.

Pair programming'in yarısı her zaman "ne yapacağımızı netleştirmekti." Şimdi pair programming yerini agent'a bıraktıkça, brief yazma o netleştirme rolünü üstleniyor.

Nelerden kaçınmak gerek?

  • "Çalışıyorsa karışma" tuzağı. Ajan testi geçirmek için bazen testi devre dışı bırakır (.skip, xfail). Diff'i okuyun.
  • Aşırı abstraction'a izin vermek. Bir bug fix isterken üç katman soyutlama ekleyebiliyor. Kapsamı kısıtlayan rule yazın.
  • Bağlam unutkanlığı. Uzun bir oturumda ajan başta verdiğiniz kuralı unutabiliyor. Kritik kurallar repo seviyesinde rule dosyasında olmalı.
  • "Ajan yaptı, ben review ederim" rehavetine kapılmak. Review yapmadan merge eden ekiplerde teknik borç 6 ay sonra patlıyor. Geriye dönüş zor.
Kural: Ajanın diff'i, başka biri yazmış gibi review edilmeli. "Bunu ben de yazardım" hissi yetmez — "bu kodbaza ait mi?" sorusu yetmez. "Bu repodaki pattern'a uyuyor mu?" — gerçek soru bu.

Junior'lar için ne anlama geliyor?

Bu konu IBP olarak en çok kafa yorduğumuz konu. Ajanlar junior'a hızla yardımcı oluyor ama altındaki temel bilgi otomatik gelmiyor. Ekipte birkaç pratik uyguluyoruz:

  • İlk 3 ayda agentic tool kısıtlı. Junior önce kendi yazıyor, sonra ajan ile pair yapıyor.
  • Ajan diff'i mutlaka açıklatılıyor. "Ne yaptı?" sorusunu junior cevaplayamıyorsa, merge yok.
  • Debugging hâlâ insan tarafında. Production hatasını ajan-asisted çözmek ileri seviye iş; başlangıç değil.

2026 sonu, 2027 başı: nereye gidiyor?

Tahmin yapmanın faydasız olduğu bir alan ama gözlemler net:

  • IDE'ler "kod editörü"nden "ekip arkadaşı"na geçiyor. Cursor ve Claude Code'un bu yöne çekiyor.
  • Cloud-side execution yaygınlaşıyor. Lokal makineye bağlı kalmayan, kendi sandbox'ında çalışıp PR açan ajanlar (örn. Devin tarzı) niş olmaktan çıkıyor.
  • Brief / spec yazımı yeni bir disiplin. "Prompt engineering" değil; daha çok klasik requirements engineering'in dijital versiyonu.

Sonuç

Agentic kodlama, hype eğrisinin "plateau of productivity" kısmına geçti. Doğru kurulduğunda gerçekten hızlandırıyor; yanlış kurulduğunda gizli teknik borç biriktiriyor. Aradaki fark araç seçiminden çok, ekibin akışını ve disiplinini bu araçlara göre uyarlama becerisinde.

Sevdiğimiz tarafı şu: yazılım mühendisliğinin temel sorularını (tasarım, review, test, sahiplik) ortadan kaldırmadı — daha görünür hale getirdi. Doğru yere bakan ekipler için bu büyük bir kaldıraç.