Yapay Zeka Kodlama Ajanları Neden Başarısız Oluyor: Dosyalar ve Satırlar Arasındaki Kritik Boşluk
Yapay zeka kodlama ajanları yazılım hatalarını çözme konusunda giderek daha yetenekli hale gelse de, yeni bir çalışma bu ajanların önemli bir "yerelleştirme" (localization) sorunu yaşadığını ortaya koyuyor. Devasa bir kod tabanı içinde doğru dosyaya gidebiliyorlar, ancak bir düzeltmeyi uygulamak için gereken belirli kod satırlarını belirlemekte sıklıkla başarısız oluyorlar.
SWE-Explore ile Tanışın: Onarım Oranlarının Ötesine Geçmek
Tarihsel olarak, yapay zeka kodlama ajanlarının etkinliği tek bir ikili (binary) metrikle ölçülüyordu: ajan hatayı düzeltti mi, düzeltmedi mi? Bu yaklaşım, başarısızlığın arkasındaki "neden" sorusunu göz ardı ediyor. Başarısız bir onarım, ajanın kötü bir yama yazdığı anlamına gelebileceği gibi, ajanın ilgili mantığa hiç bakmadığı anlamına da gelebilir.
Bu kör noktayı gidermek için, aralarında Shanghai Jiao Tong Üniversitesi'nden bilim insanlarının da bulunduğu uluslararası bir araştırma ekibi SWE-Explore'u geliştirdi. Geleneksel kıyaslama testlerinden (benchmarks) farklı olarak SWE-Explore, üst akış (upstream) arama aşamasını ayrıştırır. Bir ajanın, bir hata açıklamasını alıp sorunla gerçekten ilgili olan belirli kod bölümlerinden oluşan sıralı bir liste sunma yeteneğini değerlendirir. Veri seti oldukça kapsamlıdır; 203 açık kaynaklı proje ve on programlama dilindeki 848 görevden beslenmektedir ve Python en belirgin olanıdır (547 görev).
Hassasiyet Boşluğu: Dosya Başarısı ve Satır Başarısızlığı Karşı Karşıya
Çalışmanın en çarpıcı bulgusu, dosya düzeyindeki doğruluk ile satır düzeyindeki doğruluk arasındaki devasa farktır. Claude Code, Codex ve OpenHands gibi genel amaçlı ajanlara karşı test edildiklerinde sonuçlar oldukça düşündürücüydü:
- Dosya düzeyinde doğruluk: Ajanlar iyi performans gösteriyor, doğru kaynak dosyalarını başarıyla tanımlıyor ve bunları yüksek sıralarda yer alacak şekilde listeliyor.
- Satır düzeyinde doğruluk: Performans çöküyor. Genel kodlama ajanları, bir düzeltme için önemli olan gerçek kod satırlarının yalnızca %14 ile %19'unu kapsayabildi.
İlginç bir şekilde, yalnızca temel Büyük Dil Modelini (LLM) yükseltmek bu sorunu çözmüyor. OpenAI, Anthropic, Google, Moonshot veya Zhipu modellerinden hangisi kullanılırsa kullanılsın, örüntü aynı kalıyor: yüksek dosya yakalama oranları ancak çok düşük satır kapsamı. Araştırma, CoSIL gibi özelleşmiş sistemlerin, kodu birbirine bağlı yapı taşlarından oluşan bir ağ olarak ele alarak genel ajanlardan daha iyi performans gösterdiğini belirtti; bu da mimari değişikliklerin ham model gücünden daha önemli olduğunu gösteriyor.
Eşik Etkisi: Neden "Daha Fazla Okumak" Önemlidir
Through controlled ablation experiments, researchers discovered a "threshold effect" regarding context. By varying the amount of core code provided to the model (from 0% to 100%), they found that repairs do not improve linearly.
For easier tasks, there is a clear tipping point: if an agent sees less than 50% of the necessary core regions, the repair success rate stays near zero. A significant jump in successful repairs only occurs once the agent has access to between 50% and 75% of the required context. Crucially, the study found that providing irrelevant "noise" code does not hurt performance as much as missing the critical lines. The takeaway for developers is clear: in the era of AI agents, it is better to provide more context than to risk filtering out the essential details.
Key Takeaways
- Localization is the bottleneck: AI agents are proficient at finding the right file but struggle significantly to pinpoint the specific lines of code required for a fix.
- Model scaling isn't a silver bullet: Upgrading to more powerful LLMs does not fix the line-level accuracy gap; specialized architectural approaches like CoSIL are more effective.
- The 50% Context Rule: AI repair success follows a threshold pattern, requiring at least 50-75% of the relevant code context to be visible before successful fixes become probable.