Jonatan Matajonmatum.com
conceptosnotasexperimentosensayos
© 2026 Jonatan Mata. All rights reserved.v2.1.1
Conceptos

Razonamiento en Cadena

Técnica de prompting que mejora el razonamiento de los LLMs al pedirles que descompongan problemas complejos en pasos intermedios explícitos antes de llegar a una conclusión.

evergreen#chain-of-thought#cot#reasoning#prompting#llm#problem-solving#self-consistency#tree-of-thoughts

¿Qué es?

Chain-of-Thought (CoT) es una técnica de prompt engineering que mejora dramáticamente la capacidad de razonamiento de los modelos de lenguaje grandes al pedirles que «piensen paso a paso». En lugar de saltar directamente a la respuesta, el modelo genera pasos intermedios de razonamiento que lo guían hacia conclusiones más precisas y verificables.

Introducido por Wei et al. en 2022, CoT demostró que los modelos grandes pueden resolver problemas de matemáticas, lógica y sentido común que antes fallaban consistentemente. La técnica funciona porque los LLMs predicen tokens secuencialmente — cuando generan pasos intermedios, cada paso proporciona contexto crucial para el siguiente, haciendo visible el proceso de razonamiento y permitiendo correcciones en tiempo real.

El impacto es significativo: en el benchmark GSM8K de problemas matemáticos, GPT-3 (175B) pasó de 17.7% de precisión con prompting estándar a 58.1% con CoT. En problemas de sentido común (CommonsenseQA), la mejora fue de 76.0% a 78.7%.

Variantes principales

Zero-shot CoT

La implementación más simple: agregar «Pensemos paso a paso» al final del prompt. Funciona sorprendentemente bien sin ejemplos:

# Prompt estándar
prompt = "Si una tienda tiene 15 manzanas y vende 7, ¿cuántas quedan?"
# Respuesta típica: "8" (sin mostrar el trabajo)
 
# Zero-shot CoT
prompt = """Si una tienda tiene 15 manzanas y vende 7, ¿cuántas quedan?
Pensemos paso a paso."""
# Respuesta típica: 
# "Empezamos con 15 manzanas.
# Vendemos 7 manzanas.
# 15 - 7 = 8
# Quedan 8 manzanas."

Few-shot CoT

Proporcionar ejemplos con razonamiento explícito antes de la pregunta objetivo:

prompt = """
Ejemplo: Si tengo 10 naranjas y como 3, ¿cuántas quedan?
Paso 1: Empiezo con 10 naranjas
Paso 2: Como 3 naranjas
Paso 3: 10 - 3 = 7
Respuesta: Quedan 7 naranjas.
 
Pregunta: Si una biblioteca tiene 45 libros y presta 18, ¿cuántos quedan?
"""

Self-Consistency CoT

Generar múltiples cadenas de razonamiento independientes y elegir la respuesta más frecuente. Mejora significativamente la precisión:

import openai
from collections import Counter
 
def self_consistency_cot(prompt, n_samples=5):
    responses = []
    for _ in range(n_samples):
        response = openai.chat.completions.create(
            model="gpt-4",
            messages=[{"role": "user", "content": f"{prompt}\nPensemos paso a paso."}],
            temperature=0.7  # Variabilidad para diferentes cadenas
        )
        responses.append(extract_final_answer(response.choices[0].message.content))
    
    # Votación mayoritaria
    return Counter(responses).most_common(1)[0][0]

En el benchmark GSM8K, self-consistency mejoró la precisión de CoT estándar de 58.1% a 74.4%.

Tree of Thoughts (ToT)

Explora múltiples ramas de razonamiento en paralelo, evaluando y podando caminos menos prometedores:

def tree_of_thoughts(problem, max_depth=3):
    def generate_thoughts(state, depth):
        if depth >= max_depth:
            return [evaluate_solution(state)]
        
        # Generar múltiples pensamientos candidatos
        thoughts = llm.generate_thoughts(state, n=3)
        
        # Evaluar cada pensamiento
        scored_thoughts = [(t, evaluate_thought(t)) for t in thoughts]
        
        # Seleccionar los mejores para continuar
        best_thoughts = sorted(scored_thoughts, key=lambda x: x[1], reverse=True)[:2]
        
        results = []
        for thought, score in best_thoughts:
            new_state = state + [thought]
            results.extend(generate_thoughts(new_state, depth + 1))
        
        return results
    
    return generate_thoughts([problem], 0)

Comparación de rendimiento

TécnicaGSM8K (matemáticas)CommonsenseQALatenciaCosto
Estándar17.7%76.0%1x1x
Zero-shot CoT58.1%78.7%2-3x2-3x
Few-shot CoT65.2%82.1%2-3x2-3x
Self-Consistency74.4%85.3%10-15x10-15x
Tree of Thoughts78.9%87.2%20-50x20-50x

Cuándo usar cada variante

Zero-shot CoT: Problemas simples a medianos, cuando el costo es una preocupación principal.

