31  Prompting e in-context learning

Dónde estamos. Seguimos en la Parte V (usar el modelo). El capítulo anterior trató cómo decodifica; este trata qué le metes en el prompt. Veremos el fenómeno más asombroso de los LLM —aprender de unos ejemplos en el contexto, sin tocar un solo peso—, qué lo hace funcionar de verdad (con un puente a la interpretabilidad: las cabezas de inducción), las técnicas de razonamiento (chain-of-thought, self-consistency, tree-of-thoughts) y los límites honestos del prompting.

31.1 La idea en una frase

Un LLM puede aprender una tarea a partir de unos pocos ejemplos en su propio contexto, en tiempo de inferencia y sin ningún paso de entrenamiento —pero el prompting elicita capacidades que ya tiene, no le añade conocimiento—.

31.2 Conceptos clave y su papel en el transformer

Antes de entrar en detalle, definimos los términos de este capítulo y para qué sirve cada uno dentro de un transformer:

  • In-context learning (ICL). Definición: resolver una tarea a partir de ejemplos en el propio prompt, sin actualizar pesos. En el transformer: aprendizaje en tiempo de inferencia; elicita capacidades, no las añade.
  • Zero / one / few-shot. Definición: dar cero, uno o varios ejemplos en el contexto. En el transformer: gradúa cuánta “demostración” cabe en la ventana para fijar la tarea.
  • Cabezas de inducción. Definición: cabezas de atención que completan patrones “[A][B]…[A]→[B]”. En el transformer: el mecanismo candidato detrás del ICL —emparejan el prefijo y copian lo que vino después—.
  • Chain-of-Thought (CoT). Definición: pedir al modelo que escriba los pasos intermedios antes de responder. En el transformer: despliega el cómputo en tokens → mejora el razonamiento multi-paso (emergente con la escala).
  • Self-consistency. Definición: muestrear varias cadenas de razonamiento y votar la mayoritaria. En el transformer: cancela los errores aleatorios de una sola cadena.
  • Tree-of-Thoughts (ToT). Definición: explorar un árbol de pasos con búsqueda y retroceso. En el transformer: añade planificación/búsqueda a la generación lineal.
  • Fragilidad del prompt (orden / formato). Definición: sensibilidad del resultado a cambios cosméticos del prompt. En el transformer: avisa de que mucha “ganancia” puede ser suerte de formato, no capacidad.
  • Prompt injection. Definición: instrucciones hostiles coladas como si fueran datos. En el transformer: explota que el LLM no separa datos de instrucciones.

Con esto en mente, vamos por partes.

31.3 In-context learning: aprender sin reentrenar

Lo destapó GPT-3 (Brown et al. 2020): dándole en el prompt unos pocos ejemplos de una tarea, el modelo la resuelve sin ninguna actualización de pesos —“las tareas y las demostraciones se especifican puramente como texto”—. Según cuántos ejemplos das:

  • Zero-shot: solo la descripción de la tarea, sin ejemplos.
  • One-shot: un ejemplo.
  • Few-shot: varios (los que quepan en la ventana de contexto).

Lo asombroso es que esto es aprendizaje en tiempo de inferencia: el modelo no cambia; solo “se da cuenta”, dentro de una misma pasada, de qué le estás pidiendo.

🧩 Analogía — la nota adhesiva, no el curso. Es como darle a un empleado nuevo y espabilado un par de casos resueltos en un post-it en vez de mandarlo a un curso de formación. No le recableas el cerebro (no hay actualización de pesos): le enseñas el patrón y lo aplica al vuelo.

31.4 Qué hace funcionar al ICL (lo honesto y sorprendente)

Aquí viene lo que rompe la intuición. Uno supondría que el ICL funciona porque el modelo aprende el mapeo correcto entrada→etiqueta de los ejemplos. Pues no del todo:

Advertencia⚠ Las etiquetas correctas importan menos de lo que crees

Min et al. (Min et al. 2022) mostraron que sustituir las etiquetas de los ejemplos por etiquetas ALEATORIAS apenas baja el rendimiento (caída de 0-5 %, en 12 modelos incluido GPT-3). Lo que de verdad importa es el formato, el espacio de etiquetas y la distribución del texto de entrada —no el emparejamiento correcto—. Es decir: los ejemplos le enseñan al modelo qué tipo de tarea es y cómo responder, más que la respuesta en sí. (Matiz honesto: Yoo et al. (Yoo et al. 2022) replican que esto depende de la configuración —con plantillas más escuetas o modelos pequeños, las etiquetas correctas sí importan—; tómalo como matizado, no absoluto.)

