Yapay Zeka Ajanları için PRG Deseni
Yapay zeka ajanları 25 yıllık bir hatayı tekrarlıyor.
90'larda web formlarının büyük bir hatası vardı. Bir kullanıcı sipariş verir, sayfayı yeniler ve tarayıcı siparişi tekrar gönderirdi. Bu durum, iki kez ödeme alınmasına ve bir öfkeli müşteriye yol açardı.
Çözüm, Post/Redirect/Get (PRG) deseniydi. Şöyle çalışır:
- Kullanıcı veri göndermek için bir POST isteği gönderir.
- Sunucu veriyi işler.
- Sunucu yeni bir URL'ye yönlendirme (redirect) gönderir.
- Tarayıcı sonucu göstermek için bir GET isteği gerçekleştirir.
Kullanıcı sayfayı yenilerse, sadece GET isteğini tekrarlar. Tehlikeli olan POST isteği ortadan kalkmış olur.
Yapay zeka ajanları bu hatayı geri getirdi.
Bir ajan, bir karttan ödeme almak veya bir kayıt oluşturmak için bir araç (tool) çağırdığında, ağ bağlantısı kopabilir. Ajan, işlemin gerçekleşip gerçekleşmediğini bilemez. Tekrar dener. Şimdi müşteriden iki kez ödeme alınmış olur.
Bunu idempotency anahtarları kullanarak çözebilirsiniz. Bir idempotency anahtarı, bir yönlendirme gibi davranır. "İşi yapma" ile "sonucu gösterme"yi birbirinden ayırır.
Ajanlar için desen şöyle görünmelidir:
- Ajan, ilk denemeden önce benzersiz bir anahtar oluşturur.
- Kullanıcı ID'si ve sepet ID'si gibi kararlı bir değer kullanır.
- Bu anahtarı her araç çağrısıyla birlikte gönderir.
- Sunucu anahtarı kontrol eder. Eğer anahtarı tekrar görürse, işlemi iki kez çalıştırmak yerine önceki sonucu döndürür.
Uzun görevler için sadece bir anahtardan fazlasına ihtiyacınız vardır. Checkpointing (kontrol noktası oluşturma) yapmanız gerekir. Her adımda durumu (state) kaydetmelisiniz. Bu, bir yeniden başlatmanın kaldığı yerden devam etmesini sağlar.
Veri değiştiren her ajan aracı için şu kuralları izleyin:
- Her değiştirici (mutating) araç bir idempotency anahtarı kabul etmelidir.
- Anahtarı bir zaman damgasından (timestamp) değil, kullanıcı niyetinden (intent) türetin.
- Anahtarı ilk denemeden önce oluşturun.
- Her yeniden denemede aynı anahtarı tekrar kullanın.
- Uzun görevler için her ara adımı checkpoint edin.
Katman değişiyor, ancak mantık aynı kalıyor.
İsteğe bağlı öğrenme topluluğu: https://t.me/GyaanSetuAi
