Diseño de Arquitectura con IA

Una Reflexión sobre Co-creación y Proceso Estructurado

Reflexión Inicial

Mi primera reflexión es que el prompt se podía mejorar mucho más para tener un mejor resultado. Para eso utilicé mi GPT que mejora los prompts definiendo tarea, rol, contexto, referencia y output. También, que no tiene sentido colocar un prompt con el objetivo de que cree una aplicación de la nada. Al igual que cuando uno construye una casa, debe ir por capas: primero el suelo, luego los cimientos, el techo, la pintura y finalmente los detalles.

Una cosa que pienso es que apps como Cursor son tus 'obreros', los cuales no tienen consciencia propia, y tú debes de dar esa consciencia. Es decir, una co-creación entre consciencia y propósito (Ser humano) y acción (máquina). Si no tienes consciencia de las diferentes capas de complejidad que tiene una app, no serás capaz de canalizar la acción a un resultado integral.

El Enfoque Estructurado por Pasos

Sabiendo que no podía colocar un solo prompt y tener todo, le pregunté a la IA cómo dividirlo para que la construcción fuera correcta. Me recomendó 4 pasos:

Diagrama de Arquitectura Híbrida

Diagrama de la arquitectura híbrida para la aplicación de banca móvil

Paso 1: Crear la Estructura del Proyecto

Crea la estructura de carpetas y archivos para un proyecto de MVP de banca móvil usando AWS CDK en Python. La estructura debe incluir:

  • Un directorio principal para el stack de CDK.
  • Un directorio llamado app_lambdas para el código de las funciones Lambda.
  • Dentro de app_lambdas, dos subdirectorios: consulta_saldo e historial_movimientos, cada uno con un main.py y un requirements.txt vacío.
  • Un archivo README.md a nivel raíz.

Paso 2: Diseñar y Documentar la Arquitectura

Actuando como Arquitecto de Soluciones AWS, pobla el archivo README. Describe la arquitectura de un MVP de banca móvil con un modelo híbrido.

Contexto:

  • Funciones: Consulta de saldo e historial de movimientos.
  • Restricción Híbrida: La base de datos de clientes está on-premise. La conexión se hará vía AWS Site-to-Site VPN.
  • Componentes AWS: Usa API Gateway (HTTP API), AWS Lambda y roles de IAM.

Paso 3: Generar el Código de Infraestructura (CDK)

Usando el contexto del README, escribe el código completo del stack de AWS CDK en Python.

Requisitos:

  • Define un HttpApi de API Gateway.
  • Define los roles y políticas de IAM necesarios para las Lambdas.
  • Crea las dos funciones Lambda leyendo el código desde sus directorios.
  • Integra las funciones con API Gateway en las rutas /saldo y /historial.

Paso 4: Generar el Código de las Funciones Lambda

Escribe el handler de la función Lambda en Python. La función debe:

  • Recibir el evento de API Gateway y extraer un user_id.
  • Simular una llamada a un servicio on-premise y devolver un diccionario de ejemplo.
  • Incluir logging y manejo de errores.
  • Devolver la respuesta en el formato que espera API Gateway v2.