Módulo II — Prompt engineering avanzado (1,5 ECTS)
Tiempo estimado: 40 horas (≈ 4 semanas a 10 h/semana, semanas 3–6 del calendario). Hito de salida: pipeline de evaluación de prompts con dataset de test y A/B testing funcionando de principio a fin.
Tiempo estimado: ~40 horas (≈ 4 semanas a 10 h/semana, semanas 3–6 del calendario). Hito de salida: pipeline de evaluación de prompts con dataset de test y A/B testing funcionando de principio a fin.
El prompt es la interfaz de programación real de un LLM. Este módulo pasa de "escribir prompts que parecen funcionar" a ingeniería de prompts: técnicas con base empírica, salidas estructuradas y validadas, y —lo más importante— un sistema de evaluación que te diga con datos si un prompt es mejor que otro.
Objetivos de aprendizaje#
Al terminar el módulo deberías ser capaz de:
- Elegir con criterio entre zero-shot, few-shot, chain-of-thought y self-consistency según la tarea, y justificar cuándo no usar cada técnica.
- Estructurar prompts de sistema robustos con roles, delimitadores y etiquetas XML, resistentes a entradas hostiles o ambiguas.
- Implementar function calling / tool use tanto en la API de OpenAI como en la de Anthropic, incluyendo el bucle completo de ejecución de herramientas.
- Obtener salidas estructuradas y validadas con JSON mode,
response_format, Pydantic e Instructor, con reintentos automáticos ante validación fallida. - Montar un pipeline de evaluación de prompts: dataset de test, métricas programáticas, LLM-as-judge y A/B testing con criterio estadístico básico.
- Gestionar prompts como artefactos de software: plantillas, versionado, registries y evaluación en CI.
- Detectar y mitigar sesgos y alucinaciones actuando a nivel de prompt.
Estructura del módulo#
modulo-02-prompt-engineering/
├── README.md ← estás aquí
├── teoria/ ← apuntes, un fichero por tema
├── labs/ ← código ejecutable, un lab por concepto
│ └── data/ ← datasets pequeños para los labs
└── ejercicios.md ← 12 ejercicios + mini-proyecto final y rúbrica
Orden de estudio recomendado#
Sigue teoría y lab de cada bloque en pareja: lee el tema, ejecuta el lab, modifícalo, y solo entonces pasa al siguiente.
| # | Teoría | Lab asociado | Horas |
|---|---|---|---|
| 1 | teoria/01-tecnicas-base.md — zero-shot, few-shot, CoT, self-consistency |
labs/01_zero_vs_few_shot.py · labs/02_chain_of_thought.py |
6 |
| 2 | teoria/02-system-prompts-y-contexto.md — system prompts, roles, XML, delimitadores |
(se aplica en todos los labs siguientes) | 4 |
| 3 | teoria/03-function-calling.md — tool use en OpenAI y Anthropic |
labs/03_function_calling_openai.py · labs/04_tool_use_anthropic.py |
7 |
| 4 | teoria/04-structured-outputs.md — JSON mode, response_format, Pydantic, Instructor |
labs/05_structured_outputs_instructor.py |
5 |
| 5 | teoria/05-evaluacion-de-prompts.md — datasets de test, LLM-as-judge, A/B testing |
labs/06_eval_prompts_dataset.py · labs/07_ab_testing_prompts.py |
8 |
| 6 | teoria/06-versionado-y-gestion.md — plantillas, registries, prompts en CI |
(ejercicios 9–10) | 4 |
| 7 | teoria/07-sesgos-y-alucinaciones.md — detección y mitigación a nivel de prompt |
(ejercicios 11–12) | 4 |
| 8 | ejercicios.md — mini-proyecto final: pipeline de evaluación propio |
— | 2+ |
Las horas incluyen lectura, ejecución y modificación de los labs. El mini-proyecto final puede crecer todo lo que quieras: es el hito del módulo.
Antes de empezar#
- Entorno preparado según
../setup/README.md(uv sync+.enven la raíz del repo). - Necesitas
OPENAI_API_KEYyANTHROPIC_API_KEYsolo para los modos live. Los valores de desarrollo verificados en agosto de 2026 songpt-5.6-lunayclaude-haiku-4-5; puedes sobrescribirlos en.env. Estima el coste con la tarifa oficial vigente antes de ejecutar evaluaciones grandes. - Los labs se ejecutan desde la raíz del repo o desde este directorio, da igual: cargan el
.envde la raíz por ruta absoluta.
source .venv/bin/activate
python modulo-02-prompt-engineering/labs/01_zero_vs_few_shot.py
Relación con las certificaciones#
- AWS AIF-C01 — dominio 3 (Applications of Foundation Models) pregunta directamente por técnicas de prompting, y el dominio 4 por mitigación de sesgos y alucinaciones.
- NVIDIA NCA-GENL — el dominio de "Prompt Engineering" cubre zero/few-shot, CoT y formato de salida.
Cuando termines el módulo, haz las flashcards correspondientes en ../certificaciones/.