Nivel 10 · Prompting que funciona
Instrucciones claras, ejemplos, JSON validado, prompt de sistema y casos de prueba: cómo escribir prompts que dan resultados repetibles y comprobables.
RoadmapEscribir prompts que producen salidas correctas y con formato estable, y demostrarlo con un conjunto de casos de prueba que se ejecuta con un comando.
Antes convieneUn prompt es el texto con el que le dices al modelo qué hacer. En este nivel aprenderás a escribirlo como escribirías una especificación para un compañero competente que no conoce tu proyecto: con el contexto necesario, ejemplos y un formato de salida que tu código pueda comprobar. Y aprenderás a demostrar que funciona con casos de prueba en vez de con impresiones.
Para quién es
- Has terminado el nivel 00 o ya sabes llamar a la API y leer
stop_reasonyusage. - Usas modelos a diario pero tus prompts «a veces fallan» y no sabes por qué.
- Vas a integrar un modelo en un producto y necesitas que la salida sea parseable siempre.
Qué vas a saber hacer
Al terminar sabrás redactar instrucciones sin ambigüedad, enseñar con ejemplos few-shot, pedir y validar JSON, separar en el prompt de sistema lo que es fijo de lo que cambia en cada petición, y medir el efecto de cada cambio con un pequeño conjunto de evaluación.
Lecciones
- Instrucciones claras y contexto suficiente. Qué contexto necesita el modelo, cómo estructurar una instrucción y por qué las etiquetas XML ayudan a separar datos de órdenes.
- Ejemplos few-shot: enseñar con casos. Enseñar con casos: cuántos, cuáles y cómo evitar que el modelo copie lo que no debe.
- Formato de salida: pedir JSON y validarlo. Pedir JSON, validarlo con un esquema y usar salidas estructuradas garantizadas cuando la API lo permite.
- El prompt de sistema: rol y reglas fijas. Rol, reglas fijas y qué va en el sistema frente a qué va en cada mensaje.
- Iterar con casos de prueba. Un bucle de mejora con casos etiquetados, una métrica y un cambio cada vez.
El proyecto del nivel
Construirás un clasificador de tickets de soporte. Recibe un texto como «Me habéis cobrado dos veces la suscripción de octubre» y devuelve:
{"categoria": "facturacion", "prioridad": "alta", "resumen": "Cobro duplicado de la suscripción de octubre"}Está terminado si cumple todo esto:
- El prompt de sistema define el rol, las categorías permitidas y los criterios de prioridad.
- Incluye entre tres y cinco ejemplos que cubren casos difíciles.
- La salida se valida con un modelo Pydantic (o Zod en TypeScript); si falla la validación, el programa reintenta una vez y después devuelve un error claro.
casos.jsonltiene al menos 20 tickets etiquetados a mano, incluidos algunos ambiguos.evaluar.pyejecuta todos los casos y muestra el acierto en categoría y en prioridad.- Entregas una tabla con al menos tres versiones del prompt, qué cambiaste en cada una y su resultado.
Después de este nivel
Sigue con Nivel 20 · Uso de herramientas, donde el modelo deja de solo escribir texto y empieza a pedir acciones. Para consultar detalles sueltos, tienes Prompting y la guía de modelos.
Lecciones
5 · marca las que termines- 10.1 Instrucciones claras y contexto suficiente 35 min · práctica
- 10.2 Ejemplos few-shot: enseñar con casos 35 min · práctica
- 10.3 Formato de salida: pedir JSON y validarlo 45 min · práctica
- 10.4 El prompt de sistema: rol y reglas fijas 35 min · práctica
- 10.5 Iterar con casos de prueba 50 min · proyecto
Clasificador de tickets de soporte con JSON validado
Un programa que recibe el texto de un ticket y devuelve un JSON con categoría, prioridad y un resumen de una línea, validado con un esquema, más un conjunto de casos de prueba que mide cuántos acierta.
EntregableUn repositorio con clasificar.py (prompt de sistema, ejemplos few-shot y validación con Pydantic), casos.jsonl con al menos 20 tickets etiquetados a mano y evaluar.py, que imprime la tasa de acierto por campo; más una tabla con los resultados de al menos tres versiones del prompt y qué cambió en cada una.