PTENES
Saltar al contenido
MÓDULO 1.2

🎯 Da el porqué + no pidas razonamiento

La técnica más sencilla de todas y la que más distingue un prompt genérico de uno que acierta a la primera. Fable 5 es un instruction-follower extremadamente literal: sin el porqué, cumple el pedido al pie de la letra y puede perder el objetivo real. Y tiene un efecto secundario específico: pedirle que «muestre el razonamiento» en el texto puede activar un rechazo de seguridad silencioso.

6
Temas
~45
Minutos
1.1
Requisito previo
Práctico
Tipo
Progreso: 0% 0 de 6
1

❓ El problema: solo el "qué", nunca el "por qué"

🧠 Imagínalo así: un modelo de lenguaje no lee la mente: predice cuál es el siguiente token más probable según el texto que ya ha visto. Si tu prompt solo dice QUÉ («escribe una función que valide correos electrónicos»), Fable 5 tiene que ADIVINAR para qué sirve, quién lo usará y qué significa «bueno» en este caso. Suele adivinar bien... hasta que no lo hace.

En el fondo, un LLM es una máquina de predicción del siguiente token. No tiene acceso a lo que tienes en la cabeza; solo al texto del prompt. Un pedido que describe únicamente la tarea («haz X») deja un vacío: por qué importa X, para quién y con qué criterio de calidad. El modelo llena ese vacío con la interpretación estadísticamente más común para ese tipo de pedido, que puede coincidir o no con la tuya.

El costo de esta «suposición» aumenta con la autonomía del modelo. Fable 5 se diseñó para mantener instrucciones en ejecuciones de horizonte largo, a veces durante varios días. Si no se especifica la intención real desde el principio, no detecta el error rápido ni pregunta: ejecuta durante horas en la dirección equivocada, aunque parezca plausible, y solo descubres el desvío cuando ya te costó tiempo y tokens.

💡 Concepto principal

Predicción de tokens ≠ lectura de mente. El "porqué" no es un adorno cortés en el prompt: es el dato que le falta al modelo para elegir entre varias ejecuciones igualmente válidas del mismo "qué".

✗ Solo el qué

"Escribe una función que valide correos electrónicos."

El modelo no sabe si aquí el error más costoso es un falso positivo o un falso negativo, así que lo decidirá por su cuenta.

✓ Qué + por qué

"Escribe una función que valide correos electrónicos porque estamos filtrando registros de spam antes del CRM; aquí un falso negativo es peor que un falso positivo."

Ahora el criterio de "correcto" está explícito. El modelo decide en la dirección que indicas, no según el promedio estadístico.

SIN EL PORQUÉ Instrucción (solo el qué) Fable 5 predice el siguiente token Adivina el contexto → respuesta genérica CON EL PORQUÉ Instrucción + porqué (intención) Fable 5 usa el contexto real Salida alineada al objetivo real

En una frase: sin el porqué, Fable 5 no puede leerte la mente: predice el siguiente token y adivina el contexto que falta.

2

🧩 La fórmula del porqué, en la práctica

🧠 Imagínalo así: en lugar de pedir solo la tarea, entregas el briefing completo — qué está en juego, para quién y qué debe permitir hacer la respuesta. Es la diferencia entre gritar una orden y dar un briefing de verdad.

Esta es una práctica consolidada de ingeniería de prompts en general, no una cita textual de la documentación oficial de Fable 5 (el video de origen ya incluía el argumento, y la investigación no confirmó una frase textual específica para esta técnica). Tómala como una recomendación sólida, no como una «regla oficial inamovible». La fórmula tiene cuatro partes: tarea mayor (el proyecto en el que encaja), quién (quién depende del resultado), qué habilita la salida (la decisión o acción que viene después) y solo entonces la solicitud concreto.

Fíjate en el orden: primero va el porqué antes del pedido, no como una nota al pie después. Esto importa porque el modelo pondera con más fuerza el contexto que está más cerca (en términos de atención) del pedido final — un «porqué» puesto al final del prompt compite con menos peso frente al pedido en sí.

Modelo/fórmula que puedes copiar: EN y PT-BR

🇬🇧 EN
I'm working on <bigger task, e.g. "security review of the payments API"> for <who, e.g. "the compliance team">.
They need <what the output enables, e.g. "a prioritized list of vulnerabilities with severity, to decide what to fix before release">.
With that: <concrete ask, e.g. "review auth.py and payments.py and list the risks found">.
🇧🇷 PT-BR
Estou trabalhando em <tarefa maior, ex.: "revisão de segurança da API de pagamentos"> para <quem, ex.: "o time de compliance">.
Eles precisam de <o que a saída habilita, ex.: "uma lista priorizada de vulnerabilidades com severidade, pra decidir o que corrigir antes do release">.
Com isso: <pedido concreto, ex.: "revise auth.py e payments.py e liste os riscos encontrados">.

