Code Velocity
Kurumsal Yapay Zeka

Amazon Bedrock: AgentCore Çalışma Zamanında Durumlu MCP İstemci Yetenekleri

·7 dk okuma·AWS·Orijinal kaynak
Paylaş
Amazon Bedrock AgentCore Çalışma Zamanında durumlu MCP istemci yeteneklerini etkileşimli yapay zeka ajanı akışlarıyla gösteren diyagram.

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 modDurumlu mod
stateless_http ayarıTRUEFALSE
Oturum izolasyonuOturum başına ayrılmış mikroVMOturum 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 yetenekleriDesteklenmiyorBilgi çıkarma, örnekleme, ilerleme bildirimleri
ÖnerilirBasit araç sunumuEtkileş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.

Sık Sorulan Sorular

What problem do stateful MCP client capabilities solve on Amazon Bedrock AgentCore Runtime?
Stateful Model Context Protocol (MCP) client capabilities on Amazon Bedrock AgentCore Runtime address the critical limitations of previous stateless AI agent implementations. Stateless agents struggled with interactive, multi-turn workflows, as they couldn't pause mid-execution to solicit user input for clarification, request dynamic large language model (LLM)-generated content, or provide real-time progress updates during lengthy operations. Each request was independent, lacking shared context. This new feature fundamentally transforms agent interactions by enabling bidirectional conversations, allowing agents to maintain conversational threads, gather necessary input precisely when needed, generate dynamic content on the fly, and transparently inform users about ongoing processes. This leads to the development of significantly more responsive, intelligent, and user-centric AI applications capable of complex, adaptive workflows.
How does the transition from stateless to stateful mode work on AgentCore Runtime?
The transition to stateful mode within Amazon Bedrock AgentCore Runtime is initiated by a simple configuration adjustment: setting `stateless_http=False` when starting your MCP server. Once enabled, AgentCore Runtime provisions a dedicated microVM for each individual user session. This microVM is designed for persistence throughout the session's duration, which can last up to 8 hours or expire after 15 minutes of inactivity, ensuring isolated CPU, memory, and filesystem resources for each session. Continuity across interactions is maintained through a unique `Mcp-Session-Id` header. This ID is established during the initial handshake and subsequently included by the client in all follow-up requests, ensuring they are accurately routed back to the correct, persistent session, thereby preserving context and enabling complex, interactive dialogues.
What is Elicitation, and how does it enhance AI agent interactions?
Elicitation is a powerful stateful MCP capability that allows an AI agent (acting as the MCP server) to intelligently pause its ongoing execution and request specific, structured input directly from the user via the client. This significantly enhances interactive agent workflows by enabling agents to ask targeted questions at precise, opportune moments within their operational flow. For example, an agent might use elicitation to confirm a decision, gather user preferences, or collect particular data values that are contingent on preceding steps. The feature supports two robust modes: 'Form mode' for direct structured data collection through the MCP client, and 'URL mode' for secure, out-of-band interactions that require directing the user to an external URL (e.g., for OAuth or sensitive credential entry). The user's response – whether accepting, declining, or canceling the request – is then returned to the server, allowing the agent to dynamically adapt its workflow based on real-time human feedback.
How does Sampling capability benefit AI agents without managing LLM credentials?
Sampling equips the MCP server with the ability to request sophisticated large language model (LLM)-generated content directly from the client using the `sampling/createMessage` mechanism. A key benefit is that the MCP server itself does not need to manage its own LLM credentials, API keys, or direct integrations with various LLM providers. Instead, the server simply provides a well-formed prompt and any optional model preferences to the client. The client then acts as an intelligent intermediary, forwarding this request to its connected LLM and returning the generated response back to the server. This abstraction allows AI agents to seamlessly leverage powerful language model capabilities for tasks such as crafting personalized summaries, generating natural-language explanations from complex structured data, or producing context-aware recommendations, all while simplifying the operational overhead and security concerns associated with LLM management on the server side.

Güncel Kalın

En son yapay zeka haberlerini e-postanıza alın.

Paylaş