O blog da AWS

Como orquestrar sistemas multiagentes com Amazon Bedrock AgentCore e Strands Agents para educação

Por Fernando Schroder, Arquiteto de Soluções de Setor Público e Wembley Carvalho, Arquiteto de Soluções Sênior de Setor Público na AWS Brasil.

Instituições educacionais enfrentam desafios crescentes para atender às demandas de estudantes, professores e administradores de forma eficiente e personalizada. Consultas sobre matrículas, mensalidades, documentação acadêmica e suporte administrativo geram volumes significativos de trabalho manual que a inteligência artificial poderia automatizar.

Neste post, demonstraremos como construir um sistema multiagente para o setor educacional utilizando Amazon Bedrock AgentCore e Strands Agents SDK. Seguiremos o passo a passo da implementação completa, que está disponível em repositório no GitHub.

Visão geral da solução

O Amazon Bedrock AgentCore é uma plataforma gerenciada que permite implantar e operar agentes de IA de forma segura e em escala, utilizando qualquer framework de código aberto e modelo de linguagem. Combinado com o Strands Agents SDK, um framework open source que adota uma abordagem orientada a modelos para construir agentes de IA, podemos criar sistemas multiagentes para atender necessidades educacionais complexas.

A solução demonstra um sistema educacional com agentes especializados que trabalham de forma coordenada:

  • Agente Assistente Educacional: Responde consultas acadêmicas sobre tarefas pendentes, cursos matriculados, notas e áreas que precisam de foco.
  • Agente Assistente do Professor: Gerencia informações sobre métricas de cursos, desempenho dos estudantes e relatórios acadêmicos.
  • Agente Assistente Financeiro: Processa consultas sobre mensalidades, status de pagamentos, recibos e histórico financeiro.
  • Agente Secretário Virtual: Gerencia operações administrativas, relatórios institucionais e dados sobre estudantes inadimplentes.
  • Agente de Perguntas Gerais: Responde consultas sobre políticas institucionais, procedimentos de matrícula e regulamentos gerais.
  • Agente Orquestrador: Coordena a comunicação entre os 5 agentes especializados usando o padrão “Agents as Tools” e controla acesso baseado em persona (estudante, professor, administrador).

Arquitetura da solução

Figura 1: Arquitetura da solução

A arquitetura implementa os primitivos fundamentais do Amazon Bedrock AgentCore, que são blocos de construção modulares para aplicações de IA:

Componentes principais

AgentCore Runtime: Ambiente serverless e seguro para implantar e executar agentes de IA. O AgentCore executa cada sessão de usuário em uma microVM dedicada com recursos isolados de CPU, memória e sistema de arquivos, garantindo separação completa entre sessões e segurança determinística. O Runtime oferece suporte a execuções de longa duração de até 8 horas, permitindo raciocínio complexo de agentes e cargas de trabalho assíncronas que podem envolver colaboração multiagente ou sessões estendidas de resolução de problemas. Essa capacidade estendida é essencial para fluxo de trabalho educacionais complexos, como análises detalhadas de desempenho acadêmico ou processamento de grandes volumes de dados institucionais. Após a conclusão da sessão, to sistema encerra toda a microVM e sanitiza a memória, eliminando riscos de contaminação entre sessões. O modelo de precificação baseado em consumo cobra apenas pelos recursos efetivamente utilizados, o AgentCore alinha a cobrança de CPU ao processamento ativo e eliminando cobranças durante períodos de espera de I/O. Além disso, o AgentCore Runtime é agnóstico a frameworks (LangGraph, Strands, CrewAI, etc.) e modelos fundacionais (Amazon Bedrock, Anthropic Claude, Google Gemini e OpenAI).

AgentCore Memory: Gerenciamento de memória que permite aos agentes manter contexto de conversas anteriores, preferências do estudante e histórico de interações, possibilitando experiências personalizadas. O serviço oferece estratégias de memória de longo prazo integradas que transformam conversas brutas em conhecimento acionável e persistente:

  • Memória Semântica: Captura fatos e conhecimentos específicos do domínio, como histórico acadêmico do estudante e problemas anteriores enfrentados.
  • Preferências do Usuário: Identifica e extrai automaticamente preferências, escolhas e estilos dos usuários, construindo um perfil persistente e dinâmico de cada estudante ao longo do tempo.
  • Resumos de Sessão: Gera resumos automáticos de conversas para cada sessão, destilando o conteúdo principal e comprimindo informações complexas.
  • Memória Episódica: Captura jornadas completas de usuários com seus objetivos, etapas de raciocínio, ações, resultados e reflexões. Permite que agentes aprendam com experiências passadas e apliquem esse aprendizado em interações futuras, identificando estratégias bem-sucedidas e padrões de falha.

