Code Velocity
IA Corporativa

Amazon Bedrock: Recursos de Cliente MCP com Estado no AgentCore Runtime

·7 min de leitura·AWS·Fonte original
Compartilhar
Diagrama ilustrando os recursos de cliente MCP com estado no Amazon Bedrock AgentCore Runtime com fluxos interativos de agentes de IA.

Além desse sinalizador, os três recursos do cliente tornam-se disponíveis automaticamente assim que o cliente MCP declara suporte a eles durante o handshake de inicialização.

Aprofundamento nos Novos Recursos do Cliente: Elicitação, Amostragem e Progresso

Com a transição para o modo com estado, o Amazon Bedrock AgentCore Runtime desbloqueia três poderosos recursos de cliente da especificação MCP, cada um projetado para atender a padrões de interação distintos cruciais para agentes de IA avançados. Esses recursos transformam o que antes era uma execução de comando rígida e unidirecional em um diálogo fluido e bidirecional entre um servidor MCP e seus clientes conectados. É importante notar que esses recursos são opcionais, o que significa que os clientes declaram seu suporte durante a inicialização, e os servidores devem utilizar apenas os recursos que o cliente conectado anunciou.

Elicitação: Habilitando Entrada Dinâmica do Usuário em Agentes de IA

A Elicitação se apresenta como um pilar da IA interativa, permitindo que um servidor MCP pause judiciosamente sua execução e solicite entrada específica e estruturada do usuário através do cliente. Essa capacidade empodera a ferramenta a fazer perguntas precisas em momentos oportunos dentro de seu fluxo de trabalho, seja para confirmar uma decisão, coletar uma preferência do usuário ou reunir um valor derivado de operações precedentes. O servidor inicia isso enviando uma requisição JSON-RPC elicitation/create, que inclui uma mensagem legível por humanos e um requestedSchema opcional que delineia a estrutura de resposta esperada.

A especificação MCP fornece dois modos robustos para elicitação:

  • Modo de formulário: Este é ideal para coletar dados estruturados diretamente através do cliente MCP, como parâmetros de configuração, preferências do usuário ou confirmações simples onde dados sensíveis não estão envolvidos.
  • Modo de URL: Para interações que necessitam de um processo seguro e fora de banda, como fluxos de OAuth, processamento de pagamentos ou a entrada de credenciais sensíveis, o modo de URL direciona o usuário para uma URL externa. Isso garante que informações sensíveis contornem o cliente MCP completamente, aumentando a segurança e a conformidade.

Ao receber uma requisição de elicitação, o cliente renderiza uma interface de entrada apropriada. A ação subsequente do usuário dispara um modelo de resposta de três ações de volta para o servidor: aceitar (o usuário forneceu os dados solicitados), recusar (o usuário rejeitou explicitamente a requisição) ou cancelar (o usuário descartou o prompt sem fazer uma escolha). Servidores inteligentes são projetados para lidar com cada um desses cenários de forma elegante, garantindo uma experiência robusta e amigável ao usuário. Por exemplo, uma ferramenta add_expense_interactive, como demonstrado no material original, pode guiar um usuário através de uma série de perguntas — valor, descrição, categoria e confirmação final — antes de enviar dados para um backend como o Amazon DynamoDB. Cada etapa utiliza modelos Pydantic para definir a entrada esperada, que o FastMCP converte perfeitamente no JSON Schema necessário para a requisição elicitation/create.

Amostragem e Notificações de Progresso: Impulsionando a Interação e Transparência do LLM

Além da interação direta com o usuário, a Amostragem equipa o servidor MCP com a capacidade de solicitar conteúdo gerado por LLM diretamente do cliente via sampling/createMessage. Este é um mecanismo crítico, pois permite que a lógica da ferramenta no servidor aproveite os poderosos recursos de modelos de linguagem sem a necessidade de gerenciar suas próprias credenciais de LLM ou integrações diretas de API. O servidor simplesmente fornece um prompt e preferências de modelo opcionais, e o cliente, atuando como um intermediário, encaminha a requisição para seu LLM conectado e retorna a resposta gerada. Isso abre uma infinidade de aplicações práticas, incluindo a criação de resumos personalizados, a geração de explicações em linguagem natural a partir de dados estruturados ou a produção de recomendações sensíveis ao contexto com base na conversa em andamento.

Para operações que se estendem ao longo do tempo, as Notificações de Progresso tornam-se inestimáveis. Essa capacidade permite que um servidor MCP relate atualizações incrementais durante tarefas de longa duração. Ao utilizar ctx.report_progress(progress, total), o servidor pode emitir atualizações contínuas que os clientes podem traduzir em feedback visual, como uma barra de progresso ou um indicador de status. Seja pesquisando em vastas fontes de dados ou executando tarefas computacionais complexas, as atualizações de progresso transparentes garantem que os usuários permaneçam informados, evitando frustrações e aprimorando a experiência geral do usuário, em vez de deixá-los olhando para uma tela em branco se perguntando se o sistema ainda está ativo.

Preparando o Desenvolvimento de Agentes de IA para o Futuro com o Bedrock AgentCore Runtime

A introdução dos recursos de cliente MCP com estado no Amazon Bedrock AgentCore Runtime representa um salto significativo no desenvolvimento de agentes de IA. Ao transformar interações anteriormente sem estado em conversas dinâmicas e bidirecionais, a AWS capacita os desenvolvedores a construir aplicações de IA mais inteligentes, responsivas e amigáveis ao usuário. Esses recursos – Elicitação para entrada guiada do usuário, Amostragem para geração de LLM sob demanda e Notificações de Progresso para transparência em tempo real – coletivamente abrem uma nova era de fluxos de trabalho de agentes interativos. À medida que a IA continua a evoluir, essas capacidades fundamentais serão cruciais para criar uma IA agêntica operacionalizada sofisticada que pode se integrar perfeitamente em processos de negócios complexos, adaptar-se às necessidades do usuário e entregar valor excepcional.

Perguntas Frequentes

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.

Fique Atualizado

Receba as últimas novidades de IA no seu e-mail.

Compartilhar