View a markdown version of this page

Implemente Multi-Agent uma plataforma de inteligência de reuniões usando Strands Agents SDK e AWS Fargate - Recomendações da AWS

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Implemente Multi-Agent uma plataforma de inteligência de reuniões usando Strands Agents SDK e AWS Fargate

Aishita Batra e Muskan., Amazon Web Services

Resumo

Esse padrão implanta uma plataforma multiagente de inteligência de reuniões AWS Fargate que gera automaticamente atas estruturadas, resumos executivos, narrações em áudio e relatórios em PDF formatados a partir das transcrições das reuniões. A solução usa o SDK Strands Agents para orquestrar quatro agentes especializados em IA, o Amazon Bedrock para inferência de modelos de linguagem e o Amazon Polly para conversão de texto em fala.

Os usuários carregam as transcrições das reuniões por meio de uma interface web do Streamlit, e o sistema as processa de forma assíncrona por meio de um pipeline coordenado de agentes. A infraestrutura é implantada automaticamente por meio do GitHub Actions with AWS AWS Cloud Development Kit (AWS CDK) e inclui monitoramento integrado, auto-scaling e alta disponibilidade.

Pré-requisitos e limitações

Pré-requisitos

  • Um ativo Conta da AWS com permissões administrativas

  • AWS CDK versão 2.114.1 ou posterior instalada

  • AWS CLI instalado e configurado com as permissões apropriadas AWS Identity and Access Management (IAM)

  • Node.js 18 ou mais tarde

  • Python 3.12 ou posterior

  • Git instalado

  • Docker instalado (opcional, para testes locais)

  • Uma GitHub conta com segredos do repositório configurados: AWS_ACCESS_KEY_ID e AWS_SECRET_ACCESS_KEY

  • Amazon Bedrock com acesso ao modelo Anthropic Claude 3 Sonnet habilitado em sua região

  • Acesso ao Amazon Polly ativado (ativado por padrão na maioria das regiões)

  • Permissões do IAM para Amazon Simple Storage Service (Amazon S3), Amazon Elastic Container Service (Amazon ECS), Fargate, Elastic Load Balancing, Amazon Virtual Private Cloud (Amazon VPC)

  • Amazon VPC, IAM, Amazon e Amazon CloudWatch Simple Notification Service (Amazon SNS)

Limitações

  • O tempo de processamento é de 2 a 7 minutos por reunião, dependendo da complexidade da transcrição.

  • O tamanho máximo da transcrição é de 50.000 caracteres por solicitação.

  • Os resumos de áudio são automaticamente condensados em 3.000 caracteres (limite de caracteres do Amazon Polly).

  • A disponibilidade do Amazon Bedrock Claude 3 Sonnet varia de acordo com. Região da AWS

  • O status do trabalho é armazenado na memória e não é persistente nas reinicializações do contêiner, a menos que você configure a S3-based persistência.

  • O upload direto suporta somente .txt arquivos.

  • O Application Load Balancer impõe um tempo limite de 15 minutos para o processamento de solicitações.

  • Alguns AWS serviços não estão disponíveis em todos Regiões da AWS. Para ver a disponibilidade da região, consulte AWS os serviços por região. Para endpoints específicos, consulte a página Cotas e endpoints de serviços e clique no link correspondente ao serviço desejado.

Arquitetura

Arquitetura de destino

A solução implanta um sistema de IA multiagente usando o SDK Strands Agents AWS Fargate com a seguinte arquitetura:

  1. Os usuários carregam as transcrições das reuniões por meio de um aplicativo web Streamlit hospedado localmente ou em um servidor remoto.

  2. Um Application Load Balancer em sub-redes públicas distribui o tráfego para o serviço Fargate em duas zonas de disponibilidade.

  3. As tarefas do Fargate são executadas em sub-redes privadas com acesso ao NAT Gateway e hospedam o back-end FastAPI e a lógica de orquestração do agente Strands.

  4. O sistema multiagente Strands processa as transcrições por meio de quatro agentes sequenciais: geração estruturada de minutos, geração de resumo conciso, narração em áudio e criação de relatórios em PDF.

  5. O Amazon Bedrock fornece inferência de modelo de linguagem (Claude 3 Sonnet) para os minutos e agentes de geração de resumos.

  6. O Amazon Polly converte o resumo conciso em uma narração em áudio MP3.

  7. O Amazon S3 armazena transcrições carregadas, arquivos de saída gerados e status do trabalho com políticas de gerenciamento do ciclo de vida.

  8. CloudWatch A Amazon fornece registro centralizado, alarmes de CPU e memória e monitoramento da saúde do serviço com notificações do Amazon SNS.

  9. GitHub O Actions fornece CI/CD implantação automatizada por meio AWS CDK de testes de validação de integridade.

Automação e escala

  • Auto-scaling do ECS Fargate — escalabilidade automática de contêineres de 1 a 3 instâncias com base nos limites de 70% de utilização de CPU e memória.

  • CloudWatchmonitoramento — alarmes de CPU (65%), memória (80%) e integridade do serviço integrados às notificações do Amazon SNS.

  • Application Load Balancer — distribuição de tráfego com verificações de integridade a cada 60 segundos e tempo limite de inatividade de 15 minutos para tarefas de processamento de IA de longa duração.

  • Processamento de tarefas em segundo plano — Análise assíncrona de reuniões usando FastAPI BackgroundTasks para execução simultânea de tarefas.

  • S3-based persistência do trabalho — Armazenamento persistente do status do trabalho no Amazon S3 que garante a continuidade do trabalho em todas as reinicializações de contêineres e eventos de escalabilidade.

  • GitHub Ações CI/CD — Pipeline de implantação automatizado com provisionamento de infraestrutura CDK e testes de validação de integridade.

Ferramentas

Serviços da AWS

  • Amazon Bedrock — fornece inferência de modelo de linguagem (Claude 3 Sonnet) para agentes de análise e resumo de reuniões. Consulte a documentação do Amazon Bedrock.

  • Amazon CloudWatch — Monitora o desempenho do contêiner, captura registros de aplicativos e dispara alarmes para limites de CPU, memória e integridade do serviço. Consulte a CloudWatch CloudWatch documentação da Amazon.

  • Amazon Elastic Container Service (Amazon ECS) — Organiza as tarefas de contêineres do Fargate com verificações de saúde e descoberta de serviços. Consulte a documentação do Amazon ECS.

  • Amazon Polly — converte resumos concisos de reuniões em narrações em áudio MP3. Consulte a documentação do Amazon Polly.

  • Amazon Simple Notification Service (Amazon SNS) — Entrega notificações de alarme a partir do monitoramento. CloudWatch Consulte a documentação do Amazon SNS.

  • Amazon Simple Storage Service (Amazon S3) — Armazena transcrições carregadas, arquivos de saída gerados e status do trabalho com gerenciamento do ciclo de vida. Consulte a documentação do Amazon S3.

  • AWS CDK — Define e implanta toda a infraestrutura como código. Veja AWS CDK a documentação.

  • AWS Fargate — Executa cargas de trabalho de aplicativos em contêineres sem gerenciar servidores, com escalonamento automático de 1 a 3 instâncias. Veja AWS Fargate a documentação.

  • Elastic Load Balancing — distribui o tráfego de entrada para as tarefas do Fargate em todas as zonas de disponibilidade. Consulte a documentação do Elastic Load Balancing.

Outras ferramentas

Repositório de código

O código desse padrão está disponível no repositório GitHub sample-ai-meeting-minutes-generator.

Práticas recomendadas

  • Use instruções de sistema claras e focadas para cada agente para garantir uma formatação de saída consistente e uma documentação profissional para reuniões.

  • Implemente o gerenciamento do ciclo de vida do Amazon S3 com retenção de 90 dias para otimização de custos e limpeza automatizada de arquivos.

  • Use o rastreamento de S3-based tarefas da Amazon para manter o estado entre reinicializações de contêineres e eventos de escalabilidade para um processamento confiável.

  • Configure CloudWatch alarmes para CPU, memória e integridade do serviço com notificações do Amazon SNS para monitoramento proativo.

  • Valide e limpe os carregamentos de arquivos e o formato do conteúdo antes do processamento para evitar erros no sistema e problemas de segurança.

  • Respeite o princípio de privilégio mínimo, garantindo somente as permissões estritamente necessárias para a execução de uma tarefa. Para obter mais informações, consulte Concessão de privilégio mínimo e nas melhores práticas de segurança na documentação do IAM.

  • Considere implantações AWS AgentCore de produção que exijam orquestração gerenciada e sobrecarga operacional simplificada. O Strands SDK é preferido quando você precisa de maior personalização das interações dos agentes e controle especializado do fluxo de trabalho.

  • Implemente uma avaliação sistemática dos resultados dos agentes em relação às atas de reuniões geradas por humanos para melhorar continuamente as solicitações do sistema e o desempenho do agente.

Épicos

TarefaDescriptionHabilidades necessárias

Clone o repositório

  1. Para clonar o repositório do padrão, execute o seguinte comando:

git clone https://github.com/aws-samples/sample-ai-meeting-minutes-generator.git
  1. Navegue até o diretório de projeto:

cd meeting-minutes-app
AWS DevOps

Crie seu próprio repositório Git

  1. Crie um novo repositório na sua plataforma Git preferida GitHub ( GitLab,, ou Bitbucket).

  2. Atualize a origem remota para apontar para seu repositório:

git remote set-url origin https://<your-git-platform>.com/<your-username>/<your-repo-name>.git
  1. Envie o código para o seu repositório:

git push -u origin main
Desenvolvedor de aplicativos

Configure os segredos do repositório para CI/CD.

  1. Navegue até a página de configurações do seu repositório.

  2. Escolha Segredos e variáveis e, em seguida, escolha Ações (para GitHub) ou a seção equivalente para sua plataforma Git.

  3. Adicione os seguintes segredos do repositório:

    • Nome: AWS_ACCESS_KEY_ID, Valor: <your-aws-access-key-id>

    • Nome: AWS_SECRET_ACCESS_KEY, Valor: <your-aws-secret-access-key>

DevOps engenheiro

Implante a infraestrutura usando o CI/CD fluxo de trabalho.

  1. Acione a implantação enviando o código para sua filial principal:

git add . git commit -m "Deploy multi-agent meeting intelligence platform" git push origin main
  1. O fluxo de trabalho de GitHub ações provisiona automaticamente a infraestrutura usando o AWS CDK.

DevOps engenheiro

