0Pricing
AI Prompt Engineering · Lección

Prompting de cadena de pensamiento

Induzca un razonamiento paso a paso.

Prompting de cadena de pensamiento es una lección gratuita de AI Prompt Engineering en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de AI Prompt Engineering, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de AI Prompt Engineering incluye 4 lecciones en total.

El razonamiento como presupuesto de tokens

El prompting de Chain-of-thought (CoT) obtiene pasos de razonamiento intermedios antes de la respuesta final. La idea clave es que los transformers realizan una cantidad fija de cómputo por token, por lo que permitir que el modelo genere tokens de razonamiento le concede, en la práctica, más capacidad de cómputo secuencial para llegar a la respuesta.

Forzar una respuesta inmediata limita el cómputo disponible para un problema difícil; CoT elimina ese límite al distribuir el cómputo entre los tokens generados.

# Direct: model must compute everything before the first token
DIRECT = 'Q: ' + q + '\nA:'
# CoT: model can use tokens as scratch space
COT = 'Q: ' + q + '\nA: Let us reason step by step.'

CoT zero-shot

La famosa frase desencadenante «Let us think step by step» (Kojima et al., 2022) obtiene razonamiento sin ejemplos. Funciona porque los modelos ajustados mediante instrucciones han interiorizado el patrón de que esa frase precede a una solución desarrollada.

El CoT zero-shot es económico y sorprendentemente eficaz, pero la calidad de su razonamiento es menos controlable que la del CoT few-shot con ejemplos seleccionados.

def zero_shot_cot(question):
    stage1 = llm('Q: ' + question + '\nA: Let us think step by step.')
    # Extract the final answer in a second, constrained call
    stage2 = llm(stage1 + '\nTherefore, the final answer is:')
    return parse_answer(stage2)

CoT few-shot

El CoT few-shot (Wei et al., 2022) proporciona ejemplos que incluyen la traza de razonamiento, no solo la respuesta. Esto enseña tanto cómo razonar como el formato deseado, lo que produce cadenas más fiables y coherentes que el método zero-shot.

Seleccione ejemplos cuyo estilo, granularidad y longitud de razonamiento coincidan con lo que desea que se replique. Un razonamiento incoherente en los ejemplos produce cadenas incoherentes.

FS_COT = (
    'Q: Roger has 5 balls, buys 2 cans of 3. How many balls?\n'
    'A: 5 + 2*3 = 5 + 6 = 11. The answer is 11.\n\n'
    'Q: ' + question + '\nA:'
)

Separación del razonamiento y la respuesta

Haga siempre que la respuesta final sea extraíble automáticamente: termine la cadena con un marcador fijo (por ejemplo, The answer is X o un campo JSON). Analizar cadenas de texto libre es frágil.

En productos destinados a usuarios, puede ocultar la cadena y mostrar únicamente la respuesta analizada, manteniendo el razonamiento como borrador interno.

import re

def extract(chain):
    m = re.search(r'[Tt]he answer is\s*(.+?)[.\n]', chain)
    if not m:
        raise ValueError('no answer marker found')
    return m.group(1).strip()

La fidelidad no está garantizada

Una salvedad fundamental: la cadena verbalizada puede no reflejar el cómputo real del modelo. Los estudios demuestran que los modelos pueden producir razonamientos plausibles que racionalizan a posteriori una respuesta impulsada por sesgos ocultos (por ejemplo, la posición de una opción).

No trate el CoT como una explicación fiel ni como un registro de auditoría. Mejora la exactitud en muchas tareas, pero no permite observar el mecanismo real del modelo.

# Faithfulness probe: perturb an irrelevant cue (e.g., always make
# option A correct in the few-shot). If the chain still 'justifies'
# choosing A, the stated reasoning is unfaithful to the real cause.

Configuración de decodificación para CoT

Para obtener una única cadena determinista, una temperatura baja reduce la varianza. Sin embargo, el CoT combina muy bien con el muestreo: con una temperatura moderada puede generar varias cadenas diversas y agregarlas (como se explica en self-consistency).

Evite la decodificación greedy cuando pretenda muestrear varias rutas; greedy elimina la diversidad e impide la agregación.

single = llm(COT, temperature=0.0)            # one stable chain
paths  = [llm(COT, temperature=0.7) for _ in range(10)]  # diverse

Razonamiento estructurado y tabular

Para problemas complejos, imponga estructura a la cadena: pasos numerados, una tabla de estados o una separación entre planificación y ejecución. La estructura reduce los pasos omitidos y facilita la verificación del estado intermedio.

Los enfoques asistidos por programas van más allá: generan código ejecutable como razonamiento y delegan la aritmética en un intérprete, eliminando toda una clase de errores de cálculo.

PAL = (
    'Solve by writing Python. Q: ' + q + '\n'
    'A:\ndef solve():\n'
    '    # the model writes code here, then we exec() it\n'
)
# Offload arithmetic to a deterministic interpreter