Paso 1 — Tarea más grande

¿En qué proyecto u objetivo encaja esto? No es el comando aislado, sino el contexto más amplio.

Paso 2 — Quién

¿Quién va a usar, leer o depender del resultado? Un equipo de compliance necesita algo distinto de un desarrollador que trabaja por su cuenta.

Paso 3 — Qué habilita la salida

¿Qué decisión o acción viene después de la respuesta? Eso define el formato y las prioridades adecuadas.

Paso 4 — La solicitud

Solo ahora la solicitud concreta, después de que el modelo ya sabe por qué importa.

🔬 Ejemplo copy-run: prompt de sistema antes/después

Objetivo: mostrar, en un prompt de sistema real para un agente de revisión de PR, cómo el porqué cambia lo que el modelo prioriza, sin cambiar el "qué" solicitado.

🇬🇧 EN

before / after — system prompt
❌ BEFORE (what only):
"You are an agent that reviews Pull Requests. Point out bugs and style suggestions."

✅ AFTER (what + why):
"You are an agent that reviews Pull Requests for a team that ships to production 3
times a day and has no dedicated QA. The goal of this review is to catch what would
break production — not style. They need a short, prioritized list (bugs > security >
logic), because long, nitpick-heavy reviews get ignored. With that: review the
attached diff and list only what would block the merge."

🇧🇷 PT-BR

antes / después — prompt del sistema
❌ ANTES (só o quê):
"Você é um agente que revisa Pull Requests. Aponte bugs e sugestões de estilo."

✅ DEPOIS (quê + porquê):
"Você é um agente que revisa Pull Requests para um time que faz deploy 3x ao dia e
não tem QA dedicado. O objetivo desta revisão é pegar o que quebraria produção — não
estilo. Eles precisam de uma lista curta e priorizada (bugs > segurança > lógica),
porque revisões longas e cheias de nitpick são ignoradas. Com isso: revise o diff
anexado e liste só o que bloquearia o merge."

Cómo comprobar: ejecuta ambas versiones con el mismo diff y compara el resultado. La versión «antes» suele devolver una lista larga y genérica (incluye observaciones menores de estilo); la versión «después» prioriza lo que podría romper producción, en el orden correcto. Si el resultado de «después» sigue siendo genérico, el porqué no quedó lo bastante explícito: refuérzalo con cifras y criterios concretos.

En una frase: tarea mayor + quién + qué habilita el resultado + solicitud, en ese orden; el porqué va antes del qué.

3

📏 Por qué esto pesa aún más en Fable 5

🧠 Imagínalo así: es la diferencia entre pedirle un deseo a un genio literal y pedírselo a un amigo que «entiende el espíritu» de lo que pides. Fable 5 es el genio literal, y es extremadamente bueno en eso, lo cual tiene sus dos caras.

Modelos más débiles en instruction-following suelen «suavizar» las solicitudes ambiguas con el sentido común aprendido durante el entrenamiento; a veces aciertan accidentalmente con tu intención, aunque no esté explícita. Fable 5 sigue exactamente lo que se pidió. La documentación oficial describe la mejora así: "Instruction-following is improved enough that you can steer most behaviors with a brief instruction rather than enumerating each behavior by name." (fuente: documentación oficial "Prompting Claude Fable 5" — técnica 6, "di menos, no más", desarrollada en el módulo 1.5; traducción: "el seguimiento de instrucciones mejoró lo suficiente como para que puedas guiar la mayoría de los comportamientos con una instrucción breve, en lugar de enumerar cada comportamiento por su nombre.")

Esa capacidad se convierte en un riesgo precisamente cuando falta el porqué: sin él, Fable 5 no va a «adivinar bien» por accidente, como a veces lo hace un modelo más débil; va a cumplir literalmente lo que se le pide, aunque eso haga que pierda de vista el objetivo real. Cuanto más capaz es un modelo de seguir instrucciones, más costosa resulta una solicitud mal especificada.

→ Seguidor débil de instrucciones

  • • Completa los vacíos con el sentido común aprendido durante el entrenamiento
  • • A veces «acierta por accidente» sin el porqué
  • • Se desvía del pedido literal con más frecuencia

✓ Seguimiento fuerte de instrucciones (Fable 5)

  • • Ejecuta exactamente lo que se pidió
  • • Sin el porqué, cumple el pedido literal — incluso si está mal
  • • Con el porqué, acierta a la primera con mucha más consistencia

En una frase: cuanto más literal es el seguidor de instrucciones, más caro resulta pedir algo sin explicar el porqué.

