DEV Community

Jose Verbel Tous
Jose Verbel Tous

Posted on

IA DLC Con Kiro - Parte 1

Después de mi participación como speaker en varios AWS Community Days durante el 2025, hablando de cómo potenciar procesos DevOps con Amazon Q Developer y CodeCatalyst, y asistir al AWS re:Invent 2025, confirmé lo que venía transmitiendo en mis charlas: Los desarrolladores no vamos a desaparecer. Es una era de cambio en donde vamos a tener a nuestra disposición un nuevo conjunto de herramientas que nos ayudarán a ser más productivos y entregar mejores soluciones.

Como dijo Vogels en su Keynote: Will AI make obsolete, NO (if you evolve)

Una de esas herramientas es Amazon Kiro, que emerge como un IDE que promete hacer "vibe coding" para prototipar rápidamente, pero también llevar la ingeniería de software a otro nivel con un enfoque de Spec Driven Development cuando quieres llevar tu prototipo a producción y que sea escalable, seguro y confiable.

Si aun no tienes claro que es Kiro te invito a ver mi charla virtual con el AWS User Group de Cúcuta: https://www.youtube.com/watch?v=_6a4oSl8LeY

En mi charla en el AWS Community Day Ecuador 2025 estuve hablando de cómo implementar agentes para cada etapa del SDLC con Amazon Q Developer CLI. Ahora, con la actualización a Kiro CLI, veamos cómo podemos implementar agentes para un flujo completo de desarrollo de software.

Las Etapas del SDLC con Agentes

Veamos entonces las etapas básicas del SDLC que podemos abordar con agentes. Si tienes más etapas en tu proceso de desarrollo, puedes implementar un agente específico para cada una.

Etapa 1: Análisis de Requisitos
Objetivo: Extraer y estructurar requisitos del negocio
Agente: requirements-analyst
Entregable: Especificaciones técnicas estructuradas

Etapa 2: Diseño del Sistema
Objetivo: Crear arquitectura y diseño técnico
Agente: system-architect
Entregable: Diagramas de arquitectura, esquemas de BD, APIs

Etapa 3: Implementación
Objetivo: Generar código production-ready
Agente: backend-developer
Entregable: Código fuente, componentes funcionales

Etapa 4: Pruebas
Objetivo: Validar calidad y funcionalidad
Agente: qa-engineer
Entregable: Suite de tests completa

Etapa 5: Despliegue
Objetivo: Automatizar deployment a producción
Agente: devops-engineer
Entregable: Pipelines CI/CD, infraestructura como código

Etapa 6: Mantenimiento
Objetivo: Monitorear y optimizar en producción
Agente: sre-specialist
Entregable: Dashboards, alertas, runbooks

Dividiremos esta entrega en varios capitulos, en este primer capitulo abordaremos los agentes que nos ayudaran a documentar nuestro proyecto: requirements-analyst y system-architect. En la próxima entrega abordaremos los ejecutores: backend-developer y qa-engineer, finalizaremos con devops-engineer y sre-specialist.No te pierdas esta serie que va a estar interesante.

Estructura de un Agente en Kiro CLI

Teniendo claro las etapas, ahora miremos la estructura de un agente en Kiro CLI.

Anatomía de un Agente

Todo agente se configura mediante un archivo JSON con esta estructura:

{
  "name": "nombre-del-agente",
  "description": "Propósito y capacidades del agente",
  "model": "claude-sonnet-4",
  "mcp_servers": {
    "servidor": {
      "command": "npx",
      "args": ["-y", "@paquete/servidor"],
      "env": {
        "TOKEN": "${VARIABLE_ENTORNO}"
      }
    }
  },
  "tools": [
    {
      "type": "web_search_20250305",
      "name": "web_search"
    }
  ]
}
Enter fullscreen mode Exit fullscreen mode

Componentes Clave

  1. name: Identificador único (usa kebab-case)

"name": "nombre-del-agente",

  1. description: Qué hace y cuándo usarlo

"description": "Propósito y capacidades del agente",

  1. model: Modelo de Claude a usar

"model": "claude-sonnet-4"

  1. mcp_servers: Servidores MCP para extender capacidades

"mcp_servers": {
"servidor": {
"command": "npx",
"args": ["-y", "@paquete/servidor"],
"env": {
"TOKEN": "${VARIABLE_ENTORNO}"
}
}
},

  1. tools: Herramientas adicionales


"tools": [
{
"type": "web_search_20250305",
"name": "web_search"
}
]

*Manos a la Obra: Definamos Nuestros Agentes *

Preparación del Entorno

1. Crear directorio de configuraciones (Si no existe, verifica que el directorio no ha sido creado)

mkdir -p ~/.kiro/agents

2. Configurar variables de entorno

export AWS_ACCESS_KEY_ID="tu_access_key"
export AWS_SECRET_ACCESS_KEY="tu_secret_key"

Nota: Aca puedes configurar cualquier variable de entorno que sea necesaria para los agentes.

Agente 1: Requirements Analyst
Propósito: Analizar requisitos de negocio y generar especificaciones técnicas.

Configuración

Crear archivo: ~/.kiro/agents/requirements-analyst.json

{
  "name": "requirements-analyst",
  "description": "Especialista en análisis de requisitos",
  "prompt": "Especialista en análisis de requisitos. Extrae requisitos funcionales y no funcionales de conversaciones, documentos y reuniones. Genera especificaciones técnicas claras en formato de Historias de usuario, que cumplen con el formato INVEST. Debes crear un archivo en formato MD de las HU's sobre el directorio donde estas ubicado.",
  "mcpServers": {},
  "tools": [
    "*"
  ],
  "toolAliases": {},
  "allowedTools": [],
  "resources": [
    "file://AGENTS.md",
    "file://README.md"
  ],
  "hooks": {},
  "toolsSettings": {},
  "useLegacyMcpJson": true,
  "model": "claude-haiku-4.5"
}
Enter fullscreen mode Exit fullscreen mode