31.4.1 El puente a la interpretabilidad: cabezas de inducción

¿Hay un mecanismo identificable detrás del ICL? El candidato más fuerte son las cabezas de inducción (Olsson et al. 2022), que ya asomaron en el Cap. 5. Son cabezas de atención que implementan una regla de completar patrones:

“[A][B] … [A] → [B]”: “la última vez que vi A, le siguió B; ahora veo A otra vez → predigo B”.

Se construye con dos piezas (del marco de circuitos (Elhage et al. 2021)): una cabeza de token previo + la cabeza de inducción, combinando emparejar el prefijo (atender a dónde apareció antes el token actual) y copiar (subir el logit de lo que vino después).

🧩 Analogía — el autocompletado que casa patrones. Una cabeza de inducción es como un autocompletado con memoria: recuerda “la última vez que vi esto, vino aquello” y lo copia. Esa simple regla, repetida, explica buena parte de por qué el modelo “pilla” un patrón de tus ejemplos.

Nota🧠 Curiosidad — nacen de golpe, en un cambio de fase

Lo fascinante (y conecta con nuestro Cap. 24, grokking): las cabezas de inducción se forman de golpe, en un cambio de fase durante el entrenamiento que coincide con un salto brusco en la capacidad de ICL —visible como un “bache” en la curva de pérdida— (Olsson et al. 2022). Honestidad de los propios autores: el caso de que las cabezas de inducción expliquen el ICL es “más fuerte para modelos pequeños que para los grandes” (en los grandes la evidencia es circunstancial).

¿Y qué es, en el fondo, el ICL? No está zanjado. Conviven varias explicaciones, parcialmente reconciliables: inferencia bayesiana implícita —inferir un concepto latente común a los ejemplos— (Xie et al. 2022); descenso de gradiente implícito —una capa de atención lineal equivale a un paso de gradiente, “mesa-optimización”— (Oswald et al. 2023); y la evidencia de que los transformers aprenden in-context clases de funciones enteras (lineales, árboles…) (Garg et al. 2022). Honesto: las dos últimas se han probado sobre todo en settings lineales/de juguete, no en LLM de frontera.

31.5 Chain-of-Thought: pedirle que razone en voz alta

Para tareas de varios pasos (matemáticas, lógica), una técnica simple dispara el rendimiento: pedirle al modelo que muestre los pasos intermedios antes de la respuesta.

  • Chain-of-Thought (CoT) (Wei et al. 2022): incluir en los ejemplos el razonamiento paso a paso. En GSM8K (problemas de mates) con PaLM-540B, pasó de 17,9 % (prompting normal) a 56,9 %. Clave honesta: es una capacidad emergente con la escala (~100 000 M de parámetros); en modelos pequeños no ayuda —producen cadenas fluidas pero ilógicas—.
  • Zero-shot CoT (Kojima et al. 2022): ni siquiera hacen falta ejemplos; basta añadir “Pensemos paso a paso”. En GSM8K subió de 10,4 % a 40,7 % solo con esa frase.

🧩 Analogía — mostrar el desarrollo. CoT es como en un examen de mates: en vez de soltar el resultado a bote pronto, escribes el desarrollo. Desglosar el problema en pasos hace que cada paso sea más fácil y reduce los errores de “cálculo mental”.

  • Self-consistency (Wang et al. 2023): en vez de una sola cadena (greedy), muestrea varias cadenas de razonamiento distintas y vota la respuesta mayoritaria. Gran mejora sobre CoT a secas (+17,9 % en GSM8K con PaLM-540B).
  • Tree-of-Thoughts (ToT) (Yao, Yu, et al. 2023): explora un árbol de pasos de razonamiento con búsqueda, auto-evaluación y retroceso (backtracking). En el juego del 24, GPT-4 pasó de 4 % (CoT) a 74 % (ToT). Brilla en tareas de planificación/búsqueda.

(Una variante, ReAct (Yao, Zhao, et al. 2023), intercala razonamiento con acciones —usar herramientas—; es el puente al Cap. 32, agentes.)

🧩 Analogía — el voto mayoritario. Self-consistency es pedir a varias personas que resuelvan el problema por separado y quedarse con la respuesta en la que coincide la mayoría: los errores aleatorios de cada una se cancelan, la respuesta correcta tiende a repetirse.

Advertencia⚠ Honesto — el razonamiento escrito puede no ser el real

