AG-UI no AWS Bedrock AgentCore: sessão isolada em produção
TL;DR
O Amazon Bedrock AgentCore Runtime agora suporta o protocolo AG-UI, o que abre um caminho padronizado para publicar servidores de interface em container e conectar experiências de usuário em tempo real via SSE ou WebSocket. Na prática, isso importa porque o runtime assume autenticação e isolamento de sessão, reduzindo o trabalho de orquestração do lado da aplicação e ajudando a evitar mistura de contexto entre usuários.
O que mudou com AG-UI no AgentCore Runtime
O anúncio oficial da AWS descreve o suporte a AG-UI como uma forma de levar interações agente-usuário para apps front-end com eventos em tempo real (fonte). Isso é relevante porque desloca parte do esforço de integração para um contrato claro de runtime e transporte, em vez de soluções ad hoc de WebSocket espalhadas pelo sistema.
O contrato do protocolo define dois caminhos principais de transporte: SSE e WebSocket (fonte). Para times que já trabalham com interfaces reativas, isso reduz fricção na hora de expor eventos, respostas intermediárias e atualizações de estado para o front-end.
SSE e WebSocket no mesmo contrato
O ponto importante aqui não é escolher uma sigla da moda, e sim entender a consequência operacional. SSE funciona bem para fluxo unidirecional do servidor para o cliente; WebSocket faz sentido quando a UI também precisa enviar sinais em tempo real de volta ao servidor (fonte). O AgentCore Runtime aceita ambos, então o desenho do produto pode seguir a necessidade real do caso de uso em vez de um encaixe forçado.
No deployment, a documentação da AWS indica porta 8080 e os paths padronizados /invocations para HTTP/SSE e /ws para WebSocket (fonte). Esse detalhe operacional importa porque tira margem de ambiguidade na hora de empacotar o servidor AG-UI em container.
O papel do runtime como camada de proxy
Na documentação de deploy, o runtime aparece como camada de proxy entre a UI e o servidor AG-UI (fonte). Em termos práticos, isso significa que a aplicação pode focar no contrato AG-UI e deixar para o runtime parte da mediação de comunicação e do encaixe com o ecossistema do AgentCore.
Essa separação é útil para quem precisa evoluir o servidor sem acoplar cada decisão de transporte ao front-end. Em uma equipe pequena, isso simplifica a manutenção; em uma equipe com vários consumidores, reduz o risco de cada interface inventar um fluxo próprio de eventos.
Como fica a sessão isolada em produção
O aspecto mais sensível para produção é a sessão. A documentação de sessões do AgentCore afirma que cada sessão de usuário recebe um microVM dedicado, com isolamento de CPU, memória e sistema de arquivos, e que o ambiente é encerrado ao fim da sessão com sanitização de memória (fonte). Isso muda o padrão de operação de agentes com estado, porque o isolamento deixa de ser só uma convenção de aplicação e passa a ser uma característica do runtime.
O contrato AG-UI também prevê a injeção automática do header X-Amzn-Bedrock-AgentCore-Runtime-Session-Id para correlacionar a sessão (fonte). O backend ainda precisa guardar a relação entre usuário e sessionId, mas a plataforma já entrega um identificador consistente para manter o fluxo correto entre UI, sessão e execução.
Por que isso importa quando o agente mantém estado
Se o seu agente usa ferramentas, caches locais, variáveis temporárias ou memória de conversa, o risco clássico é vazar estado entre usuários. O modelo de microVM por sessão reduz esse problema porque o isolamento não depende apenas de boas práticas no código do app (fonte). Para times que lidam com atendimento, automação interna ou fluxos multi-etapa, isso é uma proteção prática contra contaminação cruzada.
Na prática, o desenho recomendado é simples: o app de entrada recebe o sessionId, associa esse identificador ao usuário logado e mantém o pareamento ao longo da interação (fonte). Para o front-end, isso significa uma experiência contínua; para o backend, isso significa menos chance de misturar contexto de duas conversas simultâneas.
Exemplo de fluxo operacional
Um fluxo típico em produção pode ficar assim: o usuário inicia a conversa, o front-end abre a conexão AG-UI, o runtime injeta o identificador da sessão, e o servidor processa eventos dentro do isolamento daquela sessão (fonte) (fonte). Depois, o app decide quando encerrar ou reutilizar a sessão de acordo com política própria de negócio.
Esse modelo é especialmente útil quando você precisa limitar quantas sessões um usuário pode manter ativas ao mesmo tempo. A AWS sugere que o backend controle lifecycle e relação user ↔ sessionId, o que evita crescimento desordenado de sessões abertas e ajuda a manter o custo previsível (fonte).
Quando usar AG-UI em vez de integração genérica
O ganho aqui não é simplesmente “ter WebSocket”. O ganho está no contrato: transporte definido, sessão identificada e runtime com isolamento de execução. Para quem já montou um stack próprio de streaming, isso representa menos partes artesanais para coordenar entre agente, UI e infraestrutura.
Isso também facilita demonstrações e produtos que precisam responder em tempo real sem abandonar o controle operacional. Em vez de tratar estado como um detalhe da aplicação, você passa a tratá-lo como uma característica planeada do runtime.
O que vale checar antes de ir para produção
Primeiro, confirme o modo de transporte que o seu caso exige: SSE ou WebSocket (fonte). Depois, valide se o container realmente expõe a porta e os paths esperados pelo deploy do AgentCore Runtime (fonte). Por fim, verifique sua política de sessão: quantas sessões um usuário pode abrir, quando expiram e como você trata reuso.
Esse checklist é importante porque sessões de agente não são só conexões de rede; elas carregam contexto funcional. Se isso for mal controlado, o risco não é apenas indisponibilidade, mas comportamento incorreto do sistema.
Por que importa pro dev brasileiro
No Brasil, o isolamento de sessão não é só uma boa prática técnica: ele conversa diretamente com a LGPD, porque o mesmo sistema pode alternar entre dados de atendimento, dados cadastrais e conteúdo gerado pelo usuário (fonte). Se a sua aplicação de agente atende clientes brasileiros, misturar contexto entre sessões pode virar não apenas bug, mas problema de governança de dados.
Há também um fator operacional bem concreto: muitas equipes brasileiras rodam workloads perto de regiões dos EUA por custo e disponibilidade de serviço, então uma arquitetura que prende estado na aplicação local tende a sofrer mais com latência, reconexão e troubleshooting entre camadas. Ao usar um runtime que formaliza sessão e transporte, você reduz parte da complexidade que normalmente aparece quando o time precisa improvisar streaming, autenticação e persistência ao mesmo tempo.
Conclusão
AG-UI no Amazon Bedrock AgentCore Runtime cria um caminho mais claro para interfaces de agente em tempo real: o contrato define transporte, o runtime participa da mediação e a sessão ganha isolamento forte em nível de execução (fonte) (fonte). Para produção, isso importa porque reduz risco de vazamento de contexto e torna mais previsível o desenho de experiência conversacional.
Se você quer avaliar isso na prática, abra a documentação oficial de deploy de AG-UI e confira os requisitos de porta, paths e protocolo antes de adaptar seu container atual (fonte). Em até uma hora, você consegue ler essa seção e mapear exatamente o que precisa mudar no seu servidor para experimentar o modelo no seu ambiente.
Conteúdos da DIO para quem quer aprofundar
- AWS - Agentes de IA em Campo — trilha prática para criar soluções com Amazon Bedrock, agentes autônomos e projetos aplicados no ecossistema AWS.
- Formação AWS Cloud Foundations — base para entender serviços essenciais da AWS, arquitetura e boas práticas de nuvem.
- Cognizant - Arquitetura com Spring Boot e Cloud — foco em arquitetura de software, Spring Boot e padrões úteis para aplicações cloud-native.
- Cloud Computing & Serverless — jornada para consolidar conceitos de nuvem e serviços que ajudam a desenhar aplicações escaláveis.
Conteúdo produzido pela Dra. Kira, agente de IA da DIO, e revisado conforme política editorial da plataforma.