Uso

kiro-cli chat --agent requirements-analyst "Define los requisitios para construir una API Restful con FastAPI para el manejo de tareas"

Salida Esperada

# Historias de Usuario - API RESTful FastAPI para Manejo de Tareas

## Requisitos Funcionales

### HU-001: Crear una nueva tarea
**Como** usuario de la API
**Quiero** crear una nueva tarea con título y descripción
**Para** registrar mis tareas pendientes

**Criterios de Aceptación:**
- El endpoint POST `/tasks` debe aceptar título y descripción
- La tarea debe asignarse un ID único automáticamente
- La tarea debe tener estado inicial "pendiente"
- Retornar código 201 con la tarea creada
- Validar que título no esté vacío (mínimo 3 caracteres)

**Tamaño:** M | **Prioridad:** Alta | **Sprint:** 1

---

### HU-002: Listar todas las tareas
**Como** usuario de la API
**Quiero** obtener el listado completo de tareas
**Para** visualizar todas mis tareas registradas

**Criterios de Aceptación:**
- El endpoint GET `/tasks` retorna lista de todas las tareas
- Incluir paginación (limit, offset)
- Retornar código 200 con array de tareas
- Soportar filtrado por estado (pendiente, completada, cancelada)
- Ordenar por fecha de creación descendente por defecto

**Tamaño:** M | **Prioridad:** Alta | **Sprint:** 1
Enter fullscreen mode Exit fullscreen mode

Agente 2: System Architect

Propósito: Diseñar arquitectura del sistema y componentes técnicos.
Configuración

Crear archivo: ~/.kiro/agents/system-architect.json

{
  "name": "system-architect",
  "description": "Arquitecto de AWS para diseñar soluciones de arquitectura de AWS",
  "prompt": "Eres un arquitecto de soluciones de AWS especializado en diseñar arquitecturas escalables, seguras y eficientes en costos. Tu objetivo es ayudar a los usuarios a crear soluciones de arquitectura de AWS que sigan las mejores prácticas del Well-Architected Framework. Proporciona recomendaciones específicas sobre servicios de AWS, patrones de arquitectura, consideraciones de seguridad, optimización de costos y estrategias de escalabilidad. Siempre considera los cinco pilares del Well-Architected Framework: excelencia operacional, seguridad, confiabilidad, eficiencia de rendimiento y optimización de costos.",
  "mcpServers": {
    "awslabs.aws-documentation-mcp-server": {
      "type": "stdio",
      "url": "",
      "headers": {},
      "oauthScopes": [
        "openid",
        "email",
        "profile",
        "offline_access"
      ],
      "command": "uvx",
      "args": [
        "awslabs.aws-documentation-mcp-server@latest"
      ],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR"
      },
      "timeout": 120000,
      "disabled": false
    },
    "awslabs.aws-diagram-mcp-server": {
      "type": "stdio",
      "url": "",
      "headers": {},
      "oauthScopes": [
        "openid",
        "email",
        "profile",
        "offline_access"
      ],
      "command": "uvx",
      "args": [
        "awslabs.aws-diagram-mcp-server@latest"
      ],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR"
      },
      "timeout": 120000,
      "disabled": false
    }
  },
  "tools": [
    "*"
  ],
  "toolAliases": {},
  "allowedTools": [],
  "resources": [
    "file://AGENTS.md",
    "file://README.md"
  ],
  "hooks": {},
  "toolsSettings": {},
  "useLegacyMcpJson": true,
  "model":"claude-haiku-4.5"
}
Enter fullscreen mode Exit fullscreen mode

Para este agente vamos a utilizar los MCP oficiales de AWS para documentación y diagramación, para ello debes asegurarte de tener instalado en tu entorno:

  • python
  • uv
  • grahpviz

Puedes guiarte de este articulo: https://aws.amazon.com/es/blogs/machine-learning/build-aws-architecture-diagrams-using-amazon-q-cli-and-mcp/

Uso

Inicializa tu agente

kiro-cli chat --agent system-architect

Asegurate que los MCP's configurados para el agente se inicialicen correctamente:

Envia el prompt para generar tu arquitectura, documentarla y diagramarla

Diseña y documenta (genera un archivo md), la arquitectura para un API Restful escrita en python con FastAPI que debe ser desplegada en un modelo serverless en AWS, ten en cuenta las mejores practicas y que sea costo eficiente, el diseño de arquitectura debe incluir todos los componenentes necesarios. Para lograr el objetivo debes consultar la documentación oficial de AWS y tambien debes crear un diagrama de la arquitectura propuesta

Salida Esperada

Diagrama de Arquitectura

Documentación de la arquitectura

Como puedes ver la configuración de agentes especializados te va a ayudar en tu SDLC, dejando todo documentado y siguiendo las buenas practicas.

Hasta aquí el primer capitulo de esta serie, debes estar atento al proximo capitulo donde abordaremos los agentes de desarrollo y pruebas. Nos vemos en el próximo capitulo.

Puedes consultar la documentación oficial de kiro en: https://kiro.dev/docs/

Novedades de AWS re:Invent 2025

Si quieres estar al tanto de todas las novedades de AWS puedes consultarlas aca:

https://aws.amazon.com/es/blogs/aws/top-announcements-of-aws-reinvent-2025/

También puedes tomar este learning path en Skill Builder:
https://skillbuilder.aws/learning-plan/JZQY2Z8DG4/aws-reinvent-2025-announcements-learning-plan/VWQU3VK65K

Top comments (0)