/Prompt Studio

Guías / Ingeniería de prompts

Prompts para programadores: encontrar errores en el código

Pegar código y escribir por qué no funciona es el prompt más usado y el que peor resultado da. Cómo estructurarlo para que la IA responda como un buen revisor.

Lectura de 9 min · Actualizado el 17 de septiembre de 2026

Pegar un trozo de código y escribir "¿por qué no funciona?" es probablemente el prompt más usado por programadores, y también uno de los que peor resultado da. No porque la IA no sepa depurar —lo hace muy bien— sino porque le falta lo mismo que le faltaría a un compañero al que le enseñas la pantalla sin decirle nada: qué esperabas que pasara, qué pasó en realidad y qué has probado ya.

Esta guía explica cómo estructurar los prompts de programación más habituales (encontrar un error, revisar código, escribir tests, entender código ajeno) para que ChatGPT o Claude respondan como un buen revisor y no como un manual genérico.

Los cuatro datos que siempre tiene que llevar un prompt de depuración

  1. El código. El fragmento relevante, no el archivo entero. Si el error está en una función, esa función y lo que la llama.
  2. Lo que esperabas. El comportamiento correcto, con un ejemplo de entrada y salida si es posible.
  3. Lo que pasa en realidad. El mensaje de error completo, con la traza si la hay, o la salida incorrecta.
  4. El entorno. Lenguaje, versión, framework, sistema operativo si es relevante.

Con esos cuatro datos, la IA acierta el diagnóstico en la mayoría de los casos a la primera. Sin ellos, te devuelve una lista de "posibles causas" que ya conocías.

Prompt 1: encontrar el error en un fragmento de código

Así no
este código no funciona, ¿qué está mal?

def media(valores):
    total = 0
    for v in valores:
        total += v
    return total / len(valores)
Así sí
# Rol
Actúa como un ingeniero de software senior con experiencia en Python.

# Tarea
Encuentra el error en esta función y explícame por qué ocurre.

# Código
```python
def media(valores):
    total = 0
    for v in valores:
        total += v
    return total / len(valores)
```

# Comportamiento esperado
media([2, 4, 6]) debería devolver 4.0. media([]) debería devolver 0 o None, no fallar.

# Comportamiento real
media([]) lanza: ZeroDivisionError: division by zero

# Entorno
Python 3.12.

# Formato de salida
1. Causa del error en una o dos frases.
2. Código corregido completo.
3. Si hay otros problemas que veas (rendimiento, casos límite), lístalos aparte.

# Restricciones
No cambies la firma de la función. No añadas dependencias externas.

La versión buena no solo obtiene la corrección (comprobar la lista vacía antes de dividir), sino que suele traer de regalo la observación de que sum(valores) / len(valores) es más idiomático. Esa segunda parte es la que convierte a la IA en un revisor útil y no en un corrector de sintaxis.

Prompt 2: revisar y refactorizar código que funciona

Cuando el código ya funciona pero sospechas que se puede mejorar, el peligro es que la IA lo reescriba entero con su propio estilo. Las restricciones evitan eso.

Revisión de código
# Rol
Actúa como revisor de código en un equipo que valora la legibilidad por encima de la brevedad.

# Tarea
Revisa esta función y propón mejoras concretas.

# Código
[pegar aquí]

# Contexto
Es parte de un servicio que procesa unos 10.000 registros por minuto. El equipo usa Python 3.12 y sigue PEP 8. Los tests actuales pasan.

# Formato de salida
Lista de mejoras ordenadas por impacto. Para cada una: qué cambiar, por qué, y el fragmento modificado. No reescribas la función entera.

# Restricciones
- No cambies el comportamiento observable.
- Si una mejora es de gusto personal y no de calidad, márcala como "opcional".
- Máximo 5 mejoras.

Prompt 3: escribir tests para una función

La IA escribe tests muy bien si le dices qué framework usas y qué casos te preocupan. Si no lo dices, escribe tres tests triviales que no prueban nada interesante.

Tests
Escribe tests unitarios para esta función con pytest.

[pegar función]

Cubre estos casos:
- Caso normal con datos válidos.
- Lista vacía.
- Un solo elemento.
- Valores negativos y decimales.
- Entrada que no es una lista (debe lanzar TypeError).

Formato: un archivo test_media.py completo, con un test por caso y nombres descriptivos.
Restricción: no uses mocks; la función es pura.

Prompt 4: entender código que no has escrito tú

Heredar código sin documentar es habitual. Pedirle a la IA que lo explique "como si fuera para alguien que se incorpora al equipo" produce documentación que de verdad se puede usar.

Explicar código ajeno
Explica qué hace este código para alguien que se incorpora al equipo mañana y no conoce el proyecto.

[pegar código]

Formato:
1. Qué hace en una frase.
2. Paso a paso, en viñetas, qué ocurre cuando se ejecuta.
3. Qué partes son delicadas o poco intuitivas y por qué.
4. Qué preguntas le harías al autor original.

Restricción: no propongas cambios todavía, solo explica.

Prompt 5: traducir entre lenguajes o frameworks

Para migraciones, lo que importa es fijar qué debe mantenerse idéntico y qué puede adaptarse a las convenciones del lenguaje destino.

Migración
Convierte esta función de JavaScript a TypeScript.

[pegar código]

Requisitos:
- Añade tipos explícitos a parámetros y retorno; nada de "any".
- Mantén exactamente el mismo comportamiento.
- Si alguna parte no se puede tipar con seguridad sin más contexto, marca el tipo como pendiente con un comentario TODO y explica por qué.

Formato: código completo seguido de una lista de las decisiones de tipado que has tomado.

Hábitos que evitan problemas

  • Nunca pegues credenciales, tokens ni datos de clientes. Sustitúyelos por valores ficticios antes de pegar el código. Es el error de seguridad más común al usar IA para programar.
  • Pide siempre la explicación, no solo el código. "Explica por qué" te obliga a entender la solución antes de aplicarla, y detecta cuando la IA se ha inventado una API que no existe.
  • Verifica las funciones y librerías que te sugiera. Los modelos a veces inventan métodos con nombres plausibles. Si no lo reconoces, búscalo en la documentación antes de usarlo.
  • Ejecuta los tests. El código que devuelve la IA parece correcto casi siempre. "Parece" no es suficiente.
  • Itera en la misma conversación. Si la primera solución no compila, pega el nuevo error en el mismo chat. Mantiene todo el contexto y suele resolverse en uno o dos mensajes más.

Regla de oro: trata la IA como un compañero senior con mucha experiencia pero que no conoce tu proyecto. Le das el contexto, revisas lo que propone y decides tú. Nunca como un oráculo cuyo código se pega sin leer.

El perfil "Programador / Programadora" del generador de esta web incluye estas cinco tareas con la estructura ya montada: eliges la tarea, pegas tu código en el contexto y el prompt sale listo.

Ponlo en práctica sin escribir desde cero

El generador de Prompt Studio construye este tipo de prompts eligiendo profesión, tarea, tono y formato en desplegables. Gratis y sin registro.

Abrir el generador de prompts →