La Arquitectura dual del contexto inteligente

Search for a command to run...

No comments yet. Be the first to comment.
Línea de apertura (opcional, para el feed): Claude Code empieza cada sesión desde cero. No recuerda qué archivos modificaste ayer. No recuerda el bug que arreglaste la semana pasada. No recuerda que m

Línea de apertura (opcional, para el feed): En cada sesión nueva, Claude abre el README, escanea el árbol de directorios, busca el pom.xml, encuentra src/main/java... 33 tool calls para orientarse. Co

Línea de apertura (opcional, para el feed): Llevas tres meses usando Claude en tu proyecto Java. Los mismos errores de hace tres meses siguen apareciendo. == para comparar BigDecimal. LocalDate.now()

Línea de apertura (opcional, para el feed): Tu equipo hizo commit directo a main porque "era un cambio pequeño". Dos horas después, toda la rama de producción estaba rota, tres desarrolladores bloquea

Línea de apertura (opcional, para el feed): Llevas seis meses usando Claude para tus decisiones de arquitectura Java. Eres más rápido. Pero ya no sabes si elegirías Spring Security + JWT o Keycloak si

Imagina que llegas a trabajar a una empresa.
Lo primero que te entregan es un manual del empleado.
Ahí encuentras cosas como:
cómo está organizada la empresa
cómo hacer commits en Git
cómo ejecutar pruebas
convenciones de código
cosas que nunca debes hacer
Eso es el CLAUDE.md.
La imagen dice que este archivo contiene:
Root of repository
Handles architecture
Git workflow & testing approach
Global anti-patterns
Es decir, información que siempre es útil.
Podrías imaginar algo así:
Proyecto:
Arquitectura Hexagonal
Java 21
Spring Boot 3
Reglas:
Nunca acceder a la BD desde un Controller
Todo cambio debe tener pruebas
Usar Conventional Commits
Estilo:
Constructor Injection
No usar Field Injection
Toda la IA necesita saber esto en cualquier tarea.
Ahora imagina que eres un ingeniero nuevo.
No siempre necesitas saber cómo funciona absolutamente todo.
Si hoy vas a trabajar en facturación...
solo necesitas el manual de facturación.
Si mañana trabajas en pagos...
necesitas el manual de pagos.
Eso son las Skills.
Cada carpeta contiene conocimiento especializado.
Por ejemplo:
.claude/ skills/ kafka/ payments/ ddd/ mif/ oracle/
Cada skill explica un tema muy concreto.
Porque si metieras TODO en CLAUDE.md...
Arquitectura
Git
DDD
Oracle
Kafka
Docker
OpenAPI
ISO8583
Facturación
MIF
Validaciones
Seguridad
OAuth
Testing
...
terminaría siendo un archivo de cientos de páginas.
La IA tendría que leer todo incluso cuando solo quieres cambiar un botón.
Eso consume contexto.
El archivo principal dice:
"Así funciona este proyecto."
Las Skills dicen:
"Así funciona ESTE dominio específico."
Piensa en una universidad.
Todos los alumnos reciben un reglamento general.
Horario
Uniforme
Reglas
Calendario
Biblioteca
Ese sería el CLAUDE.md.
Luego cada carrera tiene sus propios libros.
Ingeniería:
Álgebra
Programación
Redes
Medicina:
Anatomía
Farmacología
Cirugía
Derecho:
Derecho Penal
Civil
Constitucional
Esos libros son las Skills.
No todos los estudiantes necesitan leer todos los libros.
Los dibujos de chips representan módulos independientes de conocimiento.
En vez de una IA con un enorme bloque de información:
██████████████████████████
TODO EL CONOCIMIENTO
tienes pequeños módulos:
[DDD]
[Kafka]
[Oracle]
[OpenAPI]
[Payments]
[ISO8583]
La IA carga solamente los que necesita.
Esto tiene un paralelismo muy interesante con Domain-Driven Design.
En DDD no creas un sistema gigante con todo mezclado:
Sistema
Productos
Pagos
Inventario
Clientes
Lo divides en Bounded Contexts:
Ventas
Inventario
Facturación
Pagos
Cada contexto conoce únicamente lo suyo.
Con Claude ocurre algo parecido:
CLAUDE.md | + reglas globales | + skills | + payments + kafka + ddd + mif + spring
El CLAUDE.md sería como la visión global del sistema, mientras que cada Skill se parece a un Bounded Context: encapsula conocimiento especializado que solo se carga cuando la tarea lo requiere.
Esa es precisamente la idea que la imagen quiere transmitir: el contexto para la IA no es un único documento enorme, sino una combinación de reglas universales (siempre presentes) y módulos especializados (cargados según la tarea). Esto hace que el asistente sea más eficiente, más preciso y mucho más fácil de mantener a medida que el proyecto crece.
Enjoy!
Joe