Blog'a Dön
AICoding AgentsEvaluationEngineeringWorkflow

Kodlama Ajanlarını Değerlendirmek: Ölçeklenen Bir Değerlendirme Çerçevesi Kurmak

Umut Korkmaz2026-04-028 min read

Konuştuğum her ekip, kendi kod tabanı için hangi kodlama ajanının "en iyi" olduğunu bilmek istiyor. Dürüst cevap, ölçene kadar kimsenin bilmediği ve çoğu ekibin ölçmediği; çünkü ölçüm kulağa geldiğinden daha zor. Bir avuç özenle seçilmiş görevin ötesine ölçeklenen bir değerlendirme çerçevesi (rubric) kurmak gerçek emek ister; ama bir kez sahip olduğunuzda, gelecekteki her model sürümü, her yeni ajan, her iş akışı değişikliği tartışmak yerine değerlendirebileceğiniz bir şeye dönüşür.

Özenle Seçilmiş Demoların Tuzağı

Ekiplerin ajanları karşılaştırmadaki varsayılan yolu, aynı üç görevi her birinden geçirip bir kazanan ilan etmektir. Bu size neredeyse hiçbir şey söylemez. Görevler genellikle tercih edilen ajanın iyi yaptığı şeye göre seçilir. Görev dağılımı üretimle örtüşmez. Değerlendiren kişi görevleri seçen kişiyle aynıdır; dolayısıyla doğrulama yanlılığı (confirmation bias) baştan içine işlenmiştir.

Ciddi bir değerlendirme çerçevesi dağılımla başlar. Ajan, deponuzda gerçekte ne tür görevler alıyor? Küçük yüzeylerde hata düzeltmeleri. Birkaç dosyaya yayılan yeniden düzenlemeler (refactor). Kısa bir spesifikasyonla sıfırdan yeni özellikler. Mevcut davranışı sınayan testler. YAML ve shell betikleri okumayı gerektiren altyapı değişiklikleri. Bu kategoriler eşit değildir, aynı becerileri gerektirmez ve hiçbir ajan hepsinde aynı anda güçlü değildir.

Neyi Ölçmeli

Kullandığım değerlendirme çerçevesinin beş ekseni var ve her biri bağımsız olarak puanlanıyor. Bunları tek bir sayıya indirgemek asıl sinyali gizler.

Doğruluk (correctness), değişikliğin istenen şeyi yapıp yapmadığıdır. Görev başına ikili (binary) bir değerdir ve görev iyi belirtilmişse puanlaması kolaydır.

Minimallik (minimality), değişikliğin alakasız düzenlemelerden kaçınıp kaçınmadığıdır. Ajanlar genellikle aşırıya kaçıp eski görünen yakın kodu yeniden yazar. Minimal bir yama incelemesi daha kolay ve sevk etmesi daha güvenlidir.

Uyum (adherence), değişikliğin depo kurallarına saygı gösterip göstermediğidir. Doğru kancaları (hooks), doğru günlükleyiciyi (logger), doğru klasör yapısını kullanmak. Bunu, deseni görecek kadar yama inceleyene dek fark edemezsiniz.

Doğrulama (verification), ajanın değişikliğin işe yaradığını yalnızca derlemenin geçtiğini değil, gerçekten kanıtlayıp kanıtlamadığıdır. Doğru testleri çalıştırdı mı? Değiştirdiği davranışı sınadı mı?

Maliyet (cost), değişikliğin ne kadar hesaplama ve zaman tükettiğidir. En ucuz doğru yama berabereleri kazanır, bazen de bozar.

Görev Dağılımından Örneklem Almak

Eksenler belirlendikten sonra, sıradaki soru hangi görevlerin çalıştırılacağıdır. Cevap "hepsi" değildir. Üretimi temsil eden katmanlı (stratified) bir örneklemdir.

