1. Objetivos de la semana
Trabajar sobre un proyecto real utilizando agentes de IA
Al finalizar esta semana el alumno debería ser capaz de coger un repositorio existente, explicárselo a una herramienta de IA, pedirle que analice una funcionalidad, planificar cambios, implementarlos de forma controlada, ejecutar pruebas y revisar el resultado.
Entender agentes
Comprender la diferencia entre chatbot, asistente de coding y agente.
Trabajar con repositorios
Permitir que la IA analice un proyecto completo.
Controlar cambios
Aprender cuándo dejar actuar a la IA y cuándo detenerla.
APIs
Comprender cómo frontend y backend se comunican.
Persistencia
Entender cómo una aplicación almacena información.
Debugging
Investigar problemas con ayuda de agentes.
Resultado esperado
ANTES
Usuario
↓
Pregunta a IA
↓
Copia código
↓
Pega código
DESPUÉS
Usuario
↓
Define objetivo
↓
Agente analiza repositorio
↓
Propone plan
↓
Usuario revisa
↓
Agente implementa
↓
Tests
↓
Revisión
↓
Commit
2. ¿Qué es realmente un agente de IA?
Un chatbot
Usuario
↓
Pregunta
↓
IA
↓
Respuesta
La IA principalmente produce información.
Un asistente de programación
Usuario
↓
Código / contexto
↓
IA
↓
Código sugerido
Un agente de coding
OBJETIVO
↓
ANALIZA
↓
BUSCA ARCHIVOS
↓
LEE CÓDIGO
↓
PLANIFICA
↓
MODIFICA
↓
EJECUTA COMANDOS
↓
EJECUTA TESTS
↓
ANALIZA RESULTADOS
↓
CORRIGE
↓
ENTREGA RESULTADO
La diferencia fundamental
| Característica | Chatbot | Agente |
|---|---|---|
| Lee archivos | Normalmente mediante contexto proporcionado | Sí, puede explorar el repositorio |
| Modifica archivos | Normalmente propone cambios | Puede ejecutarlos |
| Ejecuta comandos | No necesariamente | Sí |
| Ejecuta tests | Puede generar tests | Puede ejecutarlos y analizar resultados |
| Itera | Principalmente conversación | Puede realizar ciclos de trabajo |
| Riesgo | Moderado | Mayor, porque tiene capacidad de actuar |
⚠️ La nueva habilidad
Cuanto más autónoma sea la herramienta, más importante es que tú sepas definir:
- qué puede hacer;
- qué no puede hacer;
- qué archivos puede modificar;
- qué comandos puede ejecutar;
- qué criterios debe cumplir;
- cuándo debe detenerse.
3. Herramientas que aprenderemos
No queremos convertir esta formación en un curso de una herramienta concreta. Queremos entender las diferentes categorías.
Cursor
Editor basado en VS Code con capacidades de IA integradas y un agente capaz de trabajar sobre el código.
Especialmente útil para:
- entender repositorios;
- planificar funcionalidades;
- modificar múltiples archivos;
- debugging;
- refactorización.
Claude Code
Agente que funciona desde la terminal y puede trabajar directamente sobre un proyecto.
Ideal para aprender:
- terminal;
- automatización;
- agentes;
- workflow reproducible.
Codex CLI
Agente de coding ejecutado desde terminal y disponible también para integrarse con distintos entornos de desarrollo.
GitHub Copilot
Asistente integrado en IDEs y herramientas de GitHub, incluyendo capacidades de coding agent.
4. ¿Cuál utilizar?
| Necesidad | Herramienta interesante |
|---|---|
| Quiero un IDE completo con IA | Cursor |
| Quiero aprender agentes desde terminal | Claude Code |
| Quiero trabajar con herramientas de OpenAI | Codex |
| Mi organización utiliza GitHub | GitHub Copilot |
No debes aprender cuatro herramientas simultáneamente. Durante esta semana aprenderás el concepto de agente y practicarás principalmente con una herramienta. Las otras se estudiarán para comprender el ecosistema.
5. Instalación paso a paso
Antes de empezar
Necesitamos comprobar que el equipo tiene preparado:
- Git
- un editor
- terminal
- Node.js
- cuenta GitHub
- acceso a una herramienta de IA
5.1 Comprobar Git
git --version
Debe aparecer una versión instalada.
Si no está instalado
Git — página oficial de descargasDescarga para macOS, Windows y Linux.
5.2 Comprobar Node.js
node --version
npm --version
Node.js no es el objetivo de esta formación. Lo utilizaremos porque muchas herramientas de desarrollo lo utilizan.
Node.js — sitio oficial5.3 Instalar Cursor
Cursor dispone de aplicación de escritorio para macOS, Windows y Linux.
Descargar CursorPágina oficial de descarga.
Pasos:
- Abrir la página de descarga.
- Seleccionar el sistema operativo.
- Descargar el instalador.
- Instalar la aplicación.
- Abrir Cursor.
- Iniciar sesión si se desea utilizar las funciones de IA.
- Abrir un repositorio.
Cuando se abre un proyecto, Cursor comienza a indexar el código para poder trabajar con el contexto del repositorio. La duración depende del tamaño del proyecto.
Primera prueba
Abre el proyecto.
Pregunta al agente:
"Analiza este repositorio.
No modifiques ningún archivo.
Quiero saber:
1. Qué aplicación es.
2. Cómo está organizada.
3. Qué tecnologías utiliza.
4. Dónde está el frontend.
5. Dónde está el backend.
6. Dónde están los tests.
7. Cómo se ejecuta."
5.4 Instalar Claude Code
Claude Code funciona desde terminal. La documentación oficial actual recomienda el instalador nativo.
macOS / Linux / WSL
curl -fsSL https://claude.ai/install.sh | bash
Windows PowerShell
irm https://claude.ai/install.ps1 | iex
Homebrew
brew install --cask claude-code
WinGet
winget install Anthropic.ClaudeCode
Después:
claude --version
Y para iniciar una sesión:
cd mi-proyecto
claude
Estos métodos y comandos corresponden a la documentación oficial actual de Claude Code.
Claude Code — Quickstart oficialPrimer ejercicio con Claude Code
Analiza este repositorio.
No modifiques ningún archivo.
Explícame:
- arquitectura;
- tecnologías;
- punto de entrada;
- comandos disponibles;
- tests;
- posibles riesgos.
Al finalizar, dime qué archivos
debería leer primero un desarrollador nuevo.
5.5 Instalar Codex CLI
Codex CLI es un agente de coding que puede ejecutarse desde terminal.
macOS / Linux
curl -fsSL https://chatgpt.com/codex/install.sh | sh
Windows PowerShell
powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex"
npm
npm install -g @openai/codex
Homebrew
brew install --cask codex
Después:
codex
Los métodos anteriores aparecen en la documentación oficial del proyecto Codex.
OpenAI Codex — documentación y repositorio oficial5.6 GitHub Copilot en VS Code
Si utilizas VS Code, puedes activar GitHub Copilot desde el propio editor.
- Abrir VS Code.
- Abrir el icono de Copilot.
- Seleccionar Use AI Features.
- Iniciar sesión con GitHub.
- Seguir las instrucciones.
VS Code documenta actualmente el proceso de configuración directamente desde el editor.
Configurar GitHub Copilot en VS Code⚠️ No instales todo porque sí
Para esta semana recomendamos:
OPCIÓN A
Cursor
o
OPCIÓN B
VS Code + GitHub Copilot
o
OPCIÓN C
Claude Code
o
OPCIÓN D
Codex CLI
El objetivo es aprender el concepto de agente, no coleccionar herramientas.
6. Aprender a leer un repositorio
Antes de pedir cambios a un agente debemos entender qué contiene el proyecto.
Estructura típica
project/
│
├── README.md
├── package.json
├── .gitignore
├── .env.example
│
├── src/
│ ├── components/
│ ├── services/
│ ├── controllers/
│ ├── models/
│ └── utils/
│
├── tests/
│
├── docs/
│
└── config/
Orden recomendado de lectura
Qué es el proyecto y cómo ejecutarlo.
Dependencias y comandos.
Variables de entorno y configuración.
Dónde arranca la aplicación.
Cómo está organizado el código.
Cómo comprueba el comportamiento.
Prompt de exploración
Actúa como un Staff Software Engineer.
Necesito incorporarme a este proyecto.
No modifiques ningún archivo.
Explora el repositorio y explícame:
1. Arquitectura.
2. Tecnologías.
3. Punto de entrada.
4. Flujo principal.
5. Modelo de datos.
6. APIs.
7. Autenticación.
8. Tests.
9. Configuración.
10. Dependencias importantes.
Después crea un mapa conceptual
del proyecto.
Ejercicio
Abre un proyecto real que tengas disponible. No tiene que ser TaskFlow. Pide al agente que lo analice. Después responde tú mismo:
- ¿Dónde empieza la aplicación?
- ¿Dónde están los componentes?
- ¿Dónde se realizan las llamadas API?
- ¿Dónde se almacenan los datos?
- ¿Dónde están los tests?
- ¿Qué dependencia es más importante?
Ver respuesta orientativa
La respuesta dependerá de la arquitectura del proyecto. Lo importante es que puedas localizar cada pieza y explicar su responsabilidad. No memorices una estructura concreta. Aprende a descubrirla.
7. Arquitectura de aplicaciones
Vamos a introducir una arquitectura sencilla pero suficientemente realista.
┌───────────────────┐
│ Usuario │
└─────────┬─────────┘
│
▼
┌───────────────────┐
│ Frontend │
└─────────┬─────────┘
│ HTTP
▼
┌───────────────────┐
│ API │
└─────────┬─────────┘
│
▼
┌───────────────────┐
│ Backend │
└─────────┬─────────┘
│
▼
┌───────────────────┐
│ Database │
└───────────────────┘
¿Qué hace cada capa?
| Capa | Responsabilidad |
|---|---|
| Frontend | Interfaz y experiencia del usuario. |
| API | Contrato de comunicación. |
| Backend | Lógica de negocio. |
| Database | Persistencia de información. |
Prompt para diseñar arquitectura
Quiero construir una aplicación de gestión
de tareas.
Necesito:
- frontend;
- backend;
- API;
- base de datos;
- autenticación.
Actúa como arquitecto de software.
Propón una arquitectura sencilla.
Explica:
1. Componentes.
2. Responsabilidades.
3. Comunicación.
4. Datos.
5. Seguridad.
6. Riesgos.
No escribas código.
Pregunta crítica
¿Por qué no deberíamos decir simplemente:
"Hazme la arquitectura completa."
Porque una arquitectura implica decisiones. El desarrollador debe comprenderlas y aprobarlas.
8. Context engineering
Uno de los conceptos más importantes de toda la formación será aprender a proporcionar el contexto adecuado a la IA.
Contexto insuficiente
Haz un login.
La IA tendrá que inventar muchas decisiones.
Contexto excesivo y desordenado
[500 archivos pegados sin explicar nada]
Tampoco es una buena estrategia.
Contexto estructurado
OBJETIVO
Implementar login.
CONTEXTO
La aplicación utiliza:
Frontend → API → Backend → PostgreSQL
REGLAS
- No cambiar arquitectura.
- No almacenar passwords en texto plano.
- Añadir tests.
RESTRICCIONES
- Mantener las dependencias existentes.
RESULTADO ESPERADO
Usuario puede iniciar sesión
y recibir una sesión válida.
ANTES DE IMPLEMENTAR
Explica el plan.
Plantilla universal
## OBJETIVO
...
## CONTEXTO
...
## ESTADO ACTUAL
...
## REQUISITOS
...
## RESTRICCIONES
...
## NO HACER
...
## CRITERIOS DE ACEPTACIÓN
...
## TESTS
...
## RESULTADO ESPERADO
...
9. Workflow profesional con agentes
1. Issue
Definimos el problema.
2. Investigación
El agente analiza el repositorio.
3. Plan
El agente propone una solución.
4. Review del plan
El desarrollador decide si el plan es correcto.
5. Implementación
El agente realiza los cambios.
6. Tests
Se ejecutan pruebas.
7. Debugging
Se solucionan problemas.
8. Review
Se revisa el diff.
9. Commit
Se guarda un estado estable.
Prompt profesional
Necesito implementar:
[DESCRIBIR FUNCIONALIDAD]
Primero:
1. Analiza el repositorio.
2. Identifica los archivos afectados.
3. Analiza dependencias.
4. Identifica riesgos.
5. Propón un plan.
NO MODIFIQUES NADA TODAVÍA.
Cuando termines el análisis,
espera mi aprobación.
Después:
Plan aprobado.
Implementa únicamente lo indicado
en el plan.
Después:
1. Ejecuta tests.
2. Ejecuta lint.
3. Revisa errores.
4. Resume los cambios.
5. Indica cualquier riesgo restante.
No realices cambios adicionales.
Regla de oro
PLAN
↓
APROBACIÓN
↓
IMPLEMENTACIÓN
↓
TEST
↓
REVIEW
10. APIs: lo mínimo que debes comprender
No necesitas aprender a programar una API desde cero. Sí necesitas entender qué ocurre.
Ejemplo
GET /api/tasks
Solicita las tareas.
POST /api/tasks
Crea una tarea.
PUT /api/tasks/123
Actualiza una tarea.
DELETE /api/tasks/123
Elimina una tarea.
Request
{
"title": "Preparar reunión",
"priority": "HIGH"
}
Response
{
"id": 123,
"title": "Preparar reunión",
"priority": "HIGH",
"status": "PENDING"
}
Códigos HTTP importantes
| Código | Significado |
|---|---|
| 200 | OK |
| 201 | Creado |
| 400 | Petición incorrecta |
| 401 | No autenticado |
| 403 | No autorizado |
| 404 | No encontrado |
| 500 | Error del servidor |
Ejercicio
Pide al agente:
Analiza todas las APIs del proyecto.
Para cada endpoint indica:
- método;
- URL;
- parámetros;
- body;
- respuesta;
- errores;
- autenticación;
- archivo donde está implementado.
No modifiques nada.
Respuesta esperada
Debes obtener una tabla o inventario de endpoints. El objetivo es que puedas navegar por la API sin necesidad de conocer previamente todo el código.
11. Base de datos
Una aplicación real necesita persistencia.
Ejemplo de modelo
USER
────
id
name
email
password_hash
PROJECT
───────
id
name
user_id
TASK
────
id
title
description
status
priority
project_id
user_id
created_at
Relaciones
USER
│
├── PROJECT
│ │
│ └── TASK
│
└── TASK
Prompt
Analiza el modelo de datos actual.
Explícame:
1. Entidades.
2. Campos.
3. Relaciones.
4. Claves primarias.
5. Claves externas.
6. Restricciones.
7. Posibles problemas.
Después propón mejoras.
NO MODIFIQUES LA BASE DE DATOS.
Ejercicio de diseño
Diseña el modelo de datos de una aplicación de gestión de entrenamientos. Debe permitir:
- usuarios;
- entrenamientos;
- ejercicios;
- series;
- repeticiones;
- peso utilizado;
- fecha;
- notas.
Una posible solución
USER
│
└── WORKOUT
│
└── WORKOUT_EXERCISE
│
└── EXERCISE
WORKOUT_EXERCISE
├── SET
│ ├── reps
│ ├── weight
│ └── notes
No existe una única solución correcta. Lo importante es poder explicar las decisiones.
12. Debugging con agentes
Error realista
POST /api/tasks
500 Internal Server Error
DatabaseError:
column "project_id" does not exist
Mal prompt
Arréglalo.
Buen prompt
Tenemos este error:
POST /api/tasks
500 Internal Server Error
DatabaseError:
column "project_id" does not exist
El endpoint debería crear una tarea.
Analiza:
1. Dónde se genera el error.
2. Qué componente lo provoca.
3. Si existe discrepancia entre código
y esquema de base de datos.
4. Qué migraciones existen.
5. Qué soluciones son posibles.
No cambies nada todavía.
Debugging científico
OBSERVACIÓN
↓
HIPÓTESIS
↓
PRUEBA
↓
RESULTADO
↓
NUEVA HIPÓTESIS
↓
SOLUCIÓN
Ejercicio
Inventa un error en tu aplicación. No le des directamente la solución al agente. Dale:
- error;
- logs;
- comportamiento esperado;
- comportamiento real;
- archivos relevantes.
Comprueba si el agente encuentra la causa.
13. Seguridad al trabajar con agentes
Nunca hagas esto
API_KEY=sk-xxxxxxxx
PASSWORD=MiPassword123
DATABASE_URL=postgres://usuario:password@...
No debes pegar secretos reales en una conversación con IA sin conocer las políticas de la herramienta y de tu organización.
Variables de entorno
.env
DATABASE_URL=...
API_KEY=...
JWT_SECRET=...
Y normalmente:
.gitignore
.env
Prompt de auditoría
Realiza una auditoría básica de seguridad.
Busca:
- secretos;
- API keys;
- passwords;
- tokens;
- variables sensibles;
- datos personales;
- credenciales en logs;
- archivos .env versionados.
NO MODIFIQUES NADA.
Genera un informe.
OWASP Top 10
Referencia fundamental para empezar a comprender los principales riesgos de aplicaciones web.
14. Git + agentes
Cuando un agente puede modificar muchos archivos, Git se convierte en una herramienta de control imprescindible.
Antes
git status
git diff
Después de un cambio
git status
git diff
Si todo está correcto
git add .
git commit -m "Implement task creation"
Workflow
┌────────────────────┐
│ Estado funcional │
└─────────┬──────────┘
↓
COMMIT
↓
┌────────────────────┐
│ Agente modifica │
└─────────┬──────────┘
↓
TESTS
↙ ↘
OK ERROR
↓ ↓
COMMIT DEBUG
↓
TESTS
15. Proyecto de la semana
TaskFlow 2.0
Transformaremos la pequeña aplicación de Week 05 en una aplicación con arquitectura real.
Objetivo
TaskFlow 2.0
Frontend
↓
API
↓
Backend
↓
PostgreSQL
+
Authentication
+
Tests
Funcionalidades
- Registro de usuario.
- Login.
- Crear proyecto.
- Crear tarea.
- Asignar tarea a proyecto.
- Listar tareas.
- Filtrar tareas.
- Completar tarea.
- Eliminar tarea.
Fase 1 — Análisis
Analiza el repositorio TaskFlow.
No modifiques nada.
Necesito:
- arquitectura;
- componentes;
- APIs;
- modelo de datos;
- autenticación actual;
- tests;
- dependencias;
- riesgos.
Genera un documento ARCHITECTURE.md.
Fase 2 — Planificación
Quiero implementar:
"Asignar una tarea a un proyecto".
Analiza el código actual.
Identifica:
- modelo;
- API;
- frontend;
- validaciones;
- tests.
Propón un plan detallado.
No implementes nada.
Fase 3 — Implementación
Implementa el plan aprobado.
Reglas:
- cambios mínimos;
- no cambiar arquitectura;
- no añadir dependencias;
- mantener estilo existente;
- añadir tests.
Al terminar:
- ejecuta tests;
- revisa errores;
- muestra resumen;
- indica archivos modificados.
Fase 4 — Review
Actúa como Senior Software Engineer.
Revisa los cambios realizados.
Busca:
- bugs;
- problemas de arquitectura;
- problemas de seguridad;
- validaciones incompletas;
- tests insuficientes;
- duplicación;
- problemas de rendimiento.
No modifiques nada.
Genera un informe priorizado.
Fase 5 — Corrección
Corrige únicamente:
[LISTA DE PROBLEMAS]
No realices otros cambios.
Ejecuta los tests después de cada corrección.
Fase 6 — Commit
git status
git diff
git add .
git commit -m "Assign tasks to projects"
16. Ejercicios prácticos
Ejercicio 1 — Descubrimiento
Entrega:
- Mapa del repositorio.
- Arquitectura.
- Dependencias principales.
- Puntos de entrada.
- Tests.
Ejercicio 2 — Prompt de planificación
Escribe un prompt para implementar una nueva funcionalidad sin permitir que la IA modifique nada.
Respuesta orientativa
Analiza el repositorio.
Necesito implementar [X].
Antes de modificar nada:
1. Identifica archivos afectados.
2. Analiza arquitectura.
3. Identifica dependencias.
4. Identifica riesgos.
5. Propón implementación.
6. Define tests.
No modifiques ningún archivo.
Espera mi aprobación.
Ejercicio 3 — Agente demasiado autónomo
El agente responde:
"He decidido migrar la base de datos,
cambiar el framework y sustituir
la librería de autenticación porque
es una solución más moderna."
¿Qué está mal?
Respuesta
- Ha ampliado el alcance.
- Ha tomado decisiones arquitectónicas no aprobadas.
- Ha introducido riesgo innecesario.
- Puede romper funcionalidades existentes.
- Ha confundido "mejorar" con "cumplir el requisito".
Ejercicio 4 — Code Review
Pide a un agente revisar una funcionalidad que él mismo ha implementado.
El objetivo es comprobar si puede encontrar sus propios errores.
Ejercicio 5 — Comparación de agentes
Realiza la misma tarea pequeña con dos herramientas. Compara:
| Criterio | Agente A | Agente B |
|---|---|---|
| Comprensión del proyecto | ||
| Planificación | ||
| Calidad del código | ||
| Tests | ||
| Debugging | ||
| Control |
17. Challenge final
Construye una funcionalidad completa sin escribir tú el código.
El alumno deberá implementar:
Crear proyecto
Nombre
Descripción
↓
Guardar
↓
Aparecer en lista
↓
Poder crear tareas dentro del proyecto
Condiciones
- El alumno define el requisito.
- La IA analiza.
- La IA propone arquitectura.
- El alumno aprueba.
- La IA implementa.
- La IA genera tests.
- La IA ejecuta tests.
- El alumno revisa el resultado.
- Git registra los cambios.
Entrega
README.md
ARCHITECTURE.md
AI_LOG.md
TEST_PLAN.md
Código
Tests
Git history
18. Test de evaluación
Respuestas explicadas
Mostrar respuestas
- 1 — A. Un agente puede interactuar con el entorno de desarrollo y realizar acciones.
- 2 — B. Antes de modificar hay que comprender el proyecto.
- 3 — A. Un agente puede interpretar el requisito de forma demasiado amplia.
- 4 — B. El commit proporciona un punto de recuperación.
- 5 — A. 401 significa que la petición requiere autenticación válida.
- 6 — B. 404 significa recurso no encontrado.
- 7 — B. Los agentes deben trabajar dentro de límites definidos.
- 8 — A. Un contexto estructurado mejora la calidad y control del resultado.
- 9 — B. Las decisiones arquitectónicas deben analizarse y aprobarse.
- 10 — B. El desarrollador sigue siendo responsable.
- 11 — A. La implementación debe validarse.
- 12 — A. Más autonomía implica más capacidad de producir cambios no deseados.
19. Recursos externos
Cursor DocumentationDocumentación sobre Agent, reglas, contexto, MCP, CLI y trabajo con repositorios. Cursor — Installation
Instalación de Cursor y configuración inicial. Claude Code — Quickstart
Instalación y primera sesión con Claude Code. Claude Code — Overview
Conceptos fundamentales de Claude Code. OpenAI Codex CLI
Repositorio y documentación oficial. GitHub Copilot + VS Code
Configuración de Copilot dentro de VS Code. Git Documentation
Documentación oficial de Git. MDN — Learn Web Development
Fundamentos de desarrollo web. OWASP Top 10
Introducción a los principales riesgos de seguridad web.
20. Checklist de finalización
21. Autoevaluación
Puntúa del 1 al 5 tu nivel actual:
| Competencia | Puntuación |
|---|---|
| Entender agentes | 1 2 3 4 5 |
| Utilizar un agente | 1 2 3 4 5 |
| Analizar repositorios | 1 2 3 4 5 |
| Diseñar arquitectura | 1 2 3 4 5 |
| Trabajar con APIs | 1 2 3 4 5 |
| Debugging | 1 2 3 4 5 |
| Code review | 1 2 3 4 5 |
| Controlar a la IA | 1 2 3 4 5 |
22. Conclusión
La habilidad que debes llevarte de Week 06
NO DIGAS:
"IA, hazme una aplicación."
PIENSA:
"Este es el problema.
Este es el contexto.
Estas son las restricciones.
Este es el resultado esperado.
Analiza.
Propón un plan.
Espera mi aprobación.
Implementa.
Prueba.
Revisa.
Explícame los cambios."
El desarrollador del futuro no será quien escriba más código.
Será quien sea capaz de:
- comprender problemas;
- diseñar soluciones;
- dirigir agentes;
- evaluar resultados;
- detectar errores;
- validar software;
- tomar decisiones técnicas.
Preparación para Week 07
En la siguiente semana empezaremos a trabajar más profundamente con IA aplicada al ciclo completo de desarrollo:
- requirements engineering;
- historias de usuario;
- criterios de aceptación;
- spec-driven development;
- generación de tareas;
- planificación multi-step;
- agentes especializados;
- automatización.