Bir ajan kurulumunu test edip başarı oranını ölçtüğünüzde elde ettiğiniz sayı, kullanıcının yaşadığı deneyimi anlatmıyor olabilir. Çünkü ortalama başarı ile her seferinde başarmak aynı şey değil.
IBM araştırmacılarının yayımladığı çalışma bu farkı rakama bağlıyor. GPT-4.1 kullanan bir ReAct ajanı görevlerde ortalama yüzde 77,4 başarı gösteriyor; ancak aynı görevi beş kez bağımsız olarak çalıştırdığınızda beşinde birden başarılı olduğu görevlerin oranı yalnızca yüzde 53.
Aradaki 24,4 puan, çalışmanın tutarlılık açığı dediği şey. Bu rehber o açığın nereden geldiğini, nasıl ölçüldüğünü ve nasıl daraltıldığını anlatıyor. Anlatılan yöntem belirli bir araca bağlı değil; ölçüm mantığı her ajan kurulumunda aynı şekilde uygulanabiliyor.
Neden aynı görev farklı sonuçlanıyor
Sebep modelin karar verme biçiminde. Bir dil modelinin kararları olasılık dağılımlarından çıkıyor ve o dağılımın şekli her adımda aynı değil.
Dağılım "keskin" olduğunda olasılık tek bir seçenekte yoğunlaşıyor ve sonuç denemeden denemeye değişmiyor. "Düz" olduğunda ise birkaç seçenek birbirine yakın olasılık taşıyor ve küçük dalgalanmalar sonucu değiştirebiliyor.
- Keskin dağılım: aynı adım her çalıştırmada aynı kararla sonuçlanıyor.
- Düz dağılım: karar, platform düzeyindeki küçük oynamalara açık hâle geliyor.
- Sıcaklık sıfır bile bunu tamamen ortadan kaldırmıyor.
- Bir görevdeki tek bir düz adım, bütün çalıştırmanın sonucunu değiştirebiliyor.
Bu dağılım farkı ajan kurulumlarında özellikle önemli, çünkü bir ajan tek bir karar vermiyor. Onlarca adımın her birinde bir seçim yapıyor ve bu seçimlerden yalnızca birinin düz dağılımlı olması bütün zinciri başka bir yola sokmaya yetiyor.
Sıcaklık sıfır neden yetmiyor
Yaygın varsayım şu: sıcaklığı sıfıra çekersen model belirlenimci hâle gelir. Pratikte böyle olmuyor.
Düz bir dağılımda iki seçeneğin olasılığı birbirine çok yakın olduğunda, altyapı düzeyindeki küçük farklar bile hangisinin seçileceğini değiştirebiliyor. Yani belirlenimsizlik yalnızca örnekleme ayarından değil, kararın kendisinin ne kadar net olduğundan geliyor.
Açık nerede görünür hâle geliyor
Tutarlılık açığı laboratuvarda değil üretimde ortaya çıkıyor ve bunun bir sebebi var: test ederken genellikle her görevi bir kez çalıştırıyoruz.
Kullanıcı ise aynı şeyi tekrar tekrar yapıyor. Aynı raporu her hafta üreten, aynı formu her gün dolduran bir akışta ajanın bir seferlik başarısı hiçbir şey ifade etmiyor; önemli olan yüzüncü çalıştırmada da aynı sonucu vermesi.
- Tek seferlik test, düz dağılımlı adımları hiç görmeden geçiyor.
- Aynı görevin farklı çalıştırmalarında farklı araçlar seçilebiliyor.
- Bir adımda değişen karar, sonraki bütün adımları başka bir yola sokuyor.
- Kullanıcı bunu "bazen çalışıyor" diye tarif ediyor ve bu en zor hata sınıfı.
Pass^k nedir
Çalışmanın önerdiği ölçüt burada devreye giriyor. Pass^k, bir ajanın k bağımsız denemenin hepsinde başardığı görevlerin oranını gösteriyor.
| Ölçüt | Ne söylüyor | Bakış açısı |
|---|---|---|
| Mean@k | Ortalama başarı oranı | Nötr |
| Pass@k | En az bir denemede başardı | İyimser |
| Pass^k | Bütün denemelerde başardı | Karamsar |
Yazarların vurgusu net: Pass^k, Pass@k değil. İkincisi "en az biri tutarsa yeter" diyen iyimser çerçeve; birincisi "hepsi tutmak zorunda" diyen karamsar çerçeve. Kullanıcı aynı sorguyu tekrarladığında yaşadığı şey ikincisine değil birincisine benziyor.
Rakamı yorumlamak
Yüzde 77,4 ile yüzde 53 arasındaki fark, tek bir görevdeki başarısızlıktan gelmiyor. Beş denemenin hepsinde tutması gereken bir görevde, tek bir adımın kararsız olması bütün seriyi bozmaya yetiyor.
Basit bir hesap bunu gösteriyor: her adımı yüzde 95 güvenilirlikle geçen yirmi adımlık bir görev, tek çalıştırmada makul görünüyor ama beş çalıştırmanın beşinde birden tutma ihtimali hızla düşüyor. Adım sayısı arttıkça tutarlılık üstel olarak zorlaşıyor ve bu, tek bir adımı iyileştirmenin neden yeterli olmadığını da açıklıyor.
Bu yüzden uzun ajan görevlerinde tutarlılık, model kalitesinden çok görev tasarımının konusu oluyor. Aynı işi on adımda yapan bir akış, yirmi adımda yapan bir akıştan daha güvenilir olabiliyor.
Hangi ölçüt hangi işe uyar
Ölçüt seçimi ürünün doğasına bağlı. İnsan denetimi olan bir akışta Pass@k mantıklı olabiliyor; kullanıcı beğenmediği çıktıyı tekrar üretebiliyor.
Otomatik çalışan bir hatta ise Pass^k asıl ölçüt. Gece çalışan bir ajanın beş denemeden dördünde başarılı olması, sabah beş işten birinin bozuk gelmesi demek ve bu oran çoğu iş akışı için kabul edilemez.
Bir ürün ekibi için buradan çıkan ilk iş, hangi ölçütü raporladığını netleştirmek. Ortalama başarıyı raporlayıp güvenilirlik iddiasında bulunmak, iki farklı soruyu aynı sayıyla cevaplamak anlamına geliyor.
Açık nasıl tespit ediliyor
Çalışmanın önerdiği sistem iki aşamalı: önce teşhis, sonra düzeltme.
Teşhis tarafında bir tutarlılık çözümleyici çalışıyor. Bu bileşen, karar adımlarını kontrollü bir yeniden örneklemeyle tekrar oynatıyor ve hangi adımların kararsız olduğunu buluyor.
- Tek bir çalıştırma kaydı yetiyor; görevi baştan çalıştırmaya gerek yok.
- Doğru cevabın bilinmesi gerekmiyor, yani etiketli veri şart değil.
- Yalnızca hedeflenmiş model çağrıları yapılıyor, tam tekrar değil.
- Bu sayede maliyet, görevi beş kez çalıştırmaya kıyasla çok düşük kalıyor.
Kararsız adımlar genelde nerede oluyor
Teşhis çalıştırıldığında kararsız adımların rastgele dağılmadığı görülüyor. Belirli iş türleri diğerlerinden çok daha fazla düz dağılım üretiyor.
En sık rastlanan yer araç seçimi. Elinizde benzer işleri yapan iki araç varsa, model hangisini çağıracağına dair net bir tercih geliştiremiyor ve seçim çalıştırmadan çalıştırmaya değişiyor.
İkinci sık yer, işin bittiğine karar verme anı. Bitiş koşulu açıkça tanımlanmadığında model kendi eşiğini belirliyor ve o eşik her seferinde aynı yere düşmüyor.
Düzeltme nasıl çalışıyor
İkinci aşama işaretlenen adımları yeniden kullanılabilir yönergelere çeviriyor. Bu yönergeler çıkarım anında isteme ekleniyor.
Sonuç ölçülmüş durumda: aynı görevde Pass^5 değeri 16 puan yükseliyor ve bunu yaparken Mean@5 doğruluğu korunuyor. Yani ortalama başarı düşmeden tutarlılık artıyor.
Toplamda tutarlılık açığı 24,4 puandan 12 puana iniyor. Açık kapanmıyor ama yarıya düşüyor ve bu, otomatik bir hatta belirgin bir fark yaratıyor. Günde yüz kez çalışan bir akışta bu iyileşme, elle düzeltilmesi gereken iş sayısını doğrudan azaltıyor.
Yöntemin mantığı da buradan anlaşılıyor: model kararsız kaldığı yerde ona bir tercih veriyorsunuz. Yönerge, düz dağılımı yapay olarak keskinleştiriyor; modelin bilmediği bir şeyi öğretmiyor, bildiği iki şey arasında bir yön gösteriyor.
Kendi kurulumunuzda nasıl ölçersiniz
Bu ölçümü yapmak için özel bir araca ihtiyaç yok; gereken şey disiplin.
- Sabit bir görev kümesi belirleyin, on beş görev bile yeterli.
- Her görevi beş kez bağımsız olarak çalıştırın, aralarında durum taşımayın.
- Ortalama başarıyı değil, beş denemenin beşinde başaranların oranını kaydedin.
- İki sayı arasındaki farkı yazın; tutarlılık açığınız o.
İlk ölçümde çıkan fark çoğu ekibi şaşırtıyor. Ortalama oran raporlanmaya uygun görünürken, tutarlılık oranı ürünün gerçekte ne kadar güvenilir olduğunu gösteriyor.
Ölçüm disiplininin bir faydası daha var: değişikliklerin etkisini görünür kılıyor. İstem değiştirdiğinizde ortalama başarı aynı kalırken tutarlılık düşebiliyor ve tek sayıya bakan bir ekip bunu fark etmiyor.
Ölçümü neyin bozduğuna dikkat
Tutarlılık ölçerken sık yapılan bir hata, çalıştırmalar arasında durum taşımak. Aynı oturumda beş kez çalıştırırsanız model önceki denemeyi bağlamında görüyor ve sonuç yapay olarak tutarlı çıkıyor.
İkinci tuzak, dış dünyanın değişmesi. Bir ajan bir API'den veri çekiyorsa ve o veri iki çalıştırma arasında değiştiyse, tutarsızlığın kaynağı model değil ortam oluyor.
Bu yüzden ölçümü sabit bir ortamda yapmak gerekiyor: aynı girdiler, aynı araç yanıtları, aralarında taşınmayan bağlam. Aksi hâlde ölçtüğünüz şey ajanın tutarlılığı değil, dünyanın değişkenliği oluyor.
Sık yapılan üç hata
Bu ölçümü ilk kez kuran ekiplerde tekrar eden birkaç yanlış var ve üçü de sonucu olduğundan iyi gösteriyor.
- Beş denemeyi aynı oturumda çalıştırmak: model önceki denemeyi görüyor ve tutarlılık yapay olarak yükseliyor.
- Kolay görevlerden oluşan bir küme seçmek: açık kapanmış gibi görünüyor ama ölçülen şey görevin kolaylığı.
- Başarı ölçütünü esnek tutmak: "kabaca doğru" sayılan çıktılar, aslında farklı olan sonuçları aynı kefeye koyuyor.
- Ölçümü yalnızca bir kez yapmak: tutarlılık model güncellemesiyle değişiyor, tek ölçüm eskiyor.
Dördüncü madde en çok ihmal edileni. Sağlayıcı modeli güncellediğinde dağılımlar değişiyor ve daha önce keskin olan bir adım kararsız hâle gelebiliyor; ölçümü tekrarlamadan bunu göremezsiniz.
Nerede durmalı
Tutarlılık açığını sıfırlamak hedef değil; olasılıksal bir sistemde bu mümkün değil. Hedef, açığı ürünün kaldırabileceği seviyeye indirmek.
Bu seviye de işe göre değişiyor. Bir metin özetleme akışında beş denemeden dördünün tutması sorun değil; bir ödeme iadesi başlatan akışta aynı oran kabul edilemez. Ölçütü belirleyen şey modelin kalitesi değil, hatanın bedeli. Bu eşiği yazılı hâle getirmek, ajanı üretime almadan önce verilmesi gereken kararların en önemlisi.