FORMACIÓN · SEMANA 13

Agentes de IA para Desarrollo de Software

Aprende a pasar de utilizar la IA como "copiloto" a trabajar con agentes capaces de analizar un proyecto, planificar tareas, utilizar herramientas, modificar código, ejecutar pruebas y corregirse.

Semana 13 de 24 · Nivel: Intermedio / Avanzado

1. Objetivos de la semana

OBJETIVO PRINCIPAL

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.

Objetivo
→
Analizar
→
Planificar
→
Actuar
→
Observar
→
Corregir

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é?

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 Code
Guía de instalación, uso y configuración.

OpenAI Codex

Herramienta orientada al desarrollo asistido por agentes.

OpenAI Codex
Documentación oficial.

GitHub Copilot

Incluye capacidades de asistencia y desarrollo agentic dentro del ecosistema de GitHub y editores compatibles.

GitHub Copilot Documentation
Documentación oficial.

Cursor

Editor de código orientado a desarrollo asistido por IA.

Cursor Documentation
Documentación oficial.

Cline

Agente que permite trabajar con herramientas desde el editor.

Cline Documentation
Documentació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

PROYECTO

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:

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:

  1. IA escribe una función.
  2. IA lee el repositorio y modifica tres archivos.
  3. IA ejecuta tests y corrige errores.
  4. 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á:

  1. analizar;
  2. crear plan;
  3. esperar aprobación;
  4. implementar;
  5. crear tests;
  6. ejecutar tests;
  7. corregir errores;
  8. hacer self-review;
  9. 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

1. ¿Qué diferencia principalmente a un agente de un chatbot?

2. ¿Qué es el Agent Loop?

3. ¿Qué son las tools?

4. ¿Qué debería hacerse antes de una modificación compleja?

5. ¿Por qué es importante el contexto?

6. ¿Qué es Human-in-the-Loop?

7. ¿Qué deberíamos hacer antes de dejar que un agente modifique código?

8. ¿Cuál es un buen guardrail?

9. ¿Qué debería hacer un agente después de implementar?

10. ¿Qué ventaja proporciona un plan previo?

11. ¿Qué debería hacer un agente si encuentra una ambigüedad crítica?

12. ¿Es recomendable dar acceso irrestricto a producción?

13. ¿Qué archivo puede utilizarse para documentar instrucciones específicas para agentes?

14. ¿Más autonomía siempre significa mejor resultado?

15. ¿Cuál es la mejor descripción del objetivo de esta semana?

Ver respuestas explicadas
  1. 1 — A. Un agente puede utilizar herramientas y actuar.
  2. 2 — A. Es el ciclo de análisis, acción y observación.
  3. 3 — A. Son herramientas que el agente puede utilizar.
  4. 4 — B. Primero conviene analizar y planificar.
  5. 5 — A. El contexto permite trabajar respetando arquitectura y restricciones.
  6. 6 — A. Implica supervisión humana.
  7. 7 — B. Necesitamos un punto de partida conocido y recuperable.
  8. 8 — B. Limitar producción es un guardrail.
  9. 9 — B. Debe verificar el resultado.
  10. 10 — A. El plan permite detectar problemas antes.
  11. 11 — B. No debe inventar decisiones críticas.
  12. 12 — B. El acceso debe limitarse.
  13. 13 — A. AGENTS.md puede contener instrucciones para agentes.
  14. 14 — B. Más autonomía también implica más riesgo.
  15. 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 AI
Material 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