CoT ayuda sobre todo en tareas matemáticas/simbólicas/multi-paso, no en todo. Y hay un debate de fidelidad: el razonamiento que el modelo escribe puede no reflejar lo que de verdad lo lleva a la respuesta. Turpin et al. (Turpin et al. 2023) sesgaron el prompt (p. ej. que la respuesta correcta fuera siempre “(A)”); el modelo cambiaba su respuesta hacia el sesgo pero no lo mencionaba en su cadena —la racionalizaba—, con caídas de hasta 36 % de precisión. Es un debate activo: el CoT puede ser una racionalización post-hoc, no la huella del cálculo real.

31.6 Prompt engineering: lo práctico (y lo frágil)

El prompting funciona, pero es sorprendentemente frágil:

  • El orden de los ejemplos importa muchísimo (Lu et al. 2022): solo reordenar los mismos few-shot puede mover el rendimiento entre casi-SOTA y el azar (en SST-2, de >85 % a ~50 %). Y no desaparece con la escala.
  • El formato importa (Sclar et al. 2024): cambios cosméticos (separadores, mayúsculas, espacios) provocan hasta 76 puntos de diferencia de precisión. Mucha “ganancia” reportada puede ser suerte de formato, no capacidad.
  • Buenas prácticas: instrucciones claras, delimitadores/estructura, roles system/user.
  • (Los soft prompts —prefijos aprendidos por gradiente— se trataron en el Cap. 28; aquí hablamos de prompts de texto.)

31.7 Los límites del prompting

  • Fragilidad (orden, formato, redacción): hace difícil evaluar de forma fiable y sobreestima capacidades.
  • El techo: el prompting elicita lo que el modelo aprendió en el preentrenamiento, no añade conocimiento —la hipótesis de alineamiento superficial del Cap. 27 (Zhou et al. 2023)—.
  • Seguridad: los prompts hostiles pueden secuestrar la aplicación (prompt injection (Greshake et al. 2023)) porque el LLM difumina la línea entre datos e instrucciones —lo veremos en seguridad—.
  • Cuándo usar qué: prompting para elicitar capacidades y prototipar; fine-tuning (Cap. 28) para fijar formato/estilo o especializar; RAG (Cap. 31) para inyectar conocimiento externo o actualizado que el modelo no tiene.
Nota🧪 Pruébalo — tafagent

La capacidad de ICL nace, según (Olsson et al. 2022), en un cambio de fase donde se forman las cabezas de inducción. tafagent incluye un detector de fase de cabezas de inducción (basado en \(\Delta\gamma\)): te dice si un modelo ya cruzó esa transición —es decir, si cabe esperar que el few-shot le funcione bien— sin tener que reentrenarlo.

31.8 Resumen

  • ICL (Brown et al. 2020): aprender de ejemplos en el contexto sin actualizar pesos (zero/one/few-shot).
  • Qué lo impulsa (honesto): las etiquetas correctas importan menos que el formato y la distribución (Min et al. 2022) (matizado por (Yoo et al. 2022)); mecanismo candidato = cabezas de inducción (regla “[A][B]…[A]→[B]”, nacen en un cambio de fase) (Olsson et al. 2022); el qué es el ICL no está zanjado (Bayes / GD implícito / clases de funciones).
  • Razonamiento: CoT (emergente ~100B; 17,9→56,9 % GSM8K), zero-shot CoT (“pensemos paso a paso”), self-consistency (voto mayoritario), ToT (búsqueda con retroceso). Honesto: el CoT puede ser infiel (racionalización) (Turpin et al. 2023).
  • Práctica: frágil al orden (Lu et al. 2022) y al formato (Sclar et al. 2024).
  • Límites: elicita, no añade conocimiento (techo del preentrenamiento); prompt injection; prompting vs fine-tune vs RAG.

Siguiente (Capítulo 31): cuando el modelo necesita conocimiento que no tiene (hechos actuales, documentos privados), no basta el prompt: hay que recuperarlo y dárselo. Entramos en embeddings, búsqueda semántica y RAG.

31.9 Ejercicios

  1. Sin gradientes. ¿Qué significa que el ICL ocurre “en tiempo de inferencia”? ¿En qué se diferencia de un fine-tuning?
  2. Etiquetas aleatorias. ¿Qué demostró Min et al. al barajar las etiquetas de los ejemplos? ¿Qué tres cosas sí importan entonces?
  3. Cabezas de inducción. Explica la regla “[A][B]…[A]→[B]” y por qué es un buen candidato a mecanismo del ICL. ¿Para qué modelos es más fuerte la evidencia?
  4. CoT y escala. ¿Por qué el chain-of-thought no ayuda a un modelo pequeño? ¿Qué es la self-consistency y por qué mejora?
  5. Fragilidad. Da dos formas en que un mismo prompt puede dar resultados muy distintos sin cambiar su contenido.
  6. Fidelidad. ¿Qué mostró Turpin et al. sobre la relación entre el razonamiento escrito y la respuesta real?

