Definición
Chain of Thought (CoT) —cadena de pensamiento— es una técnica de prompting que consiste en pedir explícitamente al modelo que razone paso a paso antes de dar la respuesta final. En lugar de pedir directamente "¿cuál es la respuesta?", se le pide "explica tu razonamiento paso a paso y luego da la respuesta".
Descubierta por Wei et al. (Google) en 2022, fue uno de los hallazgos empíricos más sorprendentes de la era de los LLMs: un cambio trivial en el prompt mejora dramáticamente el rendimiento del mismo modelo en tareas de razonamiento (matemáticas, lógica, multi-step questions) — sin tocar pesos ni reentrenar.
Es la base intelectual de los reasoning models modernos (o1, DeepSeek R1, Claude Extended Thinking), aunque estos llevan el concepto mucho más lejos con entrenamiento dedicado y cadenas larguísimas.
Cómo funciona
La técnica más simple es añadir al prompt una frase mágica:
"Piensa paso a paso antes de responder."
O en inglés (a menudo más efectivo en modelos entrenados mayoritariamente en inglés):
"Let's think step by step."
Eso solo, sin más, mejora la calidad del razonamiento del modelo en problemas multi-step. Por qué funciona técnicamente:
- El modelo genera tokens secuencialmente. Si le pides solo la respuesta final, salta directamente a producirla, lo cual limita su capacidad de "computar" lo necesario.
- Al pedirle que razone primero, expande su computación sobre más tokens, dándole "espacio mental" para descomponer el problema, verificar pasos, ajustar.
- Cada token de razonamiento intermedio se condiciona en los anteriores, permitiendo build-up de razonamiento complejo.
Es esencialmente test-time compute scaling: el modelo dedica más tokens (más cómputo) al problema antes de comprometerse con una respuesta.
Variantes principales
A lo largo de los años se han desarrollado refinamientos:
- Zero-shot CoT: simplemente añadir "piensa paso a paso" al prompt sin ejemplos. La forma más simple.
- Few-shot CoT: dar al modelo 2-5 ejemplos resueltos paso a paso antes de la pregunta nueva. Aún más efectivo que zero-shot.
- Self-consistency: generar varias cadenas de razonamiento (con temperature > 0) y elegir la respuesta más frecuente entre ellas. Mejora robustez.
- Tree of Thought (ToT): explorar múltiples ramas de razonamiento como un árbol, con backtracking. Caro pero potente.
- Graph of Thought (GoT): razonamiento como grafo con relaciones explícitas.
- Plan-and-Solve: pedir primero un plan, luego ejecutar paso a paso.
- Reflexion: añadir auto-crítica y revisión tras cada intento.
- ReAct: combinar razonamiento + acciones de herramientas (base de agents).
Ejemplo práctico
Pregunta a un LLM:
"Un comerciante de IMDICA compra 240 cajas a 45€ cada una, las vende con 35% de margen, paga 8% IVA repercutido y 5% comisión a Pedro su comercial. ¿Cuánto gana neto el comerciante por toda la operación?"
Sin CoT (respuesta directa):
"Aproximadamente 2.500€." ← a menudo erróneo
Con CoT (añadiendo "piensa paso a paso"):
1. Coste total: 240 × 45 = 10.800€
2. Precio venta unitario: 45 × 1.35 = 60.75€
3. Venta total: 240 × 60.75 = 14.580€
4. IVA repercutido a pagar (8% sobre venta): 14.580 × 0.08 = 1.166,40€
5. Comisión Pedro (5% sobre venta): 14.580 × 0.05 = 729€
6. Ingreso neto: 14.580 - 1.166,40 - 729 - 10.800 = 1.884,60€
Respuesta: el comerciante gana 1.884,60€ netos.
Mismo modelo, mismo problema, respuesta correcta gracias a un cambio trivial en el prompt.
Few-shot CoT
Más potente aún: dar ejemplos resueltos en el prompt:
Ejemplo 1:
P: Si compro 10 unidades a 5€ con 10% descuento, ¿cuánto pago?
R: Coste sin descuento = 10 × 5 = 50€. Descuento = 50 × 0.1 = 5€. Total = 45€.
Ejemplo 2:
P: Si vendo a 20€ con margen del 25%, ¿cuál es mi coste?
R: Precio = coste × 1.25. Coste = 20 / 1.25 = 16€.
Ahora resuelve:
P: [tu pregunta]
R:
El modelo aprende del patrón del razonamiento esperado y lo replica. Tasa de éxito mucho mayor.
CoT clásico vs Reasoning Models
A partir de 2024-2025, los reasoning models (o1, DeepSeek R1, Claude Extended Thinking) llevan CoT al extremo:
| Aspecto | CoT clásico | Reasoning model |
|---|---|---|
| Activación | Vía prompt | Capacidad nativa |
| Longitud razonamiento | 100-1.000 tokens | 1.000-50.000 tokens |
| Calidad | Limitada por entrenamiento general | Optimizada con RL específico |
| Auto-corrección | Mínima | Aprendida |
| Visibilidad | Visible siempre | Oculto (o1), opcional (Claude) |
| Coste | Bajo | Alto |
El reasoning model es CoT industrializado: el modelo viene "ya entrenado para razonar largo y bien", sin necesidad de prompting especial.
Cuándo aplicar CoT
Tareas que se benefician dramáticamente de CoT:
- Matemáticas: aritmética, álgebra, cálculo.
- Lógica: deducciones multi-step, problemas de inferencia.
- Programación: razonamiento sobre algoritmos, debugging.
- Análisis multi-criterio: "compara estas 3 opciones según X, Y, Z criterios y recomienda".
- Razonamiento causal: "¿por qué pasó X dado Y?".
- Planificación: descomponer un objetivo en pasos.
- Verificación de hechos complejos: "esto que dice este texto, ¿es consistente con esto otro?".
Tareas donde CoT NO aporta mucho (o empeora):
- Generación creativa pura (poesía, ficción).
- Preguntas factuales simples ("capital de Francia").
- Tareas conversacionales casuales.
- Traducción literal.
Errores comunes al hablar de CoT
- "Hace al modelo más inteligente": no añade conocimiento. Solo le da espacio para usar mejor lo que ya tiene.
- Esperar milagros en modelos pequeños: CoT funciona mejor en modelos grandes (>10B). En modelos pequeños el efecto es modesto.
- Usarlo siempre por defecto: para preguntas simples, multiplica el coste por 5-20× sin mejorar calidad.
- Confundir con "explicar la respuesta": CoT es razonar PARA llegar a la respuesta. Pedir explicación post-hoc es distinto y suele dar racionalizaciones, no razonamiento real.
- No verificar las cadenas: el modelo puede razonar bonito pero llegar a respuesta errónea. Verifica resultados, no solo razonamiento.
- Asumir que el razonamiento generado es "lo que realmente hizo": el modelo genera texto plausible, no necesariamente representa su proceso interno real.
Cuándo conviene aplicarlo
Sí, usa CoT cuando:
- Tu problema requiere razonamiento multi-step.
- Has detectado que el modelo se equivoca por saltarse pasos.
- Quieres trazabilidad del razonamiento para auditar.
- El coste por petición es asumible y la calidad importa.
No es la primera elección si:
- Tu tarea es generación creativa o conversacional.
- Necesitas latencia muy baja.
- Estás en un caso donde el modelo ya responde bien sin él.
- Trabajas con un reasoning model dedicado (ya razona solo, no necesita CoT explícito).
Referencias
- Wei et al. · Chain-of-Thought Prompting paper (2022) — el paper original que estableció CoT
- Kojima et al. · Large Language Models are Zero-Shot Reasoners — el paper que descubrió zero-shot CoT con "let's think step by step"
- Yao et al. · Tree of Thoughts — extensión moderna con exploración en árbol