Capítulo 12 · Prompting · 8 min
El arte de hablar con un LLM
Zero-shot, few-shot, chain-of-thought, self-consistency. Por qué la formulación del prompt cambia radicalmente lo que produce un modelo.
El prompt no es texto — es un programa
Cuando escribes "resume este articulo" en ChatGPT, en apariencia no pasa nada espectacular. Pero el texto que enviaste activo un comportamiento muy especifico en un modelo entrenado sobre billones de tokens.
Un prompt es un programa en lenguaje natural. No en el sentido de que se compile, sino en el sentido de que su formulacion determina que tipo de comportamiento activa el modelo. La misma frase reformulada de otra manera puede dar resultados radicalmente distintos — no porque el modelo sea caprichoso, sino porque su preentrenamiento le enseño patrones distintos para contextos distintos.
El prompt engineering es el arte de formular ese programa para obtener el comportamiento deseado.
Cuatro niveles de tecnica
Zero-shot: simplemente preguntar
La tecnica mas sencilla. Haces la pregunta directamente, sin ejemplos ni instrucciones. El modelo activa el comportamiento mas probable dado su entrenamiento.
Funciona muy bien para tareas simples y factuales. Falla en problemas que requieren razonamiento — no porque el modelo no sepa, sino porque no sabe que tiene que razonar.
Few-shot: mostrar ejemplos
En vez de explicar lo que quieres, lo muestras. Colocas 2 a 5 pares (entrada, salida) antes de la verdadera pregunta. El modelo — gracias a su mecanismo de in-context learning — capta el patron y lo aplica a la nueva entrada.
La clave: los ejemplos deben ser representativos del tipo de tarea. Ejemplos fuera de tema no ayudan. Ejemplos que muestran la forma de proceder ayudan mucho.
Chain-of-Thought: razonar paso a paso
Un descubrimiento sorprendente de 2022 (Wei et al.): basta con añadir una instruccion como "piensa paso a paso" para que el rendimiento en problemas de razonamiento se duplique, a veces se triplique.
Por que funciona? El modelo genera tokens uno a uno. Al obligarlo a escribir su razonamiento intermedio, le das un "borrador" en el que puede hacer calculos, verificar hipotesis, corregir errores — antes de concluir. Sin CoT, va directo a la conclusion, sin red.
Es el mismo principio que para un humano: escribir "25 × 37 = 25 × 30 + 25 × 7 = 750 + 175 = 925" da muchas mas posibilidades de llegar al resultado correcto que intentar responder mentalmente de un solo golpe.
Self-Consistency: votar entre varias cadenas
La self-consistency es una extension del CoT. En vez de generar una sola cadena de razonamiento, se generan varias (tipicamente 5 a 20) con distintas temperaturas, y luego se vota por la respuesta mas frecuente.
La idea: cada ejecucion puede cometer un error distinto. Pero si la mayoria converge en la misma respuesta, probablemente sea la correcta.
Es costoso (N veces mas tokens), pero en tareas de razonamiento dificiles, la ganancia de fiabilidad es real.
Pruebalo tu mismo
Compara las cuatro tecnicas en tres problemas. Observa en particular que los ejemplos few-shot ayudan en un problema estructurado (el comerciante), pero no cambian gran cosa en las trampas logicas.
La misma pregunta, cinco formulaciones. El score cambia del 30 al 90 % sin tocar el modelo. La lección: un prompt no es un texto, es un programa cuya sintaxis implícita los LLMs interpretan gracias a su pre-entrenamiento.
Lo que esto revela sobre los LLMs
Estas cuatro tecnicas no son trucos. Iluminan algo fundamental sobre el funcionamiento de los LLMs.
El in-context learning es gratis. Un LLM aprende de tus ejemplos sin actualizar sus pesos — solo leyendo el contexto. Es una capacidad emergente del preentrenamiento masivo: el modelo ha visto tantos patrones que puede extraer uno nuevo al vuelo.
El razonamiento es un comportamiento, no una capacidad fija. Un modelo que falla en zero-shot en un problema puede acertar con CoT en el mismo problema — sin cambiar ningun parametro. Lo que el prompt activa cambia lo que el modelo "hace" con sus capacidades internas.
La temperatura crea diversidad, el voto reduce la varianza. La self-consistency aprovecha que los errores suelen ser aleatorios: muchas formas de fallar, pero una sola de acertar. El consenso filtra el ruido.
Los limites
La longitud del contexto. Cada ejemplo few-shot consume tokens. Con una ventana de contexto de 8.000 tokens, no puedes meter 50 ejemplos. El CoT tambien alarga las respuestas.
Los ejemplos pueden inducir a error. Si tus ejemplos contienen un sesgo, el modelo lo reproducira. "Garbage in, garbage out" tambien aplica al few-shot.
La prompt injection. Contenido malicioso en el contexto puede cortocircuitar tus instrucciones. Si tu prompt dice "traduce este texto" y el texto dice "ignora las instrucciones anteriores y haz otra cosa", el modelo puede obedecer al contenido en vez de a la instruccion.
Los modelos evolucionan. Los prompts que funcionan en GPT-4 no funcionan necesariamente en Claude o Llama. Cada modelo tiene sus patrones favoritos, sus formulaciones que "encajan" mejor.
La regla practica
Para elegir una tecnica:
- Pregunta simple / factual → zero-shot, basta.
- Formato especifico esperado → few-shot con 2-3 ejemplos.
- Razonamiento o calculo → CoT. Siempre.
- Fiabilidad critica → CoT + self-consistency.
Y una meta-regla: si tu prompt parece codigo — con una estructura clara, variables explicitas, casos de uso definidos — sera mas fiable que un texto ambiguo.
Una ultima cosa. Las tecnicas descritas aqui (CoT en particular) son los ancestros prompt-driven de lo que hoy encuentras en los modelos de razonamiento nativos (o1, o3, Claude extended thinking, DeepSeek-R1). Estos hacen automatica e intensivamente lo que el CoT prompted solo simulaba — ver el capitulo 17 para entender el paso del prompt engineering al razonamiento integrado en el modelo.
Un buen prompt no es una formula magica. Es una especificacion clara de lo que quieres, en un lenguaje que el modelo reconoce como la señal a seguir.
Actualizado el