4

⚠️ El desencadenante oculto: pedir que «muestre el razonamiento»

🧠 Imagínalo así: parece inofensivo pedir "explica tu razonamiento"; es el tipo de frase que aparece en cualquier skill antigua de "sé transparente". En Fable 5, puede activar un rechazo de seguridad y cambiar de modelo sin avisar.

Hay una ironía directa con el resto de este módulo: pedirle al modelo explicar por qué hizo algo dentro del propio texto de respuesta es la forma equivocada de conseguir transparencia. Los prompts, las skills y las instrucciones del harness que le piden al modelo repetir, transcribir o narrar su razonamiento interno como parte de la respuesta entran en una categoría de seguridad específica, y eso es específico de Fable 5, no un comportamiento genérico de cualquier Claude.

Esto suele venir de skills migradas de modelos antiguos, donde "muestra tu razonamiento paso a paso" era una técnica válida de prompting. En Fable 5, el canal adecuado para eso ya existe: los thinking blocks — y pedir que esto se duplique en la respuesta en texto es precisamente el detonante del riesgo (ver los apartados 5 y 6).

⚠️ Atención: frases que parecen inofensivas

Si una skill, un system prompt o un harness instruye al modelo a «explicar», «transcribir» o «repetir» su propio razonamiento en la respuesta visible para el usuario, puede activar el rechazo de seguridad del siguiente tema, aunque la intención sea solo «ser transparente».

✗ Activa el disparador

  • • "Explica tu razonamiento en la respuesta."
  • • "Muestra cómo pensaste, paso a paso."
  • • "Piensa en voz alta y escribe todo antes de la respuesta final."

✓ Seguro

  • • "Responde directamente con el resultado."
  • • "Si necesitas registrar decisiones, usa un registro de acciones, no una narración del razonamiento."
  • • ¿Necesitas visibilidad real? → tema 6: lee los bloques de razonamiento.

En una frase: pedirle a Fable 5 que reproduzca el razonamiento en la respuesta de texto es un disparador de seguridad, no una solicitud neutral.

5

🚦 reasoning_extraction: el fallback silencioso para Opus 4.8

🧠 Imagínalo así: no es un error que aparece con una alarma roja: es un stop_reason: "refusal" dentro de una respuesta HTTP 200 normal. Si no sabes buscarlo, tu app sigue funcionando, solo que silenciosamente con un modelo más barato.

La documentación oficial sobre rechazos y alternativas define cuatro categorías posibles en stop_details.category: cyber, bio, frontier_llm y la que interesa aquí, reasoning_extraction. Es exactamente el disparador del tema anterior.

📊 Dato oficial — definición de la categoría

🇬🇧 EN (oficial, doc "refusals-and-fallback"): "The request asks the model to reproduce its internal reasoning in the response text. To get reasoning in a structured form instead, use adaptive thinking."

🇧🇷 PT-BR (traducción): "La solicitud pide al modelo que reproduzca su razonamiento interno en el texto de la respuesta. Para obtener el razonamiento de forma estructurada, usa el adaptive thinking."

Cuando esto se activa, ocurre el rechazo antes de cualquier resultado y no se cobra. Hay tres formas de configurar un fallback automático para Claude Opus 4.8 cuando esto ocurre: fallback del lado del servidor (Claude API / Claude Platform on AWS, mediante un encabezado beta), middleware del SDK (BetaRefusalFallbackMiddleware) o retry manual con "fallback credit". En los tres casos, si no auditas tus skills/prompts, el fallback se convierte en una fuga silenciosa de calidad y costo: la app "funciona", pero con un modelo distinto del que crees estar usando.

Solicitud del usuario Clasificador de seguridad pide que lo reproduzca ¿el razonamiento en el texto? sí Refusal: reasoning_extraction stop_reason: refusal · HTTP 200 Fallback automático → Claude Opus 4.8 no Sigue con normalidad en Fable 5 (sin rechazo, sin fallback)

🔬 Ejemplo copy-run: auditando skills existentes

Objetivo: tener una lista de verificación oficial de Anthropic para auditar prompts/skills antiguos y buscar instrucciones que pidan al modelo "mostrar el razonamiento" en el texto: el desencadenante exacto del tema 4. Este es el texto oficial del briefing, usado como ejemplo de lo que NO hacer / de qué auditar en skills ya existentes (no es un prompt para «ejecutar directamente» en la tarea — es la política que pegas al inicio de un CLAUDE.md o entregas a un agente como instrucción para auditar el propio repositorio de skills).

🇬🇧 EN (oficial — doc "Prompting Claude Fable 5")

