Como construir sistemas multi-agente serverless e escaláveis com LangGraph e Amazon Bedrock AgentCore

Da prova de conceito para produção: o desafio real dos agentes de IA

A Inteligência Artificial (IA) generativa evoluiu rapidamente — e com essa evolução veio um problema prático: como levar sistemas de agentes de IA do laboratório para ambientes de produção confiáveis, escaláveis e com desempenho previsível? É exatamente esse cenário que a AWS aborda em um novo tutorial técnico, demonstrando como construir orquestrações multi-agente serverless de alto desempenho na nuvem AWS.

Construir agentes de IA de alta performance exige mais do que modelos poderosos. É preciso garantir latência consistente, preservar contexto entre interações e ter visibilidade profunda sobre como os agentes se comportam em produção. A solução apresentada pela AWS combina LangGraph Agents como orquestradores com o Amazon Bedrock AgentCore Memory e o Amazon Bedrock AgentCore Observability para endereçar exatamente esses desafios.

A base serverless: Lambda e Step Functions

A abordagem proposta para construir orquestrações multi-agente serverless e escaláveis combina dois serviços fundamentais da AWS: o AWS Lambda e o AWS Step Functions. Juntos, esses serviços permitem que desenvolvedores construam agentes LangGraph que escalam automaticamente, respondem a eventos em tempo real e eliminam a necessidade de gerenciar infraestrutura.

Essa combinação é especialmente adequada para cargas de trabalho de agentes que são dinâmicas e com picos imprevisíveis. Ao unir os dois serviços, é possível orquestrar fluxos de trabalho complexos com múltiplas ferramentas, gerenciamento de estado durável, mecanismos de retry e controle granular de custos.

O modelo de execução baseado em grafos explícitos do LangGraph habilita coordenação determinística, paralelismo e roteamento condicional entre agentes — tornando fluxos de trabalho multi-agente complexos mais fáceis de compreender e depurar. Ao separar a lógica de orquestração do comportamento individual dos agentes, é possível adicionar, remover ou evoluir agentes especializados de forma independente, mantendo um caminho de execução claro e auditável.

Visão geral da solução: revisão de campanhas de marketing

O sistema demonstrado é um revisor de campanhas de marketing com múltiplos agentes de IA generativa. A ideia é orquestrar revisões humanas usando diversas personas, garantindo que as campanhas ressoem de forma autêntica com os públicos-alvo e ao mesmo tempo mantenham alinhamento legal e padrões de marca.

A solução é composta por três agentes de IA especializados que analisam a campanha em paralelo:

  • Agente de revisão de personas: analisa o conteúdo sob perspectivas demográficas diversas e fornece pontuações de ressonância;
  • Agente validador: verifica o alinhamento legal e a aderência às diretrizes de marca;
  • Agente finalizador: sintetiza os feedbacks em recomendações práticas e acionáveis.

Os usuários fazem upload de documentos de campanha por meio de um frontend em React, que também consulta os resultados periodicamente e os exibe conforme ficam disponíveis.

Como o LangGraph orquestra os agentes

O LangGraph é utilizado para implementar tanto o orquestrador quanto os agentes especializados, modelando o sistema como um grafo de execução com estado. Cada nó representa uma função de agente discreta — revisão de persona, validação de conformidade e síntese de feedback — e as arestas definem o fluxo de controle entre essas etapas.

O orquestrador é implementado como o grafo supervisor, responsável por rotear a execução, disparar ramificações paralelas para os agentes especializados e coletar suas saídas para agregação final. O orquestrador LangGraph e os agentes especializados são empacotados juntos em um contêiner Docker.

O AWS Lambda é utilizado como ambiente de execução serverless gerenciado, permitindo que os agentes escalem automaticamente. As interfaces REST do agente orquestrador são expostas via Amazon API Gateway.

Observabilidade com AgentCore

A implementação utiliza o AgentCore Observability para fornecer visualizações detalhadas de cada etapa do fluxo de trabalho dos agentes. Com ele, desenvolvedores conseguem inspecionar caminhos de execução, auditar saídas intermediárias e identificar gargalos de desempenho.

Dentro do AgentCore Observability, há visibilidade em tempo real no Amazon CloudWatch com dashboards de desempenho operacional e telemetria para métricas como traces, contagem de sessões, latência, duração, uso de tokens e taxas de erro.

Memória compartilhada com AgentCore Memory

O AgentCore Memory é utilizado para dois casos de uso principais: memória compartilhada entre múltiplos agentes (fornecendo contexto e memória compartilhada entre execuções independentes) e suporte a conversas com múltiplos turnos. Essa implementação oferece suporte nativo para armazenar estado e histórico conversacional, o que permite estendê-la para criar uma interface de linguagem natural com um assistente de IA.

Pré-requisitos

Antes de implantar a solução, é necessário cumprir os seguintes pré-requisitos:

Dependências

A implementação com Strands Agents possui as seguintes dependências, empacotadas no Dockerfile:

langchain>=0.2.0
langgraph==0.3.31
langgraph-prebuilt~=0.1.8
langgraph-sdk~=0.1.61
langchain-aws>=0.2.18
langchain_tavily
requests
bedrock-agentcore
boto3

Implantando a solução passo a passo

O código da solução está disponível no repositório GitHub. A seguir, o passo a passo de implantação exatamente como descrito no README do repositório:

Passo 1: Clonar o repositório

git clone <respository url>
cd aws-genai-campaign-review-langgraph

Passo 2: Configurar credenciais AWS

aws configure
aws sts get-caller-identity

Passo 3: Configurar a tabela de personas no Amazon DynamoDB

chmod +x scripts/setup_persona_table.sh
./scripts/setup_persona_table.sh

Passo 4: Fazer o build da aplicação AWS SAM

sam build

Passo 5: Implantar a infraestrutura

sam deploy --guided

Siga os prompts para fornecer o nome do stack, nome do agente, região AWS e aceitar os valores padrão para os demais campos.

Passo 6: Obter as saídas da implantação

aws cloudformation describe-stacks --stack-name <your stack name> --query 'Stacks[0].Outputs' --output table

Salve os seguintes valores: ApiEndpoint (URL da API), CampaignOrchestratorApi (URL da API do agente), CloudFrontURL (URL do frontend) e FrontendBucket (bucket S3 do frontend).

Passo 8: Configurar o ambiente do frontend

API_URL=$(aws cloudformation describe-stacks --stack-name <your stack name> --query 'Stacks[0].Outputs[?OutputKey==`ApiEndpoint`].OutputValue' --output text)
AGENT_API_URL=$(aws cloudformation describe-stacks --stack-name <your stack name> -review --query 'Stacks[0].Outputs[?OutputKey==`CampaignOrchestratorApi`].OutputValue' --output text)

cat > .env << EOF
VITE_API_URL=$API_URL
VITE_AGENT_API_URL=$AGENT_API_URL
VITE_AWS_REGION= <your AWS region>
EOF

Passo 9: Build e implantação do frontend

npm install
npm run build

FRONTEND_BUCKET= $(aws cloudformation describe-stacks --stack-name <your stack name> --query 'Stacks[0].Outputs[?OutputKey==`FrontendBucket`].OutputValue' --output text)

aws s3 sync dist/ s3://$FRONTEND_BUCKET --delete

DISTRIBUTION_ID=$(aws cloudfront list-distributions --query "DistributionList.Items[?Origins.Items[0].DomainName=='${FRONTEND_BUCKET}.s3.us-west-2.amazonaws.com'].Id" --output text)
aws cloudfront create-invalidation --distribution-id $DISTRIBUTION_ID --paths "/*"

Passo 10: Acessar a aplicação

aws cloudformation describe-stacks --stack-name <your stack name> --query 'Stacks[0].Outputs[?OutputKey==`CloudFrontURL`].OutputValue' --output text

Abra a URL no navegador para acessar a aplicação. Utilize o arquivo campaign_brief.md como documento de campanha de exemplo e faça o upload no painel esquerdo. O resultado da revisão pela orquestração multi-agente será exibido no painel direito. Para visualizar cada etapa do fluxo de trabalho dos agentes em detalhes, acesse o console do Bedrock AgentCore Observability e selecione o seu agente.

Limpeza dos recursos

Para evitar cobranças recorrentes após testar a solução, é necessário limpar os recursos criados:

sam delete --stack-name <your stack name>
aws dynamodb delete-table --table-name PersonaTable --region <your aws region>

Conclusão

A combinação entre LangGraph, Amazon Bedrock AgentCore e serviços serverless da AWS forma um padrão arquitetural repetível para construir agentes de IA de nível empresarial. O modelo de execução em grafo do LangGraph garante controle de fluxo determinístico, enquanto o AWS Lambda oferece escalabilidade automática e sobrecarga operacional mínima.

O AgentCore Memory e o AgentCore Observability resolvem dois dos desafios mais comuns em implantações reais de agentes: gerenciamento de estado e visibilidade. Juntos, fornecem contexto durável e compartilhado entre execuções de agentes e visibilidade profunda sobre comportamento, desempenho e custo.

Seja para sistemas de revisão de campanhas, assistentes digitais ou outros fluxos de raciocínio multi-agente, essa abordagem permite desacoplar orquestração de execução, escalar elasticamente com a demanda e manter total transparência sobre como os agentes raciocinam e interagem — viabilizando a transição de protótipos experimentais para sistemas de IA generativa confiáveis e escaláveis em produção.

Fonte

Build highly scalable serverless LangGraph multi-agent systems in AWS with Amazon Bedrock AgentCore (https://aws.amazon.com/blogs/machine-learning/build-highly-scalable-serverless-langgraph-multi-agent-systems-in-aws-with-amazon-bedrock-agentcore/)

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *