Cree un asistente de reparación de equipos impulsado por IA con Amazon Bedrock AgentCore

La gestión de reparaciones de equipos para maquinaria agrícola pesada a menudo requiere que los técnicos diagnostiquen problemas sin las piezas adecuadas, lo que genera múltiples visitas al sitio, tiempos de inactividad prolongados y pérdidas financieras sustanciales, especialmente durante la temporada de cosecha.

En esta publicación, creará un asistente de reparación de equipos con tecnología de inteligencia artificial utilizando Amazon Bedrock AgentCore que ayuda a los agricultores y técnicos de campo a diagnosticar problemas de los equipos, identificar las piezas necesarias y acceder a los procedimientos de reparación aprobados por el fabricante a través del lenguaje natural. La solución utiliza AgentCore Runtime con Strands Agents SDK, Amazon Nova 2 Lite como modelo básico, Amazon Bedrock Knowledge Base para generación aumentada de recuperación (RAG) y AgentCore Memory para persistencia de conversaciones.

Descripción general de la solución

Esta solución combina una interfaz web con un agente alojado en AgentCore que responde preguntas de diagnóstico de equipos utilizando documentación indexada del fabricante.

Amazon Cognito administra la autenticación de usuarios y AWS Amplify aloja la aplicación web. El agente de reparación de equipos se ejecuta en AgentCore Runtime, creado con Strands Agents SDK. Consulta una base de conocimientos de Bedrock que contiene manuales de equipos indexados, catálogos de piezas y documentación de reparación. AgentCore Memory mantiene el historial de conversaciones entre sesiones para que los técnicos puedan hacer preguntas de seguimiento sin repetir el contexto.

El siguiente diagrama muestra cómo estos componentes funcionan juntos.

La arquitectura contiene las siguientes secciones clave:

Sección A: Autenticación y frontend: la pila de CloudFormation implementa Amazon Cognito (grupo de usuarios, grupo de identidades) para la autenticación y AWS Amplify para alojar la aplicación web React. Los usuarios se autentican a través de Cognito y la interfaz se comunica directamente con el punto final de AgentCore Runtime.

Sección B: AgentCore Runtime: AgentCore Runtime aloja el agente basado en Strands y expone el punto final /invocations. La interfaz llama a este punto final directamente utilizando un token Cognito Bearer. El punto de entrada invoke() del agente enruta las solicitudes internamente en función del campo de ruta en la carga útil (/chat para consultas de IA, /issues para operaciones CRUD), proporcionando un único punto de entrada para operaciones de backend con gestión de sesiones y controles de estado integrados.

Sección C – Procesamiento de IA: El agente Strands utiliza una herramienta search_equipment_knowledge personalizada que llama a Bedrock Knowledge Base a través de la API retrieve_and_generate. La base de conocimientos indexa la documentación del equipo almacenada en Amazon S3 mediante Amazon OpenSearch Serverless para búsqueda vectorial y Amazon Titan Embeddings para coincidencia semántica.

El siguiente fragmento de código muestra cómo la herramienta de recuperación de la base de conocimientos del agente consulta la documentación del fabricante:

@tool def search_equipment_knowledge(query: str) -> str: """Buscar manuales de equipos, catálogos de piezas y documentos de reparación.""" respuesta = bedrock_agent_runtime.retrieve_and_generate( input={"text": query}, retrieveAndGenerateConfiguration={ "type": "KNOWLEDGE_BASE", "knowledgeBaseConfiguration": { "knowledgeBaseId": KNOWLEDGE_BASE_ID, "modelArn": f"arn:aws:bedrock:{REGION}::foundation-model/{MODEL_ID}", }, }, ) devuelve respuesta.get("salida", {}).get("texto", "No se encontraron resultados.")

Sección D – Datos y memoria: Amazon DynamoDB almacena tickets de servicio de equipos (emite operaciones CRUD). AgentCore Memory proporciona memoria a corto plazo para el contexto dentro de la sesión y memoria a largo plazo para la persistencia de hechos entre sesiones. Amazon CloudWatch y AWS X-Ray proporcionan observabilidad automática.

Los siguientes pasos describen el flujo de solicitud cuando un técnico hace una pregunta:

