1. Objetivos de la semana
Aprender a construir el contexto que necesita una IA
Hasta ahora hemos aprendido a especificar qué queremos construir. Ahora vamos a resolver otro problema: ¿Cómo conseguimos que un agente entienda nuestro proyecto sin tener que explicárselo todo cada vez?
Context Engineering
Entender cómo proporcionar contexto relevante a un agente.
Project Instructions
Definir reglas generales para el proyecto.
AGENTS.md
Crear instrucciones persistentes para agentes.
Architecture Context
Documentar la arquitectura para que la IA pueda navegarla.
Memory
Separar conocimiento estable de contexto temporal.
MCP
Entender cómo los agentes pueden conectarse con herramientas externas.
2. ¿Qué es Context Engineering?
Cuando hablamos de trabajar con IA solemos hablar mucho de prompt engineering. Pero para desarrollar software de forma profesional el problema es mucho más grande.
Prompt Engineering
Prompt
↓
Respuesta
Context Engineering
Objetivo
+
Reglas
+
Repositorio
+
Arquitectura
+
Documentación
+
Estado actual
+
Herramientas
+
Historial
+
Restricciones
↓
Agente
↓
Decisión / Acción
Ejemplo
Imagina que dices:
Implementa el login.
El agente tiene que tomar muchas decisiones:
- ¿Qué framework?
- ¿Qué arquitectura?
- ¿Qué sistema de autenticación?
- ¿Dónde están los usuarios?
- ¿Cómo se almacenan las contraseñas?
- ¿Qué API existe?
- ¿Qué diseño utiliza la aplicación?
- ¿Qué tests existen?
- ¿Qué convenciones utiliza el proyecto?
Ahora imagina que el repositorio contiene:
README.md
AGENTS.md
docs/
architecture.md
security.md
database.md
api.md
src/
tests/
.env.example
La IA tiene mucha más información para tomar decisiones coherentes.
3. Cómo trabaja realmente un agente
Un agente moderno no es simplemente un chatbot que escribe código. Puede:
- Leer archivos.
- Buscar información.
- Analizar código.
- Crear archivos.
- Modificar archivos.
- Ejecutar comandos.
- Ejecutar tests.
- Analizar errores.
- Iterar.
- Utilizar herramientas.
Ciclo básico
1. OBJETIVO
↓
2. OBSERVAR
Leer proyecto y contexto.
↓
3. RAZONAR
Determinar qué debe hacerse.
↓
4. PLANIFICAR
Crear plan de implementación.
↓
5. ACTUAR
Modificar archivos.
↓
6. VALIDAR
Ejecutar tests / comprobar resultado.
↓
7. CORREGIR
Resolver errores.
↓
8. REPETIR
Problema
Si el contexto es malo, el agente puede ejecutar correctamente una decisión incorrecta.
La IA puede hacer muy bien lo que NO queríamos.
4. ¿Qué es un repositorio AI-Ready?
Un repositorio AI-Ready está organizado de forma que un agente pueda comprender rápidamente:
- qué es el proyecto;
- cómo está organizado;
- qué reglas debe seguir;
- cómo ejecutar el proyecto;
- cómo ejecutar tests;
- qué arquitectura utiliza;
- qué decisiones se han tomado;
- qué restricciones existen.
Arquitectura documental recomendada
my-project/
│
├── README.md
│
├── AGENTS.md
│
├── CONTRIBUTING.md
│
├── CHANGELOG.md
│
├── .env.example
│
├── docs/
│ │
│ ├── product.md
│ ├── architecture.md
│ ├── database.md
│ ├── api.md
│ ├── security.md
│ ├── testing.md
│ ├── decisions/
│ │ ├── ADR-001.md
│ │ └── ADR-002.md
│ │
│ └── requirements/
│ ├── US-001.md
│ └── US-002.md
│
├── src/
│
├── tests/
│
└── scripts/
Principio fundamental
La documentación no debe existir solamente para los humanos. Debe ser también un mecanismo de comunicación con los agentes.
5. Project Instructions
Las instrucciones del proyecto establecen cómo debe comportarse la IA cuando trabaja en nuestro repositorio.
Ejemplo
# Project Instructions
## General
Before modifying code:
1. Read the relevant documentation.
2. Inspect existing implementation.
3. Check existing tests.
4. Do not invent architecture.
5. Prefer existing components.
## Code
- Reuse existing utilities.
- Avoid duplicated logic.
- Keep functions focused.
- Do not introduce dependencies without justification.
## Testing
Every new feature must include tests.
Run the relevant tests before finishing.
## Security
Never commit secrets.
Never expose credentials.
Do not disable security controls
to make tests pass.
## Git
Do not create commits unless explicitly requested.
Por qué funciona
Estas instrucciones eliminan decisiones repetitivas. En lugar de decir:
"No hagas commits."
en cada conversación, la regla vive en el repositorio.
6. AGENTS.md
AGENTS.md se ha convertido en una convención
muy útil para proporcionar instrucciones a agentes
que trabajan sobre un repositorio.
Ejemplo completo
# AGENTS.md
## Project Overview
This project is a web application for
managing employee availability.
## Architecture
The project uses:
- frontend application;
- backend API;
- PostgreSQL database.
See:
docs/architecture.md
## Before Making Changes
Always:
1. Read the relevant documentation.
2. Inspect related code.
3. Search for existing functionality.
4. Check tests.
5. Propose a plan for complex changes.
## Development Rules
Do not:
- rewrite existing components without reason;
- introduce unnecessary dependencies;
- duplicate existing services;
- modify unrelated files.
## Database
Database changes must include:
- migration;
- updated documentation;
- tests where appropriate.
## API
API changes must update:
docs/api.md
## Testing
Before finishing:
- run unit tests;
- run integration tests when relevant;
- verify no existing functionality is broken.
## Security
Never:
- commit secrets;
- expose environment variables;
- disable authentication;
- bypass authorization.
## Communication
If a requirement is ambiguous:
STOP.
Ask for clarification.
Do not silently invent business rules.
Observa algo importante
No hemos utilizado prácticamente código. Y sin embargo hemos mejorado enormemente la capacidad de la IA para trabajar sobre el proyecto.
7. Reglas específicas
No todas las reglas tienen que aplicarse a todo el repositorio. Podemos tener reglas específicas para determinadas áreas.
Ejemplo conceptual
rules/
│
├── general.md
├── frontend.md
├── backend.md
├── database.md
└── testing.md
Reglas frontend
# Frontend Rules
- Reuse existing UI components.
- Do not introduce a new design system.
- Keep accessibility in mind.
- Forms must expose validation errors.
- Do not duplicate API clients.
Reglas backend
# Backend Rules
- Validate input at the API boundary.
- Never trust client input.
- Return consistent error structures.
- Business logic belongs in services.
- Database access must remain isolated.
Reglas database
# Database Rules
- All schema changes require migrations.
- Never manually modify production schema.
- Foreign keys must be explicit.
- Avoid destructive migrations without a migration plan.
Evita reglas contradictorias
general.md
"Always use service classes."
frontend.md
"Never use service classes."
Cuando las instrucciones entran en conflicto, el agente puede tomar decisiones inconsistentes.
8. Contexto de arquitectura
Una IA puede leer el código, pero eso no significa que entienda automáticamente por qué está construido así.
Architecture.md
# Architecture
## Overview
The application follows a layered architecture.
Frontend
↓
API
↓
Application Services
↓
Repositories
↓
PostgreSQL
## Frontend
Responsible for:
- presentation;
- user interaction;
- client-side validation.
## API
Responsible for:
- authentication;
- authorization;
- request validation;
- HTTP responses.
## Services
Responsible for:
- business rules;
- workflows;
- orchestration.
## Repositories
Responsible for:
- persistence;
- database queries.
## Important Rule
Business rules must not be implemented
directly inside controllers.
¿Qué conseguimos?
Si el agente tiene que implementar:
"Crear una nueva solicitud"
ya sabe aproximadamente dónde debería vivir cada parte.
9. Memoria del proyecto
No toda la información debe vivir en el mismo sitio. Podemos distinguir:
| Tipo | Ejemplo |
|---|---|
| Contexto permanente | Arquitectura |
| Reglas | No introducir dependencias innecesarias |
| Decisiones | Utilizamos PostgreSQL |
| Requisito | El usuario puede crear tareas |
| Contexto temporal | Estamos implementando US-023 |
| Estado | Hay 3 tests fallando |
ADRs
Un ADR (Architecture Decision Record) documenta decisiones arquitectónicas importantes.
# ADR-001
## Title
Use PostgreSQL as primary database.
## Status
Accepted.
## Context
The application requires relational
data and transactional consistency.
## Decision
PostgreSQL will be the primary database.
## Alternatives
- MySQL
- MongoDB
## Consequences
We benefit from:
- relational integrity;
- transactions;
- mature tooling.
We accept:
- relational schema management;
- migrations.
Por qué esto es importante para IA
Si dentro de tres meses preguntamos:
"¿Por qué usamos PostgreSQL?"
el agente no tiene que inventar una respuesta.
Puede leer la decisión.
10. MCP — Model Context Protocol
MCP es un protocolo abierto que permite conectar aplicaciones de IA con herramientas y fuentes externas de información de una forma estandarizada.
La idea
┌──────────────┐
│ AGENT │
└──────┬───────┘
│
│ MCP
┌──────────────┼───────────────┐
│ │ │
▼ ▼ ▼
Database Files APIs
│ │ │
▼ ▼ ▼
PostgreSQL GitHub External Tool
Conceptos que debes conocer
- MCP Client
- MCP Server
- Tools
- Resources
- Prompts
Ejemplo conceptual
En lugar de copiar manualmente información desde una herramienta a un chat:
IA
↓
MCP Server
↓
Sistema externo
↓
Resultado
↓
IA
Seguridad
Conectar una IA a herramientas externas también significa darle capacidades. Por tanto debemos controlar:
- permisos;
- credenciales;
- alcance;
- datos accesibles;
- acciones permitidas.
11. Workflow profesional AI-Native
1. Comprender
Leer requirements y documentación.
2. Explorar
Buscar código y componentes existentes.
3. Planificar
Definir qué archivos y componentes deben cambiar.
4. Implementar
Permitir al agente modificar el código.
5. Testear
Ejecutar tests.
6. Revisar
Comparar implementación contra specification.
7. Documentar
Actualizar contexto si la arquitectura ha cambiado.
8. Commit
Solo cuando el trabajo esté validado.
12. Anti-patterns
Anti-pattern 1 — README gigantesco
Meter absolutamente todo en README.md.
Resultado: La información importante queda enterrada.
Anti-pattern 2 — Context dumping
Copiar cientos de archivos al contexto sin seleccionar qué información es relevante.
Más contexto no siempre significa mejor contexto.
Anti-pattern 3 — Instrucciones contradictorias
Dos documentos indican comportamientos diferentes.
Anti-pattern 4 — Documentación obsoleta
La arquitectura cambió, pero architecture.md sigue describiendo la anterior.
Esto es especialmente peligroso con IA.
Anti-pattern 5 — "La IA ya sabe"
No documentar decisiones porque:
"La IA puede leer el código."
Leer código no siempre permite conocer las razones que llevaron a una decisión.
13. El principio de Single Source of Truth
Cada tipo de información debería tener un lugar claramente definido.
| Información | Fuente |
|---|---|
| Requisitos | docs/requirements |
| Arquitectura | docs/architecture.md |
| Decisiones | docs/decisions |
| Reglas IA | AGENTS.md / rules |
| API | docs/api.md / OpenAPI |
| Tests | tests/ |
La IA debe poder navegar el conocimiento
No queremos un repositorio donde la información esté dispersa aleatoriamente. Queremos un sistema de conocimiento.
14. Proyecto práctico de la semana
Construir un repositorio AI-Ready
Vamos a preparar desde cero el proyecto que utilizaremos durante las próximas semanas.
Proyecto
Construye una pequeña aplicación de gestión de empleados y disponibilidad. No importa demasiado el lenguaje. La arquitectura y el contexto sí importan.
Fase 1 — Crear estructura
employee-management/
│
├── README.md
├── AGENTS.md
├── CONTRIBUTING.md
├── .env.example
│
├── docs/
│ ├── product.md
│ ├── architecture.md
│ ├── database.md
│ ├── api.md
│ ├── security.md
│ ├── testing.md
│ │
│ ├── requirements/
│ │ ├── US-001.md
│ │ └── US-002.md
│ │
│ └── decisions/
│ └── ADR-001.md
│
├── src/
├── tests/
└── scripts/
Fase 2 — README
Debe explicar:- Qué hace el proyecto.
- Cómo instalarlo.
- Cómo ejecutarlo.
- Cómo ejecutar tests.
- Estructura principal.
- Documentación.
Fase 3 — AGENTS.md
Debe contener como mínimo:- Descripción.
- Arquitectura.
- Reglas.
- Testing.
- Seguridad.
- Git.
- Cómo actuar ante ambigüedad.
Fase 4 — Architecture
Documentar:Frontend
↓
API
↓
Services
↓
Repositories
↓
Database
Fase 5 — Requirements
Crear:US-001 — Crear empleado
US-002 — Consultar empleado
US-003 — Marcar disponibilidad
US-004 — Cambiar disponibilidad
Fase 6 — Security
Documentar al menos:- Autenticación.
- Autorización.
- Gestión de secretos.
- Validación de inputs.
- Protección de datos.
Fase 7 — Pedir a la IA una auditoría
Utiliza:Actúa como AI Architecture Auditor.
Analiza este repositorio.
Quiero que compruebes:
1. Si la documentación es suficiente.
2. Si existen contradicciones.
3. Si falta información importante.
4. Si las instrucciones para agentes son claras.
5. Si la arquitectura está documentada.
6. Si los requisitos son trazables.
7. Si existen riesgos de seguridad.
8. Si la estructura facilita trabajar con agentes.
No modifiques ningún archivo.
Devuelve:
- problemas críticos;
- problemas importantes;
- mejoras;
- recomendaciones.
Para cada problema indica
qué archivo deberíamos modificar.
15. Ejercicios prácticos
Ejercicio 1 — Mejorar contexto
Tienes:
README.md
src/
tests/
¿Qué información falta?
Respuesta
Como mínimo:
- Instrucciones para agentes.
- Arquitectura.
- Requisitos.
- Testing.
- Seguridad.
- Decisiones importantes.
- Configuración.
Ejercicio 2 — Detectar mal contexto
AGENTS.md
"Always create a new component
when implementing a feature."
docs/frontend.md
"Always reuse existing components
when possible."
¿Cuál es el problema?
Respuesta
Existe una contradicción. Las instrucciones deberían establecer una prioridad clara.
Ejercicio 3 — Contexto excesivo
Un desarrollador copia:
50.000 líneas de código
+
todos los logs
+
toda la documentación
+
todos los commits
y se las proporciona al agente. ¿Es necesariamente mejor?
Respuesta
No. El objetivo es proporcionar información relevante, no maximizar la cantidad. El contexto debe ser: relevante + actualizado + estructurado.
Ejercicio 4 — Crear una regla
Escribe una regla para impedir que la IA introduzca dependencias sin justificación.
Respuesta
Do not introduce a new dependency
unless:
1. Existing functionality cannot satisfy
the requirement.
2. The dependency provides significant value.
3. The reason is documented.
4. Security and maintenance implications
have been considered.
Ejercicio 5 — Diseñar un ADR
Necesitas decidir entre:
PostgreSQL
MongoDB
¿Qué debería contener el ADR?
Respuesta
- Contexto.
- Problema.
- Alternativas.
- Decisión.
- Razones.
- Consecuencias.
- Estado.
Ejercicio 6 — Prompt de auditoría
Crea un prompt para que un agente compruebe si la documentación del proyecto está actualizada.
Respuesta orientativa
Actúa como Documentation Auditor.
Compara:
- documentación;
- arquitectura;
- código;
- tests.
Busca contradicciones.
No modifiques archivos.
Devuelve:
Archivo
Problema
Evidencia
Severidad
Recomendación
16. Reto avanzado
El agente nuevo en el equipo
Imagina que mañana incorporamos un nuevo desarrollador al equipo. Pero no es una persona. Es un agente de IA.
Tu objetivo es crear la documentación necesaria para que pueda incorporarse al proyecto sin que nadie tenga que explicarle el proyecto durante horas.
Debe poder responder:
- ¿Qué hace la aplicación?
- ¿Quién la utiliza?
- ¿Cómo está construida?
- ¿Dónde está cada componente?
- ¿Cómo se ejecuta?
- ¿Cómo se prueban los cambios?
- ¿Qué reglas debe seguir?
- ¿Qué decisiones arquitectónicas existen?
- ¿Qué no debe hacer?
- ¿Qué debe preguntar antes de asumir?
Test de incorporación
Una vez creado el repositorio, abre una nueva sesión con tu agente y dile solamente:
Familiarízate con este proyecto.
No modifiques ningún archivo.
Explícame:
1. Qué hace.
2. Cómo está estructurado.
3. Qué arquitectura utiliza.
4. Qué reglas debes seguir.
5. Cómo ejecutar tests.
6. Qué decisiones importantes existen.
7. Qué información falta.
Después compara la respuesta con lo que realmente sabes del proyecto.
Objetivo del ejercicio
Medir cuánto conocimiento puede recuperar el agente sin que tú tengas que explicárselo manualmente.
17. Test de evaluación
Ver respuestas explicadas
- 1 — A. El Context Engineering aborda el conjunto de información necesario para que un agente trabaje correctamente.
- 2 — A. AGENTS.md permite definir instrucciones persistentes para agentes.
- 3 — A. La arquitectura comunica estructura, responsabilidades y decisiones.
- 4 — A. La información debe tener una fuente claramente identificable.
- 5 — A. Información incorrecta puede provocar decisiones incorrectas.
- 6 — A. ADR significa Architecture Decision Record.
- 7 — B. El contexto debe ser relevante, actualizado y estructurado.
- 8 — B. La IA no debería convertir una ambigüedad en una decisión silenciosamente.
- 9 — A. MCP facilita conectar IA con herramientas y recursos externos.
- 10 — C. Las instrucciones contradictorias pueden producir comportamientos inconsistentes.
- 11 — B. Los secretos no deben almacenarse en el repositorio.
- 12 — B. Un repositorio AI-Ready facilita que un agente comprenda y opere sobre el proyecto.
- 13 — B. Primero debe comprender y planificar.
- 14 — A. Un ADR registra contexto, decisión y consecuencias.
- 15 — A. El objetivo es mejorar la calidad y coherencia de las decisiones del agente.
18. Recursos externos
AGENTS.mdEspecificación y documentación de la convención AGENTS.md. Model Context Protocol
Documentación oficial de MCP. MCP — GitHub
Repositorio y ecosistema oficial de Model Context Protocol. Claude Code
Documentación oficial sobre desarrollo asistido por agentes. Cursor Documentation
Documentación sobre reglas y trabajo con proyectos mediante agentes. GitHub Copilot Documentation
Documentación sobre GitHub Copilot y desarrollo asistido por IA. Martin Fowler — Architecture
Recursos sobre arquitectura y documentación técnica. Architecture Decision Records
Recursos y convenciones para utilizar ADRs. OWASP Top 10
Referencia fundamental para seguridad de aplicaciones.
19. Checklist de la semana
20. Métrica de aprendizaje
Prueba del "nuevo desarrollador"
Pide al agente que explique el proyecto sin proporcionarle contexto adicional.
| Resultado | Interpretación |
|---|---|
| 0–30% | El repositorio tiene poco contexto. |
| 30–60% | Existe documentación pero hay huecos. |
| 60–80% | Buen nivel de contexto. |
| 80–95% | Repositorio bien preparado. |
| 95–100% | Excelente capacidad de onboarding del agente. |
21. Conclusión
El gran cambio de Week 08
ANTES
Usuario
↓
Prompt
↓
IA
↓
Código
AHORA
Usuario
↓
Specification
↓
Context
↓
Rules
↓
Architecture
↓
Repository
↓
Agent
↓
Plan
↓
Implementation
↓
Tests
↓
Validation
La IA deja de ser un chatbot
A partir de ahora la IA comienza a convertirse en un miembro del equipo de desarrollo.
Y el repositorio empieza a convertirse en una especie de memoria operativa del equipo.
Preparación para Week 09
La próxima semana entraremos en:
AI Coding Agents
Aprenderemos a trabajar de forma práctica con agentes capaces de:
- explorar repositorios;
- crear planes;
- modificar múltiples archivos;
- ejecutar comandos;
- ejecutar tests;
- corregir errores;
- hacer iteraciones;
- revisar su propio trabajo.
Y, sobre todo, aprenderemos una habilidad fundamental: cómo darle una tarea a un agente sin decirle cómo programarla.