Referencias

Brown, Tom B. et al. 2020. «Language Models are Few-Shot Learners (GPT-3)». NeurIPS. https://arxiv.org/abs/2005.14165.
Elhage, Nelson et al. 2021. «A Mathematical Framework for Transformer Circuits». Transformer Circuits Thread (Anthropic). https://transformer-circuits.pub/2021/framework/index.html.
Garg, Shivam, Dimitris Tsipras, Percy Liang, y Gregory Valiant. 2022. «What Can Transformers Learn In-Context? A Case Study of Simple Function Classes». NeurIPS. https://arxiv.org/abs/2208.01066.
Greshake, Kai, Sahar Abdelnabi, Shailesh Mishra, Christoph Endres, Thorsten Holz, y Mario Fritz. 2023. Not What You’ve Signed Up For: Compromising Real-World LLM-Integrated Applications with Indirect Prompt Injection. https://arxiv.org/abs/2302.12173.
Kojima, Takeshi, Shixiang Shane Gu, Machel Reid, Yutaka Matsuo, y Yusuke Iwasawa. 2022. «Large Language Models are Zero-Shot Reasoners». NeurIPS. https://arxiv.org/abs/2205.11916.
Lu, Yao, Max Bartolo, Alastair Moore, Sebastian Riedel, y Pontus Stenetorp. 2022. «Fantastically Ordered Prompts and Where to Find Them: Overcoming Few-Shot Prompt Order Sensitivity». ACL. https://arxiv.org/abs/2104.08786.
Min, Sewon, Xinxi Lyu, Ari Holtzman, et al. 2022. «Rethinking the Role of Demonstrations: What Makes In-Context Learning Work?» EMNLP. https://arxiv.org/abs/2202.12837.
Olsson, Catherine et al. 2022. «In-context Learning and Induction Heads». Transformer Circuits Thread (Anthropic). https://arxiv.org/abs/2209.11895.
Oswald, Johannes von et al. 2023. «Transformers Learn In-Context by Gradient Descent». ICML. https://arxiv.org/abs/2212.07677.
Sclar, Melanie, Yejin Choi, Yulia Tsvetkov, y Alane Suhr. 2024. «Quantifying Language Models’ Sensitivity to Spurious Features in Prompt Design». ICLR. https://arxiv.org/abs/2310.11324.
Turpin, Miles, Julian Michael, Ethan Perez, y Samuel R. Bowman. 2023. «Language Models Don’t Always Say What They Think: Unfaithful Explanations in Chain-of-Thought Prompting». NeurIPS. https://arxiv.org/abs/2305.04388.
Wang, Xuezhi, Jason Wei, Dale Schuurmans, et al. 2023. «Self-Consistency Improves Chain of Thought Reasoning in Language Models». ICLR. https://arxiv.org/abs/2203.11171.
Wei, Jason, Xuezhi Wang, Dale Schuurmans, et al. 2022. «Chain-of-Thought Prompting Elicits Reasoning in Large Language Models». NeurIPS. https://arxiv.org/abs/2201.11903.
Xie, Sang Michael, Aditi Raghunathan, Percy Liang, y Tengyu Ma. 2022. «An Explanation of In-context Learning as Implicit Bayesian Inference». ICLR. https://arxiv.org/abs/2111.02080.
Yao, Shunyu, Dian Yu, Jeffrey Zhao, et al. 2023. «Tree of Thoughts: Deliberate Problem Solving with Large Language Models». NeurIPS. https://arxiv.org/abs/2305.10601.
Yao, Shunyu, Jeffrey Zhao, Dian Yu, et al. 2023. «ReAct: Synergizing Reasoning and Acting in Language Models». ICLR. https://arxiv.org/abs/2210.03629.
Yoo, Kang Min et al. 2022. «Ground-Truth Labels Matter: A Deeper Look into Input-Label Demonstrations». EMNLP. https://arxiv.org/abs/2205.12685.
Zhou, Chunting et al. 2023. «LIMA: Less Is More for Alignment». NeurIPS. https://arxiv.org/abs/2305.11206.