Görevleri son birleştirilmiş (merged) PR'lardan çekiyorum, yukarıdaki kategorilere ayırıyorum ve her birinden bir avuç seçiyorum. Küçük hata düzeltmesi, orta ölçekli yeniden düzenleme, sıfırdan yeni özellik, yalnızca test değişikliği, altyapıya yakın değişiklik. Beş kategori, her biri beş görev, toplam yirmi beş. Bu, çerçeveyi yeniden çalıştırmayı acı verici hale getirecek kadar büyük olmadan desenleri görmek için yeterli.

Her görev kanonik bir spesifikasyon alır: ne yapılacak, ne yapılmayacak ve doğrulamanın nasıl işleyeceği. Spesifikasyon olmadan puanlama kayar; çünkü farklı değerlendiriciler "doğruluğu" farklı yorumlar.

Değerlendirmeyi Yürütmek

Tüm ajanlar aynı spesifikasyonu alır. El bebek gül bebek davranmak yok, kandırıp yönlendirmek yok. Bir ajan ilerlemek için açıklama (clarification) istiyorsa, bu uyum ekseninde aleyhine sayılır. Bir ajan konunun özünü kaçıran, kendinden emin bir yama üretirse, bu doğruluk aleyhine sayılır.

Mümkün olduğunda kör (blind) puanlama yaparım. İncelemeden önce dalları yeniden adlandırmak, ajan kimliğini inceleme yüzeyinden soyutlar. Aşırı gibi geliyor ama hâle etkileri (halo effect) gerçektir ve onları sıyırmak, yeterince tur sonra puanların sezgiyle daha iyi örtüşmesini sağlar.

Her Şeyi Değiştiren Sıkıcı Kısım

Değerlendirme çerçevesi yalnızca tekrarlanabilir olduğunda işe yarar. Bu da görevlerin sürüm kontrollü, spesifikasyonların kararlı, doğrulama betiklerinin otomatik ve puanlamanın yeni bir değerlendiricinin benzer sayılar almasını sağlayacak kadar belgelenmiş olması demektir. Bunların hiçbiri göz alıcı değil. Hepsi, iyi yaşlanan bir çerçeveyi tek model sürümünden sonra ölen bir kıyaslamadan ayıran şeydir.

Çerçeve kararlı olduğunda, gelecekteki her karşılaştırma ucuzdur. Pazartesi yeni bir model çıkar, o akşam aynı 25 görevi çalıştırırım ve salıya kadar yükseltmenin iş yüklerim için gerçek mi yoksa pazarlama mı olduğunu bilirim.

Çerçevenin Bana Aslında Söyledikleri

En tutarlı bulgu, ajanların genel yetenekten çok iş yükü kategorisine göre farklılaştığıdır. Bir ajan küçük hata düzeltmelerinde, bir başkası çok dosyalı yeniden düzenlemelerde, bir üçüncüsü yalnızca test değişikliklerinde kazanır. "Hangisi en iyi" çerçevesi yanlış sorudur. "Hangi görev için hangisi en iyi" doğru olandır.

İkinci bulgu, maliyetin çoğu ekibin fark ettiğinden daha önemli olmasıdır. %10 daha doğru ama 3 kat daha pahalı bir model, demo etkileyici görünse bile, toplu iş için genellikle yanlış seçimdir.

Küçük Başla, Sonra Büyütme Dürtüsüne Diren

5 kategoride 25 görevlik bir çerçeve çoğu ekip için yeterlidir. Cazibe onu 100 göreve, sonra 500'e büyütmek, ardından etrafına koca bir platform kurmaktır. Bu dürtüye direnin. Değer kararlılık ve tekrarlanabilirliktedir, kapsamda değil. Aylık çalıştırılan küçük bir çerçeve, hiç yeniden çalıştırılmayan büyük bir çerçeveden daha değerlidir.

Ajanlar değişmeye devam edecek. Çerçevenin amacı, kararlarınızın bu gürültüye bağlı kalmamasıdır.