Técnicas fundamentales

"Las técnicas que funcionan no son trucos secretos: son formas de darle al modelo lo que un buen colega también necesitaría."

Qué vas a aprender en este capítulo

En el capítulo 1 aprendiste las piezas de un prompt. Acá vienen las técnicas con evidencia: las que aparecen en papers, en las guías oficiales de los laboratorios de IA, y — más importante — las que vas a usar todas las semanas. Al terminar vas a saber:

Cada técnica suma una plantilla a tu biblioteca de prompts.

2.1 Few-shot: ejemplos en el prompt

💡 Intuición

Cuando entra alguien nuevo a trabajar a una tienda, hay dos formas de enseñarle a atender: explicarle el manual de servicio al cliente ("sea amable, sea eficiente")... o dejar que mire cómo la encargada atiende a tres clientes. Lo segundo funciona mejor, siempre. Tres atenciones reales transmiten el tono, el ritmo y los detalles que el manual nunca captura.

Few-shot prompting es eso: en vez de (o además de) describir la tarea, ponés 2-5 ejemplos resueltos de entrada→salida en el prompt, y al final tu caso real. "Zero-shot" es pedir sin ejemplos; "few-shot", con ejemplos.

📐 Fundamento

La capacidad de aprender de ejemplos en el prompt — sin reentrenar el modelo — se llama aprendizaje en contexto (in-context learning) y fue el hallazgo central del paper de GPT-3 (Brown et al. 2020, Language Models are Few-Shot Learners). El modelo no "estudia" tus ejemplos: detecta el patrón y lo continúa, que es exactamente lo que su entrenamiento lo optimizó a hacer.

Cuándo few-shot rinde más:

  • Tareas con formato de salida específico (clasificar, etiquetar, convertir formatos, estilo de redacción particular).
  • Tareas donde la instrucción verbal es ambigua pero el ejemplo no ("informal pero respetuoso" vs. verlo escrito).
  • Tareas repetitivas sobre muchos ítems: el costo de escribir 3 ejemplos se amortiza en cada uso.

Cómo elegir los ejemplos (esto importa tanto como ponerlos):

  1. Representativos y variados. Si clasificás comentarios en positivo/negativo/neutro, poné un ejemplo de cada clase — no tres positivos. El modelo imita la distribución que le mostrás.
  2. Incluí un caso difícil o limítrofe. Los casos fáciles el modelo los saca solo; el ejemplo del caso ambiguo es el que enseña dónde está tu frontera ("este comentario sarcástico cuenta como negativo").
  3. Formato idéntico entre ejemplos. Misma estructura, mismos delimitadores, mismo orden. Cualquier inconsistencia es ruido que el modelo puede imitar.
  4. Correctos. Parece obvio, pero un ejemplo con error le enseña el error. Revisalos como si fueran a un examen.

Prompt débil (zero-shot ambiguo):

Clasificá estos comentarios de clientes como positivos o negativos:
1. "La comida bien, pero esperé 40 minutos"
2. "¡Volveré!"
3. "Precio justo"

Prompt mejorado (few-shot con caso límite):

Clasificá cada comentario de cliente como POSITIVO, NEGATIVO o MIXTO.

Ejemplos:
Comentario: "Todo delicioso, la mejor pupusería de la zona"
Clasificación: POSITIVO

Comentario: "Pésimo servicio, no vuelvo"
Clasificación: NEGATIVO

Comentario: "Rico pero carísimo para lo que es"
Clasificación: MIXTO

Ahora clasificá:
1. "La comida bien, pero esperé 40 minutos"
2. "¡Volveré!"
3. "Precio justo"

Por qué es mejor: la primera versión ni siquiera contemplaba comentarios mixtos — el modelo habría forzado el comentario 1 en una de dos cajas, eligiendo al azar. El ejemplo de "rico pero carísimo" define la categoría MIXTO mejor que cualquier definición verbal.

⚠️ Trampa común

Ejemplos sesgados que el modelo imita a ciegas. Si tus tres ejemplos de few-shot tienen todos la respuesta "POSITIVO", muchos modelos van a sobre-clasificar como positivo lo que venga después: aprendieron de tu prompt que "casi todo es positivo". Lo mismo con la longitud: si tus ejemplos de resumen tienen todos 10 palabras, no esperés resúmenes de 50. El modelo imita TODO lo que muestran tus ejemplos — lo que querías enseñar y lo que se te coló sin querer.

