Yapay Zeka ile Daha Nitelikli Kodu Daha Yavaş Yazmak Mümkün mü?
Yapay zeka (AI) destekli kodlama hakkında yaygın bir yanılgı, amacın mümkün olan en hızlı şekilde düşük kaliteli kod üretmek olduğudur. Ancak büyük dil modellerinin (LLM) esnekliği, tam tersi bir yaklaşımı da mümkün kılıyor: daha nitelikli kodu daha yavaş ama daha bilinçli bir şekilde yazmak. LLM’lerin sadece ‘kalitesiz kod fışkırtma araçları’ olmadığını gösteren bu bakış açısı, kod geliştirme süreçlerine yeni bir soluk getiriyor.
Büyük Dil Modellerinin (LLM) Hata Tespitindeki Gücü
LLM ajanları, kod tabanlarındaki hataları bulma konusunda olağanüstü yeteneklere sahiptir. Mythos gibi araştırmalar, bu ajanların bir kod tabanına defalarca uygulandığında, geliştiricilerin başa çıkmakta zorlanacağı kadar çok hata tespit edebildiğini göstermiştir. Yalnızca Mythos değil, Anthropic ve OpenAI gibi şirketlerin en yeni halka açık modelleri de incelenmemiş bir kod tabanında bol miktarda hata bulmak için yeterince yeteneklidir. Sorun genellikle hataları ‘bulmak’tan ziyade, onları önceliklendirmek ve doğrulamaktır.
Çoklu Model Yaklaşımıyla Güvenilir Hata Ayıklama
Hataların güvenilir bir şekilde doğrulanması için birden fazla modelin kullanılması, halüsinasyonları veya yanlış pozitifleri azaltmanın anahtarıdır. Bu içgörüden yola çıkarak geliştirilen bir Claude yeteneği, bir PR (Pull Request) incelemesinde Claude alt-ajanını, Codex’i ve Cursor Bugbot’u kullanarak kritik/yüksek/orta/düşük seviyede sıralanmış hataları tespit etmeyi içerir. Tüm bulgular tamamlandıktan sonra, geliştirici kendi araştırmasını yaparak yanlış pozitifleri eler ve nihai bir rapor oluşturur. Bu yaklaşıma, KISS (Keep It Simple, Stupid) ve DRY (Don’t Repeat Yourself) prensipleri, erişilebilir HTML/JSX yazımı veya SQL sorguları için doğru indekslerin kullanımı gibi kişisel ‘hata’ tanımlamaları eklenebilir. Bu yöntemle, bir PR’da sayısız hata bulunur ve yanlış pozitif oranı sıfıra yakındır; güvenlik açıklarından performans sorunlarına, hatta ‘bu yorum yanıltıcı’ gibi düşük seviyeli hatalara kadar geniş bir yelpaze kapsanır.
Etkili Bir Hata Giderme İş Akışı
- Bir ajan yardımıyla kritik ve yüksek öncelikli hatalar düzeltilir (geliştiricinin rehberliği eşliğinde), kritik/yüksek hata kalmayana kadar tekrarlanır.
- Önemsiz görülen veya çözüm maliyeti yüksek olan yüksek/orta öncelikli hatalar atlanır.
- Tüm yaklaşımın yanlış olduğunu gösteren çok sayıda kritik hata varsa, PR terk edilir.
‘Yavaş Kodlama’ Felsefesi ve Codebase Sağlığı
Bu teknik, geliştirme hızını doğrudan artırmasa da, genellikle PR’dan önce var olan hataları ortaya çıkarır ve mevcut kod tabanının genel sağlığını iyileştirmeye yardımcı olur. Bu, çoğu kişinin hayal ettiği ’10 kat üretkenlik’ vaat eden ‘hızlı kodlama’ stilinin aksine, daha yavaş ve tatmin edici bir süreçtir. Karmaşık bir mimarinin başarısızlık modlarını anlamak ve varsayımların nerede çöktüğünü görmek, kod tabanına derinlemesine nüfuz etmenin ve onu öğrenmenin en iyi yoludur. Bu yaklaşım, LLM’lerden önce de kaliteli kod yazmaya çalışan metodik ve kalite odaklı programcılar için adeta süper güçlendirilmiş bir versiyon sunar.
Daha Derinlemesine Anlayış için AI Destekli Sorgulama
AI ile kod yazmanın faydalarından şüphe duyanlar için bile, bu yöntem bir PR’ın nasıl çalıştığını ve nerede başarısız olabileceğini öğrenmek için ajanlara sorular sormayı, Mermaid şemalarıyla Markdown dokümanları oluşturmayı veya Matt Pocock’un ‘/grill-me’ yeteneğini kullanarak PR’ı baştan sona anlamayı teşvik eder. Ham kod satırı açısından daha ‘üretken’ olmayabilirsiniz veya tüm planınızın baştan yanlış olduğunu öğrenmek için çok fazla token harcayabilirsiniz. Ancak bu kodlama stili, bir sonraki kodlayıcı için her şeyi daha iyi hale getirmeye odaklanan, dikkatli, metodik ve kaliteye takıntılı programlamanın gelişmiş bir versiyonudur.
Kalite Odaklı Gelişime Yapılan Vurgu
Derin bir nefes alın, yavaşlayın ve bu tekniği deneyin. Belki de daha iyi kodu daha yavaş yazmaktan keyif alırsınız, zira bu yaklaşım sadece mevcut hataları düzeltmekle kalmaz, aynı zamanda kod tabanınızın gelecekteki sağlamlığını da teminat altına alır.