O sistema mantém continuidade entre sessões, processa históricos conversacionais de forma eficiente (consolidação em 20-40 segundos, recuperação em aproximadamente 200 milissegundos), e utiliza organização hierárquica através de namespaces para isolamento preciso de memória e recuperação semântica.

AgentCore Gateway: Converte APIs, funções Lambda e serviços existentes em ferramentas compatíveis com o Model Context Protocol (MCP). No contexto educacional, permite integração segura com sistemas de gestão acadêmica, ERPs educacionais e bases de dados institucionais. O Gateway oferece suporte nativo ao protocolo Agent to Agent (A2A), permitindo que agentes se comuniquem e colaborem entre si de forma estruturada e segura. Essa capacidade de comunicação A2A possibilita a criação de sistemas multiagente onde diferentes agentes especializados podem trabalhar em conjunto para resolver problemas complexos. O Gateway também suporta múltiplos tipos de destinos, incluindo funções Lambda, esquemas OpenAPI, modelos Smithy e servidores MCP, facilitando a conexão de agentes com recursos corporativos de forma segura e oferecendo descoberta inteligente de ferramentas através de busca semântica.

AgentCore Identity: Implementa controles de autenticação e autorização, integrando-se com provedores de identidade corporativos como Amazon Cognito, Okta ou Microsoft Entra ID, garantindo que estudantes e funcionários acessem apenas os agentes apropriados. O serviço atribui identidades distintas aos agentes de IA e permite fluxos de autenticação de saída para acessar com segurança serviços de terceiros como Slack, Zoom e GitHub, seja operando em nome dos usuários ou de forma autônoma. O Identity oferece suporte a padrões de autenticação OAuth 2.0, incluindo fluxos de concessão de código de autorização para acesso delegado pelo usuário e fluxos de credenciais de cliente para autenticação máquina-a-máquina. Além disso, fornece armazenamento seguro de credenciais através de um cofre de tokens que gerencia tokens de acesso e atualização OAuth 2.0, chaves de API e segredos de cliente OAuth 2.0, com integração nativa ao Amazon Bedrock AgentCore para aplicações de agentes. O serviço implementa controles de autorização baseados em identidade, permitindo decisões dinâmicas baseadas no contexto de identidade do usuário, essencial para ambientes educacionais onde diferentes níveis de acesso são necessários para estudantes, professores e administradores.

AgentCore Observability: Fornece rastreamento especializado através de arquitetura hierárquica em três camadas:

  • Sessões: Contexto completo de interação usuário-agente com persistência de estado e isolamento entre interações.
  • Traces: Registros detalhados de ciclos requisição-resposta capturando caminhos de execução completos.
  • Spans: Unidades mensuráveis de trabalho formando estruturas hierárquicas que revelam fluxos de operações.

Essa funcionalidade emite telemetria em formato OpenTelemetry (OTEL) compatível, utilizando AWS Distro for OpenTelemetry (ADOT) para instrumentação automática. O ADOT captura telemetria dinamicamente sem alterações de código, oferece APIs padronizadas e integração nativa com CloudWatch, X-Ray e outros backends. O AgentCore armazena todos os dados no CloudWatch com dashboards de visualização, métricas em tempo real (sessões, latência, tokens, erros) e resolução de 1 minuto, essencial para conformidade e qualidade em produção.

Amazon Bedrock Knowledge Bases: Implementa Retrieval Augmented Generation (RAG) convertendo documentos educacionais em embeddings vetoriais, permitindo busca semântica de conteúdo acadêmico pelos agentes.

Além dos componentes principais, temos também os seguintes recursos: Amazon Cognito, plataforma de identidade que gerencia autenticação de estudantes, professores e administradores, fornecendo tokens JWT para autorização segura no sistema; AWS Lambda, serviço serverless que executa ferramentas específicas como envio de mensagens WhatsApp e integração com sistemas externos via AgentCore Gateway; Amazon S3, para armazenar documentos educacionais, materiais didáticos e arquivos que alimentam o Knowledge Bases para recuperação contextual; AWS Systems Manager Parameter Store, centraliza configurações sensíveis como IDs de memória, URLs de gateway e credenciais de integração dos agentes.

Para o frontend da solução, nós escolhemos os seguintes serviços:

Amazon SNS*: Serviço de notificação que processa eventos de webhook do WhatsApp e coordena comunicação assíncrona entre componentes do sistema.

AWS End User Messaging Social*: Serviço de mensageria que integra WhatsApp Business API diretamente em aplicações AWS, permitindo comunicação com estudantes e responsáveis através de mensagens interativas. Oferece templates de mensagens reutilizáveis para comunicações consistentes, suporte a conteúdo rico (texto, imagens, vídeos, botões, localizações), comunicação bidirecional com janela de atendimento de 24 horas, e integração nativa com serviços AWS (Lambda, SNS) para automação de workflows. Mensagens recebidas acionam notificações SNS que podem ativar funções Lambda para processamento automatizado, possibilitando chatbots inteligentes e respostas automáticas.

* Para implementação da demonstração completa, é necessário que você já tenha configurado o AWS End User Messaging social, o tópico do Amazon SNS e uma conta WhatsApp Business Account (WABA) na Meta. Para ver mais detalhes sobre como configurar o End User Messaging Social estão na documentação oficial da AWS e sobre a configuração da integração desse serviço com o WABA veja no guia oficial. A arquitetura de agentes funciona com qualquer frontend, no caso foi escolhido o WhatsApp da Meta, mas você pode customizar para a plataforma de sua escolha.

Implementação passo a passo

Pré-requisitos

Antes de iniciar, certifique-se de ter:

  • Conta AWS ativa com permissões apropriadas aos serviços mencionados na seção de arquitetura.
  • Python 3.11+ instalado.
  • AWS CLI configurado com credenciais apropriadas.

Etapa 1: Configurar o ambiente

Clone o repositório e configure as dependências:

bash

# Clonar o repositório
git clone https://github.com/aws-samples/sample-multiagent-orchestration-on-agentcore-for-education
cd sample-multiagent-orchestration-on-agentcore-for-education
# Criar ambiente virtual Python
python -m venv venv
source venv/bin/activate  # No Windows: venv\Scripts\activate
# Instalar dependências
pip install -r requirements.txt
# Criar o arquivo de variáveis de ambiente e configurações AWS cp .env.example .env

Configure as variáveis de ambiente no arquivo .env:
bash

# Configuração AWS
AWS_REGION=us-east-1
AWS_PROFILE=default
# Configuração do Tópico do SNS e do número do End User Messaging social para integração com WABA
WHATSAPP_PHONE_NUMBER_ID=phone-number-id-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
END_USER_MESSAGING_TOPIC=arn:aws:sns:us-east-1:XXXXXXXXXXXX:endUserMssTopic
# Configuração de números de telefone para a integração com WhatsApp baseado em personas
DEMO_ADMIN_PHONE=+551199999999
DEMO_PROFESSOR_PHONE=+5511999999
DEMO_STUDENT_PHONE=+55119999999

Você preencherá as demais variáveis durante o processo de deploy.

Etapa 2: Deploy da solução

Existem duas opções para deploy da aplicação:

1ª Automática (recomendada)

bash

# Script de deploy automatizado, cria os recursos e salva as variáveis de ambiente no arquivo .env
./scripts/deploy.sh

2ª Manual

Bash

# 1. Deploy Knowledge Base
python3 deploy_knowledge_base.py
# 2. Deploy AgentCore Memory
python3 deploy_agentcore_memory.py
# 3. Deploy AgentCore Gateway
python3 deploy_agentcore_gateway.py
# 4. Deploy AgentCore Runtime
python3 deploy_agentcore_runtime_with_gw.py
# 5. Deploy Cognito User Pool
python3 deploy_cognito_user_pool.py
# 6. Deploy Lambda for handling SNS and EUM social
cd src/lambda_sns_eum
./update_lambda_env.sh

Etapa 3: Finalizar configuração da integração com a funcionalidade do WhatsApp (Caso esteja utilizando o WhatsApp como frontend)

Após a implementação, para finalizar a integração com o WhatsApp, no console do AWS Lambda, configure o seu tópico do Amazon SNS como um gatilho da função seguindo o passo a passo abaixo.

Figura 2: Dentro da função AWS Lambda selecione em “add trigger”

Figura 3: Selecione o serviço do SNS e o ARN do tópico que você configurou

Etapa 4: Testar as respostas dos agentes

Caso você não tenha configurado a integração com o WABA, pode invocar os agentes da seguinte forma:

bash

