Los analistas de negocios a menudo esperan días para que se realicen modificaciones en el panel cuando responden a los requisitos comerciales cambiantes. Los procesos tradicionales implican enviar solicitudes de modificación a los equipos de TI, quienes interpretan los requisitos, navegan por la documentación de API, comprenden los esquemas de tablas e implementan cambios. Si bien este enfoque mantiene una supervisión y un control de calidad adecuados, puede generar tiempos de respuesta de varios días cuando se necesitan actualizaciones rápidas del panel.
Esta solución combina el poder de Amazon Bedrock AgentCore, Strands Agents y Amazon Quick transforms para ofrecer un sistema seguro, escalable e inteligente para crear y operar agentes de IA mientras transforma los datos en información empresarial procesable.
Descripción general de la solución
En esta solución, utilizamos una arquitectura de múltiples agentes creada con Amazon Bedrock AgentCore y el marco Strands. Amazon Bedrock AgentCore es una plataforma agente para crear, implementar y operar agentes eficaces de forma segura a escala, sin necesidad de administración de infraestructura. Acelera la producción de los agentes con memoria inteligente y una puerta de enlace para permitir el acceso seguro y controlado a herramientas y datos. Ejecuta agentes con seguridad de nivel de producción y escalamiento dinámico y monitorea el rendimiento y la calidad en la producción. Strands Agents es un marco de código primero para crear agentes con integración a los servicios de AWS. La solución también utiliza Amazon Quick, que ofrece capacidades de BI impulsadas por IA, transformando sus datos dispersos en información estratégica para todos, para que pueda tomar decisiones más rápidas y lograr mejores resultados comerciales.
La arquitectura consta de tres agentes especializados que trabajan juntos. Find Dashboard Agent realiza operaciones de descubrimiento, incluida la búsqueda de paneles y la recuperación de metadatos de columnas de paneles y conjuntos de datos. El agente de modificación del panel ejecuta cambios de configuración validando columnas, actualizando elementos visuales de tablas y creando nuevas versiones del panel. El Agente de Orchestrator enruta las solicitudes de los usuarios a los agentes especializados adecuados según la clasificación de intenciones.
El Agente de Orchestrator sirve como punto de entrada para las interacciones de los usuarios. Cuando los usuarios envían consultas en lenguaje natural como "Agregar apellido al panel de prueba", Amazon Nova clasifica las solicitudes como conversacionales u operativas. Las consultas conversacionales reciben respuestas directas utilizando las capacidades del modelo de lenguaje grande (LLM) de Nova. Las solicitudes operativas se enrutan a través del marco de Strands a agentes especializados, validan los cambios en las columnas del conjunto de datos disponibles y ejecutan modificaciones de forma autónoma mientras mantienen controles de seguridad, pistas de auditoría y preservan los paneles originales para fines de reversión. El siguiente diagrama ilustra la arquitectura y el flujo de trabajo de la solución.
La arquitectura incluye los siguientes componentes:
Amazon Bedrock AgentCore: alberga el orquestador de Strands Agent y los subagentes especializados. Amazon Nova: proporciona capacidades de razonamiento y procesamiento del lenguaje natural (NLP). Amazon Quick: el servicio de destino para las operaciones de descubrimiento y modificación de paneles. Memoria AgentCore: mantiene el contexto de la conversación y el estado de la sesión. Observabilidad de Amazon Bedrock AgentCore: registra las decisiones de los agentes y rastrea las interacciones de la API.
Para implementar la solución de IA agente para el autoservicio rápido, complete los siguientes pasos de alto nivel:
Cree los agentes (Buscar agente de panel, Modificar agente de panel y Agente de orquestador). Implemente los agentes en Amazon Bedrock AgentCore. Pruebe el agente a través de la Consola de administración de AWS.
Requisitos previos
Para implementar esta solución, debe tener los siguientes requisitos previos:
Una cuenta de AWS con permisos para Amazon Bedrock, Amazon Quick y AWS Identity and Access Management (IAM). Para crear un nuevo panel, consulte Crear un panel de Amazon Quick para obtener más información. Una cuenta activa de Amazon Quick con paneles existentes (guía de creación). Permisos de IAM configurados para otorgar al agente acceso a interfaces de programación de aplicaciones (API) rápidas: vista rápida:ListDashboards vista rápida:DescribeDashboard vista rápida:DescribeDashboardDefinición vista rápida:DescribeDataSet vista rápida:CreateDashboard Python 3.10 o posterior (Python 3.10-3.13 compatible con implementación directa de código). El administrador de paquetes uv instalado (guía de instalación). Interfaz de línea de comandos de AWS (AWS CLI) configurada con las credenciales adecuadas. Conocimientos básicos de los servicios de Python y AWS.
Tutorial
Para crear, implementar y probar su solución de automatización de paneles basada en IA mediante Amazon Bedrock AgentCore, siga estos cuatro pasos:
Paso 1: Cree agentes de autoservicio rápidos para buscar y modificar paneles
Cree tres agentes principales que impulsen la solución de autoservicio Quick:
Busque Dashboard Agent para operaciones de descubrimiento. Modifique el Agente del Panel para operaciones de modificación. Agente orquestador que coordina entre ellos.
Exploremos el rol y la implementación de cada agente.
1.1 Construya el agente del panel de búsqueda
Este agente maneja las operaciones de descubrimiento del panel necesarias para acciones posteriores de visualización o modificación. Por ejemplo, cuando un usuario envía una consulta en lenguaje natural como "muéstrame un informe con el nombre 'prueba'", el orquestador invoca a este agente, que ejecuta la API list_dashboards para recuperar los metadatos del panel, filtra los resultados según los criterios de búsqueda y devuelve los paneles coincidentes en un formato estructurado.
Este agente de descubrimiento ofrece tres capacidades principales: búsqueda en paneles con soporte para coincidencias de nombres exactas y parciales, enumerar los paneles disponibles en la cuenta y recuperar información de columnas de ambos paneles y sus conjuntos de datos subyacentes. Estas funciones de descubrimiento sirven como requisito previo para las operaciones del panel, ya que es necesario identificar el panel de destino antes de ejecutar modificaciones o recuperaciones.
Cada capacidad se implementa como una función Strands @tool. El siguiente fragmento muestra la herramienta de búsqueda del panel, que llama a la API list_dashboards y filtra los resultados utilizando una coincidencia parcial de nombres:
Luego, el agente envuelve estas funciones de herramienta dentro de un agente de Strands y se expone como una @herramienta para que el orquestador pueda invocarla con consultas en lenguaje natural:
Este patrón de agente como herramienta es lo que permite la arquitectura multiagente. El orquestador no llama directamente a las Quick API, sino que invoca a este agente, que maneja la comprensión del lenguaje natural y las llamadas API internamente.
1.2 Construir el agente de panel de modificación
Con las capacidades de descubrimiento implementadas, el siguiente agente maneja los cambios de configuración del panel a través de un flujo de trabajo que prioriza la validación. Considere una solicitud de usuario como "agregar apellido al panel de pruebas". El orquestador enruta esto al agente de modificación del panel, que valida que la columna exista en el esquema del conjunto de datos, recupera la definición completa del panel mediante la API describe_dashboard_definition, actualiza los campos visuales de la tabla y las opciones de campo, y crea una nueva versión del panel mediante la API create_dashboard.
Este agente de modificación admite dos operaciones principales: agregar columnas a los paneles (después de validar que la columna solicitada existe en el conjunto de datos subyacente pero aún no está presente) y eliminar columnas de los paneles (después de confirmar que la columna se muestra actualmente). En lugar de modificar los paneles existentes, crea nuevos paneles con identificadores únicos, preservando el original para fines de auditoría y admitiendo la reversión si es necesario.
Este enfoque de validación primero ayuda a validar la integridad de los datos y previene errores de configuración, mientras que preservar los paneles originales respalda el cumplimiento de los requisitos de gobernanza y proporciona un seguimiento de auditoría para las modificaciones.
El siguiente fragmento muestra la herramienta de modificación principal. Valida la solicitud, actualiza los campos visuales de la tabla de definición del panel y crea un nuevo panel:
El agente extrae el nombre del panel, la acción y el nombre de la columna de la consulta en lenguaje natural del usuario y los pasa a la herramienta modificar_dashboard, que maneja la validación y ejecución.
1.3 Crear el Agente del orquestador
El componente final coordina el Agente de panel de búsqueda y el Agente de panel de modificación como herramientas dentro del marco de Strands. Este orquestador define indicaciones del sistema que instruyen la lógica de enrutamiento, especificando qué agente maneja las operaciones de descubrimiento versus las operaciones de modificación. La configuración incluye el registro de herramientas para ambos agentes especializados, lo que permite al orquestador invocarlos según una intención clasificada.
La lógica de enrutamiento maneja múltiples patrones de consulta mediante la comprensión del lenguaje natural. Las solicitudes directas que contienen parámetros explícitos, como nombres de paneles y nombres de columnas, se delegan inmediatamente al agente especializado adecuado. Las solicitudes ambiguas que carecen de los parámetros requeridos desencadenan preguntas de seguimiento para recopilar la información faltante antes de enrutarla. Este patrón de implementación permite al orquestador funcionar como coordinador en lugar de ejecutor, delegando operaciones de Quick API a agentes especializados mientras se centra únicamente en el análisis de intenciones y las decisiones de enrutamiento.
El siguiente fragmento muestra al orquestador registrando ambos agentes como herramientas y definiendo la lógica de enrutamiento a través del indicador del sistema:
La integración de Bedrock AgentCore expone este orquestador como el punto de entrada que recibe las solicitudes de los usuarios:
Debido a que find_dashboard_agent y modificar_dashboard_agent están empaquetados como funciones @tool, el orquestador las trata como cualquier otra herramienta. Amazon Nova analiza la intención del usuario e invoca al agente apropiado automáticamente.
Paso 2: configurar el proyecto para la implementación del agente
Implemente los agentes en Amazon Bedrock AgentCore mediante la implementación de código directo. Esto implica inicializar el proyecto, agregar dependencias, crear los archivos del agente e implementarlo en el entorno de ejecución.
2.1 Inicializar proyecto
Configure un nuevo proyecto de Python usando el administrador de paquetes uv, luego navegue hasta el directorio del proyectouv init quicksight-selfservice-agentcd quicksight-selfservice-agentEsto crea una nueva estructura de proyecto con los archivos de configuración necesarios para administrar las dependencias e implementar su agente.
2.2 Agregar dependencias para el proyecto.
Instale las bibliotecas y herramientas de desarrollo de Amazon Bedrock AgentCore necesarias para su proyecto. En este ejemplo, las dependencias se agregan usando el comando uv add:
Activar el entorno virtual:
Estas dependencias proporcionan el marco central para crear e implementar su agente, incluido el SDK de Strands para la creación de agentes y el kit de herramientas Amazon Bedrock AgentCore para la administración de la implementación.
2.3 Crear el archivo agent.py
Descargue la implementación completa desde el repositorio de GitHub como un archivo zip. Extraiga el zip y copie los siguientes archivos al directorio raíz de su proyecto:
agent.py: punto de entrada del agente orquestador principal con integración de Amazon Bedrock AgentCore find_dashboard_agent.py: agente especializado para operaciones de descubrimiento de paneles de control modifique_dashboard_agent.py: agente especializado para operaciones de modificación de paneles de control compartido/carpeta: contiene config.py para la configuración compartida del cliente de servicio de AWS
Otros archivos necesarios, como pyproject.toml y archivos de configuración, ya forman parte de la configuración del proyecto desde el paso de inicialización. Con estos archivos en su lugar, ahora puede implementar el agente de autoservicio rápido en Amazon Bedrock AgentCore.
Paso 3: Implementación en Amazon Bedrock AgentCore Runtime
Amazon Bedrock AgentCore proporciona un entorno administrado para implementar Strands Agents con dos opciones de implementación: implementación basada en contenedores e implementación de código directo. Para esta solución, podemos utilizar la implementación de código directo.
3.1 Configure su agente en Amazon Bedrock AgentCore
Ejecute el siguiente comando para configurar el agente de autoservicio rápido
El proceso de configuración le solicita que configure los ajustes de implementación, incluido el tipo de implementación (seleccione la opción 1 para la implementación de Amazon Simple Storage Service (Amazon S3)) y siga todas las demás instrucciones de forma predeterminada.
3.2 Implemente su agente en el entorno AgentCore Runtime:
Ejecute el siguiente comando para implementar el agente de autoservicio rápido en Amazon Bedrock
Este comando crea y envía el código a Amazon S3 e implementa el agente en Amazon Bedrock AgentCore, preparándolo para recibir y procesar solicitudes.
Paso 4: prueba el agente
Pruebe su agente utilizando la Consola de administración de AWS. La consola proporciona un entorno de prueba integrado a través de la interfaz Amazon Bedrock AgentCore. Siga estos pasos para probar su agente:
Navegue hasta la consola de Amazon Bedrock AgentCore. Verifique que el agente haya sido creado. Navegue hasta la consola de Amazon Bedrock AgentCore en la Consola de administración de AWS. Ubique su agente en la lista de recursos de tiempo de ejecución (por ejemplo, qs_selfservice_agent) debería aparecer con un estado "Listo" y una marca de verificación verde en la columna Estado. La sección Puntos finales muestra el punto final PREDETERMINADO con el estado "Listo". Después de que tanto el agente como su punto final muestren el estado "Listo", su agente se habrá creado e implementado correctamente. Seleccione el punto final 'DEFAULT' del agente y el punto final de prueba. En la ventana de prueba, proporcione el siguiente mensaje para invocar "Buscar agente del panel":
{“mensaje”: “¿puede mostrar paneles con pruebas de nombres”}
El agente responde con una cantidad relevante de paneles que encontró. Se le solicita además que modifique el panel para invocar el agente de modificación del panel.
{“prompt”: “¿Puedes agregar la columna de nombre a testing_dashboad”}
El panel inicial "XYZ_testing" no contiene la columna de nombre, como se muestra en la siguiente tabla. número de empleado apellido id de cliente A1001 LN1 A A1002 LN2 A A1003 LN3 A A1004 LN4 A A1005 LN5 A B1001 LN6 B B1002 LN7 B B1003 LN8 B B1004 LN9 B B1005 LN10 B C1001 LN11 C C1002 LN12 C C1003 LN13 C C1004 LN14 C C1005 LN15 C El panel “XYZ_testing” modificado incluye la columna de nombre recién agregada, como se muestra en la siguiente tabla. número de empleado apellido ID de cliente Nombre A1001 LN1 A FN1 B1005 LN10 B FN10 C1001 LN11 C FN11 C1002 LN12 C FN12 C1003 LN13 C FN13 C1004 LN14 C FN14 C1005 LN15 C FN15 A1002 LN2 A FN2 A1003 LN3 A FN3 A1004 LN4 A FN4 A1005 LN5 A FN5 B1001 LN6 B FN6 B1002 LN7 B FN7 B1003 LN8 B FN8 B1004 LN9 B FN9
Como puede ver, la columna de nombre se agregó correctamente y se creó el panel recién modificado. Ha creado una solución que utiliza una arquitectura de múltiples agentes impulsada por Amazon Bedrock AgentCore y el marco Strands para permitir la administración de paneles de autoservicio para buscar un panel o modificarlo. También creó un Agente de Orchestrator que enruta de manera inteligente las solicitudes de los usuarios según la intención.
Limpiar
Para evitar incurrir en cargos futuros, elimine los siguientes recursos:
Elimine la implementación de AgentCore Runtime mediante la consola de AWS o la CLI:
Eliminar el repositorio de ECR: navegue hasta la consola de Amazon Elastic Container Registry (Amazon ECR) y elimine el repositorio de contenedores creado durante la implementación, o utilice el siguiente comando CLI:
Eliminar los paneles de prueba Quick: navegue a la consola de Amazon Quick y elimine las versiones modificadas del panel con sufijos UUID creados durante la prueba, o utilice el siguiente comando CLI:
Eliminar grupos de registros de Amazon CloudWatch: navegue a la consola de Amazon CloudWatch y elimine los grupos de registros asociados con el agente (formato: /aws/bedrock/agentcore/), o utilice el siguiente comando CLI:
Conclusión
En esta publicación, combinamos Strands Agents, Amazon Bedrock AgentCore y Amazon Nova para convertir solicitudes de modificación del panel de varios días en interacciones de lenguaje natural de segundos de duración. El patrón orquestador-subagente se extiende más allá de Quick a otros servicios basados en API donde los usuarios empresariales dependen de TI para realizar cambios de rutina. Con este patrón, las organizaciones pueden crear sistemas de IA autónomos que aceleren los flujos de trabajo operativos y al mismo tiempo mantengan la seguridad empresarial, los registros de auditoría y las capacidades de reversión.
Pruebe la solución y si tiene algún comentario o pregunta, déjelo en la sección de comentarios.