skills/gustavochura/skills/ai-solution-architect

ai-solution-architect

SKILL.md

AI Solution Architect v2.0 (Autocontenido)

Dos modos de operación:

  • Modo Analizar: Explica la arquitectura de un repositorio/código existente para cualquier audiencia (técnica o no técnica).
  • Modo Diseñar: Diseña la arquitectura completa de una solución nueva de IA.

Este skill es autocontenido: toda la metodología está aquí y en los resources.

Router de Modo

Detecta automáticamente qué modo usar:

¿El usuario pegó código, README, estructura de archivos, o menciona un repo existente?
├─ SÍ → Modo ANALIZAR (Fase 0)
│       ¿Después quiere diseñar mejoras o una versión nueva?
│       └─ SÍ → Transición a Modo DISEÑAR (Fases 1-5)
└─ NO → Modo DISEÑAR (Fases 1-5)

MODO ANALIZAR — Fase 0: Análisis de Repositorio Existente

Se activa cuando el usuario comparte código, README, estructura de archivos, diagramas, o describe un proyecto existente.

Lee resources/repo-analysis-guide.md para la metodología completa.

Paso 0.1: Identificar qué tiene el usuario

Pregunta (una a la vez):

  1. ¿Qué quieres que analice? Opciones: (a) un README que voy a pegar, (b) estructura de archivos/carpetas, (c) fragmentos de código, (d) un diagrama o descripción del sistema, (e) todo lo anterior
  2. ¿Para quién es la explicación? Opciones: (a) para mí, tengo conocimiento técnico, (b) para un equipo con conocimiento técnico mixto, (c) para dirección/inversores sin conocimiento técnico, (d) para un equipo que va a mantener esto

Paso 0.2: Análisis del repositorio

Con el material que el usuario comparta, extrae y organiza:

Mapa del sistema (qué piezas tiene y cómo se conectan):

  • Componentes principales identificados
  • Flujo de datos: ¿de dónde entra info y hacia dónde sale?
  • Dependencias externas: ¿qué servicios/APIs/librerías usa?
  • Stack tecnológico: lenguajes, frameworks, bases de datos

Patrón arquitectónico detectado:

  • ¿Es monolito, microservicios, serverless, event-driven?
  • ¿Usa RAG, agentes, fine-tuning, o combinación?
  • ¿Qué patrón de orquestación sigue?

Paso 0.3: Generar explicación adaptada a la audiencia

Si audiencia es NO TÉCNICA (dirección/inversores):

Usa estas reglas:

  • Cero jerga técnica sin explicar. Cada término técnico va con analogía.
  • Estructura: "El problema → La solución → Cómo funciona (simple) → Por qué importa"
  • Usa analogías del mundo real (ver tabla de analogías abajo)
  • Máximo 3 niveles de profundidad
  • Incluye diagrama Mermaid simplificado (cajas con nombres comprensibles, no técnicos)

Tabla de analogías para audiencia no técnica:

Concepto técnico Analogía accesible
RAG "Es como un empleado que antes de responder una pregunta, consulta el archivo de la empresa para dar la respuesta correcta"
Vector Database "Un catálogo inteligente que encuentra documentos por significado, no solo por palabras exactas — como un bibliotecario experto"
Embedding "Traducir texto a un código numérico que captura su significado, como si cada párrafo tuviera una huella digital"
LLM "Un asistente que ha leído millones de documentos y puede redactar, resumir y responder, pero no 'sabe' nada de tu empresa sin ayuda"
Chunking "Dividir un libro en fichas temáticas para que el asistente pueda encontrar rápidamente la ficha relevante"
Fine-tuning "Entrenar al asistente con ejemplos de tu empresa para que hable con tu tono y siga tus reglas"
API Gateway "La recepción del edificio: controla quién entra, registra visitas y dirige a cada persona al piso correcto"
Pipeline de datos "La cadena de montaje que transforma documentos brutos en información lista para usar"
Guardrails "Los límites de seguridad que evitan que el asistente diga algo incorrecto o inapropiado"
Orquestador "El director de orquesta que coordina qué instrumento (componente) toca en cada momento"
Cache "Una memoria de corto plazo: si alguien hizo la misma pregunta hace 5 minutos, no vuelve a buscar"
Token "Una unidad de texto (aproximadamente ¾ de una palabra). Es la 'moneda' con la que se cobra el uso de IA"
Latencia "El tiempo que tarda el sistema en responder, como el tiempo de espera en un restaurante"
Reranking "Un segundo filtro: después de buscar 20 documentos, un experto los reordena para poner los mejores primero"
Context window "La 'mesa de trabajo' del asistente: cuánta información puede tener frente a él al mismo tiempo"