Longitud, coste y latencia

El CoT multiplica los tokens de salida, lo que aumenta el coste y la latencia. En elementos sencillos, esta sobrecarga no aporta nada; en los difíciles, es esencial. Un patrón pragmático es el razonamiento adaptativo: active CoT solo cuando una estimación económica de la dificultad o una respuesta directa con baja confianza lo justifique.

En los modelos de razonamiento con pensamiento incorporado, en cambio, se controla un presupuesto de esfuerzo de razonamiento en lugar de solicitar la cadena directamente.

def adaptive(question):
    direct = llm('Q: ' + question + '\nA (answer only):', temperature=0)
    if confidence(direct) > 0.85:
        return direct
    return zero_shot_cot(question)  # escalate to reasoning only if needed

CoT en modelos nativos de razonamiento

Los modelos de razonamiento modernos realizan automáticamente una deliberación interna prolongada. Introducir instrucciones extensas como Let us think step by step puede resultar redundante o incluso contraproducente, ya que interfiere con su proceso de razonamiento aprendido.

Para estos modelos, prefiera descripciones concisas de la tarea y requisitos explícitos sobre el formato de respuesta, y ajuste el parámetro reasoning-effort en lugar de crear cadenas manualmente.

# Reasoning-native model: let it think, just constrain the output
resp = reasoning_model(
    prompt=question,
    reasoning_effort='medium',
    output_format='Final answer on the last line as: ANSWER=<x>'
)

Cuando CoT resulta contraproducente

CoT puede perjudicar el rendimiento en tareas en las que la deliberación prevalece sobre la intuición correcta, en tareas sencillas de reconocimiento de patrones o cuando verbalizar el razonamiento introduce errores que el modelo no cometería implícitamente. También amplía la superficie de ataque para la inyección de prompts dentro de cadenas largas.

Compare CoT con las respuestas directas para cada tarea; nunca dé por hecho que los prompts de razonamiento son beneficiosos de forma universal.

def should_use_cot(task_acc_cot, task_acc_direct, cot_cost_mult):
    gain = task_acc_cot - task_acc_direct
    # Only adopt CoT if accuracy gain justifies the token multiplier
    return gain > MIN_GAIN and gain / cot_cost_mult > MIN_EFFICIENCY

Llevar CoT a producción

CoT en producción: seleccione ejemplos coherentes (o confíe en el razonamiento nativo del modelo), exija un marcador de respuesta fácil de analizar, muestree varias cadenas para los elementos difíciles, valide la aritmética mediante la ejecución de código cuando sea posible y condicione el razonamiento a una estimación de dificultad para controlar los costes.

Registre las cadenas para analizarlas sin conexión, pero nunca las exponga como explicaciones de referencia.

def production_solve(q):
    if easy(q):
        return extract(llm(DIRECT_PROMPT.format(q=q), temperature=0))
    chains = [llm(FS_COT.format(q=q), temperature=0.7) for _ in range(8)]
    return majority_vote([extract(c) for c in chains])

Comprobación rápida

Razone sobre por qué CoT resulta útil y en qué casos no.

Recapitulación

Conclusiones clave:

  • CoT intercambia tokens adicionales por cómputo secuencial adicional; ayuda en tareas de varios pasos, pero no en las triviales.
  • CoT zero-shot utiliza una frase desencadenante; CoT few-shot proporciona ejemplos coherentes de razonamiento.
  • Termine siempre con un marcador de respuesta extraíble por máquina; las cadenas no son explicaciones fieles.
  • Muestree varias cadenas para los elementos difíciles, delegue la aritmética al código y condicione CoT a la dificultad.
  • En modelos con razonamiento nativo, prefiera prompts concisos más un presupuesto de esfuerzo de razonamiento en lugar de instrucciones extensas sobre las cadenas.

Preguntas frecuentes

¿La lección «Prompting de cadena de pensamiento» es gratis?

Sí — el texto completo de «Prompting de cadena de pensamiento» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de AI Prompt Engineering, actualiza a CoddyKit PRO. El curso de AI Prompt Engineering incluye 4 lecciones en total.

¿Qué aprenderé en «Prompting de cadena de pensamiento»?

Induzca un razonamiento paso a paso. Practicas AI Prompt Engineering con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar AI Prompt Engineering?

No se requiere experiencia previa. AI Prompt Engineering en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.

¿Cuánto tiempo toma la lección «Prompting de cadena de pensamiento»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de AI Prompt Engineering?

Sí. Cada lección de AI Prompt Engineering incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Prompting de cadena de pensamiento
  2. Muestreo de autoconsistencia
  3. Exploración de árboles de pensamiento
  4. Cuándo ayudan los prompts de razonamiento
← Volver a AI Prompt Engineering