Inicio / Artículos / Prompt inverso: Transformar una buena sesión con un LLM en un prompt reutilizable

Prompt inverso: Transformar una buena sesión con un LLM en un prompt reutilizable

Aprenda cómo extraer un prompt de uso único a partir de una conversación exitosa con un LLM en múltiples turnos, y cómo la inversión de prompts permite recuperarlos cuando solo se dispone de las respuestas.

1367 palabras

El prompt que finalmente funciona rara vez es el con el que comenzaste: surge tras varias rondas de correcciones y luego desaparece cuando cierras el chat. El prompt inverso invierte el flujo de trabajo habitual. Primero obtienes un resultado que te gusta y luego haces que el modelo reconstruya las instrucciones que lo generarían de manera fiable. Aprenderás cómo capturar esas instrucciones a partir de una conversación, cómo recuperar un prompt aproximado únicamente a partir de los resultados y dónde ambas técnicas dejan de ser fiables.

Por qué el prompt funcional suele perderse

El prompt inverso depende de que los modelos más avanzados sean capaces de reflexionar sobre su propio contexto. Funciona manualmente en una ventana de chat o como paso de un pipeline, y da mejores resultados en la generación de código y en flujos de trabajo basados en agentes, donde los requisitos son numerosos y fáciles de olvidar.

Un bucle típico de perfeccionamiento

Imagínese a un desarrollador agregando un punto de extremo para el registro de usuarios a un servicio en Python. El objetivo es obtener código FastAPI de calidad para producción: entrada validada, respuestas de error estructuradas, registro de actividades y pruebas. La solicitud inicial es deliberadamente vaga, algo como “escribir un punto de extremo FastAPI para el registro de usuarios”, y la primera respuesta es, como era de esperar, mínima. Por lo tanto, el desarrollador itera:

  • Pide modelos Pydantic que validen la dirección de correo electrónico y exijan una contraseña segura.
  • Pide excepciones HTTP adecuadas además de registro de actividades.
  • Pide una estructura JSON única y consistente para cada error.
  • Pide casos pytest que cubran el escenario exitoso y los fallos de validación.

Unos pocos pasos después, el código cumple con los requisitos del equipo, se copia al repositorio y la conversación se olvida, junto con todas las restricciones y correcciones que la dieron forma. El siguiente punto de extremo vuelve a comenzar desde una instrucción breve e imprecisa.

Extraer un prompt único de la conversación

La versión basada en conversaciones del reverse prompting soluciona esto con un mensaje adicional. Una vez que el resultado es correcto, se agrega una instrucción meta que pide al modelo que revise todo el intercambio y lo comprima en un único prompt autónomo. La instrucción a continuación detalla qué debe contener ese prompt: el rol, el contexto acumulado, todas las restricciones acordadas, el formato de salida, los criterios de calidad y cualquier ejemplo. Fíjese en las dos últimas líneas: piden únicamente el prompt, sin comentarios, para que el resultado pueda pegarse directamente en una sesión nueva.

Now that we have reached this final output, reverse-engineer
the entire conversation. Look at every correction, added constraint,
tone adjustment, format decision, and the result.
Produce one complete, standalone prompt that would generate
this exact output quality in a single shot with no follow-ups.

The prompt must explicitly state:
- Role and expertise level
- All background context and requirements established
- Every constraint and rule settled on
- Output format and structure
- Tone, style, and quality criteria
- Any examples or reference patterns used

Output only the prompt itself, ready to copy into a fresh session.
No explanation.

Lo que se obtiene es una especificación explícita de todo lo que está implícito en el diálogo. Una sesión nueva al utilizarlo debería producir un resultado comparable desde el primer intento; si aún se necesitan acciones adicionales, algo se ha pasado por alto.

Trate el resultado como un activo de ingeniería:

  • Guárdelo en el repositorio junto al código que genera, para que los cambios sean revisados y versionados.
  • Compártalo con los compañeros de equipo para que se apliquen los mismos estándares independientemente de quién lo ejecute.
  • Sustituya las partes específicas de la tarea por parámetros (nombre de la entidad, campos, códigos de error) y réutilícelo para endpoints similares.

Recuperar una instrucción a partir únicamente de los resultados

