Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Implemente Multi-Agent la plataforma de inteligencia para reuniones con el SDK de Strands Agents y AWS Fargate
Aishita Batra y Muskan., Amazon Web Services
Resumen
Este patrón implementa una plataforma de inteligencia de reuniones multiagente AWS Fargate que genera automáticamente actas estructuradas, resúmenes ejecutivos, narraciones de audio e informes en PDF formateados a partir de las transcripciones de las reuniones. La solución utiliza el SDK de Strands Agents para organizar cuatro agentes de IA especializados: Amazon Bedrock para la inferencia de modelos de lenguaje y Amazon Polly para la conversión de texto a voz.
Los usuarios suben las transcripciones de las reuniones a través de una interfaz web de Streamlit y el sistema las procesa de forma asíncrona a través de una canalización de agentes coordinada. La infraestructura se implementa automáticamente mediante GitHub Actions with AWS AWS Cloud Development Kit (AWS CDK) e incluye monitoreo integrado, autoscalamiento y alta disponibilidad.
Requisitos previos y limitaciones
Requisitos previos
Un activo Cuenta de AWS con permisos administrativos
AWS CDK instalada la versión 2.114.1 o posterior
AWS CLI instalado y configurado con los permisos AWS Identity and Access Management (IAM) adecuados
Node.js 18 o posterior
Python 3.12 o posterior
Git instalado
Docker instalado (opcional, para pruebas locales)
Una GitHub cuenta con los secretos del repositorio configurados:
AWS_ACCESS_KEY_IDyAWS_SECRET_ACCESS_KEYAmazon Bedrock con acceso al modelo Anthropic Claude 3 Sonnet habilitado en su región
Acceso a Amazon Polly activado (activado de forma predeterminada en la mayoría de las regiones)
Permisos de IAM para Amazon Simple Storage Service (Amazon S3), Amazon Elastic Container Service (Amazon ECS), Fargate, Elastic Load Balancing y Amazon Virtual Private Cloud (Amazon VPC)
Amazon VPC, IAM, Amazon CloudWatch y Amazon Simple Notification Service (Amazon SNS)
Limitaciones
El tiempo de procesamiento es de 2 a 7 minutos por reunión, según la complejidad de la transcripción.
La longitud máxima de la transcripción es de 50 000 caracteres por solicitud.
Los resúmenes de audio se condensan automáticamente a 3000 caracteres (límite de caracteres de Amazon Polly).
La disponibilidad de Amazon Bedrock Claude 3 Sonnet varía según. Región de AWS
El estado del trabajo se almacena en la memoria y no es persistente durante los reinicios del contenedor, a menos que configure S3-based la persistencia.
La carga directa solo admite
.txtarchivos.El Application Load Balancer impone un tiempo de espera de 15 minutos para procesar las solicitudes.
Algunos AWS servicios no están disponibles en todos. Regiones de AWS Para conocer la disponibilidad regional, consulta AWS los servicios por región
. Para ver los puntos de conexión específicos, consulte la página Service endpoints and quotas y elija el enlace del servicio.
Arquitectura
Arquitectura de destino
La solución implementa un sistema de IA multiagente utilizando el SDK de Strands Agents y AWS Fargate con la siguiente arquitectura:

Los usuarios cargan las transcripciones de las reuniones a través de una aplicación web Streamlit alojada localmente o en un servidor remoto.
Un Application Load Balancer en las subredes públicas distribuye el tráfico al servicio Fargate entre dos zonas de disponibilidad.
Las tareas de Fargate se ejecutan en subredes privadas con acceso a NAT Gateway y alojan el backend de FastAPI y la lógica de orquestación de agentes de Strands.
El sistema multiagente Strands procesa las transcripciones mediante cuatro agentes secuenciales: generación de actas estructuradas, generación de resúmenes concisos, narración de audio y creación de informes en PDF.
Amazon Bedrock proporciona inferencia de modelos de lenguaje (Claude 3 Sonnet) para los agentes de generación de actas y resúmenes.
Amazon Polly convierte el resumen conciso en una narración de audio MP3.
Amazon S3 almacena las transcripciones cargadas, los archivos de salida generados y el estado de los trabajos con políticas de administración del ciclo de vida.
Amazon CloudWatch proporciona registros centralizados, alarmas de CPU y memoria y supervisión del estado del servicio con notificaciones de Amazon SNS.
GitHub Actions proporciona un CI/CD despliegue automatizado mediante pruebas AWS CDK de validación del estado.
Automatización y escala
Fargate de ECS: escalado automático de contenedores de 1 a 3 instancias en función de los umbrales de uso de memoria y CPU del 70%.
CloudWatchsupervisión: alarmas de estado de la CPU (65%), memoria (80%) y servicio integradas con las notificaciones de Amazon SNS.
Application Load Balancer: distribución del tráfico con controles de estado cada 60 segundos y 15 minutos de inactividad para tareas de procesamiento de IA de larga duración.
Procesamiento de tareas en segundo plano: análisis asíncrono de reuniones mediante FastAPI para la ejecución simultánea de tareas. BackgroundTasks
S3-based persistencia de tareas: almacenamiento persistente del estado de las tareas en Amazon S3 que garantiza la continuidad de las tareas durante los reinicios de contenedores y los eventos de escalado.
GitHub Acciones CI/CD: proceso de implementación automatizado con aprovisionamiento de la infraestructura de CDK y pruebas de validación del estado.
Tools (Herramientas)
Servicios de AWS
Amazon Bedrock: proporciona inferencia de modelos de lenguaje (Claude 3 Sonnet) para los agentes de análisis y resumen de reuniones. Consulte la documentación de Amazon Bedrock.
Amazon CloudWatch : supervisa el rendimiento de los contenedores, captura los registros de las aplicaciones y activa alarmas para los umbrales de estado de la CPU, la memoria y el servicio. Consulta la CloudWatch CloudWatch documentación de Amazon.
Amazon Elastic Container Service (Amazon ECS): organiza las tareas relacionadas con los contenedores de Fargate mediante comprobaciones de estado y detección de servicios. Consulte la documentación de Amazon ECS.
Amazon Polly: convierte resúmenes concisos de reuniones en narraciones de audio MP3. Consulte la documentación de Amazon Polly.
Amazon Simple Notification Service (Amazon SNS): envía notificaciones de alarma desde la supervisión. CloudWatch Consulte la documentación de Amazon SNS.
Amazon Simple Storage Service (Amazon S3): almacena las transcripciones cargadas, los archivos de salida generados y el estado de los trabajos con administración del ciclo de vida. Consulte la documentación de Amazon S3.
AWS CDK — Define e implementa toda la infraestructura como código. Consulte la AWS CDK documentación.
AWS Fargate — Ejecuta cargas de trabajo de aplicaciones en contenedores sin administrar servidores, con un autoscalamiento de 1 a 3 instancias. AWS Fargate Consulte la documentación.
Elastic Load Balancing: distribuye el tráfico entrante a las tareas de Fargate entre las zonas de disponibilidad. Consulte la documentación de Elastic Load Balancing.
Otras herramientas
Docker: crea imágenes de contenedores para realizar pruebas locales. Consulte la documentación de Docker
. FastAPI: proporciona el backend de la API REST para el envío de trabajos, la verificación del estado y las operaciones con archivos. Consulte la documentación de FastAPI
. GitHub Acciones: automatiza el proceso de CI/CD implementación. Consulte la documentación de GitHub acciones.
ReportLab— Genera informes en formato PDF a partir de actas de reuniones estructuradas. Consulte la ReportLab documentación.
SDK de Strands Agents: organiza flujos de trabajo de varios agentes con un mínimo de código mediante el patrón
@tooldecorador. Consulte la documentación del SDK de Strands.Streamlit: proporciona la interfaz de usuario basada en la web para cargar las transcripciones y descargar los resultados. Consulte la documentación de Streamlit
.
Repositorio de código
El código de este patrón está disponible en el repositorio GitHub sample-ai-meeting-minutes-generator
Prácticas recomendadas
Utilice instrucciones del sistema claras y específicas para cada agente a fin de garantizar un formato de salida uniforme y una documentación profesional para las reuniones.
Implemente la gestión del ciclo de vida de Amazon S3 con una retención de 90 días para la optimización de costes y la limpieza automática de archivos.
Utilice el seguimiento de S3-based trabajos de Amazon para mantener el estado de los eventos de reinicios y escalado de contenedores para un procesamiento confiable.
Configure CloudWatch alarmas para el estado de la CPU, la memoria y el servicio con las notificaciones de Amazon SNS para una supervisión proactiva.
Valide y limpie las cargas de archivos y el formato del contenido antes de procesarlos para evitar errores del sistema y problemas de seguridad.
Siga el principio de privilegio mínimo y conceda los permisos mínimos necesarios para llevar a cabo una tarea. Para obtener más información, consulte Otorgar privilegio mínimo y Prácticas recomendadas de seguridad en la documentación de IAM.
Considere AWS AgentCore la posibilidad de realizar despliegues de producción que requieran una organización gestionada y una sobrecarga operativa simplificada. Se prefiere el SDK de Strands cuando se necesita una mayor personalización de las interacciones de los agentes y un control especializado del flujo de trabajo.
Implemente una evaluación sistemática de los resultados de los agentes comparándolos con las actas de las reuniones generadas por personas para mejorar continuamente las solicitudes del sistema y el rendimiento de los agentes.
Epics
| Tarea | Descripción | Habilidades requeridas |
|---|---|---|
Clone el repositorio |
| AWS DevOps |
Crea tu propio repositorio de Git |
| Desarrollador de aplicaciones |
Configura los secretos del repositorio para CI/CD. |
| DevOps ingeniero |
Implemente la infraestructura mediante el CI/CD flujo de trabajo. |
| DevOps ingeniero |
Verifique la implementación de la infraestructura. |
| DevOps ingeniero, administrador de la nube |
| Tarea | Descripción | Habilidades requeridas |
|---|---|---|
Configure el entorno de desarrollo local |
| Desarrollador de aplicaciones |
Recupera la URL del servicio de backend. |
| Administrador de la nube |
Inicie la aplicación y verifique la conectividad. |
| Desarrollador de aplicaciones |
| Tarea | Descripción | Habilidades requeridas |
|---|---|---|
Procese la transcripción de una reunión y verifique los resultados. |
| Desarrollador de aplicaciones |
Resolución de problemas
| Problema | Solución |
|---|---|
Error de acceso al modelo Amazon Bedrock | Compruebe que el modelo Anthropic Claude 3 Sonnet esté activado en su región. Abra la consola Amazon Bedrock, elija Model access y confirme que Claude 3 Sonnet muestre Acceso concedido. |
El bootstrap de CDK falla | Ejecute |
| Consulte los detalles de las tareas detenidas en la consola Amazon ECS. Las causas más comunes incluyen permisos de rol de IAM incorrectos, falta de acceso a Amazon Bedrock o problemas de configuración de VPC. Revise CloudWatch los registros de la tarea. |
Se agota el tiempo de espera del procesamiento (tiempo de espera de ALB de 15 minutos) | El Application Load Balancer tiene un tiempo de espera de inactividad de 15 minutos. Para transcripciones muy largas, reduzca el tamaño de entrada a menos de 50 000 caracteres o aumente el tiempo de espera de ALB en la configuración de CDK. |
La generación de audio falla | Amazon Polly tiene un límite de 3000 caracteres. El agente de resúmenes concisos condensa el contenido automáticamente por debajo de este límite. Si la generación de audio sigue fallando, compruebe que el acceso a Amazon Polly esté habilitado en su región. |
GitHub El despliegue de las acciones falla | Compruebe que |
El backend no está conectado (Streamlit muestra que está desconectado) | Compruebe que la variable de |
Se perdió el estado del trabajo tras reiniciar el contenedor | Habilite la persistencia de los S3-based trabajos de Amazon configurando la variable de |
Recursos relacionados
Referencias
Herramientas
Información adicional
Multi-agent flujo de trabajo de procesamiento
La solución organiza el procesamiento de las reuniones a través de cuatro agentes especializados que se ejecutan secuencialmente dentro de las tareas de Fargate. A cada trabajo se le asigna un identificador de trabajo único y se ejecuta de forma asíncrona para garantizar la escalabilidad y el aislamiento de errores.
Generador de actas estructuradas (
generate_structured_minutes): toma como entrada la transcripción y el título de la reunión sin procesar. Utiliza Amazon Bedrock Claude 3 Sonnet para producir minutas de reuniones completas, que incluyen información sobre la reunión, los puntos de la agenda, el resumen del debate, las acciones con las personas asignadas y los plazos, y los próximos pasos. Guarda el resultado como un archivo de texto sin formato.Generador de resúmenes concisos (
concise_minutes_agent): toma como entrada todos los minutos estructurados del Agente 1. Utiliza Amazon Bedrock Claude 3 Sonnet para crear un resumen ejecutivo de menos de 3000 caracteres para la generación de audio y la lectura rápida.Generador de audio (
audio_generator_agent): toma como entrada los breves minutos del Agente 2. Utiliza laspeakherramienta Strands de Amazon Polly para generar un archivo de audio MP3 que narra el resumen conciso.Generador de informes en PDF (
create_comprehensive_pdf): toma como entrada todos los minutos estructurados del Agente 1. Utiliza la ReportLab biblioteca para producir un informe PDF profesional con estilos de título personalizados, encabezados de sección, diseño de texto legible y metadatos.
Flujo de datos
Carga por parte del usuario: la transcripción de la reunión se carga a través de la interfaz de usuario de Streamlit o mediante una llamada directa a la API.
Inicialización del trabajo: FastAPI crea un ID de trabajo único y lo devuelve inmediatamente para su procesamiento asíncrono.
Procesamiento en segundo plano: el flujo de trabajo del agente Strands de cuatro pasos se ejecuta secuencialmente.
Administración de archivos: los archivos generados se cargan en Amazon S3 con direcciones URL de descarga prefirmadas.
Finalización del trabajo: el estado se actualiza con enlaces de descarga para todos los resultados generados.
Consideraciones sobre mejoras futuras
Seguimiento persistente de los trabajos con Amazon DynamoDB para garantizar la fiabilidad entre contenedores
Multi-format soporte de entrada (
.docx, archivos de transcripción.pdfde audio)Real-time WebSocket actualizaciones de progreso
End-to-End Flujo de procesamiento
La solución organiza el procesamiento de las reuniones mediante una secuencia coordinada de agentes especializados que se ocupan de las tareas de Fargate.
A cada trabajo se le asigna un identificador de trabajo único y se ejecuta de forma asíncrona para garantizar la escalabilidad y el aislamiento de fallas.
El flujo de trabajo incluye la recopilación de transcripciones → la generación de actas estructuradas → el resumen ejecutivo → la narración de audio → la creación de informes en PDF, con cada paso validado y registrado en tiempo real.
Four-Step Procesamiento de agentes
Generador de actas estructuradas: produce actas detalladas de las reuniones.
Generador de resúmenes concisos: crea un resumen ejecutivo para una revisión rápida y una narración de audio.
Generador de audio: genera una narración en MP3 del resumen.
Generador de informes en PDF: produce informes PDF pulidos y formateados.
Gestión automatizada de archivos e integración en la nube
Carga automática de resultados: los informes de texto estructurado, audio y PDF se cargan automáticamente en Amazon S3 con la división adecuada por ID de trabajo.
Comprobaciones de integridad y gestión del ciclo de vida: se registran las confirmaciones de carga, la validación de los archivos y la limpieza, lo que garantiza la transparencia y la fiabilidad de las operaciones.
Las tareas en segundo plano de FastAPI gestionan la ejecución asíncrona de los trabajos.
Integración y salidas de la interfaz de usuario
La interfaz de usuario Streamlit muestra la conexión interna, el área de entrada de transcripciones y la opción Generar minutos después de cargar la transcripción de la reunión a través de la URL de S3 Pre-signed para iniciar las tareas.

Una vez finalizado el procesamiento, las salidas de texto estructurado, audio y PDF están disponibles para su descarga a través de las direcciones URL de Pre-signed S3, a las que se puede acceder mediante los botones de la interfaz de usuario en los que se puede hacer clic.