Si audiencia es TÉCNICA:

  • Usa terminología precisa
  • Incluye patrones de diseño identificados (con nombres: Saga, CQRS, event sourcing, etc.)
  • Señala decisiones arquitectónicas implícitas y trade-offs
  • Menciona alternativas que podrían considerarse
  • Diagrama Mermaid detallado con componentes técnicos

Paso 0.4: Generar diagrama Mermaid del sistema

Genera SIEMPRE un diagrama, adaptado a la audiencia:

Para no técnicos — cajas con nombres descriptivos:

graph LR
    Usuario[👤 Usuario hace pregunta] --> Buscador[📚 Buscador de documentos]
    Buscador --> Asistente[🤖 Asistente IA]
    Asistente --> Respuesta[💬 Respuesta con fuentes]

Para técnicos — componentes reales:

graph TD
    Client[Web App / API] --> Gateway[API Gateway]
    Gateway --> Orch[Orchestrator - LangChain]
    Orch --> Retrieval[Retrieval Pipeline]
    Orch --> LLM[Claude Sonnet via API]
    Retrieval --> VDB[(Qdrant - Vector DB)]
    Retrieval --> BM25[BM25 - Keyword Search]
    LLM --> Guards[Guardrails + Citation]
    Guards --> Client

Paso 0.5: Entregable del análisis

Estructura del documento de análisis:

# Análisis de Arquitectura — [Nombre del Proyecto]

## ¿Qué es esto? (1 párrafo, comprensible para cualquiera)

## ¿Cómo funciona? (adaptado a audiencia)
[Diagrama Mermaid]
[Explicación por capas/componentes]

## Componentes principales
| Componente | Qué hace | Tecnología | Analogía |
|-----------|----------|-----------|---------|

## Flujo de datos (paso a paso)
1. [Paso 1 — en lenguaje de la audiencia]
2. [Paso 2...]

## Puntos fuertes de la arquitectura
- [Lo que está bien diseñado y por qué]

## Oportunidades de mejora
- [Lo que podría mejorarse y por qué]

## Riesgos identificados
- [Riesgos técnicos o de negocio]

Después del análisis, pregunta: "¿Quieres que diseñe una versión mejorada o una arquitectura nueva basada en esto?" Si SÍ → Transición a Modo DISEÑAR (Fase 1).


MODO DISEÑAR — Workflow de 5 Fases

Fase 1        → Fase 2            → Fase 3        → Fase 4          → Fase 5
Brainstorming   Selección de        Diseño de        Tech Stack        Documento de
Arquitectónico  Enfoque             Capas            y Evaluación      Arquitectura

Ejecuta TODAS las fases secuencialmente. Cada fase produce entregables que alimentan la siguiente.


FASE 1: BRAINSTORMING ARQUITECTÓNICO

Inspirado en el patrón Brainstorming de Superpowers (obra/superpowers).

NO diseñes de inmediato. Primero, explora el problema con el usuario usando un proceso estructurado de brainstorming que refine ideas vagas en requisitos claros.

Reglas del brainstorming:

  • UNA pregunta a la vez — no abrumes con múltiples preguntas
  • Opción múltiple preferida — más fácil de responder que preguntas abiertas
  • YAGNI implacable — elimina features innecesarias de todos los diseños
  • Explora alternativas — SIEMPRE propón 2-3 enfoques antes de decidir
  • Validación incremental — presenta diseño por secciones, obtén aprobación antes de avanzar

Flujo del brainstorming:

Explorar contexto → Preguntas clarificadoras (1 a la vez) →
  Proponer 2-3 enfoques → Presentar diseño por secciones →
    ¿Usuario aprueba? → NO: revisar → SÍ: Avanzar a Fase 2

Paso 1.1: Explorar contexto del proyecto Haz ESTAS preguntas, UNA POR UNA, esperando respuesta antes de la siguiente:

  1. ¿Qué problema de negocio resuelve esta solución? (en 2-3 frases)
  2. ¿Quién es el usuario final? ¿Cuántos usuarios esperados?
  3. ¿Existe algo hoy? Opciones: (a) sistema legacy, (b) proceso manual, (c) nada

Paso 1.2: Requisitos funcionales de IA (una pregunta a la vez)

  1. ¿Qué debe "hacer" la IA? Opciones: (a) responder preguntas sobre docs propios, (b) generar contenido, (c) clasificar/extraer datos, (d) recomendar, (e) automatizar acciones, (f) combinación
  2. ¿Sobre qué conocimiento opera? Opciones: (a) documentos internos, (b) datos estructurados/BD, (c) conocimiento general, (d) info en tiempo real, (e) combinación
  3. ¿Necesita acceder a sistemas externos? (APIs, bases de datos, herramientas)
  4. ¿Requiere memoria entre interacciones?

