Agent Mentor Learn
Fundamentos de la ingeniería de prompts: cómo escribir instrucciones eficaces · Lección 5 de 6

Lección 5: Depuración y mejora de prompts

Objetivos de aprendizaje:

  • Aprender a detectar problemas de prompt de forma sistemática
  • Construir un método para diagnosticar por qué falla un prompt
  • Montar un ciclo repetible para mejorar prompts

Requisitos: << Lección 4: Chain-of-thought: hacer que la IA muestre su razonamiento | Siguiente: Lección 6 >>

Qué hacer cuando un prompt no funciona

Escribiste un prompt cuidadoso con un rol, una tarea, un formato y ejemplos, y la IA se sigue equivocando. Puede que el formato esté mal, que el contenido se haya desviado o que falte una pieza clave de información. ¿Y ahora qué?

¿Cambiar unas palabras al azar y esperar que la próxima corrida tenga más suerte? ¿O rastrear el problema y corregirlo a propósito? Esta lección enseña el segundo enfoque: depurar un prompt como depuras código. Detecta el síntoma, diagnostica la causa, haz un cambio pequeño y revisa el resultado.1

El ciclo de depuración en tres pasos

Depurar un prompt se parece bastante a depurar código.1

  1. Identifica el problema: ¿qué está mal exactamente en la salida?
  2. Diagnostica la causa: ¿qué parte del prompt produjo ese problema?
  3. Cambia y verifica: cambia una sola cosa y después prueba si mejoró.

La regla que más importa: cambia una variable a la vez. Si cambias tres cosas de golpe, no vas a saber cuál hizo el trabajo.

Paso 1: Identifica el problema concreto

«La salida está mal» es demasiado vago. Precisa qué está mal realmente.1

Tipos de problema habituales:

Tipo de problemaCómo se veCausa probable
Formato incorrectoLos nombres de campo del JSON no coinciden, falta una secciónLas instrucciones de formato no son lo bastante específicas, o los ejemplos se contradicen
Contenido fuera de objetivoResponde una pregunta que no venía al caso, se va por las ramasLa descripción de la tarea no es clara, o las restricciones son escasas
Información faltanteDeja fuera algún detalle claveNunca enumeraste todo lo que necesitas
Exceso de alcanceAgrega contenido extra que no pedisteFalta una restricción de «devuelve solo X, no Y»
MalentendidoLa IA leyó mal tu intenciónRedacción ambigua, o ningún ejemplo que aclare
InestabilidadLos resultados varían mucho de una corrida a otraEl prompt es demasiado laxo y le da a la IA demasiada libertad

Ejemplo: identificar el problema

Tu prompt:

Resume los puntos clave de este artículo.

La salida de la IA:

Este artículo cubre tres puntos clave. Primero... Segundo... Por último...

Problema identificado: no es el formato de lista que querías, y nunca dijiste cuántos puntos.

Paso 2: Diagnostica la causa

Encuentra qué parte del prompt (o qué parte faltante) causó el problema.

Una lista de verificación para el diagnóstico:

  • ¿La tarea es clara? «Resume los puntos clave» es difuso. Nunca dice cuántos puntos ni qué tan largo debe ser cada uno.
  • ¿Hay un ejemplo de formato? No. La IA solo puede adivinar qué forma quieres.
  • ¿Las restricciones alcanzan? Nada dice «devuelve solo los puntos, sin preámbulo».
  • ¿Hay algo ambiguo? «Puntos clave» podría significar «argumentos centrales» o «todas las afirmaciones».

Diagnóstico: faltan la especificación de formato y una restricción de cantidad.

Paso 3: Haz un cambio pequeño y después verifica

Corrige un problema a la vez y prueba si mejoró.

Cambio 1: declarar la cantidad y el formato

Resume este artículo en tres viñetas, de una oración cada una.

Resultado de la prueba: el formato es correcto, pero cada punto se extiende más de una oración.

Cambio 2: agregar una restricción de longitud

Resume este artículo en tres viñetas.
Requisitos:- Cada punto tiene 15 palabras o menos- Usa una lista con viñetas (- )- Devuelve solo los puntos, sin preámbulos como «Estos son los puntos clave»

Resultado de la prueba: coincide con lo que querías.

Anota el cambio que funcionó para poder reutilizarlo la próxima vez que te topes con el mismo problema.

Diagnosticar y corregir problemas habituales

Problema 1: formato inestable

Síntoma: a veces JSON, a veces texto plano; a veces dos puntos, a veces un signo de igual.

