FORMACIÓN · SEMANA 08

Context Engineering

Cómo construir un repositorio preparado para trabajar con agentes de IA de forma consistente, segura y escalable.

Semana 8 de 24 · Nivel: Intermedio / Avanzado

1. Objetivos de la semana

OBJETIVO CENTRAL

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?

01

Context Engineering

Entender cómo proporcionar contexto relevante a un agente.

02

Project Instructions

Definir reglas generales para el proyecto.

03

AGENTS.md

Crear instrucciones persistentes para agentes.

04

Architecture Context

Documentar la arquitectura para que la IA pueda navegarla.

05

Memory

Separar conocimiento estable de contexto temporal.

06

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:

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:

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:

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

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

PROYECTO FINAL

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:

Fase 3 — AGENTS.md

Debe contener como mínimo:

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:

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

Pregunta 1

¿Qué diferencia principal existe entre Prompt Engineering y Context Engineering?

Pregunta 2

¿Qué es AGENTS.md?

Pregunta 3

¿Por qué documentar la arquitectura?

Pregunta 4

¿Qué significa Single Source of Truth?

Pregunta 5

¿Por qué es peligroso tener documentación obsoleta?

Pregunta 6

¿Qué es un ADR?

Pregunta 7

¿Más contexto siempre significa mejor contexto?

Pregunta 8

¿Qué debería hacer un agente cuando una instrucción es ambigua?

Pregunta 9

¿Qué permite MCP?

Pregunta 10

¿Cuál es una mala práctica?

Pregunta 11

¿Cuál debería ser una regla de seguridad?

Pregunta 12

¿Qué caracteriza a un repositorio AI-Ready?

Pregunta 13

¿Qué debería hacer un agente antes de realizar un cambio complejo?

Pregunta 14

¿Qué tipo de información debería estar en un ADR?

Pregunta 15

¿Cuál es uno de los objetivos principales del Context Engineering?

Ver respuestas explicadas
  1. 1 — A. El Context Engineering aborda el conjunto de información necesario para que un agente trabaje correctamente.
  2. 2 — A. AGENTS.md permite definir instrucciones persistentes para agentes.
  3. 3 — A. La arquitectura comunica estructura, responsabilidades y decisiones.
  4. 4 — A. La información debe tener una fuente claramente identificable.
  5. 5 — A. Información incorrecta puede provocar decisiones incorrectas.
  6. 6 — A. ADR significa Architecture Decision Record.
  7. 7 — B. El contexto debe ser relevante, actualizado y estructurado.
  8. 8 — B. La IA no debería convertir una ambigüedad en una decisión silenciosamente.
  9. 9 — A. MCP facilita conectar IA con herramientas y recursos externos.
  10. 10 — C. Las instrucciones contradictorias pueden producir comportamientos inconsistentes.
  11. 11 — B. Los secretos no deben almacenarse en el repositorio.
  12. 12 — B. Un repositorio AI-Ready facilita que un agente comprenda y opere sobre el proyecto.
  13. 13 — B. Primero debe comprender y planificar.
  14. 14 — A. Un ADR registra contexto, decisión y consecuencias.
  15. 15 — A. El objetivo es mejorar la calidad y coherencia de las decisiones del agente.

18. Recursos externos

AGENTS.md
Especificació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.