El método conversacional solo funciona mientras aún se cuenta con el historial. Una técnica más general, conocida como inversión de prompts o ingeniería inversa de prompts (RPE), reconstruye una aproximación del prompt a partir únicamente del texto que generó.

Dicho formalmente: algún prompt oculto X produjo una salida O. Se desea encontrar un prompt P cuya salida N sea semántica y funcionalmente similar a O. Solo se dispone de acceso a un sistema de caja negra, es decir, sin logits ni datos de entrenamiento, solo la capacidad de enviar prompts y leer respuestas.

Selección de candidatos y validación de los mismos

El enfoque directo consta de tres pasos:

  • Dale al modelo la salida O y pídele que infiera el prompt que la genera. Una sola conjetura tiende a sobreajustarse o inventar restricciones que nunca existieron, por lo que hazlo varias veces con diferentes temperaturas y configuraciones de muestreo para recopilar una lista de prompts candidatos.
  • Ejecuta cada candidato con el modelo y compara lo que genera con O, utilizando una métrica de superposición como ROUGE-1 (la puntuación F1 basada en unigramas compartidos).
  • Mantén el candidato con la puntuación más alta.

El paso de validación es lo que convierte esto en algo más que una simple conjetura: mides qué candidato realmente reproduce el objetivo en lugar de confiar en la opinión del modelo.

Evolución de los candidatos como un algoritmo genético

También puedes tratar a los candidatos como una población y hacer que evolucionen. Cada generación:

  • Mida la idoneidad como la similitud promedio entre las salidas que genera un candidato y el O original.
  • Mantenga a los mejores resultados.
  • Mutate a los más débiles proporcionando al modelo el prompt actual junto con las diferencias observadas, y permitiéndole reformularlo, agregar o eliminar restricciones, o reestructurarlo.
  • Repita el proceso hasta que las puntuaciones dejen de mejorar o se agote el presupuesto.

Este enfoque no requiere entrenamiento. Se ha reportado que permite obtener prompts coherentes y reutilizables a partir de solo cinco salidas de muestra, y los modelos de código cerrado no representan un obstáculo, ya que todo lo que necesita es una función de similitud económica.

Límites a los que debe estar preparado

La reconstrucción siempre es una aproximación. El prompt recuperado suele ser más largo y explícito que aquello que generó la salida, ya que debe incluir matices que originalmente estaban contenidos en el contexto.

Otras dos consideraciones:

  • Los prompts obtenidos mediante ingeniería inversa conservan las peculiaridades del modelo del cual se derivaron. Un prompt ajustado para un modelo puede requerir modificaciones para funcionar bien en otro, por lo que es necesario volver a validarlo al cambiar de modelo.
  • Las métricas léxicas como ROUGE-1 premian la presencia de palabras en común, no el comportamiento correcto. En el caso de código o resultados estructurados, considere agregar verificaciones que sean importantes para usted, como si las pruebas generadas pasan o si el JSON es válido, además de la puntuación de similitud.

Dónde encajan los agentes de programación

Herramientas de codificación basadas en agentes como OpenAI Codex y Claude Code están optimizadas para trabajar en dirección hacia adelante, con una sólida ingeniería de contexto, bucles largos entre agentes y un uso intensivo del caché de instrucciones. Sin embargo, ambas pueden detenerse antes de escribir código y hacerle preguntas de opción múltiple para aclarar dudas, lo que permite identificar los requisitos desde temprano. Itere con el agente hasta obtener un resultado sólido, y luego extraiga una instrucción maestra de esa sesión para su reutilización inmediata. Para conocer una forma complementaria de estructurar las instrucciones que extraiga, consulte nuestra guía sobre cómo crear instrucciones para LLM listas para su uso en producción con un marco de siete capas.

Puntos clave

  • El verdadero valor de una sesión prolongada de generación de instrucciones radica en las restricciones acumuladas; consérvelas antes de cerrar la conversación.
  • Una única meta-instrucción al final de una conversación exitosa la convierte en un prompt independiente y versionable.
  • Cuando solo existen resultados de salida, genere varios prompts candidatos y deje que una métrica de similitud, y no la confianza del modelo, elija al ganador.
  • Los prompts recuperados son aproximaciones vinculadas a un modelo específico, por lo que hágalos válidos en una sesión nueva y nuevamente cada vez que cambie el modelo.
  • Lecturas relacionadas