Yapay Zeka Ajanlarını Geliştirme: Amazon Bedrock'ta Durumlu MCP'ye Geçiş
Yapay zeka ajanları hızla gelişiyor, ancak tam potansiyelleri, özellikle gerçek zamanlı kullanıcı etkileşimi, dinamik içerik üretimi veya sürekli ilerleme güncellemeleri gerektiren senaryolarda, durumsuz uygulamalar tarafından sıklıkla engellenmiştir. Sofistike yapay zeka ajanları geliştiren geliştiriciler, iş akışlarının duraklaması, açıklama toplaması veya uzun süreli operasyonlar sırasında durum rapor etmesi gerektiğinde sıklıkla zorluklarla karşılaşır. Durumsuz yürütmenin katı, tek yönlü yapısı, gerçekten etkileşimli ve duyarlı yapay zeka uygulamalarının geliştirilmesini kısıtlar.
Şimdi, Amazon Bedrock AgentCore Çalışma Zamanı, yapay zeka ajanlarının kullanıcılar ve büyük dil modelleri (LLM'ler) ile etkileşim kurma biçimini dönüştüren çığır açan durumlu Model Bağlam Protokolü (MCP) istemci yeteneklerini sunuyor. Bu önemli güncelleme, ajanları durumsuz iletişimin kısıtlamalarından kurtararak karmaşık, çok adımlı ve oldukça etkileşimli iş akışlarını mümkün kılıyor. Kritik MCP istemci özelliklerini – Bilgi Çıkarma, Örnekleme ve İlerleme Bildirimleri – entegre ederek, Bedrock AgentCore Çalışma Zamanı, MCP sunucuları ve istemcileri arasında çift yönlü konuşmaları kolaylaştırarak daha akıllı, kullanıcı merkezli yapay zeka çözümlerinin önünü açıyor.
Durumsuzdan Durumluya: Etkileşimli Ajan İş Akışlarının Kilidini Açma
Daha önce, AgentCore üzerindeki MCP sunucu desteği, her HTTP isteğinin herhangi bir paylaşılan bağlamdan yoksun, bağımsız olarak çalıştığı durumsuz bir modda çalışıyordu. Bu, temel araç sunucuları için dağıtımı basitleştirirken, konuşma sürekliliği, iş akışı ortasında kullanıcıdan açıklama alma veya gerçek zamanlı ilerleme raporlaması gerektiren senaryoları ciddi şekilde sınırlıyordu. Sunucu, ayrı istekler arasında bir konuşma dizisini sürdüremediği için, gerçekten etkileşimli ajanların geliştirilmesini engelliyordu.
Durumlu MCP istemci yeteneklerinin ortaya çıkışı, bu paradigmayı temelden değiştiriyor. Sunucu başlatma sırasında stateless_http=False ayarlayarak, AgentCore Çalışma Zamanı her kullanıcı oturumu için özel bir mikroVM tahsis eder. Bu mikroVM, oturumun süresi boyunca — idleRuntimeSessionTimeout ayarına göre 8 saate kadar veya 15 dakikalık hareketsizliğe kadar — kalıcılığını sürdürür ve oturumlar arasında CPU, bellek ve dosya sistemi izolasyonu sağlar. Süreklilik, sunucunun başlatma sırasında sağladığı ve istemcinin aynı oturuma geri yönlendirmek için sonraki tüm isteklerde dahil ettiği bir Mcp-Session-Id başlığı aracılığıyla korunur. Bu özel, kalıcı ortam, ajanların bağlamı hatırlamasına, kullanıcı girdisi istemesine, dinamik LLM içeriği oluşturmasına ve sürekli güncellemeler sağlamasına olanak tanır.
Aşağıdaki tablo, durumsuz ve durumlu modlar arasındaki temel farkları özetlemektedir:
| Durumsuz mod | Durumlu mod | |
|---|---|---|
stateless_http ayarı | TRUE | FALSE |
| Oturum izolasyonu | Oturum başına ayrılmış mikroVM | Oturum başına ayrılmış mikroVM |
| Oturum ömrü | 8 saate kadar; 15 dakikalık boşta kalma zaman aşımı | 8 saate kadar; 15 dakikalık boşta kalma zaman aşımı |
| İstemci yetenekleri | Desteklenmiyor | Bilgi çıkarma, örnekleme, ilerleme bildirimleri |
| Önerilir | Basit araç sunumu | Etkileşimli, çok adımlı iş akışları |
Bir oturum sona erdiğinde veya sunucu yeniden başlatıldığında, önceki oturum kimliğine sahip sonraki istekler 404 hatası döndürür. Bu noktada, istemcilerin yeni bir oturum kimliği almak ve yeni bir oturum başlatmak için bağlantıyı yeniden başlatmaları gerekir. Durumlu modu etkinleştirmek için yapılandırma değişikliği, sunucu başlatmanızda tek bir işarettir:
mcp.run( transport="streamable-http", host="0.0.0.0", port=8000, stateless_http=False # Durumlu modu etkinleştir)
Bu işaretin ötesinde, üç istemci yeteneği, MCP istemcisi başlatma el sıkışması sırasında bunları desteklediğini beyan ettiğinde otomatik olarak kullanılabilir hale gelir.
Yeni İstemci Yeteneklerine Derinlemesine Bakış: Bilgi Çıkarma, Örnekleme ve İlerleme
Durumlu moda geçişle birlikte, Amazon Bedrock AgentCore Çalışma Zamanı, her biri gelişmiş yapay zeka ajanları için kritik olan farklı etkileşim modellerini ele almak üzere tasarlanmış, MCP spesifikasyonundan üç güçlü istemci yeteneğini açığa çıkarır. Bu yetenekler, daha önce katı, tek yönlü bir komut yürütmesini, bir MCP sunucusu ile bağlı istemcileri arasında akıcı, iki yönlü bir diyaloğa dönüştürür. Bu özelliklerin isteğe bağlı olduğunu, yani istemcilerin başlatma sırasında desteklerini beyan ettiklerini ve sunucuların yalnızca bağlı istemcinin duyurduğu yetenekleri kullanması gerektiğini belirtmek önemlidir.
Bilgi Çıkarma: Yapay Zeka Ajanlarında Dinamik Kullanıcı Girişini Etkinleştirme
Bilgi Çıkarma (Elicitation), etkileşimli yapay zekanın temel taşlarından biri olarak durur ve bir MCP sunucusunun yürütmesini akıllıca duraklatmasına ve istemci aracılığıyla kullanıcıdan belirli, yapılandırılmış girdi talep etmesine olanak tanır. Bu yetenek, aracın iş akışı içinde uygun anlarda, bir kararı onaylamak, bir kullanıcı tercihini toplamak veya önceki işlemlerden türetilen bir değeri toplamak için hassas sorular sormasını sağlar. Sunucu bunu, insan tarafından okunabilir bir mesaj ve beklenen yanıt yapısını belirten isteğe bağlı bir requestedSchema içeren bir elicitation/create JSON-RPC isteği göndererek başlatır.
MCP spesifikasyonu, bilgi çıkarma için iki sağlam mod sunar:
- Form modu: Bu, hassas verilerin söz konusu olmadığı durumlarda yapılandırma parametreleri, kullanıcı tercihleri veya basit onaylar gibi yapılandırılmış verileri doğrudan MCP istemcisi aracılığıyla toplamak için idealdir.
- URL modu: OAuth akışları, ödeme işlemleri veya hassas kimlik bilgileri girişi gibi güvenli, bant dışı bir süreç gerektiren etkileşimler için URL modu, kullanıcıyı harici bir URL'ye yönlendirir. Bu, hassas bilgilerin MCP istemcisini tamamen atlamasını sağlayarak güvenliği ve uyumluluğu artırır.
Bir bilgi çıkarma isteği alındığında, istemci uygun bir giriş arayüzü sunar. Kullanıcının sonraki eylemi, sunucuya üç eylemli bir yanıt modelini tetikler: accept (kullanıcı istenen veriyi sağladı), decline (kullanıcı isteği açıkça reddetti) veya cancel (kullanıcı bir seçim yapmadan istemi kapattı). Akıllı sunucular, sağlam ve kullanıcı dostu bir deneyim sağlamak için bu senaryoların her birini zarif bir şekilde ele almak üzere tasarlanmıştır. Örneğin, kaynak materyalde gösterildiği gibi, bir add_expense_interactive aracı, verileri Amazon DynamoDB gibi bir arka uca kaydetmeden önce bir kullanıcıyı bir dizi soru—miktar, açıklama, kategori ve son onay—aracılığıyla yönlendirebilir. Her adım, beklenen girdiyi tanımlamak için Pydantic modellerini kullanır ve FastMCP bunu elicitation/create isteği için gerekli JSON Şemasına sorunsuz bir şekilde dönüştürür.
Örnekleme ve İlerleme Bildirimleri: LLM Etkileşimini ve Şeffaflığı Artırma
Doğrudan kullanıcı etkileşiminin ötesinde, Örnekleme (Sampling), MCP sunucusunu sampling/createMessage aracılığıyla doğrudan istemciden LLM tarafından oluşturulan içerik talep etme yeteneğiyle donatır. Bu, aracın sunucudaki mantığının, kendi LLM kimlik bilgilerini veya doğrudan API entegrasyonlarını yönetmek zorunda kalmadan güçlü dil modeli yeteneklerini kullanmasına olanak tanıdığı için kritik bir mekanizmadır. Sunucu yalnızca bir istem (prompt) ve isteğe bağlı model tercihleri sağlar ve aracı olarak hareket eden istemci, isteği bağlı LLM'sine iletir ve oluşturulan yanıtı geri döndürür. Bu, kişiselleştirilmiş özetler oluşturma, yapılandırılmış verilerden doğal dil açıklamaları üretme veya devam eden konuşmaya dayalı bağlama duyarlı öneriler sunma gibi sayısız pratik uygulama için kapılar açar.
Zaman içinde uzayan işlemler için İlerleme Bildirimleri paha biçilmez hale gelir. Bu yetenek, bir MCP sunucusunun uzun süreli görevler sırasında artımlı güncellemeler rapor etmesine olanak tanır. ctx.report_progress(progress, total) kullanarak, sunucu, istemcilerin görsel geri bildirime, örneğin bir ilerleme çubuğuna veya durum göstergesine dönüştürebileceği sürekli güncellemeler yayınlayabilir. İster devasa veri kaynaklarında arama yapıyor olsun, ister karmaşık hesaplama görevleri yürütüyor olsun, şeffaf ilerleme güncellemeleri, kullanıcıların bilgilendirilmesini sağlayarak hayal kırıklığını önler ve sistemin hala aktif olup olmadığını merak ederek boş bir ekrana bakmalarını engeller, böylece genel kullanıcı deneyimini geliştirir.
Bedrock AgentCore Çalışma Zamanı ile Yapay Zeka Ajan Geliştirmeyi Geleceğe Hazırlama
Amazon Bedrock AgentCore Çalışma Zamanında durumlu MCP istemci yeteneklerinin tanıtılması, yapay zeka ajanı geliştirmede önemli bir adımı temsil ediyor. Daha önce durumsuz olan etkileşimleri dinamik, çift yönlü konuşmalara dönüştürerek, AWS geliştiricilere daha akıllı, duyarlı ve kullanıcı dostu yapay zeka uygulamaları oluşturma gücü veriyor. Bu yetenekler – yönlendirmeli kullanıcı girişi için Bilgi Çıkarma, isteğe bağlı LLM üretimi için Örnekleme ve gerçek zamanlı şeffaflık için İlerleme Bildirimleri – birlikte etkileşimli ajan iş akışlarında yeni bir çağın kilidini açıyor. Yapay zeka gelişmeye devam ettikçe, karmaşık iş süreçlerine sorunsuz bir şekilde entegre olabilen, kullanıcı ihtiyaçlarına uyum sağlayabilen ve olağanüstü değer sunabilen sofistike ajanslı yapay zeka operasyonlarını oluşturmak için bu temel yetenekler çok önemli olacaktır.
Orijinal kaynak
https://aws.amazon.com/blogs/machine-learning/introducing-stateful-mcp-client-capabilities-on-amazon-bedrock-agentcore-runtime/Sık Sorulan Sorular
What problem do stateful MCP client capabilities solve on Amazon Bedrock AgentCore Runtime?
How does the transition from stateless to stateful mode work on AgentCore Runtime?
What is Elicitation, and how does it enhance AI agent interactions?
How does Sampling capability benefit AI agents without managing LLM credentials?
Güncel Kalın
En son yapay zeka haberlerini e-postanıza alın.