5. don't ask claude to show its reasoning
Don't instruct Claude to reproduce its reasoning in the response. Prompts, skills, or
harness instructions that tell the model to echo, transcribe, or explain its internal
reasoning as response text can trigger the reasoning_extraction refusal category on
Claude Fable 5, causing elevated fallbacks to Claude Opus 4.8. Audit existing skills
and system prompts for reflection or show-your-thinking instructions when migrating.
If your application needs reasoning visibility, read the structured thinking blocks
from adaptive thinking instead.

🇧🇷 PT-BR (traducción)

5. no pidas que muestre su razonamiento
Não instrua o Claude a reproduzir o raciocínio dele na resposta. Prompts, skills ou
instruções de harness que pedem pro modelo ecoar, transcrever ou explicar o raciocínio
interno como texto de resposta podem disparar a categoria de recusa reasoning_extraction
no Claude Fable 5, causando fallbacks mais frequentes pro Claude Opus 4.8. Ao migrar,
audite skills e system prompts existentes em busca de instruções de reflexão ou
"mostre seu raciocínio". Se sua aplicação precisa de visibilidade do raciocínio, leia os
blocos estruturados de thinking do adaptive thinking em vez disso.

Cómo comprobar: haz un grep en tu repositorio de skills/system prompts por frases como «explain your reasoning», «show your thinking», «reproduce your reasoning» (y los equivalentes en portugués del tema 4). Si encuentras alguna, es candidata a reasoning_extraction — cámbialo por la lectura de los bloques de razonamiento (tema 6) y monitorea la tasa de fallback a Opus 4.8 antes y después de la corrección.

En una frase: reasoning_extraction es un stop_reason: refusal en HTTP 200 — audita tus skills antes de que se convierta en un fallback silencioso para Opus 4.8.

6

🔍 La alternativa: lee los thinking blocks, no pidas que «te cuente»

🧠 Imagínalo así: en lugar de pedirle al actor que narre lo que pasa detrás de escena en medio de la escena, lees el guion de lo que pasa detrás de escena por separado. El adaptive thinking ya separa los dos canales — el trabajo consiste en leer el canal correcto, no en forzar ambos en uno solo.

Si tu aplicación necesita visibilidad real del razonamiento —para depuración, auditoría o registro—, lo correcto no es pedirle al modelo que reescriba el razonamiento dentro del texto que ve el usuario. Es leer los thinking blocks estructurados que adaptive thinking ya produce, en un canal separado de la respuesta final. Esto preserva ambas cosas al mismo tiempo: el modelo piensa lo que necesita y tú tienes visibilidad — sin activar el tema 5.

En la práctica, esto es un cambio de dónde la instrucción indica: en vez de "explica tu razonamiento en la respuesta", la instrucción (o el código de tu harness) pasa a ser "lee el razonamiento en el bloque de thinking". Consulta la documentación oficial de adaptive thinking para ver la configuración exacta de la API.

Estructura ilustrativa de la respuesta (no es una cita literal de la documentación: solo ilustra dónde va cada canal)

content[] de la respuesta — ilustrativo
{
  "content": [
    { "type": "thinking", "thinking": "...raciocínio interno estruturado..." },
    { "type": "text", "text": "...resposta final que o usuário vê..." }
  ]
}

Cómo comprobar: si tu aplicación necesita auditar decisiones, lee los bloques con type === "thinking" en tu código, en lugar de indicar «explica tu razonamiento» en el prompt. Confirma que el type === "text" el resultado final sigue limpio, directo y sin narrar lo que ocurre entre bastidores — y la tasa de fallback a Opus 4.8 (tema 5) no aumenta.

✗ Pedir que lo reproduzca en el texto

"Explica tu razonamiento antes de responder." → riesgo de reasoning_extraction + fallback silencioso.

✓ Leer los thinking blocks

Habilita el adaptive thinking y lee type: "thinking" en tu código. Sin activador, con visibilidad real.

En una frase: la visibilidad del razonamiento está en los bloques de pensamiento, no en el texto de la respuesta.

📚 Fuentes de este módulo

🧾 Resumen del Módulo

✓
El porqué da contexto sobre la intención — sin eso, Fable 5 (que sigue las instrucciones al pie de la letra) lo adivina y puede perder el objetivo real.
✓
Fórmula práctica — tarea más grande + quién + qué permite hacer el resultado + solicitud concreta, en ese orden.
✓
Nunca pidas «muestra el razonamiento» en la respuesta — esto puede activar reasoning_extraction y caer en un fallback silencioso a Opus 4.8.
✓
¿Necesitas visibilidad del razonamiento? Lee los bloques estructurados de pensamiento del adaptive thinking; no pidas que los reescriba en la respuesta.

Próximo módulo:

1.3 — Prompting negativo + límites: qué NO hacer y cuándo detenerte para preguntar.