Microsoft Agent Framework'te insan onayıyla araç çağrısı (Human in the Loop)
Agent Framework'te ApprovalRequiredAIFunction ile bir aracı çalıştırmadan önce insan onayı istenebiliyor. Yazar, bu akışı konsol uygulamasında ve Microsoft Foundry'de barındırılan bir ajanda Responses protokolü üzerinden denemiş. Foundry tarafında onaylanan işlem gerçekleşse de çalıştırma hata ile bitiyor, bu da dikkat edilmesi gereken bir sorun.
Kilit noktalar
- Yan etkisi olan araçları ApprovalRequiredAIFunction ile sarmalayın; araç kodu değişmez.
- Ajan talimatlarında aracı doğrudan çağırmasını, onayı sohbette istememesini söyleyin.
- Konsolda ToolApprovalRequestContent alın ve CreateResponse ile yanıt oluşturun.
- Foundry'de onay isteği mcp_approval_request olarak gelir; yanıt mcp_approval_response ile verilir.
- Foundry'de previous_response_id (caresp_ kimliği) ile approval_request_id (mcpr_ kimliği) farklıdır, karıştırmayın.
- Onay sonrası yanıt failed dönebilir; durum kodu yerine çıktı öğelerini de kontrol edin.
Microsoft Agent Framework, yan etkisi olan bir aracın çağrılmadan önce durdurulup bir kişiden onay alınmasını yerleşik olarak destekliyor. Bu yazıda, bir restoran rezervasyonu aracı ApprovalRequiredAIFunction ile sarmalanarak onay gerektirir hale getiriliyor. Konsol uygulamasında çalıştırma, onay isteği içeren bir ToolApprovalRequestContent ile erken döner; uygulama kararı sorup yanıtı CreateResponse ile geri verir ve çalıştırma kaldığı yerden devam eder.
Aynı akış Foundry'de barındırılan bir ajanda Responses protokolü üzerinden de kurulmuş. Onay isteği mcp_approval_request öğesi olarak gelir ve yanıt mcp_approval_response ile, önceki yanıt kimliği previous_response_id ile birlikte verilir. Yazara göre onaylanan rezervasyon yapılıyor ama yanıt yine de status alanında failed olarak dönüyor; HTTP 200 olduğu için yalnızca durum koduna bakan istemciler bunu fark etmeyebilir. Sorun agent-framework deposunda 8577 numaralı kayıtla bildirilmiş.
Gerçek dünyada kullanımı
- Rezervasyon, ödeme veya e-posta gönderimi gibi geri alınması zor işlem yapan bir müşteri destek ajanı.
- Dosya silme ya da veritabanı güncellemesi yapan bir operasyon asistanı; her işlemden önce yönetici onayı.
- Foundry'de barındırılan ve HTTP üzerinden çağrılan bir ajan servisine onay adımı eklemek isteyen ekipler.
Neden önemli
Yan etkisi olan araçlar için onay akışı artık çerçevenin kendi mekanizmasıyla kurulabiliyor. Ancak Foundry'de barındırılan ajanlarda onaylı işlemin yanıtı failed dönebildiği için, sonucu yalnızca HTTP koduna göre değerlendirmemek gerekiyor.
Benzer haberler
- React, .NET 10 ve Microsoft Foundry ile güvenli bir kurumsal chatDEV Community: #dotnet1 gün önce
- Sahte 'evet': .NET 10 MCP sunucusundaki insan onayına yapılan 6 saldırıDEV Community: #dotnet2 gün önce
- Model çalışmadan önce bir Telegram AI asistanının geçmesi gereken altı kontrolDEV Community: #dotnet5 gün önce