Verifique a implantação da infraestrutura.

  1. Navegue até a CI/CD seção do seu repositório (por exemplo,https://github.com/<your-username>/<your-repo-name>/actions).

  2. Escolha o fluxo de trabalho em execução para ver os registros e o progresso em tempo real.

  3. Abra o Console de gerenciamento da AWS e navegue até o AWS CloudFormation serviço.

  4. Selecione a MeetingMinutesFargateStackpilha na lista.

  5. Verifique se o status da pilha mostra CREATE_COMPLETE.

  6. Escolha a guia Saídas e anote o valor serviceURL para uso no próximo épico.

DevOps engenheiro, administrador de nuvem
TarefaDescriptionHabilidades necessárias

Configurar o ambiente de desenvolvimento local

  1. Navegue até o diretório do aplicativo:

cd meeting_minutes_agent/app
  1. Crie e ative um ambiente virtual Python:

python -m venv venv source venv/bin/activate # Linux/Mac # Or on Windows: venv\Scripts\activate
  1. Instale as dependências necessárias:

pip install -r requirements.txt pip install streamlit
Desenvolvedor de aplicativos

Recupere a URL do serviço de back-end.

  1. Abra o Console de gerenciamento da AWS e navegue até o AWS CloudFormation serviço.

  2. Selecione a pilha MeetingMinutesFargateStack.

  3. Escolha a guia Outputs.

  4. Localize a chave serviceURL e copie o valor de URL correspondente.

Administrador de nuvem

Inicie o aplicativo e verifique a conectividade.

  1. Inicie o aplicativo Streamlit com o URL de back-end:

BACKEND_URL="http://<your-service-url>.us-east-1.elb.amazonaws.com" streamlit run meeting_minutes_agent/app/streamlit_app.py
  1. Abra um navegador da web e navegue atéhttp://localhost:8501.

  2. Verifique se a interface exibe o status de back-end conectado na barra lateral.

Desenvolvedor de aplicativos
TarefaDescriptionHabilidades necessárias

Processe a transcrição de uma reunião e verifique os resultados.

  1. Faça upload da transcrição de uma reunião usando um destes métodos:

    • Use o sample_meeting.txt arquivo fornecido no repositório.

    • Faça upload da sua própria transcrição da reunião (.txtarquivo).

    • Cole o conteúdo da transcrição da reunião diretamente na área de entrada de texto.

  2. Escolha Gerar minutos para iniciar o fluxo de trabalho de processamento multiagente.

  3. Monitore o progresso do processamento em tempo real por meio da interface.

  4. Baixe e verifique as saídas geradas:

    • meeting_minutes_*.txt— Atas de reuniões estruturadas

    • meeting_audio_*.mp3— Narração resumida em áudio

    • meeting_report_*.pdf— Relatório abrangente em PDF

  5. Verifique se todos os quatro arquivos de saída estão presentes e contêm o conteúdo esperado.

Desenvolvedor de aplicativos

Solução de problemas

ProblemaSolução

Erro de acesso ao modelo Amazon Bedrock

Verifique se o modelo Anthropic Claude 3 Sonnet está habilitado em sua região. Abra o console Amazon Bedrock, escolha Acesso ao modelo e confirme se o Claude 3 Sonnet mostra o acesso concedido.

Falha no bootstrap do CDK

Execute cdk bootstrap aws://<account-id>/<region> manualmente antes da implantação. Verifique se suas AWS CLI credenciais têm permissões para CloudFormation Amazon S3 e IAM.

  • Falha ao iniciar a tarefa do Fargate

Consulte o console do Amazon ECS para ver os detalhes da tarefa interrompida. As causas comuns incluem permissões de função do IAM incorretas, falta de acesso ao Amazon Bedrock ou problemas de configuração de VPC. Revise CloudWatch os registros da tarefa.

Tempo limite de processamento (tempo limite do ALB de 15 minutos)

O Application Load Balancer tem um tempo limite de inatividade de 15 minutos. Para transcrições muito longas, reduza o tamanho da entrada para menos de 50.000 caracteres ou aumente o tempo limite do ALB na configuração do CDK.

Falha na geração de áudio

O Amazon Polly tem um limite de 3.000 caracteres. O agente de resumo conciso condensa automaticamente o conteúdo abaixo desse limite. Se a geração de áudio ainda falhar, verifique se o acesso ao Amazon Polly está habilitado na sua região.

GitHub Falha na implantação de ações

Verifique se AWS_ACCESS_KEY_ID os segredos AWS_SECRET_ACCESS_KEY do repositório estão configurados corretamente. Verifique se o usuário do IAM tem permissões para a implantação do CDK (CloudFormation Amazon ECS, Amazon S3, IAM).

Backend não conectado (Streamlit mostra desconectado)

Verifique se a variável de BACKEND_URL ambiente corresponde ao serviceURL na guia Saídas. CloudFormation Confirme se o serviço Fargate está funcionando e em bom estado no console do Amazon ECS.

Status do trabalho perdido após a reinicialização do contêiner

Habilite a persistência de S3-based tarefas na Amazon configurando a variável de S3_JOB_TRACKING ambiente. Sem isso, o status do trabalho é armazenado somente na memória e perdido na reinicialização do contêiner.

Recursos relacionados

Referências

Ferramentas

Mais informações

Multi-agent fluxo de trabalho de processamento

A solução orquestra o processamento de reuniões por meio de quatro agentes especializados que são executados sequencialmente nas tarefas do Fargate. Cada trabalho recebe um ID de trabalho exclusivo e é executado de forma assíncrona para escalabilidade e isolamento de falhas.

  1. Gerador de minutos estruturados (generate_structured_minutes) — usa a transcrição e o título brutos da reunião como entrada. Usa o Amazon Bedrock Claude 3 Sonnet para produzir atas de reuniões abrangentes, incluindo informações da reunião, itens da pauta, resumo da discussão, itens de ação com responsáveis e prazos e as próximas etapas. Salva a saída como um arquivo de texto sem formatação.

  2. Gerador de resumo conciso (concise_minutes_agent) — usa os minutos estruturados completos do Agente 1 como entrada. Usa o Amazon Bedrock Claude 3 Sonnet para criar um resumo executivo de menos de 3.000 caracteres para geração de áudio e leitura rápida.

  3. Gerador de áudio (audio_generator_agent) — Usa os minutos concisos do Agente 2 como entrada. Usa a speak ferramenta Strands com o Amazon Polly para gerar um arquivo de áudio MP3 narrando o resumo conciso.

  4. Gerador de relatórios em PDF (create_comprehensive_pdf) — Usa os minutos estruturados completos do Agente 1 como entrada. Usa a ReportLab biblioteca para produzir um relatório profissional em PDF com estilo de título personalizado, cabeçalhos de seção, layout de texto legível e metadados.

Fluxo de dados

  1. Upload do usuário — Transcrição da reunião enviada por meio da interface do usuário do Streamlit ou chamada direta da API.

  2. Inicialização do trabalho — O FastAPI cria um ID de trabalho exclusivo e retorna imediatamente para processamento assíncrono.

  3. Processamento em segundo plano — O fluxo de trabalho de quatro etapas do agente Strands é executado sequencialmente.

  4. Gerenciamento de arquivos — Os arquivos gerados são enviados para o Amazon S3 com URLs de download pré-assinados.

  5. Conclusão do trabalho — O status é atualizado com links de download para todas as saídas geradas.

Considerações sobre aprimoramentos futuros

  • Rastreamento persistente de trabalhos com o Amazon DynamoDB para confiabilidade entre contêineres

  • Multi-format suporte de entrada (.docx,.pdf, arquivos de transcrição de áudio)

  • Real-time WebSocket atualizações de progresso

End-to-End Fluxo de processamento

  • A solução orquestra o processamento de reuniões por meio de uma sequência coordenada de agentes especializados em execução nas tarefas do Fargate.

  • Cada trabalho recebe um ID de trabalho exclusivo e é executado de forma assíncrona para garantir escalabilidade e isolamento de falhas.

  • O fluxo de trabalho inclui ingestão de transcrições → geração estruturada de minutos → resumo executivo → narração em áudio → criação de relatório em PDF, com cada etapa validada e registrada em tempo real.

Four-Step Processamento de agentes

  1. Gerador de minutos estruturados — produz atas de reuniões detalhadas.

  2. Gerador de resumo conciso — cria um resumo executivo para revisão rápida e narração em áudio.

  3. Gerador de áudio — gera a narração em MP3 do resumo.

  4. Gerador de relatórios em PDF — produz relatórios em PDF polidos e formatados.

Gerenciamento automatizado de arquivos e integração na nuvem

  • Upload automático de saída: relatórios estruturados de texto, áudio e PDF são enviados automaticamente para o Amazon S3 com o particionamento adequado por IDs de trabalho.

  • Verificações de integridade e gerenciamento do ciclo de vida: as confirmações de upload, a validação de arquivos e a limpeza são registradas, garantindo transparência e confiabilidade operacionais.

  • As tarefas em segundo plano do FastAPI gerenciam a execução assíncrona de trabalhos.

Integração e saídas da interface do usuário

  • A interface do usuário simplificada mostra a conexão de back-end, a área de entrada da transcrição e a geração de minutos após o upload da transcrição da reunião por meio do URL do Pre-signed S3 para iniciar os trabalhos.

  • Após a conclusão do processamento, as saídas estruturadas de texto, áudio e PDF são disponibilizadas para download por meio de URLs do Pre-signed S3, acessíveis por meio de botões clicáveis na interface do usuário.