2.2 Cadena de pensamiento: "pensá paso a paso"

💡 Intuición

En un examen de matemática, el profesor insiste: "no me des solo el resultado, mostrame el procedimiento". No es capricho — cuando escribís los pasos, te equivocás menos, porque cada paso se apoya en el anterior en lugar de saltar directo a una respuesta adivinada.

Chain-of-thought (CoT) o cadena de pensamiento es pedirle al modelo lo mismo: que escriba el razonamiento intermedio antes de la respuesta final. Los pasos escritos funcionan como memoria de trabajo: el modelo "ve" sus propios cálculos parciales y construye sobre ellos.

📐 Fundamento

La técnica fue documentada por Wei et al. (2022) en Chain-of-Thought Prompting Elicits Reasoning in Large Language Models: mostrar ejemplos con razonamiento intermedio (o simplemente agregar "pensemos paso a paso", variante de Kojima et al. 2022) mejoraba notablemente el desempeño en problemas de aritmética, lógica y sentido común. Una técnica emparentada, self-consistency (Wang et al. 2022), genera varias cadenas de razonamiento y se queda con la respuesta mayoritaria.

Pero atención al contexto de 2025-2026: los modelos razonadores modernos (las familias recientes de Claude, GPT y Gemini con "razonamiento extendido") ya hacen razonamiento interno automático antes de responder. Para estos modelos, agregar "pensá paso a paso" aporta poco o nada — el modelo ya lo hace, y mejor, por su cuenta.

¿Significa que CoT murió? No exactamente. Lo que cambió es dónde está el cuello de botella:

Situación ¿"Pensá paso a paso" ayuda?
Modelo razonador moderno, problema de lógica/matemática Poco: ya razona internamente
Modelo pequeño/rápido sin razonamiento extendido Sí, sigue ayudando
Querés ver el razonamiento para verificarlo o aprender de él Sí — pedí los pasos visibles aunque el modelo razone solo
Querés que siga TU procedimiento específico (el del curso, el de la norma) Sí — pero no pidás "paso a paso" genérico: dale los pasos

La lección general: con modelos modernos, lo que más rinde no es el conjuro "pensá paso a paso", sino claridad, contexto, ejemplos y criterios de éxito explícitos — todo lo del capítulo 1. CoT pasó de técnica estrella a herramienta de nicho.

Prompt débil (conjuro genérico a un modelo moderno):

Pensá paso a paso y resolveme este problema de física.

Prompt mejorado (pasos específicos, razonamiento visible con propósito):

Resolvé este problema de cinemática mostrando el procedimiento, porque
quiero estudiar de tu solución, no solo copiar el resultado.

Seguí exactamente este método (es el que usa mi profesor):
1. Listar datos conocidos con sus unidades.
2. Identificar la incógnita.
3. Elegir la ecuación y justificar por qué esa.
4. Sustituir con unidades y resolver.
5. Verificar que el resultado tenga sentido físico (orden de magnitud, signo).

Problema: <enunciado>

Por qué es mejor: no le pide al modelo que "piense" (ya piensa); le pide que muestre el razonamiento con el formato del curso, y declara el propósito (estudiar). El paso 5 — verificación de sentido — es además una de las mejores defensas contra errores numéricos.

📜 Historia

Entre 2022 y 2024, "Let's think step by step" fue probablemente la frase más pegada en prompts de todo el mundo, y con razón: en los benchmarks de la época la mejora era dramática. Los laboratorios tomaron nota y entrenaron a los modelos siguientes para razonar sin que se lo pidas: primero con fine-tuning sobre cadenas de razonamiento, después con modelos razonadores dedicados que generan "pensamiento" interno antes de responder. Es un patrón que se repite en este campo: las técnicas de prompting más efectivas terminan absorbidas dentro del modelo. Por eso este libro insiste en los fundamentos (claridad, contexto, ejemplos, evaluación) más que en conjuros — los fundamentos no caducan.

2.3 Descomposición: dividí y encadená

📐 Fundamento

Del capítulo 1 ya sabés que "pedir todo a la vez" es un error. La técnica formal se llama descomposición de tareas: convertir una tarea grande en una secuencia de subtareas, donde la salida de cada una alimenta a la siguiente.

