1. Objetivos de la semana
Aprender a trabajar con agentes de desarrollo
El objetivo no es aprender a programar un agente desde cero. El objetivo es aprender a utilizar agentes existentes para desarrollar aplicaciones de forma mucho más autónoma.
01 · Comprender
Qué es un agente y cómo se diferencia de un chatbot.
02 · Contexto
Cómo proporcionar el contexto correcto.
03 · Herramientas
Cómo funcionan las tools de un agente.
04 · Supervisión
Cómo controlar lo que puede hacer.
05 · Delegación
Cómo dividir tareas complejas.
06 · Agentic Coding
Construir funcionalidades utilizando agentes.
2. La evolución del desarrollo con IA
Nivel 1 — Preguntar
Humano
↓
Pregunta
↓
IA
↓
Respuesta
↓
Humano ejecuta
Nivel 2 — Copilot
Humano escribe código
↓
IA sugiere código
↓
Humano revisa
↓
Humano ejecuta
Nivel 3 — Chat con contexto
Humano
↓
IA conoce algunos archivos
↓
IA propone cambios
↓
Humano ejecuta
Nivel 4 — Agente
Humano
↓
Objetivo
↓
Agente
↓
Analiza
↓
Planifica
↓
Usa herramientas
↓
Modifica archivos
↓
Ejecuta tests
↓
Analiza resultados
↓
Corrige
↓
Entrega resultado
Este es el salto de Week 13
El desarrollador deja de pensar únicamente en "qué código tengo que escribir".
Empieza a pensar:
¿Qué objetivo quiero conseguir?
¿Qué contexto necesita la IA?
¿Qué herramientas puede utilizar?
¿Qué restricciones debe respetar?
¿Cómo voy a validar el resultado?
3. ¿Qué es un agente de IA?
Un agente es un sistema que puede recibir un objetivo, razonar sobre los pasos necesarios, utilizar herramientas y observar los resultados para continuar trabajando.
Chatbot vs agente
| Chatbot | Agente |
|---|---|
| Responde | Actúa |
| Normalmente una interacción | Puede ejecutar múltiples pasos |
| Produce texto/código | Puede modificar el entorno |
| El usuario ejecuta | El agente puede ejecutar herramientas |
| Contexto limitado | Puede inspeccionar un repositorio |
Ejemplo
Petición tradicional:
"Escribe una función para validar emails."
Petición agentic:
"Añade validación de email
al formulario de empleados.
Analiza primero cómo está construido
el formulario.
Respeta la arquitectura existente.
Añade tests.
Ejecuta los tests.
Corrige los errores.
No modifiques otras funcionalidades."
4. El Agent Loop
El concepto más importante de esta semana es el ciclo de ejecución de un agente.
Ejemplo real
USER
"Implementa búsqueda de empleados"
AGENT
1. Explora repositorio
2. Localiza Employee model
3. Localiza API
4. Localiza frontend
5. Diseña solución
6. Modifica backend
7. Modifica frontend
8. Añade tests
9. Ejecuta tests
10. Detecta error
11. Corrige
12. Ejecuta nuevamente
13. Entrega resultado
Importante
El agente no "sabe" automáticamente qué debe hacer. Su rendimiento depende enormemente de:
- contexto;
- objetivo;
- restricciones;
- herramientas;
- feedback;
- calidad del modelo.
5. El contexto: la materia prima del agente
Una IA puede ser muy inteligente y aun así producir una solución incorrecta si no conoce suficiente contexto.
Ejemplo
Prompt malo:
"añade login"
Prompt mejor:
"Tenemos una aplicación web.
Backend:
REST API
Frontend:
SPA
Autenticación:
JWT
Base de datos:
PostgreSQL
Usuarios:
tabla users
Roles:
ADMIN
MANAGER
USER
Añade login respetando
la arquitectura existente.
No introduzcas
otra librería de autenticación."
Tipos de contexto
| Contexto | Ejemplo |
|---|---|
| Producto | Qué hace la aplicación |
| Arquitectura | Frontend / backend / DB |
| Código | Patrones existentes |
| Negocio | Reglas funcionales |
| Restricciones | No cambiar X |
| Calidad | Tests obligatorios |
| Seguridad | Requisitos de autorización |
6. Tools: las herramientas del agente
Un agente se vuelve realmente útil cuando puede utilizar herramientas.
Herramientas típicas
File system
Leer y modificar archivos.
Terminal
Ejecutar comandos.
Git
Consultar y modificar repositorios.
Browser
Consultar documentación o probar aplicaciones.
Tests
Ejecutar suites automáticamente.
Database
Consultar datos cuando está permitido.
Ejemplo de ciclo
AGENT
read_file()
↓
edit_file()
↓
terminal()
↓
npm test
↓
resultado:
FAIL
↓
read error
↓
edit_file()
↓
npm test
↓
PASS
Las tools son poderosas
Un agente con acceso al terminal puede hacer cosas que un chatbot no puede hacer. Por eso debemos establecer límites.
7. Planning
Antes de ejecutar una tarea compleja, es útil pedir al agente que construya un plan.
Ejemplo
Quiero implementar:
"Permitir filtrar empleados
por departamento."
Antes de modificar nada:
1. Analiza el repositorio.
2. Identifica archivos afectados.
3. Identifica APIs afectadas.
4. Identifica componentes afectados.
5. Identifica tests existentes.
6. Propón un plan.
NO MODIFIQUES ARCHIVOS.
Espera mi aprobación.
¿Por qué?
- reduce cambios innecesarios;
- permite detectar malentendidos;
- facilita revisar arquitectura;
- reduce riesgo;
- hace visible el razonamiento operativo.
Para funcionalidades críticas, es recomendable utilizar:
PLAN
↓
REVISIÓN HUMANA
↓
IMPLEMENTACIÓN
↓
TEST
↓
REVISIÓN
8. Human-in-the-Loop
El objetivo no es conseguir un agente completamente autónomo a cualquier precio. El objetivo es encontrar el nivel correcto de autonomía.
| Nivel | Autonomía | Uso recomendado |
|---|---|---|
| 1 | Solo responde | Aprendizaje |
| 2 | Propone cambios | Trabajo normal |
| 3 | Modifica archivos | Desarrollo |
| 4 | Modifica + ejecuta tests | Desarrollo avanzado |
| 5 | Autonomía amplia | Tareas controladas |
Nunca delegues ciegamente
Especialmente en:
- producción;
- migraciones de base de datos;
- seguridad;
- pagos;
- eliminación de datos;
- infraestructura;
- credenciales;
- cambios irreversibles.
9. Herramientas reales
No necesitamos aprender todas. Durante esta formación vamos a experimentar con diferentes categorías.
Claude Code
Agente de desarrollo que trabaja directamente desde el terminal.
Documentación oficial de Claude CodeGuía de instalación, uso y configuración.
OpenAI Codex
Herramienta orientada al desarrollo asistido por agentes.
OpenAI CodexDocumentación oficial.
GitHub Copilot
Incluye capacidades de asistencia y desarrollo agentic dentro del ecosistema de GitHub y editores compatibles.
GitHub Copilot DocumentationDocumentación oficial.
Cursor
Editor de código orientado a desarrollo asistido por IA.
Cursor DocumentationDocumentación oficial.
Cline
Agente que permite trabajar con herramientas desde el editor.
Cline DocumentationDocumentación oficial.
10. Preparar el entorno
Paso 1 — Git
El proyecto debe estar versionado. Antes de permitir que un agente modifique código:
git status
Debemos saber cuál es nuestro punto de partida.
Paso 2 — Branch
git checkout -b feature/ai-agent-test
El objetivo es que podamos deshacer fácilmente los cambios.
Paso 3 — Tests
Antes de utilizar el agente:
Ejecutar tests
↓
¿PASS?
SI → continuar
NO → corregir primero
Paso 4 — Estado limpio
git status
Debe permitir saber
qué cambios existían
antes de comenzar.
Regla de oro
NO DEJES QUE EL AGENTE
SEA TU ÚNICA COPIA
DEL CÓDIGO.
Git es una red de seguridad fundamental.
11. Prompts para agentes
Prompt de exploración
Actúa como un Senior Software Engineer.
No modifiques ningún archivo.
Analiza este proyecto.
Necesito entender:
1. Arquitectura
2. Entry points
3. Frontend
4. Backend
5. Base de datos
6. APIs
7. Autenticación
8. Tests
9. Configuración
10. Dependencias
Devuelve un informe estructurado.
Si algo no está claro,
indícalo explícitamente.
Prompt de implementación
Implementa esta funcionalidad:
[DESCRIPCIÓN]
Antes de modificar:
1. Analiza el código existente.
2. Identifica componentes afectados.
3. Comprueba patrones existentes.
4. Revisa tests relacionados.
Después:
5. Implementa el cambio.
6. Añade tests.
7. Ejecuta los tests.
8. Corrige errores.
9. Resume los cambios.
Restricciones:
- no cambies APIs no relacionadas;
- no añadas dependencias sin justificar;
- no elimines tests;
- no cambies configuración global.
Prompt de revisión
Actúa como Senior Code Reviewer.
Revisa los cambios realizados.
Analiza:
- bugs;
- seguridad;
- arquitectura;
- duplicación;
- edge cases;
- errores;
- performance;
- tests;
- mantenibilidad.
No modifiques nada.
Devuelve:
CRITICAL
HIGH
MEDIUM
LOW
y una recomendación
para cada problema.
Prompt de agente conservador
Trabaja de forma conservadora.
Antes de cada cambio:
- verifica el contexto;
- revisa dependencias;
- respeta patrones existentes.
No hagas refactorizaciones
que no sean necesarias.
No cambies comportamiento
fuera del alcance.
Si encuentras ambigüedad,
detente y pregunta.
Al finalizar ejecuta
los tests relevantes.
12. El agente como compañero de equipo
Una forma útil de pensar en los agentes es asignarles roles.
Analyst
Investiga requisitos y código.
Architect
Propone soluciones.
Developer
Implementa.
Tester
Diseña y ejecuta pruebas.
Reviewer
Busca problemas.
Security
Analiza vulnerabilidades.
Workflow
ANALYST
↓
ARCHITECT
↓
DEVELOPER
↓
TESTER
↓
REVIEWER
↓
HUMAN APPROVAL
Aunque utilicemos el mismo modelo, podemos cambiar el rol y las instrucciones para obtener diferentes tipos de análisis.
13. Subagentes
En tareas complejas podemos dividir el trabajo.
ORCHESTRATOR
|
┌──────────────┼──────────────┐
↓ ↓ ↓
ANALYST DEVELOPER TESTER
| | |
└──────────────┼──────────────┘
↓
REVIEW
Ejemplo
Queremos añadir una nueva funcionalidad grande.
Agente principal:
"Necesito añadir gestión de proyectos."
↓
Subagente Analyst:
"Analiza requisitos."
↓
Subagente Architect:
"Propón arquitectura."
↓
Developer:
"Implementa."
↓
Tester:
"Genera y ejecuta pruebas."
↓
Reviewer:
"Busca problemas."
Más agentes no significa necesariamente mejor resultado. La coordinación puede aumentar la complejidad.
14. Guardrails
Un guardrail es una restricción que limita lo que el agente puede hacer.
Ejemplos
NO borrar archivos
NO modificar producción
NO acceder a secretos
NO ejecutar comandos destructivos
NO cambiar dependencias
sin aprobación
NO modificar la base de datos
sin confirmación
Principio
Mayor autonomía
↓
Mayor necesidad
de controles
Nunca compartas secretos con el agente
No debemos introducir deliberadamente:
- passwords;
- API keys;
- tokens;
- private keys;
- credenciales de producción.
15. Proyecto conductor — Week 13
Convertir nuestro proyecto en un proyecto "agent-ready"
Vamos a preparar la aplicación para que un agente pueda trabajar sobre ella de forma segura y eficaz.
Paso 1 — Documentar arquitectura
Crear:
docs/
architecture.md
Debe explicar:
- frontend;
- backend;
- base de datos;
- APIs;
- autenticación;
- testing;
- cómo arrancar el proyecto.
Paso 2 — Crear instrucciones para IA
AGENTS.md
El archivo debe explicar:
# Project instructions
## Architecture
[descripción]
## Commands
Run application:
[...]
Run tests:
[...]
Run lint:
[...]
## Rules
- Do not modify ...
- Use existing patterns
- Add tests
- Never commit secrets
## Definition of Done
- tests pass
- lint passes
- no unrelated changes
- documentation updated
Paso 3 — Primera tarea agentic
Elegir una funcionalidad pequeña. Ejemplo:
"Añadir filtro de empleados
por departamento."
Paso 4 — Planificación
El agente debe primero analizar y proponer el plan.
Paso 5 — Implementación
Después de revisar el plan, permitimos la implementación.
Paso 6 — Testing
Implementación
↓
Unit tests
↓
Integration tests
↓
E2E si procede
↓
PASS
Paso 7 — Code Review con IA
Utilizar un segundo contexto/agente para revisar los cambios.
Entregables
docs/
architecture.md
AGENTS.md
feature/
implementation
tests/
new tests
docs/
agent-report.md
16. Ejercicios
Ejercicio 1 — Chatbot o agente
Clasifica:
- IA escribe una función.
- IA lee el repositorio y modifica tres archivos.
- IA ejecuta tests y corrige errores.
- IA explica qué es REST.
Ver solución
1. Asistente/coprogramación.
2. Agente.
3. Agente.
4. Chatbot/asistente.
Ejercicio 2 — Diseña un agent loop
Queremos añadir exportación de empleados a CSV. Diseña los pasos del agente.
Solución
Analizar requisitos
↓
Localizar employee service
↓
Localizar endpoint
↓
Localizar frontend
↓
Diseñar exportación
↓
Implementar backend
↓
Implementar frontend
↓
Añadir tests
↓
Ejecutar
↓
Corregir
↓
Revisar
↓
Entregar
Ejercicio 3 — Detectar un mal prompt
"Haz login en mi aplicación."
¿Por qué es insuficiente?
Respuesta
- no explica arquitectura;
- no define autenticación;
- no define usuarios;
- no define roles;
- no define requisitos;
- no define restricciones;
- no define criterios de aceptación.
Ejercicio 4 — Guardrails
Escribe cinco restricciones que pondrías a un agente con acceso al proyecto.
Respuesta orientativa
- no modificar producción;
- no borrar archivos sin autorización;
- no acceder a secretos;
- no cambiar dependencias sin justificar;
- no ejecutar comandos destructivos.
Ejercicio 5 — Planning
¿Por qué pedir al agente que planifique antes de implementar?
Respuesta
Porque permite detectar errores de comprensión antes de modificar el código y revisar el alcance de la solución.
Ejercicio 6 — Contexto
¿Qué información debería recibir un agente antes de realizar un cambio importante?
Respuesta
- objetivo;
- arquitectura;
- código relevante;
- restricciones;
- tests;
- criterios de aceptación;
- reglas de negocio.
Ejercicio 7 — Agente autónomo
¿Darías acceso completo a producción a un agente para solucionar un bug crítico?
Respuesta
No como práctica general. Debe existir supervisión, control de permisos, entorno seguro y mecanismos de rollback.
17. Reto avanzado
Autonomous Feature Challenge
Selecciona una funcionalidad pequeña de nuestra aplicación.
El agente deberá:
- analizar;
- crear plan;
- esperar aprobación;
- implementar;
- crear tests;
- ejecutar tests;
- corregir errores;
- hacer self-review;
- generar resumen.
El alumno debe registrar:
| Fase | Resultado |
|---|---|
| Planning | ¿El plan era correcto? |
| Implementation | ¿Cambió lo necesario? |
| Testing | ¿Los tests son suficientes? |
| Review | ¿Qué problemas encontró? |
| Human review | ¿Qué habría hecho diferente? |
18. Test autocorregible
Ver respuestas explicadas
- 1 — A. Un agente puede utilizar herramientas y actuar.
- 2 — A. Es el ciclo de análisis, acción y observación.
- 3 — A. Son herramientas que el agente puede utilizar.
- 4 — B. Primero conviene analizar y planificar.
- 5 — A. El contexto permite trabajar respetando arquitectura y restricciones.
- 6 — A. Implica supervisión humana.
- 7 — B. Necesitamos un punto de partida conocido y recuperable.
- 8 — B. Limitar producción es un guardrail.
- 9 — B. Debe verificar el resultado.
- 10 — A. El plan permite detectar problemas antes.
- 11 — B. No debe inventar decisiones críticas.
- 12 — B. El acceso debe limitarse.
- 13 — A. AGENTS.md puede contener instrucciones para agentes.
- 14 — B. Más autonomía también implica más riesgo.
- 15 — B. La competencia es supervisar agentes para desarrollar software.
19. Recursos externos
Claude Code — documentación oficial OpenAI Codex — documentación oficial GitHub Copilot — documentación oficial Cursor — documentación oficial Cline — documentación oficial Martin Fowler — Exploring Generative AIMaterial sobre desarrollo de software y GenAI. Anthropic — Building Effective Agents
Principios para construir sistemas basados en agentes. Anthropic — patrones de agentes
Referencia especialmente útil para comprender workflows, herramientas y agentes.
20. Checklist de Week 13
21. Evaluación práctica
| Actividad | Peso |
|---|---|
| Test teórico | 15% |
| Ejercicios | 10% |
| AGENTS.md | 10% |
| Documentación arquitectura | 10% |
| Planning | 10% |
| Implementación agentic | 20% |
| Testing | 10% |
| Code review | 10% |
| Informe final | 5% |
Objetivo recomendado: ≥80%.
El alumno no debe limitarse a demostrar que "la IA consiguió hacerlo". Debe ser capaz de explicar:
- qué pidió;
- por qué lo pidió así;
- qué hizo el agente;
- qué errores cometió;
- cómo los detectó;
- cómo verificó el resultado.
22. Competencia adquirida
Antes de Week 13
"IA, escribe este código."
Después de Week 13
"Este es el objetivo.
Este es el contexto.
Estas son las restricciones.
Analiza primero.
Propón un plan.
Espera aprobación.
Implementa.
Añade tests.
Ejecuta los tests.
Corrige los errores.
Haz self-review.
Devuélveme un resumen
de cambios y riesgos."
Esta es una diferencia fundamental. El alumno empieza a trabajar como un AI-native developer.
23. Preparación para Week 14
Week 14 — Arquitectura de aplicaciones AI
Hasta ahora hemos utilizado IA para desarrollar software. La siguiente pregunta es:
¿Cómo construimos nosotros
aplicaciones que utilizan IA?
Entraremos en:
- LLMs;
- tokens;
- context window;
- embeddings;
- RAG;
- vector databases;
- prompt engineering aplicado;
- structured output;
- function calling;
- AI APIs;
- costes;
- latencia;
- evaluación.
Aquí comienza la segunda gran etapa de la formación:
UTILIZAR IA
↓
CONSTRUIR CON IA
↓
CONSTRUIR SISTEMAS DE IA