<

Claude Code ile Tanışma: Terminalde Yaşayan Yazılım Asistanı

Geçen hafta ekipten bir arkadaş, iki gündür uğraştığı bir hatayı öğle arasında Claude Code'a verdi: "Şu raporda tarih filtresi bazen boş dönüyor, sebebini bul." Asistan dosyaları gezdi, ilgili sorguyu buldu, zaman dilimi dönüşümündeki hatayı teşhis etti, düzeltmeyi yazdı, mevcut testleri koşturdu, üstüne bir de eksik test ekledi. Arkadaş yemekten dönmeden iş bitmişti. Masada kısa bir sessizlik oldu; sanırım hepimiz aynı şeyi düşünüyorduk.

Anthropic'in bu ay tanıttığı Claude Code'u ilk günden beri ekipçe deniyoruz. Baştan söyleyeyim: bu bir kod tamamlayıcı değil. Terminalinizde yaşayan, iş verilen ve o işi uçtan uca götürmeye çalışan bir asistan. "Şu hatayı bul ve düzelt" diyorsunuz; dosyaları okuyor, değişikliği yapıyor, testi koşuyor, sonucu raporluyor. Farkı anlamak için son birkaç yılın araçlarına kısaca bakmak lazım.

Satır öneren araçlardan iş bitiren araçlara

IDE eklentileriyle hepimiz haşır neşiriz: siz yazarsınız, araç satır önerir, kabul eder veya etmezsiniz. Direksiyon her an sizdedir. Claude Code ise agentic — vekâlet alan — bir araç: ona satır değil hedef veriyorsunuz. Hedefi alıyor, dosya sistemini geziyor, komut çalıştırıyor, çıktıyı okuyor ve bir sonraki adıma kendisi karar veriyor. Yaptığı değişiklik testi kırdıysa bunu görüyor ve düzeltmeyi deniyor.

Bu döngü — düşün, yap, doğrula, gerekirse geri dön — bir insan geliştiricinin çalışma şekline ilk kez bu kadar yaklaşıyor. Dürüst olayım, ilk birkaç gün izlemesi tuhaf bir his: terminalde birinin çalıştığını görüyorsunuz ama klavyede kimse yok.

Terminalde yaşaması da tesadüf değil bence. Terminal, geliştirme dünyasının ortak paydası: build script'leri, git, testler, sunucu bağlantıları hep orada. Asistanın IDE'ye değil kabuğa oturması, onu belli bir editörün eklentisi olmaktan çıkarıp mevcut iş akışının içine, olduğu gibi yerleştiriyor. Bizim gibi projeden projeye farklı yığınlarla çalışan ekipler için bu, sanıldığından büyük bir avantaj.

İki haftanın saha defteri: nerede parlıyor?

En çarpıcı sonucu legacy bir PHP projesinde aldık. Yıllardır ertelenen deprecated fonksiyon temizliği vardı; sıkıcı, riskli, kimsenin gönüllü olmadığı türden bir iş. Claude Code'a projeyi ve hedefi verdik: taradı, değiştirdi, testleri koştu, elden geçmesi gereken birkaç şüpheli noktayı da ayrıca raporladı. Bizim tahminimizle insan eliyle bir haftayı bulacak iş, yarım günde inceleme aşamasına geldi. Onda bir zaman diyorum ve abartmıyorum.

Tanımadığı kod tabanını özetlemesi de çok kıymetli. Devraldığımız projelerde "bu sistem ne yapıyor, nereden başlasak" sorusunun cevabı normalde günler sürer; asistan yarım saatte gayet kabul edilebilir bir mimari özet çıkarıyor. Kapsamlı ama mekanik refactor işleri (toplu adlandırma, dosya taşıma, bir imza değişikliğinin tüm çağrılara yayılması), test yazımı ve "bu bug nerede?" avcılığı da güçlü olduğu alanlar. Ortak nokta şu: çok dosyaya dokunmak gereken, sabır isteyen işler.

Test yazımı örneğini biraz açayım, çünkü rakam çarpıcı. Test kapsamı %20'lerde sürünen orta boy bir serviste, asistana modül modül "mevcut davranışı testle sabitle" görevi verdik. İki günde kapsam %70'i geçti. Yazılan her testi gözden geçirdik elbette — birkaçı anlamsızdı, elendi — ama iki yılda birikmeyen şeyin iki günde birikmesi, açıkçası masada küçük çaplı bir sarsıntı yarattı.

Nerede dizginleri elimizde tutuyoruz?

