CodeScene, yapay zekâ ajanlarının büyük ve eski bir kod tabanını hızlı ve düşük maliyetle yeniden düzenleyebildiğini gösteren bir vaka incelemesi yayımladı. Ajanlar üç hafta içinde Street Fighter III: 3rd Strike’ın 300 bin satırlık C sürümünü yeniden düzenledi ve 726 dosyada toplam 2.903 commit yaptı. Yapılan çalışma, yapay zekâ token kullanımı için yaklaşık 4 bin dolara mal oldu; bu, bir yazılımcının yaklaşık yarım aylık maaşına denk geliyor. Code Health puanı ise 5,6’dan kusursuz 10,0’a yükseldi.
Yapay zekâ bunu nasıl yaptı?
Ekip, kaliteyi nesnel biçimde ölçmek için CodeHealth MCP Server’ı kullandı. Sunucu her değişikliğe bir puan vererek ajanların yeniden düzenlemenin kod sağlığına katkıda bulunup bulunmadığını anlamasını sağladı. Bir tekrar oynatma izleme düzeneği, işlevselliğin korunduğundan emin olmak için oyunun her karedeki durumunu değişiklik öncesi ve sonrasında karşılaştırdı. Ajanlar, yaygın Extract Function gibi kalıpların yanı sıra yalnızca başlangıç ve bitiş değerleri farklı olan döngülere yönelik Shared Index Range gibi yeni yöntemleri de içeren 22 yeniden düzenleme tarifinden oluşan bir kılavuz öğrendi.
Uzmanlar ne düşünüyor?
LinkedIn’deki tepkiler ikiye ayrıldı. CTO Mats Iremark gibi bazıları sonucu “neredeyse hile gibi” diye nitelendirerek verimlilikteki büyük artışa dikkat çekti. Teknoloji lideri Konrad Otrębski gibi diğerleri ise çalışmanın kapsamını sorguladı; bunun üretim sisteminde değil, açık kaynaklı bir oyunda yapıldığını belirterek değişikliklerin tek ve devasa bir pull request’te mi, yoksa daha küçük birçok istekte mi birleştirildiğini sordu. CodeScene mühendisleri, değişikliklerin bir fork üzerinden 54 pull request ile birleştirildiğini söyledi.
Neden önemli
Bu çalışma, tipik bir yazılımcı için yapay zekânın normalde aylar sürebilecek büyük ölçekli kod temizliği işlerini otomatikleştirebileceğini ve eski kodlarla çalışmanın maliyetini ve riskini azaltabileceğini gösteriyor. Ancak sonuç, güvenilir bir doğruluk kontrolüne sahip olunmasına bağlı; gerçek dünyadaki birçok projede böyle bir kontrol bulunmuyor.