El técnico abre la aplicación web y se autentica a través de Amazon Cognito. El técnico envía una pregunta a través de la interfaz de chat. La interfaz envía la consulta al punto final AgentCore Runtime /invocations con un token Cognito Bearer. AgentCore valida el token, enruta la solicitud al agente y recupera el contexto relevante de conversaciones anteriores. El agente Strands envía la consulta a Amazon Nova 2 Lite para realizar inferencias. El modelo invoca la herramienta search_equipment_knowledge, que consulta la base de conocimientos de Bedrock. La base de conocimientos busca manuales de equipos indexados y devuelve documentación relevante con citas de fuentes. El modelo sintetiza una respuesta de diagnóstico con procedimientos de reparación y recomendaciones de piezas. La respuesta se devuelve al técnico con la atribución de la fuente para su verificación.

Requisitos previos

Antes de comenzar, verifique que tenga:

Una cuenta de AWS con los permisos adecuados para implementar agentes AgentCore. Para conocer los permisos de IAM necesarios, consulte Permisos de IAM para AgentCore Runtime. Acceso al modelo de Amazon Bedrock para Amazon Nova 2 Lite en su región de AWS de implementación. Puede utilizar un modelo compatible diferente de su elección. Para conocer la disponibilidad actual del modelo, consulte Compatibilidad de modelos por región de AWS. La interfaz de línea de comandos de AWS (AWS CLI) v2.0 o posterior instalada y configurada con las credenciales adecuadas. Python 3.10 o posterior instalado. Acceso a terminal o símbolo del sistema.

Estimación de costos: para las pruebas, los costos principales son las invocaciones del modelo Amazon Bedrock (Amazon Nova 2 Lite a $0,30/$2,50 por millón de tokens de entrada/salida) y la base de conocimientos de Bedrock (OpenSearch Serverless a aproximadamente $0,24/hora mientras está activo). Otros servicios (AgentCore Runtime, Amazon DynamoDB, Amazon S3, Amazon Cognito, AWS Amplify) se encuentran dentro de la capa gratuita de AWS para volúmenes de prueba. Para obtener estimaciones detalladas, utilice la Calculadora de precios de AWS.

Importante: Implemente todos los recursos en la misma región de AWS. La pila de CloudFormation, la base de conocimientos y el comando de inicio de AgentCore deben utilizar la misma región.

Creando la base de conocimientos

Antes de implementar el agente, cree y complete la base de conocimientos de Amazon Bedrock con documentación de equipos agrícolas. Esta base de conocimientos proporciona material fuente para recomendaciones de diagnóstico y orientación de reparación.

Paso 1: Prepara tu documentación

Para realizar pruebas, descargue los manuales del equipo de la tienda de información técnica de John Deere. También puede utilizar la documentación del equipo de su propia organización. Para este blog, utilizamos los manuales del operador de los tractores utilitarios compactos John Deere 1023E y 1025R.

Recopila y organiza la documentación de tu equipo agrícola:

Manuales de equipos (se recomienda formato PDF) Guías de servicio técnico y documentación de solución de problemas Catálogos de piezas con números de pieza y especificaciones Programas de mantenimiento e instrucciones de cuidado preventivo Protocolos de seguridad y advertencias del fabricante

Consejos para la preparación de documentos:

Verificar que los documentos se puedan buscar por texto (no por imágenes escaneadas) Usar convenciones de nomenclatura consistentes (por ejemplo, Manufacturer_Model_DocumentType.pdf) Eliminar cualquier información de propiedad que no debería ser accesible para todos los usuarios

Paso 2: cree un depósito de S3 para la base de conocimientos

aws s3 mb s3://agriculture-kb-documents- aws s3 cp ./equipment-docs s3://agriculture-kb-documents- –recursive

Paso 3: cree la base de conocimientos de Bedrock

Siga las instrucciones para crear una base de conocimientos con las siguientes configuraciones:

Nombre de la base de conocimientos: Agriculture-Equipment-Repair-KB Fuente de datos: s3://agriculture-kb-documents- (el depósito creado en el paso 2) Estrategia de análisis: analizador predeterminado de Amazon Bedrock Estrategia de fragmentación: fragmentación predeterminada Modelo de incrustaciones: Amazon Titan Embeddings G1 – Almacén de vectores de texto: creación rápida de un nuevo almacén de vectores (Amazon OpenSearch Serverless)

Paso 4: sincroniza y prueba la base de conocimientos

Una vez creada la base de conocimientos, sincronice su fuente de datos para comenzar a ingerir documentos (normalmente entre 10 y 20 minutos). Para obtener más información, consulte Sincronizar para ingerir sus fuentes de datos. Utilice la funcionalidad de prueba en la consola Bedrock para verificar que la base de conocimientos responda a consultas de muestra. Registre el ID de la base de conocimientos en la página de detalles.

Implementar la solución

Paso 5: implementar infraestructura de soporte