# 1. Testando com diferentes personas diretamente no terminal
python3 tests/invoke_agent.py --persona student --query "Quais são minhas tarefas pendentes?"
# 2. Você pode testar com diferentes prompts através do parâmetro “query”
python3 tests/invoke_agent.py --persona professor --query "Me mostre as métricas dos meus cursos”
python3 tests/invoke_agent.py --persona administrator --query "Gere o meu relatório de status operacional"

No caso de ter configurado a integração com o WABA, a interação com o agente será através da plataforma do WhatsApp como na foto abaixo:

Figura 4: Exemplo de interação no WhatsApp via Amazon End User Messaging Social

Limpeza

Para evitar custos desnecessários, ao finalizar os testes, execute o seguinte script:

bash

# Script de limpeza automatizado, remove todos os recursos
./scripts/cleanup.sh

Conclusão

Este artigo demonstrou como a orquestração de sistemas multiagentes com Amazon Bedrock AgentCore e Strands Agents oferece uma solução moderna, escalável e segura para automatizar processos educacionais complexos.

Segurança e conformidade

O AgentCore implementa segurança em múltiplas camadas para ambientes de produção. Cada sessão de agente é executada em microVMs dedicadas com isolamento completo de recursos (CPU, memória, sistema de arquivos), garantindo separação determinística entre sessões e eliminando riscos de contaminação cruzada. O AgentCore criptografa as comunicações em repouso usando AWS KMS (com suporte a chaves gerenciadas pelo cliente) e em trânsito via TLS 1.2+. O AgentCore Identity oferece gerenciamento centralizado de identidades com integração nativa a provedores corporativos (Cognito, Okta, Microsoft Entra ID), suporte OAuth 2.0 e cofre de tokens criptografado para armazenamento seguro de credenciais. A arquitetura segue o modelo de responsabilidade compartilhada da AWS, com conformidade a programas de validação empresariais e auditoria completa via CloudTrail.

Escalabilidade

A arquitetura serverless do AgentCore elimina a necessidade de gerenciamento de infraestrutura, oferecendo escalabilidade automática e dinâmica. O serviço provisiona recursos sob demanda sem necessidade de dimensionamento prévio, suportando desde interações em tempo real até cargas de trabalho assíncronas de até 8 horas. A infraestrutura multi-tenant com múltiplas Availability Zones em cada região garante alta disponibilidade e redundância. O Gateway permite descoberta inteligente de ferramentas através de busca semântica e suporta comunicação Agent to Agent (A2A) para sistemas multiagente colaborativos. O processamento paralelo de estratégias de memória e a arquitetura baseada em eventos (SNS/Lambda) possibilitam que o sistema escale horizontalmente conforme a demanda cresce.

Otimização de custos

O modelo de precificação baseado em consumo do AgentCore cobra apenas pelos recursos efetivamente utilizados, sem compromissos antecipados ou taxas mínimas. A cobrança de CPU é alinhada ao processamento ativo, eliminando custos durante períodos de espera de I/O. Para Memory, a cobrança é baseada em eventos criados (memória de curto prazo) e memórias processadas/armazenadas (memória de longo prazo). O Gateway cobra por operações MCP, consultas de busca e ferramentas indexadas. O Observability cobra pela telemetria gerada e armazenada no CloudWatch. Essa granularidade permite otimização de custos através de configurações adequadas de expiração para memória, limitação de etapas de ferramentas/recuperação, e uso de logs amostrados. A ausência de infraestrutura dedicada elimina custos fixos de servidores ociosos.

Ao combinar as ferramentas da AWS com agentes especializados usando o padrão Agents as Tools e MCP, criamos sistemas que não apenas automatizam processos complexos, mas o fazem de forma segura, escalável e economicamente eficiente, atendendo às demandas crescentes de instituições educacionais modernas.

Para aprofundar seus conhecimentos sobre esta solução, recomendamos consultar a documentação oficial do Amazon Bedrock AgentCore, o guia de segurança, a página de precificação, e explorar o código fonte disponível no GitHub.

Sobre os autores

Autores

Fernando Schroder é Arquiteto de Soluções para Setor Público na AWS com foco em Inteligência Artificial e Containers. Formado em Ciência & Tecnologia, Ciência da Computação pela Universidade Federal do ABC e com 5 anos de atuação em nuvem AWS, Fernando guia e orienta clientes nas melhores práticas de utilização da AWS.
Wembley Carvalho é Sr. Solutions Architect na AWS com foco em educação. Trabalhando em diversas áreas de TI há mais de 20 anos e certificado AWS desde 2016, vem se especializando nos últimos anos em Segurança em nuvem e transformação digital com Inteligência Artificial.