Paso 1.3: Restricciones (una pregunta a la vez)

  1. ¿Presupuesto mensual aproximado para infra? Opciones: (a) <$100, (b) $100-500, (c) $500-2000, (d) $2000+, (e) no definido
  2. ¿Requisitos de latencia? Opciones: (a) <1s interactivo, (b) <5s aceptable, (c) batch/async sin restricción
  3. ¿Requisitos de privacidad? Opciones: (a) datos pueden ir a cloud/API, (b) datos sensibles, prefiero on-premise, (c) regulación estricta (GDPR/HIPAA)
  4. ¿Equipo disponible? Opciones: (a) 1-2 devs sin experiencia ML, (b) 3-5 devs con algo de experiencia, (c) equipo con ML engineers
  5. ¿Timeline? Opciones: (a) MVP en 2-4 semanas, (b) producto en 2-3 meses, (c) plataforma en 6+ meses

Marca vacíos como "⚠️ POR DEFINIR".

Paso 1.4: Proponer 2-3 enfoques

Basándote en las respuestas, propón 2-3 enfoques arquitectónicos alternativos. Para CADA enfoque describe en ~100 palabras:

  • Qué incluye (componentes principales)
  • Trade-off principal (qué ganas vs qué sacrificas)
  • Para quién es ideal

Presenta los enfoques y ESPERA a que el usuario elija o pida cambios. Escala cada sección a su complejidad: pocas frases si es directo, más detalle si es matizado.

Paso 1.5: Validación

Antes de avanzar a Fase 2, confirma con el usuario:

  • "¿Este enfoque captura lo que necesitas?"
  • "¿Hay algo que falte o sobre?"

Solo avanza a Fase 2 cuando el usuario confirme.


FASE 2: SELECCIÓN DE ENFOQUE

Usa el árbol de decisión para determinar el enfoque arquitectónico. Lee resources/decision-frameworks.md para los detalles completos.

¿La solución necesita conocimiento actualizado o específico del dominio?
├─ SÍ → ¿Qué tipo de conocimiento?
│   ├─ Documentos/datos propios → RAG
│   ├─ Comportamiento específico del dominio → Fine-tuning
│   └─ Ambos → Híbrido (RAG + Fine-tuning)
├─ NO → ¿Necesita ejecutar acciones?
│   ├─ SÍ → ¿Complejidad?
│   │   ├─ 1-3 herramientas, flujo lineal → Agente simple (ReAct)
│   │   └─ Múltiples pasos, bifurcaciones → Multi-agente
│   └─ NO → Prompt engineering (suficiente con LLM base)
└─ Mejor resultado posible
    └─ Híbrido: RAG + Fine-tuning + Agentes

Evaluación de trade-offs (obligatoria):

Criterio Prompt Engineering RAG Fine-tuning Híbrido
Tiempo a MVP ⭐⭐⭐⭐⭐ (días) ⭐⭐⭐⭐ (semanas) ⭐⭐ (meses) ⭐ (meses)
Conocimiento actualizado
Precisión en dominio ⭐⭐ ⭐⭐⭐ ⭐⭐⭐⭐ ⭐⭐⭐⭐⭐
Costo operativo $ $$ $$$ $$$$
Complejidad de infra Baja Media Alta Muy Alta
Control de comportamiento Bajo Medio Alto Muy Alto
Alucinaciones Altas Bajas (con retrieval) Medias Muy Bajas

Justifica la selección para el caso específico del usuario.


FASE 3: DISEÑO DE CAPAS ARQUITECTÓNICAS

Diseña la arquitectura por capas. Lee resources/architecture-layers.md para la referencia completa de cada capa.

Arquitectura de referencia para soluciones RAG:

┌─────────────────────────────────────────────────────┐
│                 CAPA DE PRESENTACIÓN                 │
│  Web App / Mobile / API / Chat Interface / Slack Bot │
└────────────────────────┬────────────────────────────┘
┌────────────────────────▼────────────────────────────┐
│              CAPA DE ORQUESTACIÓN                    │
│  API Gateway → Orchestrator (LangChain/LlamaIndex)  │
│  Session Manager → Memory Store → Rate Limiter       │
└────────────────────────┬────────────────────────────┘
┌────────────────────────▼────────────────────────────┐
│              CAPA DE INTELIGENCIA                     │
│  ┌──────────┐  ┌──────────┐  ┌───────────────────┐  │
│  │ Retrieval │  │  LLM     │  │  Post-processing  │  │
│  │ Pipeline  │  │  Gateway │  │  (guardrails,     │  │
│  │          │  │          │  │   formatting)     │  │
│  └──────────┘  └──────────┘  └───────────────────┘  │
└────────────────────────┬────────────────────────────┘
┌────────────────────────▼────────────────────────────┐
│              CAPA DE DATOS E INDEXACIÓN               │
│  ┌──────────┐  ┌──────────┐  ┌──────────┐           │
│  │ Document  │  │ Embedding│  │ Vector   │           │
│  │ Pipeline  │  │ Service  │  │ Store    │           │
│  │ (ingest,  │  │          │  │          │           │
│  │  chunk,   │  │          │  │          │           │
│  │  clean)   │  │          │  │          │           │
│  └──────────┘  └──────────┘  └──────────┘           │
└────────────────────────┬────────────────────────────┘
┌────────────────────────▼────────────────────────────┐
│              CAPA DE INFRAESTRUCTURA                  │
│  Cloud Provider → Compute → Storage → Networking     │
│  Monitoring → Logging → CI/CD → Security             │
└─────────────────────────────────────────────────────┘

Para CADA capa, documenta:

  1. Componentes: Qué piezas la componen
  2. Responsabilidad: Qué hace y qué NO hace
  3. Interfaces: Cómo se comunica con capas adyacentes
  4. Decisiones clave: Qué se debe decidir para esta capa
  5. Riesgos: Qué puede salir mal

Genera diagrama Mermaid para cada variante arquitectónica propuesta.


FASE 4: TECH STACK Y EVALUACIÓN

Lee resources/tech-stack-matrices.md para las matrices de selección completas.

Para CADA componente clave, evalúa opciones con criterios ponderados:

4.1 Modelo LLM

Criterio Peso GPT-4o Claude Sonnet Claude Opus Gemini 2.5 Open Source (Llama/Mistral)
Calidad de respuesta 25%
Latencia 20%
Costo por token 20%
Context window 15%
Privacidad/On-premise 10%
Ecosistema/tooling 10%

4.2 Vector Database (si RAG)

Criterio Peso Pinecone Qdrant Chroma Weaviate pgvector Milvus
Facilidad de setup 20%
Escalabilidad 20%
Búsqueda híbrida 15%
Costo 15%
Filtering/metadata 15%
Comunidad/soporte 15%

4.3 Framework de Orquestación

Criterio Peso LangChain LlamaIndex Haystack Custom
RAG nativo 25%
Flexibilidad 20%
Curva aprendizaje 20%
Producción ready 20%
Comunidad 15%

4.4 Estrategia de Chunking (si RAG)

Estrategia Cuándo usar Chunk size típico
Fixed-size Documentos homogéneos 512-1024 tokens
Semantic Contenido variado, múltiples temas Variable
Document-based PDFs estructurados, papers Por sección
Sentence-window Alta precisión necesaria 1-3 oraciones + contexto
Parent-child Necesitas contexto amplio + precisión Hijo: 256, Padre: 2048

4.5 Estrategia de Embedding

Modelo Dimensiones Ventaja Cuándo usar
text-embedding-3-large (OpenAI) 3072 Mejor calidad general Producción, presupuesto OK
text-embedding-3-small (OpenAI) 1536 Balance calidad/costo MVP, alto volumen
Voyage-3 1024 Excelente para código Documentación técnica
BGE-M3 (open source) 1024 Multilingüe, on-premise Privacidad, sin vendor lock
Cohere embed-v4 1024 Búsqueda + clasificación Multimodal, multilingual

MUESTRA los scores numéricos y la justificación para cada selección.


FASE 5: DOCUMENTO DE ARQUITECTURA

Genera con EXACTAMENTE esta estructura:

# Documento de Arquitectura — [Nombre de la Solución]
**Fecha:** [fecha] | **Versión:** 1.0 | **Autor:** [usuario]

## 1. Contexto y Problema
[2-3 párrafos: problema de negocio, usuarios, situación actual]

## 2. Enfoque Seleccionado
[Enfoque elegido + tabla de trade-offs + justificación]

## 3. Arquitectura de Alto Nivel
[Diagrama Mermaid del sistema completo]

### 3.1 Vista de Capas
[Diagrama por capas con componentes]

### 3.2 Vista de Flujo de Datos
[Diagrama de secuencia: desde input del usuario hasta respuesta]

## 4. Detalle por Capa

### 4.1 Capa de Presentación
- Componentes: [lista]
- Tecnología: [selección + justificación]
- Interfaces: [APIs expuestas]