Diagnóstico: no hay ejemplo de formato, o hay ejemplos que no concuerdan entre sí.

Corrección:

  • Da 2-3 ejemplos que usen exactamente el mismo formato
  • O decláralo en las restricciones: «Sigue este formato JSON al pie de la letra y no devuelvas nada más».

Problema 2: información faltante

Síntoma: la salida tiene solo una parte de los datos y siempre deja fuera ciertos campos.

Diagnóstico: nunca enumeraste la información que necesitas.

Corrección:

Extrae todos los siguientes campos (todos obligatorios):1. Título2. Autor3. Fecha de publicación4. Resumen
Si un campo no está en la fuente, devuelve «no disponible» en vez de omitir el campo.

La clave es enumerar cada campo obligatorio y decir qué hacer cuando falte uno.

Problema 3: explicar de más

Síntoma: pediste código y recibiste código más un muro de explicación; pediste una lista y recibiste una introducción y un resumen envolviéndola.

Diagnóstico: falta una restricción de «devuelve solo X».

Corrección:

Devuelve únicamente código ejecutable. Sin explicaciones, comentarios ni notas.

O bien:

Devuelve únicamente la lista. Sin preámbulos como «Aquí está la lista» y sin resumen.

Problema 4: intención mal leída

Síntoma: la IA leyó mal lo que querías decir y respondió una pregunta relacionada pero equivocada.

Diagnóstico: redacción ambigua, o falta de contexto.

Ejemplo:

Analiza los problemas de este código.

La IA podría analizar:

  • Problemas de estilo
  • Problemas de rendimiento
  • Problemas de seguridad
  • Errores de lógica

Tú querías errores de lógica, pero el prompt nunca lo dijo.

Corrección:

Analiza los errores de lógica de este código. Ignora el estilo y el rendimiento; concéntrate solo en bugs de lógica que producirían una salida incorrecta.

Nombra la dimensión que quieres y descarta el resto.

Buenas prácticas para iterar

Práctica 1: arma un conjunto de casos de prueba

Prepara 3-5 entradas representativas y corre cada cambio contra todas ellas.1

Ejemplo: estás ajustando un prompt que extrae el sentimiento de reseñas de producto.

Casos de prueba:

  1. Claramente positivo: «Muy buen producto, lo recomiendo mucho».
  2. Claramente negativo: «Totalmente inservible, dinero tirado a la basura».
  3. Neutro / mixto: «Funciona bien, pero está algo caro».
  4. Caso límite: «Está bien, supongo».
  5. Complejo: «La atención fue excelente, pero la calidad del producto es mediocre».

Después de cada cambio al prompt, corre los cinco y revisa si todos se clasifican correctamente.

Práctica 2: lleva registro de versiones y resultados

Gestiona las versiones de tus prompts como gestionas las versiones de tu código.1

Una bitácora simple:

v1 (2024-01-15):Extrae el sentimiento de la reseña.
Resultado:- Casos claros OK- Casos límite inestables
---
v2 (2024-01-15):Clasifica la reseña como «positivo», «negativo» o «neutro».Ejemplos: [3 ejemplos]
Resultado:- Los casos límite mejoraron- Pero el formato de salida no es consistente (a veces «positivo», a veces «Positivo»)
---
v3 (2024-01-15):[contenido de v2] + restricción: devuelve exactamente una de las palabras en minúscula positivo, negativo o neutro.
Resultado: pasa todos los casos de prueba

Ahora sabes qué te compró cada cambio, y si una versión nueva resulta peor puedes volver a la última buena.

Práctica 3: haz una prueba A/B con los cambios que te generan duda

¿No estás seguro de que un cambio ayude de verdad? Conserva las dos versiones, corre cada una 10 veces y compara la tasa de acierto. Eso es una prueba A/B: cambiar un factor a la vez y dejar que los datos decidan.

Ejemplo: no estás seguro de que agregar «pensemos paso a paso» ayude realmente.

  • Versión A (sin): 10 corridas, 7 correctas
  • Versión B (con CoT): 10 corridas, 9 correctas

Los datos hablan. B es mejor.

Práctica 4: parte de una versión simple

No arranques con un prompt monstruoso de 500 palabras. Empieza con la versión más simple y agrega restricciones sobre la marcha.1

Un camino de iteración:

v1: Resume este artículo.   -> demasiado vago
v2: Resume los puntos centrales de este artículo en tres viñetas.   -> las viñetas salen demasiado largas
v3: Resume los puntos centrales en tres viñetas, de 15 palabras o menos cada una.   -> el formato sigue siendo inconsistente
v4: [v3] + usa una lista con viñetas, devuelve solo los puntos sin preámbulo.   -> funciona bien

Cada paso corrige exactamente un problema, y terminas con un prompt que es justo lo necesario, sin relleno.

El ciclo de depuración, de principio a fin

El ciclo completo es un bucle: corre el prompt, revisa la salida y, si no coincide, identifica el problema, diagnostica la causa, cambia una cosa, verifica con tus casos de prueba, repite hasta que coincida y después registra la versión que funciona.

El diagrama de abajo muestra cada paso de ese ciclo:

mermaid
graph TD    A[Correr el prompt] --> B{¿Salida como se esperaba?}    B -->|Sí| C[Registrar la versión que funciona]    B -->|No| D[Identificar el problema concreto]    D --> E[Diagnosticar la causa]    E --> F[Cambiar una sola cosa]    F --> G[Verificar con casos de prueba]    G --> B    C --> H[Archivar en tu biblioteca de prompts]

Principios centrales:

  • Cambia una cosa a la vez
  • Verifica cada cambio con casos de prueba
  • Lleva registro de las versiones y sus resultados
  • Empieza simple y agrega restricciones según haga falta

Cuándo dejar de ajustar

Ajustar prompts no tiene un final natural, pero sí tiene un umbral de «suficientemente bueno»:

Señales de que puedes parar:

  • La tasa de acierto en tus casos de prueba es de 90% o más
  • El formato de salida es estable
  • Puedes explicar qué hace cada parte del prompt
  • La siguiente mejora costaría más tiempo del que vale

Señales de que deberías seguir:

  • Tasa de acierto por debajo de 70%
  • La misma entrada da salidas muy distintas en cada corrida
  • No estás seguro de que algunas partes del prompt hagan algo
  • Sigue fallando en los casos límite

Una regla pragmática: suficientemente bueno es suficientemente bueno, no persigas lo perfecto. Si funciona bien el 90% de las veces, una persona puede intervenir en el 10% restante de casos límite.

Resumen

El ciclo de depuración de prompts es: identificar el problema concreto, diagnosticar la causa, hacer un cambio pequeño, verificar. La clave está en cambiar una variable a la vez, verificar cada cambio con casos de prueba y llevar registro de las versiones y sus resultados.

Entre los problemas habituales están el formato inestable, la información faltante, explicar de más y la intención mal leída. Cada uno tiene su corrección correspondiente: agregar ejemplos, enumerar los campos, agregar una restricción de «devuelve solo» y descartar la ambigüedad.

Parte de una versión simple y agrega restricciones hasta que tu tasa de acierto en los casos de prueba supere el 90%. Registra las versiones de prompt que funcionan para poder reutilizarlas la próxima vez.

La siguiente lección cubre estrategias de prompt para distintos tipos de tarea: qué es específico de la generación de código, la redacción de documentos y el análisis de datos.

Próxima lección Estrategias de prompt para distintas tareas >>

Footnotes

  1. AI Prompt Debugging: Fixing Issues Through Iteration — https://whitebeardstrategies.com/blog/ai-prompt-debugging-fixing-issues-through-iteration/ 2 3 4 5 6

Ejercicios

01

Abajo hay un prompt roto y la salida de la IA. Identifica el problema y propón una corrección.

Nivel 1: Diagnosticar un problema de prompt

Prompt:

Resume los puntos clave de este artículo.

Salida de la IA (tres corridas distintas):

  • Corrida 1: un resumen en prosa de 200 palabras
  • Corrida 2: 5 viñetas
  • Corrida 3: un resumen de una línea más tres párrafos de detalle

Problema: el formato de salida es inestable y distinto en cada corrida.

Criterios de finalización · marcado local
02

Elige un prompt que hayas escrito tú (o usa el escenario de abajo) y mejóralo a lo largo de 3 rondas de iteración.

Nivel 2: Iterar sobre un prompt real

Escenario: hacer que la IA extraiga tareas accionables de las notas de una reunión.

Requisitos:

  1. Escribe v1 (el primer prompt)
  2. Pruébalo, encuentra un problema, escribe v2 (corrige un problema principal)
  3. Prueba de nuevo, encuentra un problema nuevo, escribe v3 (versión final)
  4. Explica qué corrigió cada cambio
Criterios de finalización · marcado local