Inicie la pila de CloudFormation. Serás redirigido a la consola de AWS CloudFormation. En los parámetros de la pila, la URL de la plantilla se completará previamente. Para Nombre de pila, ingrese un nombre para su implementación (predeterminado: ag-repair-assist). Para KnowledgeBaseId, ingrese el ID de la base de conocimientos registrado en la sección anterior. Revise y cree la pila. Después de una implementación exitosa, tenga en cuenta los siguientes valores de la pestaña Salidas de la pila de CloudFormation: AgentCoreExecutionRoleArn: se usa al configurar el agente CognitoDiscoveryUrl: se usa al configurar el agente UserPoolClientId: se usa al configurar el agente EquipmentIssuesTableName: se usa al implementar el agente UserPoolId: se usa al configurar la interfaz IdentityPoolId: se usa al configurar la interfaz AmplifyConsoleUrl – utilizado para la implementación frontend AmplifyAppUrl – la URL de su aplicación

Paso 6: Implemente el agente (desde su máquina local)

Ejecute los siguientes comandos desde su terminal local con las credenciales de AWS configuradas. Requiere Python 3.10 o posterior.

Cree el directorio del proyecto y configure el entorno mkdir agricultura-repair-agent && cd agricultura-repair-agent python3 -m venv .venv source .venv/bin/activate Instale el kit de herramientas AgentCore y las dependencias pip install "bedrock-agentcore-starter-toolkit>=0.1.21" strands-agents strands-agents-tools boto3 A continuación, descargue y extraiga el código del agente. Contiene dos archivos: agricultura_repair_agent.py (la lógica del agente) y requisitos.txt (dependencias). Configurar el agente. Este comando configura la función de ejecución, OAuth y la configuración de memoria para su implementación de AgentCore: agentcore configure -e agricultura_repair_agent.py Cuando se le solicite, ingrese los siguientes valores: Nombre del agente: presione Entrar para usar el nombre predeterminado (agriculture_repair_agent) Archivo de requisitos: presione Entrar para confirmar el archivo de dependencia requisitos.txt Configuración de implementación: seleccione la opción 1. "Implementación directa de código: solo Python, no se requiere Docker" y presione Entrar. Seleccione la versión del tiempo de ejecución de Python: si tiene varias versiones de Python, seleccione 3.10 o superior Función de ejecución: pegue desde el Paso 5 Salidas de CloudFormation y presione Entrar. URI/Ruta del depósito de S3: Ingrese para el depósito de S3 que se creó en el Paso 2 y presione Entrar. ¿Configurar el autorizador OAuth en su lugar?: Elija sí y presione Entrar. Ingrese la URL de descubrimiento de OAuth: pegue desde el Paso 5 Salidas de CloudFormation y presione Entrar. Ingrese los ID de cliente de OAuth permitidos: pegue desde el Paso 5 Salidas de CloudFormation y presione Entrar. Ingrese la audiencia de OAuth permitida: presione Entrar para omitir (dejar en blanco, el token de acceso usa el reclamo client_id, no aud) Ingresar los alcances permitidos de OAuth: presione Entrar para omitir (dejar en blanco) Ingrese los reclamos personalizados de OAuth permitidos como cadena JSON: presione Entrar para omitir (dejar en blanco) ¿Configurar la lista de encabezados permitidos de solicitud?: presione Entrar para aceptar la configuración predeterminada (no) Configuración de memoria: presione Entrar para crear nueva memoria ¿Habilitar memoria a largo plazo?: Sí

Detalles de configuración del agente después de la instalación

Implemente el agente en AgentCore Runtime. No se requiere Docker local. El proceso dura aproximadamente entre 5 y 10 minutos. lanzamiento de agentcore –env KNOWLEDGE_BASE_ID= –env TABLE_NAME= –env MODEL_ID=us.amazon.nova-2-lite-v1:0 Una vez completado, observe el ARN del tiempo de ejecución del agente en el resultado.

La pila de CloudFormation crea el rol de ejecución del agente con los permisos necesarios. No se necesita ninguna configuración de IAM adicional.

Paso 7: implementar la interfaz

Descargue ML-18699-FrontEnd.zip desde el enlace de arriba. Navegue hasta AmplifyConsoleUrl en el Paso 5 Salidas de CloudFormation. Haga clic en Implementar actualizaciones, elija el método Arrastrar y soltar, haga clic en Elegir carpeta .zip y luego haga clic en Guardar e implementar. Espere a que se complete la implementación.

Usando la aplicación web

