Konuyu Açan
#1
Son zamanlarda küçük bir destek asistanı kurgularken takıldığım nokta model seçimi değil, ajanın hangi işlemleri kendi başına yapabileceği oldu. Örneğin kullanıcı “üyeliğimi iptal et” dediğinde ajanın doğrudan veritabanında kayıt silmesi hızlı, ama yanlış hesabı eşleştirme veya isteği yanlış yorumlama ihtimali de var.
Bana daha güvenli gelen akış şu:
Burada önemli ayrım, ajana veritabanının tamamına yazma yetkisi vermek yerine “üyeliği iptal et” gibi dar kapsamlı bir işlem sunmak. Böylece hem yetkiyi sınırlıyoruz hem de modelin ürettiği serbest SQL’i çalıştırma riskinden kaçınıyoruz. Tekrarlanan isteklerde aynı işlemin iki kez uygulanmaması için de işlem kimliğiyle idempotency kontrolü eklemek mantıklı.
Tabii her işlemde kullanıcıdan onay istemek de deneyimi hantallaştırabilir. Sizce düşük riskli işlemlerde ajanı doğrudan harekete geçirmek için hangi sınırları koymak gerekir?
Bana daha güvenli gelen akış şu:
- Önce ajan yalnızca gerekli kayıtları okuyup isteği ve etkilenecek hesabı netleştirsin.
- Yapacağı değişikliği çalıştırmadan önce kısa bir özet ve onay adımı göstersin.
- Onaydan sonra sadece izin verilen işlemi, sınırlandırılmış bir servis üzerinden uygulasın; her adım da denetim kaydına yazılsın.
Burada önemli ayrım, ajana veritabanının tamamına yazma yetkisi vermek yerine “üyeliği iptal et” gibi dar kapsamlı bir işlem sunmak. Böylece hem yetkiyi sınırlıyoruz hem de modelin ürettiği serbest SQL’i çalıştırma riskinden kaçınıyoruz. Tekrarlanan isteklerde aynı işlemin iki kez uygulanmaması için de işlem kimliğiyle idempotency kontrolü eklemek mantıklı.
Tabii her işlemde kullanıcıdan onay istemek de deneyimi hantallaştırabilir. Sizce düşük riskli işlemlerde ajanı doğrudan harekete geçirmek için hangi sınırları koymak gerekir?