Doğru Yapay Zekâ Aracını Doğru Problemle Nasıl Eşleştiriyorum

Yazar
Hasan Özdişçi
Yayın tarihi
Makale dili
Türkçe

Cursor, Codex ve Claude Code’u geliştirme sürecimde nasıl konumlandırıyorum

Bu yazıda paylaşılan görüşler tamamen kişisel deneyimime dayanmaktadır. Her ekibin ve projenin kendine özgü dinamikleri vardır.

Yapay zekâ artık kod yazabiliyor. Ama asıl fark burada yatmıyor.

Tek bir araç üzerinden değil, katmanlar üzerinden düşünüyorum: içinde çalıştığım bir ortam, üretmek ya da akıl yürütmek için modeller ve probleme göre değişen farklı agent deneyimleri.

Asıl fark şu: hangi problemi hangi araçla çözdüğün. Doğru eşleşme seni ciddi ölçüde hızlandırır. Yanlış eşleşme ise daha fazla hata ayıklama ve daha fazla karmaşıklık üretir.

Yapay zekânın ürettiği kod, sistemini anladığın anlamına gelmez

Yapay zekâ ile çalışırken en büyük risk: kod üretmek kolaylaştıkça, ne inşa ettiğini gerçekten anlamadan ilerlemek.

Agent’a “şunu değiştir” diyorsun, o da değiştiriyor. Ama:

  • Tam olarak neyi değiştirdi?
  • Neyi bozdu?
  • Yan etkileri neler?

Bilmiyorsan bu hız değildir — kılık değiştirmiş teknik borçtur. Bu risk özellikle veri akışı değiştiğinde, çekirdek mantık etkilendiğinde ya da sistemin davranışı kaydığında katlanarak büyür.

Ekip olarak uyguladığımız kural

Yapay zekânın ürettiği her kritik kod parçası merge’den önce gözden geçirilir. Sorduğumuz soru: “Bu kodu sıfırdan anlatabilir miyim?” Cevap hayırsa, kod henüz hazır değildir.

Code review bir adım değil, bir reflekstir. Bu alışkanlığı bireysel olarak kazanmak görece kolaydır; bir ekibe yaymak ise ortak bir kültür ve süreç desteği gerektirir.

Senaryo 1: Gereksinimler net — Cursor (Agent Mode) kullan

Ne inşa ettiğini biliyorsun. Gereksinimler açık, sınırlar belli.

Bu durumda doğrudan Cursor içindeki Agent Mode’a geçiyorum — Cursor’ın kendi kodlama modeli olan Composer 2 ile. CRUD işlemleri, API entegrasyonları, tekrar eden yapılar, küçük özellik geliştirmeleri — bunların hepsi için yeterince hızlı ve güvenilir.

Temel ayrım şu: Composer, açık uçlu düşünme için değil, uygulama ağırlıklı geliştirme için tercih ettiğim model. Senaryo netleşmeden açarsan, zamanını işi bitirmek yerine çıktıyı düzeltmekle geçirirsin.

Senaryo 2: Yeni bir şey inşa etmek — Ask · Plan · Build

Yeni bir şey inşa ederken doğrudan koda atlamak genellikle yanlış bir içgüdüdür. Bunun yerine üç aşamalı bir akış kullanıyorum:

1 — Ask: Problemi netleştir Sınırlar neler? Veri nasıl akıyor? Uç durumlar neler? Bu aşamada Opus veya Sonnet gibi Claude modellerini kullanıyorum. Burada her şeyi prompt kalitesi belirler — belirsiz prompt, belirsiz çıktı.

2 — Plan: Yapıyı tanımla Modül ayrımı, katman sorumlulukları, görev dağılımı. Burada kod yazılmaz. Mimari kararlar bu aşamada alınır.

3 — Build: Uygula Plan sağlamlaştığında Cursor Composer ile uygulamaya geçiyorum. Ne yapılması gerektiği net, sürpriz yok, hız zirvede.

Ask, Plan ve Build birbirine karıştığında verimlilik düşer. Her aşamanın kendine ait bir zihinsel modu vardır — onları ayrı tutmak disiplin ister ama zamanla ciddi şekilde karşılığını verir.

Senaryo 3: Tanımadığın bir teknoloji — Claude Code

İyi bilmediğim bir teknolojiyle çalışırken Claude Code diğerlerinin yapmadığı bir şey yapıyor: sadece bir çözüm üretmiyor, gerekçesini açıklıyor ve alternatifleri gösteriyor.

Bu, öğrenme eğrisini önemli ölçüde kısaltıyor. Sadece kod almıyorum — o kodu ileride değerlendirebilmek ve sahiplenebilmek için gereken zihinsel modeli de kuruyorum.

Senaryo 4: Kod üzerinde akıl yürütmeye ihtiyaç duyduğumda — Codex veya Claude Code

Bazen darboğaz kod yazmak değil, onu anlamaktır. Tanımadığım bir kod tabanına adapte olurken, legacy kodu incelerken ya da önceki denemelerle çözülemeyen bir probleme takıldığımda, iş akışında nerede olduğuma göre Codex’e veya Claude Code’a başvuruyorum.

İkisi de sadece çıktı değil, gerekçe de sunuyor. Kod tabanının bütününe odaklandığımda — akışları izlerken, bağımlılıkları haritalarken — Codex daha uygun. Bir problemin zaten derinlerindeyken ve ipin ucunu kaçırmadan birçok kısıtı aynı anda bağlamda tutmam gerektiğinde ise Claude Code daha uygun.

Özet

Araçlar değişecek. Modeller güncellenecek. Ama problem türleri değişmeyecek.

Her senaryonun ne gerektirdiğini anladığında, doğru araç kendiliğinden ortaya çıkar. Asıl disiplin, anlamadığın kodu asla yayına almamaktır.