Tüm makaleler

Hata zincirin sonunda değil, üretildiği adımda görünmeli

  • Agentic AI
  • Üretim

Bir ajan zincirinde en pahalı hata yanlış çıktı üretmek değil. Yanlış çıktının doğru sanılıp bir sonraki adıma geçmesi. Zincir uzadıkça hata büyüyor ve nereden çıktığı görünmez oluyor.

Üretimde bunu tek bir kuralla bağladık: hiçbir adım, çıktısı doğrulanmadan bir sonraki adıma veri geçiremiyor.

Serbest metin arayüz değildir

Ajanlar iç sistemlere erişirken en yaygın hata, LLM'in ürettiği metni doğrudan yorumlamak. Model "servis yeniden başlatıldı" diyor, kod bu cümleyi ayrıştırmaya çalışıyor. Model bir gün "servisi yeniden başlattım" derse akış kırılıyor.

Sorun modelin tutarsızlığı değil, aradaki sözleşmenin olmaması. Serbest metnin ne alanları belli ne tipleri.

Her adımın çıktısı için bir şema tanımlayıp modeli ona uymaya zorluyoruz:

{
  "action": "restart_service",
  "target": { "host": "APP-014", "service": "spooler" },
  "confidence": 0.86,
  "requires_approval": false
}

Artık kodun yorumlayacağı bir cümle yok. action bilinen bir kümeden geliyor, target doğrulanabiliyor, confidence bir eşikle karşılaştırılabiliyor.

Şemaya uymak yetmiyor

Yapısal olarak geçerli ama anlamsız bir çıktı da mümkün: var olmayan bir sunucu adı, o cihazda bulunmayan bir servis.

Üç katman ayrı ayrı iş görüyor.

Yapısal doğrulama alanların varlığına ve tiplerine bakıyor. Ucuz ve deterministik; başarısız olursa modele hatayı geri verip tekrar denetiyoruz.

Anlamsal doğrulama host envanterde var mı, service o cihazda tanımlı mı diye soruyor. Burada model değil, sistemin kendi kayıtları karar veriyor.

Yetki doğrulaması ajanın bu eylemi bu cihazda yapmaya yetkili olup olmadığına bakıyor. Bu kontrol asla modele bırakılmıyor - sözleşmenin dışında, çağrı katmanında duruyor.

Üçünü birden geçmeyen çıktı bir sonraki adıma geçmiyor.

Eşik, güvenin nerede bittiği

confidence alanı tek başına anlamsız. Modelin kendi tahmini, kalibre değil. Anlamlı olan onu bir eşiğe bağlamak.

Hata maliyeti düşük işlerde eşik düşük tutulabiliyor - log toplama yanlış çalışırsa maliyeti tekrar çalıştırmak. Maliyeti yüksek işlerde, konfigürasyon değişikliği gibi, eşiğin altındaki her çıktı insana düşüyor.

Bu, insan onayını bir yavaşlama noktası olmaktan çıkarıp maliyete göre açılıp kapanan bir vanaya çeviriyor.

Ölçmediğiniz şeyi gevşetemiyorsunuz

Şema doğrulaması hatayı yakalıyor ama tek başına iyileştirme getirmiyor. Bunun için hangi adımın ne sıklıkta düştüğünü bilmek gerekiyor.

Adım başına üç şey tutuyoruz: doğrulama başarısızlık oranı, tekrar deneme sayısı, insana düşme oranı.

Üçüne birlikte bakınca sorunun prompt'ta mı şemada mı olduğu ayırt edilebiliyor. Model sürekli aynı alanda takılıyorsa sorun genelde prompt'ta değil, şemanın o alandan ne beklediğinin belirsiz kalmasında.


Ajan sistemlerini üretime taşırken işe yarayan şey daha iyi prompt değil, daha dar sözleşmeler oldu. Model ne kadar serbest bırakılırsa hata o kadar geç görünür hale geliyor.

Diğer makaleler