Büyük mimari kararlarda insan yönlendirmesi hâlâ şart. "Bu modülü nasıl bölelim" tipi sorularda makul ama vasat öneriler alıyorsunuz; bağlamı — müşterinin üç yıl sonraki planını, ekibin alışkanlıklarını, o modülün siyasi tarihini — bilmiyor çünkü. Uzun görevlerde ara sıra hedeften saptığı da oluyor; kırk dakikalık bir işin ortasında kendini gereksiz bir yan uğraşa kaptırabiliyor. Ara ara dönüp bakmak, gerekirse yön düzeltmek gerekiyor.

Bir de yetki meselesi var ki bence en önemlisi. Asistana hangi komutları çalıştırabileceğini söyleyebiliyorsunuz; biz ilk gün sınırları çektik. Silme komutları yasak, uzak depoya push yasak, üretim ortamına dokunan her şey yasak. Bu paranoya değil, basiret. (Asistan kötü niyetli olduğundan değil; yanlış anlaşılmış bir talimatın verebileceği zarar, aceleci bir stajyerinkinden farksız.)

Nerede kullanmadığımızı da söyleyeyim ki tablo dürüst olsun. Tek satırlık düzeltmelerde, ne yapılacağını zaten bildiğiniz ufak işlerde asistana derdinizi anlatmak, işi yapmaktan uzun sürüyor; klavye hâlâ daha hızlı. Müşteriye ait hassas kod tabanlarında da gizlilik koşullarını netleştirmeden asistan çalıştırmıyoruz — bu teknik değil hukuki bir karar ve müşteriyle açık açık konuşulması gerekiyor. Araç ne kadar parlaksa, "her yerde kullanalım" refleksi o kadar tehlikeli.

Kod incelemesi kutsal kalıyor

Ekip akışımızda değişmeyen tek kural bu: asistanın ürettiği değişiklik de tıpkı insan yazmış gibi kod incelemesinden geçiyor. Hatta ilk haftalarda daha da titiz bakıyoruz, çünkü asistanın hataları insan hatalarından farklı desenlerde geliyor — çok özgüvenli, çok düzgün görünümlü, ama bazen bağlamı ıskalayan değişiklikler. İnceleyen kişinin "kod güzel görünüyor" refleksine teslim olmaması gerekiyor.

Verimlilik kazancını en net gördüğümüz yer, "başlama maliyeti" yüksek işler oldu. Her ekipte vardır: kimsenin dokunmak istemediği bakım işleri, yıllardır biriken küçük borçlar, "bir ara yapılacaklar" listesi. O liste artık sohbet mesafesinde. "Şunu topla, şunu güncelle, şuna test yaz" deyip başka işinize bakabiliyorsunuz.

Ekipteki moral etkisini küçümsemeyin; angaryanın azalması, iyi mühendisleri iyi işlere odaklıyor.

"Peki junior geliştiriciler ne olacak?" sorusu bu haftalarda ekipte epey tartışıldı. Benim şimdilik vardığım yer şu: angarya işler asistanlara kayınca junior'ın öğrenme merdiveninin ilk basamakları değişiyor ama yok olmuyor. Kod okuma, çıktı denetleme ve doğru soru sorma becerileri öne çıkıyor. İşe yeni başlayan arkadaşlara artık ilk haftadan asistanla çalışma disiplinini de öğretiyoruz; çünkü denetlemeyi bilmeden üretmeye alışmak, bu dönemin en sinsi kısa devresi. Merdivenin şekli değişti, tırmanma zorunluluğu değişmedi.

Öneriden vekâlete

Perspektif için şöyle özetliyorum: yapay zekânın yazılım geliştirmedeki rolü 2023'te öneriydi (satır tamamlama), 2024'te araç kullanımı oldu (sohbetle kod üretme, tek dosyalık işler). 2025'te ise vekâlet dönemine giriyoruz: hedef verilen, çok adımlı işi kendi başına yürüten asistanlar. Claude Code bu dönemin ilk olgun örneği bence; son örneği olmayacağı da açık.

Bunun ekipler için anlamı şu: fark artık "yapay zekâ kullanıyor musunuz" sorusunda değil, "ona iş vermeyi öğrendiniz mi" sorusunda. İyi hedef tanımlayan, sınırları doğru çizen, çıktıyı hızlı denetleyen ekipler arayı açacak. Biz kendi süreçlerimizi buna göre ayarlamaya başladık bile; müşteri projelerinde de bu araçları nerede devreye alıp nerede almayacağımızı netleştiriyoruz. Kendi ekibinizde bu dönüşümü nasıl kurgulayacağınızı konuşmak isterseniz bize uğrayın — kahve bizden, saha notları da.

📅 Yayınlanma:  ·  Yakup Zengin