¿Por qué funciona? Tres razones:

  1. Atención concentrada. En cada paso, todo el "esfuerzo" del modelo está en una sola cosa. Las tareas mezcladas compiten entre sí.
  2. Puntos de control. Entre paso y paso, vos revisás. Si el paso 2 salió mal, lo corregís antes de que contamine los pasos 3, 4 y 5. Con la tarea monolítica, un error temprano arruina todo y no sabés dónde empezó.
  3. Reutilización. Los pasos buenos se vuelven plantillas independientes en tu biblioteca.

Cómo descomponer: preguntate "si delegara esto a un equipo de personas, ¿en qué pasos lo dividiría y qué le entregaría cada una a la siguiente?". Esa entrega intermedia — el formato exacto de lo que sale de un paso y entra al otro — es la parte que más cuidado merece.

🛠️ En la práctica

Tarea grande: "preparar un trabajo escrito a partir de tres lecturas". Descompuesta en cadena:

PASO 1 — Extraer (un prompt por lectura):
Extraé de este texto: (a) la tesis central en una frase, (b) los 3
argumentos principales, (c) 2 citas textuales útiles con su página.
Formato: lista etiquetada. Texto: """<lectura>"""

PASO 2 — Cruzar (recibe las 3 salidas del paso 1):
Acá están las fichas de 3 lecturas: <pegar salidas del paso 1>.
Identificá: ¿en qué coinciden los autores? ¿en qué chocan?
¿qué pregunta dejan abierta? Formato: tabla de coincidencias,
tabla de tensiones, lista de preguntas abiertas.

PASO 3 — Esquematizar (recibe la salida del paso 2):
Con este análisis: <pegar salida del paso 2>, proponeme un esquema
de ensayo de 1500 palabras: tesis propia, 3 secciones con su idea
central, qué ficha uso en cada una.

PASO 4 — Redactar (una sección por prompt, vos al volante):
Redactá SOLO la sección 1 siguiendo el esquema: <pegar esquema>.
Usá las citas de las fichas donde correspondan.

Fijate en el detalle de "formato: lista etiquetada" del paso 1: como esa salida es la entrada del paso 2, su formato no es estético — es el contrato entre pasos. En el capítulo 4 vas a ver cómo convertir estas cadenas en plantillas permanentes.

2.4 Estructura: etiquetas XML y secciones Markdown

💡 Intuición

Cuando entregás papelería en una oficina de gobierno, no llegás con un solo fajo de hojas sueltas: llevás el DUI en una bolsita, las constancias engrapadas, el formulario aparte. La persona de la ventanilla procesa todo más rápido porque cada cosa está delimitada y rotulada.

Un prompt largo sin estructura es el fajo de hojas sueltas: ¿dónde termina tu instrucción y empieza el documento que pegaste? ¿Esa pregunta del final es para el modelo o es parte del texto a analizar? Las etiquetas resuelven la ambigüedad.

📐 Fundamento

Hay dos convenciones principales, y ambas funcionan bien:

Etiquetas XML — práctica recomendada y documentada por Anthropic en su guía oficial de prompting para los modelos Claude:

<instrucciones>
Resumí el documento en 5 viñetas para un gerente sin tiempo.
</instrucciones>

<documento>
...texto largo acá...
</documento>

<pregunta>
¿El contrato permite rescindir sin penalización?
</pregunta>

Secciones Markdown — encabezados ## o delimitadores """:

## Instrucciones
Resumí el documento en 5 viñetas.

## Documento
"""
...texto largo acá...
"""

Las ventajas son las mismas en ambos casos:

  1. Separación inequívoca entre instrucciones y datos. Crucial cuando el documento pegado contiene frases imperativas ("envíe su respuesta antes del viernes") que el modelo podría confundir con órdenes tuyas.
  2. Referencia precisa: podés decir "usando solo lo que está en <documento>..." y el modelo sabe exactamente a qué te referís.
  3. Prompts mantenibles: cuando la plantilla tiene secciones, editás una sin tocar las demás.