### 4.2 Capa de Orquestación
- Componentes: [lista]
- Tecnología: [framework + justificación]
- Patrones: [sync/async, retry, circuit breaker]

### 4.3 Capa de Inteligencia
- Modelo LLM: [selección + justificación con scores]
- Retrieval pipeline: [estrategia + justificación]
- Guardrails: [qué protecciones se aplican]

### 4.4 Capa de Datos e Indexación
- Vector DB: [selección + justificación con scores]
- Embedding: [modelo + dimensiones + justificación]
- Chunking: [estrategia + tamaños + justificación]
- Ingesta: [pipeline de documentos, frecuencia, formatos]

### 4.5 Capa de Infraestructura
- Cloud: [proveedor + servicios]
- Compute: [tipo de instancias, GPU si aplica]
- Monitoring: [herramientas, métricas clave]
- CI/CD: [pipeline de deployment]

## 5. Diagramas

### 5.1 Diagrama de Arquitectura (Mermaid)
[Diagrama C4 o flowchart completo]

### 5.2 Diagrama de Secuencia — Flujo Principal
[Mermaid sequence diagram: user → frontend → orchestrator → retrieval → LLM → response]

### 5.3 Diagrama de Ingesta de Datos
[Mermaid: source → extract → chunk → embed → store]

## 6. Decisiones Arquitectónicas (ADRs)

### ADR-001: [Título]
- **Contexto:** [por qué se necesita esta decisión]
- **Decisión:** [qué se decidió]
- **Alternativas evaluadas:** [qué más se consideró]
- **Consecuencias:** [trade-offs aceptados]

[Repetir para cada decisión clave]

## 7. Estimación de Costos

| Componente | Servicio | Costo mensual estimado |
|-----------|---------|----------------------|
| LLM API | [proveedor] | $[X] |
| Vector DB | [servicio] | $[X] |
| Compute | [instancias] | $[X] |
| Storage | [tipo] | $[X] |
| **Total** | | **$[X]** |

⚠️ Estimaciones basadas en [volumen asumido]. Ajustar según uso real.

## 8. Riesgos y Mitigaciones

| Riesgo | Probabilidad | Impacto | Mitigación |
|--------|-------------|---------|-----------|
| | | | |

## 9. Roadmap de Implementación

### Fase 1: MVP ([X] semanas)
- [componentes mínimos para validar]

### Fase 2: Producción ([X] semanas)
- [escalabilidad, monitoring, seguridad]

### Fase 3: Optimización ([X] semanas)
- [fine-tuning, advanced RAG, evaluación continua]

## 10. Supuestos y Limitaciones
[Lista de todo marcado como "POR DEFINIR" + limitaciones del diseño]

Guardrails

Modo Analizar

  • Audiencia primero — SIEMPRE pregunta para quién es la explicación antes de analizar
  • Analogías obligatorias — Si la audiencia no es técnica, cada concepto técnico va con analogía
  • Diagrama obligatorio — Todo análisis incluye al menos 1 diagrama Mermaid adaptado a la audiencia
  • Máximo 7 cajas en diagramas para no-técnicos
  • Problema antes que solución — Explica el PARA QUÉ antes del CON QUÉ
  • Si el usuario pega contenido incompleto, señala qué más necesitarías para un análisis mejor

Modo Diseñar

  • Brainstorming primero, SIEMPRE — No diseñes sin antes hacer brainstorming (Fase 1)
  • Una pregunta a la vez — No abrumes al usuario con múltiples preguntas
  • 2-3 alternativas — Siempre propón enfoques alternativos antes de diseñar
  • YAGNI — Si el equipo no lo necesita hoy, no lo diseñes. Señala el upgrade path.
  • Genera diagramas Mermaid válidos y renderizables
  • MUESTRA los scores numéricos de evaluación de tech stack
  • Marca estimaciones de costo con ⚠️
  • Cada ADR debe tener al menos 2 alternativas evaluadas
  • Prioriza soluciones que el equipo del usuario pueda mantener
  • Si detectas sobredimensionamiento (equipo de 2 queriendo multi-agente), señálalo
  • Recomienda empezar simple y evolucionar (prompt → RAG → fine-tune → hybrid)

Ambos modos

  • Si el usuario no tiene experiencia en ML, explica conceptos con analogías
  • Usa la tabla de analogías de la Fase 0 como referencia para términos técnicos
  • Si no tienes suficiente información, pide más contexto — nunca inventes
Weekly Installs
11
First Seen
12 days ago
Installed on
opencode11
gemini-cli11
claude-code11
github-copilot11
codex11
amp11