1. Objetivos de la semana
Aprender a delegar desarrollo a un agente
En Week 08 aprendimos a preparar el contexto. Ahora utilizaremos ese contexto para permitir que un agente trabaje realmente sobre nuestro proyecto.
El objetivo NO es aprender a escribir mejores prompts. El objetivo es aprender a: definir trabajo → delegarlo → supervisarlo → validar el resultado.
Agentes
Entender qué diferencia a un agente de un chatbot.
Herramientas
Comprender las herramientas que utiliza un agente.
Delegación
Aprender a formular tareas delegables.
Planning
Separar planificación de implementación.
Supervisión
Aprender cuándo intervenir.
Validation
No aceptar código sin comprobarlo.
2. Continuidad con el proyecto
Proyecto conductor
Seguimos trabajando sobre:
employee-management/
La aplicación permite gestionar empleados y su disponibilidad.
Lo que ya tenemos
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/
La evolución
| Semana | Qué hemos conseguido |
|---|---|
| Week 08 | Hemos creado el contexto del proyecto. |
| Week 09 | Aprendemos a trabajar con agentes. |
| Week 10 | El agente implementará funcionalidades completas. |
| Week 11 | Testing y debugging con agentes. |
| Week 12 | Review y calidad. |
3. ¿Qué es un AI Coding Agent?
Un AI Coding Agent es un sistema que puede recibir un objetivo y utilizar herramientas para realizar tareas sobre un entorno de desarrollo.
Ejemplo simplificado
Usuario
"Implementa la creación de empleados"
↓
AGENTE
↓
Lee README
↓
Lee AGENTS.md
↓
Lee arquitectura
↓
Busca código existente
↓
Planifica
↓
Modifica archivos
↓
Ejecuta tests
↓
Analiza errores
↓
Corrige
↓
Entrega resultado
No confundas autonomía con inteligencia
Un agente puede hacer muchas acciones automáticamente y aun así tomar una mala decisión.
Por eso el desarrollador sigue siendo responsable de establecer objetivos, restricciones y criterios de aceptación.
4. Chatbot vs AI Coding Agent
| Característica | Chatbot | Agente |
|---|---|---|
| Responde preguntas | ✓ | ✓ |
| Lee archivos | Limitado | ✓ |
| Modifica archivos | Normalmente no | ✓ |
| Ejecuta comandos | No | ✓ |
| Ejecuta tests | No directamente | ✓ |
| Itera automáticamente | Limitado | ✓ |
| Utiliza herramientas | Limitado | ✓ |
Analogía
Chatbot:
"Explícame cómo construir una casa."
Agente:
"Tengo los planos, herramientas y materiales. Voy a construirla siguiendo las especificaciones, pero necesito que apruebes determinadas decisiones."
5. Herramientas de un agente
Un agente puede disponer de diferentes herramientas. Las herramientas concretas dependen del producto que utilicemos.
File system
Leer y modificar archivos.
read_file()
write_file()
edit_file()
Search
Buscar dentro del repositorio.
search("EmployeeService")
Terminal
Ejecutar comandos.
npm test
Git
Analizar cambios y estado.
git diff
git status
Browser
Consultar documentación o sistemas externos cuando la herramienta lo permite.
MCP
Conectar el agente con herramientas externas mediante Model Context Protocol.
Principio importante
Cuantas más capacidades tenga el agente, mayor debe ser el control sobre sus permisos.
Más autonomía
↓
Más capacidad
↓
Más riesgo
↓
Necesidad de controles
6. El workflow AI-Native
1. Requirement
Definir qué necesita el usuario.
2. Context
El agente analiza el contexto existente.
3. Plan
Define cómo realizará el trabajo.
4. Approval
Cuando sea necesario, el desarrollador revisa el plan antes de ejecutar cambios.
5. Implementation
El agente modifica el proyecto.
6. Validation
Ejecuta tests y comprobaciones.
7. Review
El desarrollador revisa el resultado.
8. Delivery
La funcionalidad queda preparada para integrarse.
Regla de oro
No delegues primero la implementación. Delega primero el análisis.
7. Cómo diseñar una tarea para un agente
Una mala tarea
Haz el módulo de empleados.
Es demasiado ambigua.
Una tarea mejor
Implementa US-001.
Objetivo:
Permitir crear un empleado.
Antes de modificar código:
1. Lee AGENTS.md.
2. Lee docs/architecture.md.
3. Lee docs/database.md.
4. Revisa las entidades existentes.
5. Revisa los tests existentes.
No modifiques archivos todavía.
Primero:
- analiza la implementación;
- identifica archivos afectados;
- propone un plan;
- identifica posibles riesgos.
Espera aprobación antes de implementar.
¿Por qué es mejor?
- Tiene objetivo.
- Tiene contexto.
- Tiene restricciones.
- Define qué debe leer.
- Define qué no debe hacer.
- Define el entregable intermedio.
8. Acceptance Criteria
Una tarea no debería definirse únicamente por lo que queremos construir. También debemos definir cómo sabremos que está terminada.
Ejemplo
US-001
Crear empleado.
Acceptance Criteria:
AC1
El usuario puede introducir nombre.
AC2
El usuario puede introducir email.
AC3
El email debe tener formato válido.
AC4
El email debe ser único.
AC5
No se permite crear empleados
sin nombre.
AC6
Se muestra un mensaje de error
cuando la operación falla.
AC7
La funcionalidad tiene tests.
AC8
Los tests existentes siguen pasando.
Definition of Done
Una funcionalidad no está terminada simplemente porque "el código funciona".
- Implementación completa.
- Tests.
- Validaciones.
- Documentación actualizada.
- Seguridad revisada.
- Sin regresiones.
- Acceptance criteria cumplidos.
9. Planning antes de coding
Uno de los cambios más importantes en el desarrollo asistido por agentes es separar:
THINK
de
DO
Prompt de planificación
Quiero implementar US-001.
No modifiques ningún archivo.
Analiza el repositorio y prepara
un plan de implementación.
Incluye:
1. Archivos que habría que modificar.
2. Archivos que habría que crear.
3. Componentes existentes que podemos reutilizar.
4. Cambios de base de datos.
5. Cambios de API.
6. Cambios de frontend.
7. Tests necesarios.
8. Riesgos.
9. Dependencias.
10. Preguntas abiertas.
Después espera mi aprobación.
Resultado esperado
PLAN
1. Crear Employee entity.
2. Añadir migration.
3. Crear EmployeeRepository.
4. Crear EmployeeService.
5. Añadir endpoint POST /employees.
6. Añadir validación.
7. Crear UI form.
8. Crear unit tests.
9. Crear integration tests.
10. Actualizar docs/api.md.
10. Delegación progresiva
No conviene empezar dando al agente control total sobre el proyecto. Es mejor aumentar progresivamente su autonomía.
| Nivel | Autonomía | Ejemplo |
|---|---|---|
| 1 | Solo lectura | Analiza el proyecto. |
| 2 | Planificación | Propón una solución. |
| 3 | Implementación controlada | Modifica archivos concretos. |
| 4 | Tests | Ejecuta y corrige tests. |
| 5 | Autonomía elevada | Implementa una feature completa. |
No necesitas utilizar siempre el nivel máximo
Para una migración crítica, probablemente quieras más supervisión. Para un cambio trivial, puedes permitir más autonomía.
11. Code Review con IA
Una ventaja importante de trabajar con agentes es que podemos utilizar una segunda revisión.
Agente implementador
Implementa la funcionalidad.
Agente revisor
Actúa como Senior Code Reviewer.
Revisa los cambios realizados.
Comprueba:
- requisitos;
- arquitectura;
- seguridad;
- tests;
- errores;
- edge cases;
- duplicación;
- mantenibilidad.
No modifiques archivos.
Devuelve los problemas encontrados
ordenados por severidad.
Separar roles
Agent A
↓
Implementación
↓
Agent B
↓
Review
↓
Human
↓
Approval
12. Qué hacer cuando el agente se equivoca
Error típico
Agente:
"He terminado."
Desarrollador:
npm test
Result:
7 tests failed.
La respuesta incorrecta sería:
"Arregla todo."
Es demasiado vaga.
Mejor enfoque
Los tests han fallado.
Analiza primero los errores.
No modifiques archivos todavía.
Para cada fallo:
1. Explica la causa.
2. Indica qué archivo está implicado.
3. Explica la solución propuesta.
4. Indica si puede existir una regresión.
Después espera aprobación.
Principio
Error
↓
Diagnóstico
↓
Hipótesis
↓
Plan
↓
Cambio
↓
Test
↓
Validación
13. Seguridad al utilizar agentes
Nunca asumas que el agente sabe qué puede tocar
Debemos controlar:
- credenciales;
- variables de entorno;
- producción;
- base de datos;
- archivos sensibles;
- servicios externos;
- comandos destructivos.
Ejemplos de operaciones peligrosas
DROP DATABASE
rm -rf ...
DELETE FROM ...
git push --force
rotación de credenciales
modificación de producción
Regla práctica
El agente debería tener únicamente los permisos que necesita para realizar la tarea actual.
14. Proyecto práctico
Primer desarrollo delegado
Vamos a utilizar el proyecto
employee-management
y delegar al agente la implementación
de US-001 — Crear empleado.
Fase 1 — Preparación
Antes de empezar:
git status
git branch
Comprueba que no tienes cambios pendientes.
Fase 2 — Planning
Pide al agente:
Lee:
AGENTS.md
docs/product.md
docs/architecture.md
docs/database.md
docs/api.md
docs/requirements/US-001.md
No modifiques ningún archivo.
Analiza cómo implementar US-001.
Quiero:
- plan;
- archivos afectados;
- dependencias;
- riesgos;
- tests necesarios.
Espera mi aprobación.
Fase 3 — Revisión humana
Comprueba:
- ¿El agente entendió correctamente el requisito?
- ¿Ha identificado los archivos adecuados?
- ¿Está respetando la arquitectura?
- ¿Está reutilizando componentes?
- ¿Hay cambios innecesarios?
- ¿Hay riesgos?
Fase 4 — Implementación
Una vez aprobado:
Implementa el plan aprobado.
Respeta:
- AGENTS.md;
- architecture.md;
- security.md;
- acceptance criteria.
No introduzcas dependencias
sin justificación.
Implementa tests.
No modifiques funcionalidades
fuera del alcance de US-001.
Fase 5 — Tests
El agente debe ejecutar los tests relevantes.
Fase 6 — Review
Pide al agente que revise su propio trabajo:
Revisa tu implementación.
Comprueba:
1. Acceptance criteria.
2. Tests.
3. Seguridad.
4. Arquitectura.
5. Edge cases.
6. Código duplicado.
7. Documentación.
No realices cambios.
Devuelve los problemas encontrados.
Fase 7 — Auditoría final
Finalmente pregunta:
Compara la implementación actual
con docs/requirements/US-001.md.
Dime:
- qué requisitos están cubiertos;
- cuáles no;
- qué supuestos has realizado;
- qué riesgos quedan;
- qué debería revisarse manualmente.
15. Ejercicios prácticos
Ejercicio 1 — Mejorar una tarea
Transforma:
Haz el login.
en una tarea adecuada para un agente.
Ver respuesta
Implementa US-XXX — Autenticación.
Antes de modificar:
1. Lee AGENTS.md.
2. Lee security.md.
3. Lee architecture.md.
4. Analiza autenticación existente.
5. Revisa tests.
Primero crea un plan.
No modifiques archivos
hasta que el plan sea aprobado.
Acceptance criteria:
- usuario válido puede autenticarse;
- credenciales incorrectas son rechazadas;
- no se almacenan contraseñas en texto plano;
- errores no revelan información sensible;
- existen tests.
Ejercicio 2 — Identificar ambigüedad
"Permite eliminar empleados."
¿Qué preguntas debería hacer el agente?
Ver respuesta
- ¿Eliminación física o lógica?
- ¿Quién puede eliminar?
- ¿Qué ocurre con sus proyectos?
- ¿Qué ocurre con su histórico?
- ¿Se puede deshacer?
- ¿Debe quedar auditoría?
- ¿Qué ocurre si tiene datos relacionados?
Ejercicio 3 — Plan vs implementación
¿Por qué separar ambos pasos?
Ver respuesta
Porque revisar un plan es mucho más barato que revisar cientos de líneas de código después de una implementación incorrecta.
Ejercicio 4 — Error de tests
El agente modifica 12 archivos porque un test falla. ¿Qué debería hacerse?
Ver respuesta
Detener la implementación, diagnosticar la causa y revisar por qué son necesarios los 12 cambios. La cantidad de archivos modificados no demuestra que la solución sea correcta.
Ejercicio 5 — Autonomía
¿Darías autonomía total a un agente para modificar una base de datos de producción?
Ver respuesta
No. Una operación con alto impacto requiere controles, permisos mínimos, revisión humana y procedimientos específicos.
Ejercicio 6 — Diseña una Definition of Done
Crea una Definition of Done para US-001.
Ver respuesta orientativa
- Todos los acceptance criteria cumplidos.
- Unit tests implementados.
- Integration tests cuando sean necesarios.
- Tests existentes siguen pasando.
- Validaciones implementadas.
- Errores gestionados.
- Seguridad revisada.
- Documentación actualizada.
- No existen cambios fuera del alcance.
16. Reto avanzado
Construye tu primer "AI Developer Workflow"
Documenta en:
docs/ai-development-workflow.md
cómo debe trabajar un desarrollador con un agente en este proyecto.
Debe incluir:
- Cómo iniciar una tarea.
- Cómo analizar contexto.
- Cómo crear un plan.
- Cuándo pedir aprobación.
- Cómo implementar.
- Cómo ejecutar tests.
- Cómo revisar.
- Qué operaciones están prohibidas.
- Cómo gestionar errores.
- Cuándo actualizar documentación.
Objetivo
Al terminar, otro desarrollador debería poder seguir el mismo workflow sin preguntarte cómo utilizar la IA.
17. Test de evaluación
Ver respuestas explicadas
- 1 — A. Un agente puede utilizar herramientas y realizar acciones sobre un entorno.
- 2 — B. La planificación permite detectar problemas antes de implementar.
- 3 — A. Define las condiciones que deben cumplirse.
- 4 — B. La autonomía debe relacionarse con el riesgo.
- 5 — B. No debe inventar decisiones críticas.
- 6 — A. Permite revisar el enfoque antes de realizar cambios.
- 7 — B. Una review debe comprobar mucho más que sintaxis.
- 8 — A. Least privilege significa mínimo privilegio.
- 9 — B. Primero se diagnostica.
- 10 — B. La responsabilidad sigue siendo humana.
- 11 — A. Una segunda revisión puede detectar problemas que el implementador no detectó.
- 12 — B. Las operaciones de alto impacto necesitan controles.
- 13 — A. Contexto y criterios claros hacen que una tarea sea más delegable.
- 14 — A. Define cuándo consideramos terminada la tarea.
- 15 — B. Es el workflow completo de desarrollo AI-Native.
18. Recursos externos
Claude Code — documentación oficialGuía sobre utilización de agentes para tareas de desarrollo. Cursor — documentación oficial
Documentación sobre agentes, reglas y desarrollo asistido. GitHub Copilot
Documentación oficial de GitHub Copilot. Model Context Protocol
Documentación oficial del protocolo MCP. AGENTS.md
Convención para proporcionar instrucciones a agentes. OWASP Top 10
Referencia fundamental sobre seguridad de aplicaciones. Martin Fowler — Generative AI
Artículos y análisis sobre desarrollo de software con IA.
19. Checklist de Week 09
20. Métrica de aprendizaje
Nivel de autonomía conseguido
| Nivel | Descripción |
|---|---|
| 0 | Necesito escribir yo el código. |
| 1 | La IA me explica código. |
| 2 | La IA genera pequeñas modificaciones. |
| 3 | El agente implementa tareas acotadas. |
| 4 | El agente implementa features con supervisión. |
| 5 | Puedo delegar una feature completa con criterios de aceptación y validación. |
Objetivo de Week 09: alcanzar como mínimo el nivel 3.
21. Conclusión
El cambio fundamental
ANTES
"IA, escribe este código."
AHORA
"Este es el objetivo.
Este es el contexto.
Estas son las restricciones.
Estos son los criterios de aceptación.
Analiza.
Planifica.
Implementa.
Testea.
Valida.
Explícame el resultado."
Nueva mentalidad
Tu productividad ya no dependerá únicamente de cuánto código puedas escribir.
Dependerá cada vez más de tu capacidad para:
- descomponer problemas;
- definir objetivos;
- proporcionar contexto;
- delegar;
- supervisar;
- validar;
- detectar errores;
- tomar decisiones.
Preparación para Week 10
En Week 10 dejaremos de hacer únicamente tareas aisladas. Vamos a pedir al agente que implemente una feature completa de extremo a extremo:
Requirement
↓
Database
↓
Backend
↓
API
↓
Frontend
↓
Tests
↓
Documentation
El alumno aprenderá a dividir una funcionalidad grande en unidades que el agente pueda implementar, validar y corregir progresivamente.