Abra AmplifyAppUrl desde las salidas de CloudFormation del paso 5. En el primer inicio, se le pedirá que ingrese sus detalles de configuración. Ingrese los valores de las salidas de la pila de CloudFormation (paso 5) y la implementación del agente (paso 6).


Después de guardar la configuración, cree una cuenta usando la opción Registrarse, verifique su correo electrónico e inicie sesión.

Después de iniciar sesión, verá el panel principal.

A continuación se muestran algunos ejemplos de consultas que puede probar:

Análisis de problemas:

Aviso: Mi tractor John Deere serie 1023E está perdiendo presión hidráulica en el lado izquierdo al levantar implementos pesados. La presión cae de 2500 PSI a aproximadamente 1800 PSI bajo carga.

Charla del técnico:

Pregunta: ¿Qué fluido hidráulico se recomienda para John Deere 1025R?

Limpiar

Importante: Los recursos de AWS implementados por esta solución generan cargos continuos hasta que se eliminan. Esto incluye Amazon DynamoDB, Amazon S3, alojamiento AWS Amplify y Amazon Cognito. AgentCore Runtime y Amazon Bedrock generan cargos solo cuando se utilizan. Complete todos los pasos de limpieza a continuación para dejar de incurrir en cargos.

Advertencia: Al eliminar un depósito S3, se elimina permanentemente toda la documentación del equipo almacenado. Haga una copia de seguridad de los archivos que desee conservar antes de continuar.

Elimine el agente: agentcore destroy Elimine la pila de CloudFormation: aws cloudformation delete-stack –stack-name ag-repair-assist Elimine la base de conocimientos:

En la consola de Amazon Bedrock Knowledge Bases, seleccione Agriculture-Equipment-Repair-KB y elija Eliminar.

Vacíe y elimine el depósito S3: aws s3 rm s3://agriculture-kb-documents- –recursive aws s3 rb s3://agriculture-kb-documents-

Consideraciones de implementación

Gestión de datos y configuración de la base de conocimientos.
A medida que los fabricantes lanzan nuevos modelos de equipos y revisan la documentación existente, la base de conocimientos debe evolucionar en consecuencia. Los programas de sincronización regulares combinados con flujos de trabajo automatizados permiten que el sistema procese nuevas cargas sin problemas.

Configuración de Amazon Bedrock AgentCore
Los diferentes escenarios de resolución de problemas exigen distintos niveles de complejidad técnica y precisión de respuesta. El enfoque de código primero de Strands Agents le permite intercambiar modelos cambiando la variable de entorno MODEL_ID. La configuración de AgentCore Memory agrega inteligencia de conversación. La memoria a corto plazo mantiene el contexto dentro de una sesión de diagnóstico, mientras que la memoria a largo plazo persiste en las especializaciones de los técnicos, los detalles de la flota de agricultores y los patrones de problemas recurrentes en todas las sesiones. Los umbrales de configuración de recuperación top_k y relevancia_score deben ajustarse en función de la amplitud y profundidad de su corpus de documentación.

Extensibilidad
Para agregar nuevas capacidades (verificaciones de inventario, pedidos de piezas, comunicación con el distribuidor), agregue una nueva función @tool al código de agente. No se requieren cambios de infraestructura.

Cumplimiento y seguridad
Cada recomendación de reparación debe alinearse con las garantías del fabricante y las pautas de seguridad. Los protocolos de seguridad integrados en todo el sistema garantizan que los usuarios reciban advertencias proactivas sobre los peligros asociados con los procedimientos de reparación. Los equipos agrícolas involucran sistemas hidráulicos de alta presión, sistemas eléctricos, maquinaria rotativa y otros componentes potencialmente peligrosos. El sistema debe resaltar de manera destacada las principales preocupaciones de seguridad.

Escalando al nivel empresarial
Esta solución está diseñada para ser liviana para pruebas y evaluación. Al escalar a un entorno de producción, considere las siguientes mejoras:

Amazon Bedrock Guardrails: agregue detección rápida de ataques y filtrado de contenido para proteger contra entradas maliciosas en las descripciones de los equipos. Configure temas denegados para evitar que el agente brinde orientación fuera de su dominio. Protección API: coloque Amazon CloudFront frente al punto final de AgentCore Runtime con AWS WAF para limitar la velocidad y proteger OWASP. Autenticación multifactor: habilite Amazon Cognito MFA (tokens de software basados ​​en TOTP) para una autenticación de usuario más sólida. Observabilidad y alertas: AgentCore genera automáticamente métricas, registros y seguimientos visibles a través de paneles de observabilidad de IA generativa de Amazon CloudWatch. Configure alarmas para tasas de error del agente y latencia de respuesta. Habilite el registro de invocaciones del modelo de Amazon Bedrock para seguimientos de auditoría. Ciclo de vida de los datos: implemente políticas de ciclo de vida de Amazon S3 para el control de versiones de la documentación del equipo y la recuperación puntual de Amazon DynamoDB para la copia de seguridad de los datos de los problemas. Implementación en varias regiones: para equipos de servicios de campo globales, implemente AgentCore Runtime en varias regiones de AWS con bases de conocimientos específicas de cada región que contengan documentación de equipos localizada.

Próximos pasos

Después de implementar y probar esta solución, considere las siguientes mejoras:

Integración de pedidos de piezas: agregue una @herramienta que se conecte a su sistema de inventario de piezas, lo que permite al agente verificar la disponibilidad de existencias y realizar pedidos directamente desde la conversación de diagnóstico. Comunicación con el distribuidor: agregue una @herramienta que envíe resúmenes de diagnóstico al distribuidor autorizado más cercano a través de Amazon Simple Email Service (Amazon SES) o Amazon Simple Notification Service (Amazon SNS). Integración de telemetría de IoT: conecte sensores de equipos a través de AWS IoT Core para crear problemas automáticamente cuando se detecten lecturas anómalas, completando previamente el contexto de diagnóstico para el agente. Aplicación de campo móvil: cree una interfaz optimizada para dispositivos móviles para que los técnicos la utilicen en el sitio, con almacenamiento en caché fuera de línea para áreas con conectividad limitada.

Conclusión

Este asistente de reparación de equipos impulsado por IA demuestra cómo Amazon Bedrock AgentCore puede mejorar las operaciones de servicios de campo agrícolas. Al combinar un agente Strands de código primero con documentación completa del fabricante a través de una base de conocimientos de Bedrock, la solución proporciona a los técnicos recomendaciones de diagnóstico precisas e identificación de piezas antes de llegar al sitio.

Los beneficios clave de esta implementación incluyen:

Tiempo medio de resolución reducido: diagnóstico y reparación más rápidos a través de análisis impulsados por IA basados en la documentación del fabricante Tasas de reparación a la primera mejoradas: el análisis integral previo al servicio garantiza que los técnicos lleguen con las piezas y los procedimientos correctos Memoria de conversación: AgentCore Memory mantiene el contexto en sesiones de diagnóstico de varios turnos y conserva el conocimiento en todas las sesiones Operaciones simplificadas: un único punto final de AgentCore Runtime reemplaza la necesidad de recursos API Gateway, Lambda y Bedrock Agent independientes Observabilidad integrada: seguimiento automático de rayos X y CloudWatch La integración proporciona visibilidad de extremo a extremo sin configuración adicional Desarrollo de código primero: el patrón decorador @tool del agente Strands le permite ampliar las capacidades y realizar pruebas localmente antes de implementar

La arquitectura extensible garantiza que las organizaciones puedan adaptar esta base a sus carteras de equipos y requisitos de servicio específicos. Agregar nuevas herramientas (para pedidos de piezas, comprobaciones de inventario o comunicación con el distribuidor) solo requiere una nueva función @tool, sin cambios en la infraestructura.

El código de muestra de esta publicación de blog está disponible bajo la licencia MIT-0. Consulte el archivo de LICENCIA para obtener más detalles.

Descargo de responsabilidad: este contenido se proporciona únicamente con fines informativos y no debe considerarse asesoramiento legal o de cumplimiento. Los clientes son responsables de realizar su propia evaluación independiente de la información contenida en este documento y de cualquier uso de los productos o servicios de AWS.

Recursos

Sobre los autores

Puneeth Ranjan Komaragiri

Puneeth es director técnico principal de cuentas en AWS. Le apasiona especialmente el seguimiento y la observabilidad, la gestión financiera de la nube y los dominios de IA generativa. En su puesto actual, Puneeth disfruta colaborando estrechamente con los clientes, utilizando su experiencia para ayudarlos a diseñar y diseñar sus cargas de trabajo en la nube para lograr una escala y resiliencia óptimas.

Chaitanya Addanki

Chaitanya es gerente técnico de cuentas en AWS con tres años de experiencia asociándose con clientes agrícolas para aplicar tecnologías en la nube a operaciones de agricultura de precisión y basadas en datos. Posee múltiples certificaciones de AWS y disfruta convertir desafíos complejos en soluciones escalables impulsadas por IA.