Tu prompt no está mal escrito, está mal entendido
Llevas meses reescribiendo la misma frase porque ChatGPT te devuelve basura. El fallo no está en cómo la redactas: está en qué entra al contexto, qué se comprueba y qué se tira.
En este artículo
Le pediste a ChatGPT que reescribiera un correo a un cliente. Pegaste el original. Dejaste el tono por escrito: directo, sin peloteo, sin inventar plazos. Tres párrafos. Las cifras, intocables. Lo que volvió era un texto de comercial de feria, con un "quedamos la semana que viene" que nadie había propuesto y los números redondeados "para que se lea mejor".
El prompt te parecía redondo. El resultado, una mierda. Y la conclusión, la de siempre: no sé hacer prompts.
Esa conclusión es el atasco. Llevas meses dándole vueltas a la frase. El prompting ya cruzó al mainstream, hasta las piezas generalistas de negocios lo cubren, y el mercado te ha vendido que el oficio está en redactar mejor la petición. Mejorar el prompt sirve. Creer que el prompt es la solución es lo que te tiene pegado al mismo hilo, reescribiendo.
ChatGPT no te obedece: continúa el texto
Entre que pulsas enviar y llega la respuesta no hay nadie leyéndote con criterio. Hay un motor que predice el siguiente trozo de texto, condicionado por todo lo que cabe en una ventana finita. Tu prompt no es una orden que alguien interpreta. Es texto que empuja la continuación hacia un lado u otro.
De ahí salen los tres fallos del que ya lo usa a diario.
- Crees que recuerda lo de hace veinte mensajes. Recuerda lo que sigue dentro del contexto. En una ventana de 128.000 tokens, 96.000 ya son tres cuartos. Lo que quedó fuera no está olvidado: no existe. Si el hilo es largo, lo de al principio dejó de condicionar la respuesta hace rato.
- "No inventes" te parece una instrucción de voluntad. El modelo no tiene voluntad. Tiene probabilidad. Si el hueco de la continuación pide un dato y ese dato no está en el contexto, rellena con lo más plausible. Pedirle que no lo haga es como pedirle a un autocompletado que se contenga. A veces acierta. No es un contrato.
- Si el prompt es más largo y más detallado, mejor. A veces sí, cuando el detalle es una restricción usable. A menudo no: más prosa es más sitio para contradecirte, más tokens que empujan lo importante fuera, y más superficie para que cumpla la parte fácil (el tono) e ignore la difícil (las cifras).
Si la tarea es de un solo turno, sin nada que verificar y sin nada que romper, un chiste, un título, una lista de ideas, el prompt es casi todo el juego. Montar un tribunal alrededor de eso es sobre-ingeniería. El lío empieza cuando el modelo trabaja sobre tu contexto o sobre algo que ya valoras.
El prompt pide; otra cosa garantiza
Cuando le pides que elija, el patrón que aguanta es el del juez: el modelo entra donde hace falta entender lenguaje y sale antes de tocar nada. Elige de una lista cerrada. Lo que devuelve pasa por una comprobación de pertenencia antes de usarse.
En el chat de todos los días se traduce así. Si quieres clasificar un correo, no le sueltes un párrafo sobre "usa tu criterio profesional". Dale las etiquetas: urgente, normal, basura. Pídele solo la etiqueta, o la etiqueta más una frase de motivo. Y antes de fiarte, mira que la salida sea una de las tres. Si te cuela "importante pero no urgente", se descarta. No por otra frase en el prompt. Porque no estaba en la lista.
Que sea probabilístico deja de asustar. Lo peor que puede hacer es elegir mal, y eso se cuenta: una de cada tantas veces se equivoca de cubo, y lo ves. Inventar una cuarta categoría no llega a usarse. Lo tira el filtro, no la buena voluntad del modelo.
Puedes hacerlo a mano, con la lista al lado del teclado. O con dos líneas que comprueben pertenencia. El mecanismo es el mismo: el prompt expresa la intención; que el valor esté en la lista es lo que garantiza.
Pruébalo en el siguiente correo que clasifiques. Escribes las tres opciones, pides una, y si no coincide, no la usas. El modelo sigue siendo el mismo. Lo que cambia es que su invención ya no entra en tu flujo.
Primero decides qué no puede cambiar
Cuando metes al modelo a retocar algo que ya tiene valor, un correo enviado, unas cifras, un texto que no quieres que se vuelva corporativo, deja de preguntarte cómo formular para que no lo rompa. Pregúntate cómo vas a detectar que lo rompió.
Antes de pulsar enviar, copia el original a un sitio seguro. Luego escribe invariantes que se puedan mirar sin discutir:
- Longitud: no más de tres párrafos, o no más largo que el original.
- Términos que tienen que seguir ahí: nombres, cifras, la palabra que no se puede suavizar.
- Estructura: el asunto en una línea, el cuerpo en tres bloques, sin lista de "próximos pasos" inventada.
- El defecto concreto que sí quieres fuera: las muletillas, el cierre de "en conclusión", el adverbio de más.
Y una política de fallo que favorece el original. En un paso de mejora opcional, no cambiar nada es un resultado aceptable. Degradar el contenido, no. Si la salida rompe un invariante, te quedas con lo que tenías. El prompt dice el deseo. La guarda dice el suelo.
Eso es lo que mucha gente llama "el modelo me estropeó el texto" y luego intenta arreglar con más adjetivos en la petición. Más adjetivos no miden nada. Un invariante sí: o la cifra sigue o no sigue. Si no sigue, el retoque no entra.
En un paso de mejora, no cambiar nada es aceptable. Empeorarlo, no.
Un formulario guía mejor que un discurso
Los modelos generan rápido. Para generar exactamente lo que pretendes, necesitan límites claros desde el primer token, no un discurso de buenas intenciones al final.
El prompt flojo pide cualidades: sé conciso, claro, profesional pero cercano, y no te inventes nada. El modelo puede "cumplir" todo eso y seguir dándote un texto inútil, porque conciso y claro no se comprueban: se interpretan. El arnés pide campos.
asunto: máximo 8 palabras
cuerpo: 3 párrafos
cifras: las del original, sin redondear
cierre: 1 frase, sin proponer reuniónPegar eso no es ser menos creativo. Es decirle al motor por dónde puede continuar y por dónde no. El límite no es una camisa de fuerza. Es lo que hace que la salida se pueda usar sin volver a negociar con ella.
La especificación inicial es una hipótesis. Las restricciones de verdad, los trade-offs y los casos límite aparecen cuando lo pones a trabajar: se inventa un campo, se pasa de longitud, suaviza una cifra. Entonces aprietas el arnés. No al revés. No hay un prompt perfecto que anticipe todo. Hay una estructura que vas cerrando.
Si tu siguiente petición es un párrafo de adjetivos, cámbiala por campos antes de enviarla. El cambio de resultado suele ser más sucio y más usable. Eso es lo que buscas.
Si cambia más de una cosa, no sabes qué funcionó
En un benchmark de bots de soporte se comparaba una rama de "solo LLM" contra un híbrido determinista más modelo. El arreglo de meterle un mandato de resolución en el prompt lo recibió solo la rama híbrida. El A/B dejó de medir arquitecturas: medía la calidad del prompt de una de las dos.
La lección no es de laboratorio. Cuando cambias el prompt y "mejora", a la vez has cambiado el hilo, lo que pegaste, a veces hasta lo que tú consideras un buen resultado. No sabes si mejoró el prompt o si cambió otra cosa.
Para saber si un prompt es mejor, abre un chat nuevo, o duplica el escenario, y cambia una cosa. La lista cerrada, o el invariante, o el campo de más. Comprueba. El prompt es una variable del experimento. Tratarlo como magia, la frase secreta que si la encuentras lo arregla todo, es exactamente el bucle en el que estás.
Mejorar el prompt sirve. Es la mitad del problema. La otra mitad es lo que pones alrededor: qué contexto entra, qué se comprueba contra la salida y qué se descarta. El que entiende eso deja de reescribir la misma frase. Empieza a diseñar el sistema.
Preguntas frecuentes
¿Por qué ChatGPT ignora parte de mi prompt?
ChatGPT no ignora a propósito: continúa el texto más probable con lo que cabe en el contexto. Si el hilo es largo, si hay instrucciones contradictorias o si lo crítico quedó arriba, esa parte deja de empujar la continuación. Acorta, pon lo que no puede fallar al final o fuera del chat, y comprueba la salida en vez de repetir "sigue todas las instrucciones".
¿Sirve de algo decirle que no invente?
Sirve como empujón de intención, no como garantía. El modelo rellena huecos con lo plausible cuando el dato no está en el contexto; no tiene una voluntad que pueda cumplir "no inventes". Si el dato importa, ponlo tú en el mensaje o comprueba después que no haya aparecido nada nuevo. Lo que no estaba, se descarta; no se negocia con otra frase.
¿Cómo hago que elija entre opciones sin inventarse una?
Dale una lista cerrada y comprueba que la respuesta es uno de esos valores. Si pides urgente, normal o basura y devuelve "importante pero no urgente", tiras esa salida: no estaba en la lista. El modelo puede elegir mal, eso se ve; lo que no puede es colarte una categoría nueva si el filtro la bloquea antes de usarla.
¿Cuándo basta con mejorar el prompt?
Cuando la tarea es de un solo turno, no hay herramientas, no hay nada que verificar y no hay nada valioso que romper. Ahí el prompt es casi todo el juego. En cuanto el modelo trabaja sobre tu contexto, tus cifras o un texto que no quieres degradar, hace falta decidir qué entra, qué se comprueba y qué se descarta. Mejorar la frase sigue ayudando; ya no es el sistema entero.
Aprobado por El Búfalo, editor humano responsable.