Descripción del proyecto
AWS DevOps Agent es un experimento en la intersección de IA y operaciones cloud. La idea es simple: en lugar de recordar el comando exacto de AWS CLI o construir queries complejas, simplemente describes lo que quieres hacer en español.
Usuario: "¿Cuánto costamos en AWS el mes pasado? Desglosa por servicio."
Agente: [Ejecuta Cost Explorer API]
"El mes pasado gastaste $247.50 en total:
- EC2: $142.30 (57.5%)
- RDS: $68.20 (27.5%)
- CloudFront: $23.40 (9.5%)
- S3: $13.60 (5.5%)
El mayor incremento fue EC2 (+$23 vs mes anterior).
¿Quieres ver el detalle de qué instancias consumen más?"
Cómo funciona
El agente usa la API de Claude con tool use (function calling). Cada operación AWS posible está definida como una herramienta con su schema JSON.
Cuando el usuario escribe un comando, Claude analiza la intención, selecciona la herramienta apropiada (o secuencia de herramientas), la ejecuta via boto3, obtiene el resultado y formula una respuesta en lenguaje natural con contexto y sugerencias.
El modelo mantiene contexto de la conversación, por lo que puede hacer operaciones dependientes:
Usuario: "Lista mis instancias EC2"
→ [Ejecuta describe_instances]
→ "Tienes 3 instancias: web-prod, db-replica, bastion"
Usuario: "Para la bastion"
→ [Ejecuta stop_instances para la instancia 'bastion']
→ "Instancia bastion (i-0abc123) parada correctamente."
Herramientas implementadas
El agente puede realizar operaciones en más de 25 servicios AWS:
EC2: Listar, iniciar, parar instancias; describir security groups; ver métricas CloudWatch.
S3: Listar buckets, contar objetos, verificar configuración de acceso público, estimado de costos por bucket.
RDS: Listar instancias, estado de réplicas, últimos eventos, tamaño de almacenamiento.
Lambda: Listar funciones, ver logs recientes, invocar funciones de prueba.
EKS: Estado de clusters y node groups, pods en estado no-Running.
GuardDuty: Resumen de findings de seguridad por severidad con explicación en lenguaje simple.
Cost Explorer: Costos del período, desglose por servicio, comparativa vs período anterior.
Seguridad y limitaciones
El agente tiene acceso a la cuenta AWS con las mismas credenciales del sistema. Antes de ejecutar operaciones destructivas (parar instancias, eliminar recursos), pide confirmación explícita.
El contexto de la conversación vive en memoria y no se persiste. Cada sesión comienza desde cero.
Lessons learned
La mayor sorpresa fue que Claude no necesita instrucciones muy detalladas sobre cada herramienta. Si los nombres y descripciones de las herramientas son claros, el modelo infiere correctamente cuándo usarlas y en qué orden.
El principal desafío fue manejar errores de AWS gracefully: cuando una operación falla (permisos insuficientes, recurso no existe), Claude necesita interpretar el error y comunicarlo de forma útil en lugar de simplemente mostrar el stack trace.
La segunda lección: el límite de contexto importa. Con conversaciones largas que incluyen muchas respuestas de API (que pueden ser voluminosas), es necesario truncar o resumir resultados intermedios para no agotar el context window.
Stack tecnológico
Puntos clave
- Gestión de EC2, S3, RDS, Lambda, EKS y más mediante comandos en texto plano
- Auditoría de seguridad automática via AWS GuardDuty con resumen interpretable
- Análisis de costos con Cost Explorer y sugerencias de optimización
- Arquitectura de herramientas (tool use) con Claude Sonnet 4.6 para razonamiento
- Confirmación de acciones destructivas antes de ejecutar cambios
- Contexto de sesión: el agente recuerda operaciones previas en la conversación
Repositorio
¿Algo similar para ti?
Puedo diseñar e implementar una arquitectura adaptada a tu proyecto.
HablemosComponentes del sistema
Claude Sonnet 4.6
Modelo de IA que interpreta comandos en lenguaje natural y decide qué herramientas usar
Tool Use (Function Calling)
20+ herramientas definidas que mapean a operaciones AWS reales via boto3
boto3
SDK AWS para Python que ejecuta las operaciones en la cuenta real
Anthropic SDK
Cliente para la API de Claude con manejo de conversación multi-turno
AWS IAM
Credenciales locales con principio de mínimo privilegio para las operaciones permitidas