Ingeniería de prompts: Dirigir los LLM sin ajuste fino
Utilice roles, ejemplos de pocos casos, razonamiento en cadena y restricciones de formato para guiar a los modelos, y sepa cuándo el mero uso de instrucciones alcanza sus límites frente al ajuste fino.
El ajuste fino adapta un modelo preentrenado mediante entrenamiento adicional con ejemplos etiquetados. Ese enfoque sigue siendo eficaz, pero no siempre es necesario. Los modelos de lenguaje grandes modernos a menudo responden bien solo con instrucciones cuidadosamente formuladas: sin entrenamiento, sin corpus etiquetado y sin GPU. Esa práctica se conoce como ingeniería de prompts y se ha convertido en una de las habilidades más prácticas dentro de los stacks de procesamiento del lenguaje natural actuales.
Dos formas de dirigir un modelo
Tanto el ajuste fino como la ingeniería de prompts buscan el mismo objetivo: un comportamiento útil del modelo, pero mediante métodos opuestos.
El ajuste fino modifica los pesos del modelo. La inducción por prompts no altera los pesos, sino que proporciona instrucciones y contexto más claros para que el modelo aplique con mayor precisión lo que ya sabe. Modelos como los sistemas de clase GPT han absorbido tanto texto que gran parte de su capacidad ya está latente; la inducción por prompts suele servir para desbloquear esa capacidad específica. La implicación práctica es la velocidad: los equipos pueden probar cambios en el comportamiento en cuestión de minutos, en lugar de esperar a que se complete un proceso de ajuste fino.
from openai import OpenAI
client = OpenAI()response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[
{"role": "system", "content": "You are a helpful sentiment classifier. Respond with only 'positive' or 'negative'."},
{"role": "user", "content": "I loved this movie"}
]
)print(response.choices[0].message.content)
Inducción por prompts de tipo zero-shot vs few-shot
Una decisión inicial en el diseño es determinar cuántos ejemplos, si es que hay alguno, mostrar antes de la tarea real.
Un prompt de tipo cero-shot describe la tarea y confía únicamente en el entrenamiento previo. Esto funciona sorprendentemente bien para tareas comunes como el etiquetado de sentimientos o la simple resumen. Un prompt de tipo few-shot muestra primero algunos pares entrada-salida, lo que orienta el formato, el tono y la gestión de casos extremos, especialmente en trabajos inusuales o específicos de un dominio. Cada ejemplo consume tokens, lo que aumenta los costos y reduce el espacio disponible para la entrada real. Mantener los conjuntos de few-shot cortos y representativos suele ser mejor que incluir muchos pares casi idénticos.
prompt = """
Classify the sentiment of each review as positive or negative.
Review: "Absolutely fantastic, exceeded expectations!"
Sentiment: positiveReview: "Complete waste of money, broke in a week."
Sentiment: negativeReview: "I loved this movie"
Sentiment:
"""response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[{"role": "user", "content": prompt}]
)print(response.choices[0].message.content)
Anatomía de un buen prompt
Más allá de la elección entre tipo cero-shot o few-shot, una estructura fiable resulta útil cuando los prompts se utilizan en aplicaciones reales y no solo para preguntas puntuales.
Asignar un papel claro establece el tono y la perspectiva. Una instrucción específica elimina la ambigüedad sobre el resultado esperado. Separar el contexto o los datos de entrada de las instrucciones ayuda al modelo a distinguirlos. Reglas de formato explícitas —por ejemplo, JSON con claves nombradas— hacen que las respuestas sean más fáciles de analizar que esperar un texto libre y coherente. Unos pocos ejemplos bien elegidos pueden mejorar aún más el comportamiento del modelo cuando la tarea es inusual.
Técnicas de formulación de preguntas que vale la pena conocer
Varios patrones destacan para tareas más complejas:
- Formulación de preguntas tipo cadena de pensamiento: pedir al modelo que razone paso a paso antes de dar la respuesta final; esto suele ser útil en problemas matemáticos y en lógica de múltiples pasos.
- Formulación de preguntas con asignación de rol: asignar una personalidad (“Usted es un auditor senior de seguridad”) para darle profundidad y estilo a la respuesta.
- Restricciones de formato de salida: solicitar JSON o XML cuando otro sistema debe procesar la respuesta.
Cuando los prompts no son suficientes
Los prompts tienen límites claros. No pueden inventar hechos que el modelo nunca haya visto, están limitados por la ventana de contexto, y para tareas específicas de gran volumen, un modelo ajustado a medida suele ser más económico y consistente que ejecutar repetidamente un prompt delicado millones de veces. Muchos sistemas en producción combinan ambos enfoques: se ajusta a medida la tarea principal repetida, y luego se añaden prompts para lograr flexibilidad y manejar casos especiales. Considere los prompts como la superficie de control y el ajuste a medida como una mejora en capacidad cuando el mero control ya no permite escalar.
A dónde conduce esto
La ingeniería de prompts acorta el camino desde una idea hasta un prototipo funcional: tareas que antes requerían datos etiquetados y entrenamiento pueden a menudo resolverse en minutos con un prompt adecuado. Sin embargo, el uso de prompts por sí solo sigue teniendo limitaciones, especialmente cuando las respuestas deben utilizar información con la que el modelo nunca se entrenó.
Ese siguiente paso —búsqueda por significado en lugar de palabras clave y posterior uso del texto recuperado para generar respuestas— corresponde al ámbito de los embeddings y la generación mejorada mediante recuperación de información (RAG).