Yapay zeka destekli kod inceleme araçlarına olan güvenin giderek arttığı bir dönemde, geliştiriciler arasında bir uyarı sesi yükseliyor. Popüler modellerden biri olan Claude’un sunduğu geri bildirimler, çoğu zaman ya "Harika görünüyor! 👍" gibi olumlu ifadelerle ya da kişisel tercihlere dayanan belirsiz önerilerden ibaret kalıyor. Bu durum, geliştiricilerin gerçekten önemli hataları kaçırmasına yol açabiliyor. ABD’li bir geliştirici olan Alex Hekman, bu soruna kalıcı bir çözüm getirmek amacıyla Tribunal adını verdiği yenilikçi bir araç geliştirdi.
Tribunal, Claude’un kod inceleme yeteneklerini tamamen yeniden şekillendiriyor. Geleneksel yaklaşımlardan farklı olarak, tek bir modelin "tarafsızca" değerlendirme yaptığı sistemi terk eden Hekman, çoklu ajanlar arasında gerçekleşen bir "mahkeme" süreci tasarladı. Bu sistemde, farklı roller üstlenen yapay zeka ajanları, kod değişikliklerini çeşitli açılardan irdeliyor ve birbirlerini denetliyor. Peki, bu sistem nasıl çalışıyor?
Tek bir modelin tarafsızlığına güvenmek yerine: Çelişkiyle gerçeğe ulaşmak
Tek bir yapay zeka modeline "eleştirel ol" talimatı vermek, çoğu zaman yetersiz kalıyor. Bu modeller, eğitim sürecinde insanlarla olumlu etkileşimde bulunmaya yönelik olarak optimize edildiğinden, doğal olarak "anlaşılabilir" yanıtlar üretme eğiliminde oluyor. Tribunal ise bu sorunu, farklı roller üstlenen ajanlar arasındaki çatışmayla çözmeyi hedefliyor.
Sistem, dört temel aşamadan oluşuyor:
🔥 1. Eleştirmen Ajanı
Her dosya için ayrı bir ajan oluşturuluyor ve bu ajan, değişiklikleri kasıtlı olarak olumsuz bir bakış açısıyla değerlendiriyor. Bu ajan, değişiklikleri yapan geliştiricinin deneyimsiz biri olduğunu varsayarak, sadece teknik doğruluğu, yarış durumlarını, bellek sızıntılarını, kenar durumları ve güvenlik açıklarını inceliyor. Stil ya da biçimsel tercihler yerine, kodun teknik sağlamlığına odaklanıyor.
🔗 2. Entegrasyon Ajanı
Her dosyadaki eleştirmen ajanları, modüller arası hatalara karşı kör kalabiliyor. Bu nedenle, sistemde ayrı bir entegrasyon ajanı bulunuyor. Bu ajan, fonksiyon imzalarındaki değişikliklerin çağrılarla uyumlu olup olmadığını, geri dönüş değerlerinin tüketiciler tarafından hala karşılanıp karşılanmadığını ve dosyalar arasında tutarlı olmayan varsayımları tespit ediyor.
⚖️ 3. Hakim Ajan
Her eleştiri için, hakim ajan devreye giriyor. Bu ajan, yapılan değişikliğin kasıtlı ve gerekçeli mi yoksa zayıf bir gerekçeye mi dayandığını inceliyor. Değişikliklerin arkasında yatan niyeti anlamak için dökümantasyon ve yorumlardan yararlanıyor — ki bu, eleştirmen ajanın aksine, kodun arkasındaki niyeti görmezden gelen bir yaklaşım.
📜 4. Karar Ajanı
Son aşamada, hakim ajanın savunamadığı ya da savunurken bile zayıf bulduğu noktalar, nihai rapora ekleniyor. Diğer tüm eleştiriler ise tam bir döküm olarak saklanıyor. Bu sayede, geliştiriciler sadece gerçekten önemli olan düzeltmeleri görüyor.
Çatışmanın gücü: Neden bu yöntem işe yarıyor?
Tribunal’in en önemli avantajlarından biri, tek bir modelin "tarafsız" olmaya çalışmasının aksine, farklı ajanların birbirlerini denetlemesiyle ortaya çıkan doğruluk payı. Eleştirmen ajan sadece saldırırken, hakim ajan sadece gerekçeleri değerlendiriyor. Bu çatışma, geleneksel yöntemlere kıyasla çok daha net ve dürüst bir sonuç ortaya çıkarıyor.
Dahası, eleştirmen ajan hiçbir şey bulamadığı durumlarda bile boş bir rapor sunabiliyor. Temiz bir kod değişikliğinin ardından, sistem zorunlu olarak hata bulmaya çalışmıyor. Bu da, yapay zekanın doğal olarak olumlu yanıt verme eğilimini ortadan kaldırıyor.
Ne tür çıktılar alınıyor?
Tribunal, inceleme sonuçlarını docs/reviews/ klasörüne detaylı bir rapor olarak kaydediyor. Ayrıca, düzeltmesi gereken unsurları ciddiyetine göre sıralayan ve her bir sorun için önerilen çözümleri içeren kısa bir sohbet özeti sunuyor. Raporlar, kritik, önemli ve küçük olarak sınıflandırılıyor.
Araç, taşınabilir bir yapıya sahip. Claude’un yerleşik Agent aracını kullanıyor ve herhangi bir harici çalışma zamanı ya da bağımlılık gerektirmiyor. Claude Code ve Claude Cowork platformlarında, Python, JavaScript/TypeScript, Go, Rust, Java gibi çeşitli dillerde çalışabiliyor. Yeni bir dil eklemek için sadece bir satırlık bir yapılandırmaya ihtiyaç duyuluyor.
Nasıl kullanabilirsiniz?
Tribunal, MIT lisansı altında ücretsiz olarak sunuluyor. Kurulum süreci oldukça basit:
- GitHub deposundan
SKILL.mddosyasını indirin. - Dosyayı
~/.claude/skills/klasörüne yerleştirin. - Herhangi bir depoda
/tribunalkomutunu kullanarak sistemi çalıştırın.
Hekman, bu yaklaşımın ne kadar etkili olduğunu merak ediyor ve kullanıcıların yorumlarını dört gözle bekliyor. "Tek bir modele sert olmasını söylemek, gerçekten agresif bir eleştiri sağlamaya yeter mi? Yoksa çoklu ajanların çatışması mı daha güvenilir sonuçlar veriyor?" sorularına yanıt arıyor. Aynı zamanda, aracın sınırlarını test etmek isteyen geliştiricileri de davet ediyor.
Yapay zeka destekli kod inceleme araçlarında yaşanan güven sorunu, geliştiricilerin kod kalitesini artırmak için yeni çözümler aramasına neden oluyor. Tribunal gibi yenilikçi yaklaşımlar, bu alanda önemli bir boşluğu doldurabilir. Teknolojinin hızla geliştiği günümüzde, kod incelemelerinin sadece "nazik" değil, aynı zamanda gerçekten etkili olması gerekiyor.
Yapay zeka özeti
Claude’un nazik kod incelemeleri yerine gerçekten güvenilir bir sistem arayan geliştirici, çoklu ajanlar arasında çatışma yaratan Tribunal aracını geliştirdi. Detaylar için tıklayın.