Reglas prácticas: usá nombres de etiqueta descriptivos (<documento>, <ejemplos>, <datos_cliente>), cerrá siempre cada etiqueta, y sé consistente — si abriste con XML, no mezcles con """ en el mismo prompt. Para prompts cortos (un par de líneas), nada de esto hace falta; la estructura paga cuando el prompt tiene datos pegados o múltiples partes.

⚠️ Trampa común

Instrucciones enterradas en medio de los datos. El error típico: pegás cinco páginas de documento y escribís tu pregunta en medio o la dejás "implícita". Variante peor: el documento que pegaste contiene texto tipo "responda a este correo confirmando los datos" y el modelo... obedece al documento en vez de a vos. Esto es, en miniatura, el mismo mecanismo del prompt injection que sufren las aplicaciones reales. Regla: instrucciones tuyas afuera y delimitadas; datos adentro de su etiqueta; y al final, repetí la pregunta concreta después del documento — los modelos prestan atención especial al inicio y al final del prompt (más sobre esto en el capítulo 4).

2.5 La salida de escape: "si no sabés, decí no sé"

📐 Fundamento

Los modelos de lenguaje tienden a responder algo aunque no tengan base — el famoso problema de las alucinaciones: texto plausible pero falso. Una de las mitigaciones más baratas y efectivas es darle al modelo una salida de escape: una respuesta alternativa explícitamente permitida para cuando no hay información suficiente.

Si el documento no contiene la información necesaria para responder,
respondé exactamente: "No encuentro esa información en el documento."
No completés con conocimiento general ni con suposiciones.

¿Por qué funciona? Sin la salida de escape, el modelo está implícitamente forzado a elegir entre las respuestas "con contenido" — decir "no sé" ni siquiera está sobre la mesa. Al ofrecerla explícitamente, "no sé" se vuelve una respuesta legítima y disponible, y el modelo la usa cuando corresponde.

Dónde es obligatoria:

  • Preguntas sobre un documento que pegaste (¿está o no está la respuesta ahí?).
  • Datos verificables: fechas, cifras, nombres, artículos de ley, dosis.
  • Clasificación con casos que no encajan: agregá la categoría OTRO/NO_CLARO o el modelo forzará todo en tus cajas.

El matiz: la salida de escape reduce respuestas inventadas, pero un modelo muy presionado a decir "no sé" puede volverse perezoso y usarla de más. Si te pasa, ajustá: "si la respuesta está parcialmente en el documento, respondé con lo que haya y aclará qué falta".

Prompt débil:

Según este reglamento, ¿cuántas materias puedo llevar por ciclo?
"""<reglamento>"""

Prompt mejorado:

Respondé usando SOLO el reglamento de abajo.
- Si la respuesta está, citá textualmente el artículo donde aparece.
- Si NO está, respondé: "El reglamento no lo especifica" y sugerí a
  qué oficina preguntar.

Pregunta: ¿cuántas materias puedo llevar por ciclo?

<reglamento>
...
</reglamento>

Por qué es mejor: sin la salida de escape, si el reglamento no trae el dato, el modelo probablemente respondería con el número típico de otras universidades — plausible, falso, y peligroso porque suena oficial. La cita textual obligatoria además te deja verificar en segundos.

2.6 Formato estructurado, longitud y tono

📐 Fundamento

Tres perillas de control de salida que se piden explícitamente:

Formato estructurado. Si vas a comparar, pedí tabla ("columnas: criterio, opción A, opción B"). Si vas a procesar la salida con un programa o pegarla en otra herramienta, pedí JSON con el esquema exacto:

Respondé únicamente con JSON válido, sin texto antes ni después:
{
  "sentimiento": "positivo" | "negativo" | "mixto",
  "tema_principal": "<máximo 5 palabras>",
  "urgente": true | false
}

Dar el esquema con los valores posibles enumerados es mucho más confiable que "dame un JSON con el análisis". (Si usás la API — opcional, con código — muchos proveedores ofrecen modos de salida estructurada que garantizan JSON válido; en el chat, el esquema en el prompt es tu mejor herramienta.)

Longitud. Los modelos no cuentan palabras con precisión, así que las instrucciones de longitud funcionan mejor por estructura que por número: "3 viñetas" o "2 párrafos" se cumple casi siempre; "exactamente 147 palabras" no. Para acortar de verdad, las instrucciones más efectivas son estructurales: "una sola frase por punto", "sin introducción ni conclusión, andá directo a la lista".

Tono. "Formal", "informal", "académico" funcionan como brocha gorda. Para afinar, combina tres recursos: audiencia ("como si se lo explicaras a tu abuela"), referencia ("estilo artículo de divulgación, no paper") y — el más potente — un ejemplo del tono deseado (capítulo 1: mostrá, no solo digas).

🛠️ En la práctica — avance de tu biblioteca

Agregá estas tres entradas a tu biblioteca de prompts (con su ficha de versión y estado, como definiste en el capítulo 1):

Plantilla: Clasificador few-shot

Clasificá cada <ítem> en una de estas categorías: <CAT1>, <CAT2>, <OTRO>.

Ejemplos:
<ítem ejemplo 1> → <CAT1>
<ítem ejemplo 2> → <CAT2>
<ítem limítrofe> → <categoría correcta del caso difícil>

Si un ítem no encaja claramente, usá OTRO y explicá en una frase por qué.

Clasificá:
<lista de ítems>

Plantilla: Pregunta sobre documento (con escape)

Respondé usando SOLO el contenido de <documento>.
Si la respuesta no está, decí "El documento no lo especifica".
Citá la parte exacta del documento que respalda tu respuesta.

<documento>
{{texto}}
</documento>

Pregunta: {{pregunta}}

Plantilla: Salida JSON

Analizá <lo que sea> y respondé SOLO con JSON válido según este esquema,
sin explicación adicional:
{{esquema con valores posibles enumerados}}

Probá cada una con un caso real antes de marcarla como "probada".

Resumen visual

Técnica Qué hace Cuándo usarla Costo
Few-shot Ejemplos de entrada→salida en el prompt Formato/estilo específico, tareas repetitivas Escribir 2-5 ejemplos buenos
Cadena de pensamiento Razonamiento intermedio visible Modelos sin razonamiento interno; cuando querés VER los pasos; procedimiento propio Respuestas más largas
Descomposición Una tarea grande → pasos encadenados Tareas multi-etapa, entregables importantes Más mensajes, más control
Etiquetas XML / Markdown Delimita instrucciones vs. datos Prompts con material pegado o muchas partes Casi nulo
Salida de escape Permite "no sé" explícitamente Documentos, datos verificables, clasificación Casi nulo
Formato/longitud/tono Controla la forma de la salida Siempre que la forma importe Casi nulo

Mermaid

flowchart TD A[Tarea] --> B{¿Compleja,
multi-etapa?} B -- Sí --> C[Descomponer en pasos
encadenados] B -- No --> D{¿Formato o estilo
difícil de describir?} C --> D D -- Sí --> E[Few-shot:
2-5 ejemplos] D -- No --> F{¿Usa documento o
datos verificables?} E --> F F -- Sí --> G[Etiquetas XML +
salida de escape] F -- No --> H[Especificar formato,
longitud y tono] G --> H H --> I[Prompt listo
para probar]

Ejercicios

✏️ Ejercicio 1 — Arreglá el few-shot

Este prompt usa few-shot pero tiene al menos dos problemas. Encontralos y corregilos:

Etiquetá el sentimiento de estos mensajes:

"Me encantó el servicio" → POSITIVO
"Excelente, todo perfecto" → POSITIVO
"Muy buena atención" → positivo

Etiquetá: "El producto llegó tarde pero el reembolso fue rápido"
✅ Solución

Problemas:

  1. Los tres ejemplos son de la misma clase (POSITIVO). El modelo nunca vio cómo se ve un NEGATIVO o un caso mixto, y además aprendió del prompt que "casi todo es positivo". El mensaje a etiquetar es justamente mixto — el caso que los ejemplos no cubren.
  2. Formato inconsistente: dos ejemplos en MAYÚSCULAS y uno en minúsculas ("positivo"). El modelo puede imitar cualquiera de los dos.
  3. (Extra) No hay categorías declaradas ni escape: ¿qué etiquetas existen? ¿Qué hace con un caso ambiguo?

Versión corregida: declarar las categorías (POSITIVO, NEGATIVO, MIXTO), un ejemplo de cada una con formato idéntico, e incluir como ejemplo un caso limítrofe parecido al real ("rico pero carísimo" → MIXTO).

✏️ Ejercicio 2 — ¿Sirve el "pensá paso a paso"?

Para cada caso, decidí si agregar "pensá paso a paso" aporta valor, y si no, qué harías en su lugar:

a) Le pedís a un modelo razonador moderno que resuelva un acertijo de lógica. b) Querés que un modelo resuelva un ejercicio de contabilidad siguiendo el método exacto que enseña tu profesora. c) Usás un modelo pequeño y rápido (sin razonamiento extendido) para problemas de aritmética de varios pasos.

✅ Solución

a) Aporta poco: el modelo ya razona internamente. Mejor invertí el espacio del prompt en enunciar el acertijo sin ambigüedades y pedir que verifique su respuesta contra cada condición del enunciado.

b) El "paso a paso" genérico no sirve — los pasos específicos sí. No le pidás que piense paso a paso: dale los pasos del método de tu profesora, numerados, y pedile que muestre cada uno. Querés su procedimiento, no el procedimiento promedio de internet.

c) Sí aporta. En modelos pequeños sin razonamiento interno, el CoT clásico sigue mejorando los resultados en tareas de varios pasos: los pasos escritos funcionan como memoria de trabajo.

✏️ Ejercicio 3 — Descomponé la tarea

Tarea monolítica: "Leé estas 20 encuestas de satisfacción de la cafetería de la universidad, hacé un análisis de los problemas, y escribí una propuesta de mejoras para presentar a la administración". Descomponela en una cadena de 3-4 pasos, especificando qué formato entrega cada paso al siguiente.

✅ Solución (una descomposición razonable)
PASO 1 — Extraer: para cada encuesta, sacá las quejas y los elogios
mencionados. Formato: tabla con columnas [n.º encuesta, tipo
(queja/elogio), tema, cita textual]. ← formato pensado para agregarse

PASO 2 — Agrupar: con la tabla del paso 1, agrupá las quejas por tema
y contá la frecuencia. Formato: lista ordenada de mayor a menor
frecuencia, cada tema con 2 citas representativas.

PASO 3 — Priorizar: con la lista del paso 2, clasificá cada problema
por impacto (alto/medio/bajo) y costo estimado de resolver
(alto/medio/bajo). Formato: tabla. Si no podés estimar costo, marcá
"REQUIERE INFO" en vez de inventar. ← salida de escape

PASO 4 — Redactar: con la tabla priorizada, escribí la propuesta
(1 página): problema → evidencia (frecuencia + citas) → mejora
propuesta. Tono formal institucional.

Lo importante: cada paso tiene UNA tarea, y el formato de salida de cada paso es el formato de entrada del siguiente. Entre pasos, vos revisás (¿agrupó bien los temas? ¿las prioridades tienen sentido?).

✏️ Ejercicio 4 — Estructura y escape en un prompt real

Este prompt mezcla todo y no tiene escape. Reescribilo con etiquetas XML y salida de escape:

Mi contrato de alquiler dice un montón de cosas las pego aquí abajo
quiero saber si puedo tener mascotas El arrendatario se compromete a
mantener el inmueble en buen estado... [3 páginas más] ...firma de las
partes. también decime si puedo subarrendar
✅ Solución
<instrucciones>
Respondé las preguntas usando SOLO el contrato en <contrato>.
Para cada pregunta:
- Si el contrato lo regula, citá la cláusula textual.
- Si el contrato NO lo menciona, respondé "El contrato no lo regula"
  y aclará que eso no significa que esté permitido o prohibido —
  que consulte la ley de arrendamiento o un abogado.
</instrucciones>

<contrato>
El arrendatario se compromete a... [el contrato completo]
</contrato>

<preguntas>
1. ¿Puedo tener mascotas?
2. ¿Puedo subarrendar?
</preguntas>

Mejoras: instrucciones separadas de los datos (antes estaban mezcladas con el contrato), las dos preguntas juntas y numeradas al final (antes una estaba al inicio y otra al final, fácil de perder), cita textual obligatoria (verificable) y salida de escape con un matiz importante en temas legales: "no está en el contrato" no equivale a "está permitido".

Para profundizar


Definiciones nuevas: zero-shot, few-shot, aprendizaje en contexto, caso limítrofe, chain-of-thought, modelo razonador, self-consistency, descomposición de tareas, contrato entre pasos, etiquetas XML, delimitadores, salida de escape, alucinación, salida estructurada, esquema JSON.