Few-shot CoT: Dominios específicos donde tienes ejemplos de alta calidad, problemas que requieren formato específico.

Self-Consistency: Problemas críticos donde la precisión es más importante que el costo, decisiones de alto impacto.

Tree of Thoughts: Problemas de planificación compleja, búsqueda creativa, cuando necesitas explorar múltiples enfoques.

Integración con agentes

Los agentes de IA utilizan CoT internamente para planificar acciones y usar herramientas. En function calling, CoT ayuda al modelo a decidir qué función llamar y con qué parámetros:

system_prompt = """
Eres un asistente que puede usar herramientas. Para cada solicitud:
1. Analiza qué información necesitas
2. Determina qué herramientas usar
3. Planifica la secuencia de llamadas
4. Ejecuta paso a paso
 
Herramientas disponibles: get_weather, send_email, search_web
"""
 
user_prompt = """
Necesito enviar un email a mi equipo sobre el clima de mañana en Madrid.
Pensemos paso a paso.
"""

Limitaciones y anti-patrones

Cuándo CoT puede empeorar el rendimiento

  • Problemas triviales: Para «2+2=?», CoT agrega complejidad innecesaria
  • Modelos pequeños: CoT requiere modelos >10B parámetros para ser efectivo
  • Dominios sin estructura lógica: Tareas puramente creativas o subjetivas

Anti-patrón: Razonamiento falso pero plausible

# Problema: El modelo puede generar pasos lógicos pero incorrectos
prompt = "¿Cuántos días hay en febrero de 2023?"
 
# Respuesta incorrecta pero plausible:
# "Paso 1: 2023 no es divisible por 4
# Paso 2: Por tanto, 2023 no es año bisiesto  
# Paso 3: Febrero en años no bisiestos tiene 28 días
# Respuesta: 28 días"
# 
# ERROR: 2023 SÍ tiene 28 días, pero el razonamiento sobre divisibilidad es correcto

Mitigación de alucinaciones

  • Verificar hechos básicos independientemente
  • Usar self-consistency para detectar inconsistencias
  • Implementar validación externa de pasos críticos

¿Por qué importa?

Chain-of-thought representa un cambio fundamental en cómo interactuamos con los LLMs — de «pregunta-respuesta» a «colaboración en el razonamiento». Para ingenieros senior construyendo sistemas de IA, dominar CoT es crítico porque:

Mejora la confiabilidad: Los pasos intermedios hacen auditable el proceso de decisión, crucial para aplicaciones de alto riesgo. Reduce costos a largo plazo: Aunque CoT usa más tokens por consulta, reduce iteraciones de debugging y refinamiento de prompts. Habilita casos de uso complejos: Problemas que antes requerían múltiples llamadas al modelo ahora se resuelven en una sola sesión de razonamiento estructurado.

La diferencia entre un sistema que «funciona a veces» y uno que «funciona consistentemente» a menudo está en la implementación correcta de CoT y sus variantes.

Referencias

  • [2201.11903] Chain-of-Thought Prompting Elicits Reasoning in Large Language Models — Wei et al., 2022. Paper original que introduce CoT.
  • [2203.11171] Self-Consistency Improves Chain of Thought Reasoning in Language Models — Wang et al., 2022. Técnica de votación mayoritaria.
  • [2305.10601] Tree of Thoughts: Deliberate Problem Solving with Large Language Models — Yao et al., 2023. Exploración de múltiples ramas de razonamiento.
  • Language Models Perform Reasoning via Chain of Thought — Google Research Blog, 2022. Explicación accesible de los hallazgos.
  • Prompt design strategies — Google AI for Developers. Guía práctica de implementación.
  • Chain-of-Thought Prompting — Learn Prompting, 2023. Tutorial con ejemplos prácticos.
  • [2210.03493] Automatic Chain of Thought Prompting in Large Language Models — Zhang et al., 2022. Automatización de la generación de ejemplos CoT.

Contenido relacionado

  • Ingeniería de Prompts

    Disciplina de diseñar instrucciones efectivas para modelos de lenguaje, combinando claridad, estructura y ejemplos para obtener respuestas consistentes y de alta calidad.

  • Modelos de Lenguaje de Gran Escala

    Redes neuronales masivas basadas en la arquitectura Transformer, entrenadas con enormes corpus de texto para comprender y generar lenguaje natural con capacidades emergentes como razonamiento, traducción y generación de código.

  • Agentes de IA

    Sistemas autónomos que combinan modelos de lenguaje con razonamiento, memoria y uso de herramientas para ejecutar tareas complejas de múltiples pasos con mínima intervención humana.

  • Llamada a Funciones

    Capacidad de los LLMs para generar llamadas estructuradas a funciones externas basándose en lenguaje natural, habilitando la integración con APIs, bases de datos y herramientas del mundo real.

  • Mitigación de Alucinaciones

    Técnicas para reducir la generación de información falsa pero plausible por parte de los LLMs, desde RAG hasta verificación factual y diseño de prompts.

Conceptos