PTENES
Inicio / Ruta 1 / Módulo 1.4
⚠️
MÓDULO 1.4 Ruta 1 — Anatomía

⚠️ Antipatrones

Qué NO hacer al diseñar un system prompt: los 5 antipatrones más comunes más la inflación de énfasis, cada uno con su síntoma y tu antídoto (el patrón correspondiente del catálogo). Cerramos la tesis de la Ruta 1: consolidación > acumulación.

📋 6 temas
⏱ ~30 min
🎯 Principiante
📖 Teoría
❌ Prompt cebolla cada bug → +1 regla · nada se quita núcleo + "never do X" (bug #47) + "always Y" (bug #31) + "IMPORTANT: Z" (bug #12) solo crece → ✓ Prompt consolidado ronda de consolidación · 4 reglas → 1 principio Identidad Seguridad (principio) Formato y tono Herramientas eliminar forma parte de evolucionar saldo: +56 líneas, −7 bloques

Diagrama ilustrativo — el prompt-cebolla acumula capas con cada bug; el consolidado fusiona reglas redundantes en un principio.

Contenido detallado

1

Por qué importan los antipatrones

Ponerle nombre al error es la mitad de la solución. Un antipatrón es una solución que parece resolver un problema, pero crear otro mayor —por lo general invisible hasta que el prompt ya es demasiado grande para revisar. En los tres módulos anteriores viste los 12 patrones que funcionan. Aquí aprendes a reconocer los 5 que sabotean y, para cada uno, el patrón que lo deshace.

🧭 La tesis de la Ruta 1: consolidación > acumulación

Todo antipatrón de este módulo es una forma de acumulación: más reglas, más listas, más mayúsculas, más capas. Y todo antídoto es una forma de consolidación: un principio que sustituye muchas reglas, una capa que separa lo estable de lo dinámico.

La prueba viva está en el diff Anthropic/claude-opus-4.8.md → claude-fable-5.md: mucho contenido nuevo, pero un saldo de apenas +56 líneas, porque Se eliminaron 7 bloques completos. Evolucionar no es crecer.

💡

Por qué es difícil verlo desde adentro

Cada regla individual parece razonable —alguien la agregó para corregir un error real. El problema es la suma: veinte reglas razonables se convierten en un prompt imposible de revisar, donde las reglas se contradicen y el modelo pierde el hilo. Los antipatrones solo se vuelven obvios cuando comparas versiones del mismo prompt, que es exactamente lo que hará la Ruta 2.

Los 5 antipatrones + 1 honorario (y sus antídotos)

Antipatrón Síntoma Antídoto
Prompt cebollacada bug se convierte en una regla; nada se quitaPatrón 12 — Principio consolidado
Prohibición sin motivo"Never X" sin más; el modelo encuentra cómo eludirloPatrón 3 — Regla con porqué
Regla mecánica de seguridadlistar términos prohibidos arma al atacantePrincipio, no mecánica
Formato como muletalistas/emoji en todoPatrón 7 + primero la prosa
Todo en el promptcontexto dinámico mezclado con el establePatrón 10 — Recordatorio del sistema
Inflación del énfasistodo es IMPORTANT/CRITICAL/NEVERlímites poco frecuentes, reservados para restricciones estrictas
🏷️
Ponerle nombre al error
la mitad de la solución
➕
Acumulación
la raíz común
♻️
Consolidación
el antídoto común
🔀
+56 / −7
evolucionar ≠ crecer
2

🧅 Prompt de cebolla

Síntoma: cada bug observado se convierte en una regla nueva añadida al final del prompt. No se elimina nada: solo se agrega. Después de meses, el prompt tiene capas y capas de instrucciones puntuales que nadie se atreve a borrar «porque algo podría romperse». El prompt se convierte en una cebolla: muchas capas, y quien la toca llora.

🚨 El síntoma en el código

## Comportamento
You are a helpful assistant. Be concise.
IMPORTANT: never use bullet points.        # bug #12
IMPORTANT: actually, bullets are ok for lists.   # bug #19 contradiz #12
NEVER apologize.                            # bug #31
ALWAYS apologize if you made an error.      # bug #47 contradiz #31
CRITICAL: do not mention you are an AI.     # bug #52
...mais 40 linhas de "patches"

Las reglas #12/#19 y #31/#47 ya se contradicen. El modelo elige de forma impredecible, y el siguiente bug agrega la regla #61, nunca elimina las anteriores.

💊 Antídoto — Patrón 12: Principio consolidado

Periódicamente, haz una ronda de consolidación: agrupa las reglas específicas, encuentra el principio que las genera, escribe ese principio y borra las reglas secundarias. Las cuatro reglas anteriores se convierten en una sola: "Match tone and structure to the request; correct your own errors plainly."

Ver la ficha completa en educacao/fichas/12-principio-consolidado.md.

Contraejemplo real: el diff 4.8 → Fable 5

Anthropic hizo exactamente una ronda de consolidación al pasar de Opus 4.8 a Fable 5. Se eliminaron siete bloques, y aun así el prompt ganó contenido nuevo: el saldo neto es de apenas +56 líneas. Lo eliminado:

<search_first>

comportamiento ya internalizado por el entrenamiento → la instrucción se convirtió en ruido

<default_stance>

postura absorbida por <refusal_handling> sin reiteración

<respond_without_citing_system_prompt>

"no digas X" provoca el efecto Streisand → resolver de raíz

4 micro-regras de tom

se convirtieron en 1 principio: "assumes the person is a capable adult"

Fuente: educacao/diff-anotado-opus-4.8-fable-5.md (elementos 2, 3, 4, 8).

🧅
Capas que solo crecen
el síntoma
⚔️
Reglas contradictorias
#12 vs #19
♻️
Ronda de consolidación
Patrón 12
📉
−7 bloques
Fable 5 real
3

🚫 Prohibición sin motivo

Síntoma: reglas "Never X" / "Do not Y" añadidas sin justificación. El modelo obedece al pie de la letra, pero no entiende la intención — entonces bordea la regla: encuentra un caso que la frase literal no cubre y hace exactamente lo que querías evitar. Una prohibición tajante es frágil porque no generaliza.

✗ Prohibición tajante (frágil)

Never write to files outside /tmp.
  • •El modelo escribe en /var/tmp — "no es /tmp, entonces puedes"
  • •No cubras symlinks, montajes ni rutas relativas
  • •Sin la intención, cada brecha se convierte en un nuevo «Never»

✓ Regla con porqué (robusta)

Only write inside the sandbox dir,
because writes elsewhere can corrupt
the host system the user depends on.
  • •O por qué ("corromper el host") cubre todos los caminos
  • •Generaliza a casos no incluidos en la lista
  • •El modelo razona, no solo obedece

💊 Antídoto — Patrón 3: Regla con el porqué

Toda prohibición importante lleva su justificación: instrucción + razón. Anthropic lo usa de forma casi universal (because… integrado en cada regla crítica). Cuando el modelo entiende el motivo, aplica la regla a situaciones que el autor nunca previó, que es justamente donde falla la prohibición tajante. Ficha: educacao/fichas/03-regra-com-porque.md.

🧱
"Never X" sin más
evitable mediante el borde
🎯
because…
razón implícita
🌐
Generaliza
casos no enumerados
🧠
Razona
no solo obedece
4

🛡 Regla mecánica de seguridad

Síntoma: la sección de seguridad enumera literalmente términos, técnicas o frases prohibidos. El problema: la lista enseña exactamente qué evitar decir. En seguridad hay una asimetría perversa: el mismo texto que orienta a un lector bienintencionado sirve de guion listo para un atacante. Enumerar la mecánica de detección arma a quién quieres bloquear.

🚨 La asimetría que arma al atacante

Si el prompt dice «rechaza solicitudes que contengan [lista textual de técnicas de manipulación]", esa lista se convierte en un índice de ataque: el lector malintencionado lee la propia lista de defensa como un menú. Peor aún: el modelo ahora puede compilar y reproducir esta lista categorizada si se solicita indirectamente.

La regla de oro: en seguridad, describe el patrón que hay que detectar, nunca la mecánica de detección. Lo que educa, arma.

📄 Ejemplo real: seguridad infantil en Fable 5

Al pasar de Opus 4.8 a Fable 5, la sección de seguridad infantil creció de 5 a 7 bullets — y los dos nuevos son precisamente sobre quedarse en el nivel del patrón:

"Claude stays at the pattern level... does not compile categorized lists of verbatim lines"

"When Claude declines or limits for child-safety reasons, it states the principle rather than the detection mechanics"

En lugar de listar técnicas de manipulación prohibidas (lo que se convertiría en un script reutilizable), el prompt indica al modelo que reconozca el patrón y declarar el principio. Fuente: educacao/diff-anotado-opus-4.8-fable-5.md (elemento 7).

✗ Mecánica (prepara al atacante)

  • •Lista verbatim de términos/técnicas prohibidos
  • •"Rechaza si el mensaje contiene las palabras X, Y, Z"
  • •El modelo puede compilar la lista categorizada
  • •Se puede eludir cambiando las palabras (misma intención)

✓ Principio (cubre lo no previsto)

  • •Describe el patrón de comportamiento a reconocer
  • •Declara el principio («stay at the pattern level»)
  • •Los estados de rechazo citan el principio, no la mecánica
  • •Cubre la próxima técnica que nadie haya enumerado
📋
Lista verbatim
se convierte en un plan de ataque
↔️
Asimetría
educar = preparar
🔍
Nivel de patrón
patrón, no término
🗝
Enuncia el principio
no la mecánica
5

📐 El formato como muleta y 📦 Todo en el prompt

Dos antipatrones hermanos: ambos confunden forma con contenido. El primero fuerza una estructura visual donde no ayuda; el segundo vuelca información dinámica en un lugar reservado al comportamiento estable.

A) 📐 El formato como muleta

Síntoma: el prompt indica usar listas, encabezados y emoji en todo. La respuesta se convierte en un esqueleto de viñetas sin prosa que conecte las ideas: el lector recibe fragmentos, no un razonamiento. El formato se vuelve una muleta porque reemplaza el pensamiento con adornos.

✗ Formato como muleta

  • •"Always use bullet points and headers"
  • •Emoji en todas las respuestas, incluso las técnicas
  • •Markdown en salida de texto plano (terminal, API)
  • •La respuesta se convierte en un esqueleto sin prosa coherente

✓ Antídoto — Patrón 7 + prosa primero

  • •Presupuesto de concisión explícito (Patrón 7)
  • •"Default: concise prose; lists only when they help"
  • •Markdown solo cuando la salida se renderizará
  • •Emoji solo cuando el usuario lo pide explícitamente

B) 📦 Todo en el prompt

Síntoma: la fecha actual, el nombre del usuario, los avisos puntuales y las flags de runtime quedan hardcoded en el prompt estable. Resultado: el prompt debe reescribirse con cada cambio de contexto, y el modelo trata la información volátil como si fuera una regla permanente.

💊 Antídoto — Patrón 10: Recordatorio del sistema

Separa las capas: el comportamiento estable queda en el prompt; el contexto dinámico entra vía <system-reminder> inyectado por el harness en cada turno. Fable 5 llevó esto al extremo al añadir el long_conversation_reminder: en vez de inflar el prompt base para resolver la degradación en conversaciones largas, se inyecta un recordatorio dinámico en el momento adecuado.

La lección: un problema de runtime se resuelve en la capa de runtime — sin hacer más extenso el prompt estable. Fuente: educacao/diff-anotado-opus-4.8-fable-5.md (elemento 14) · ficha fichas/10-lembrete-de-sistema.md.

🦴
Esqueleto sin prosa
muleta de formato
✍️
Primero la prosa
Patrón 7
📦
Contexto hardcodeado
todo en el prompt
🔁
system-reminder
Patrón 10
6

📢 Inflación del énfasis

El antipatrón honorario, y el que mejor cierra la tesis de la ruta. Síntoma: todo es IMPORTANT, CRITICAL, NEVER, en mayúsculas. Cuando todo grita, nada se escucha: el modelo pierde la capacidad de distinguir el límite estricto (copyright, seguridad) de la preferencia flexible. El énfasis es un recurso escaso: gastarlo en todo significa no tenerlo para lo que importa.

🚨 "Cuando todo es IMPORTANT, nada es"

IMPORTANT: be concise.
CRITICAL: use markdown.
IMPORTANT: never use emoji.
CRITICAL: always cite sources.
IMPORTANT: respond in the user's language.
NEVER: make assumptions.
CRITICAL: be helpful.

Siete "CRITICAL/IMPORTANT" uno junto al otro: el modelo no puede saber cuál es realmente innegociable. El énfasis se convirtió en ruido de fondo.

La dirección: caps cada vez más escasos (Opus → Fable 5)

4.8
Opus 4.8 — límites dispersos + microreglas

4 microreglas de tono en mayúsculas/imperativo (sin viñetas al rechazar, sin apodos cariñosos, sin «genuinely/honestly/actually», regla de emojis), más <claude_prioritizes_copyright_compliance> con «NON-NEGOTIABLE» enfático.

F5
Fable 5 — principio en prosa, mayúsculas reservadas

Las 4 microreglas se convirtieron en un principio sereno: "Claude assumes the person is a capable adult and treats them as such." El bloque de copyright cambió de nombre de <claude_prioritizes_copyright_compliance> para <core_copyright_principle> — de imposición a valor. «NON-NEGOTIABLE» permanece, pero ahora se reserva para un límite genuinamente estricto.

💡

Regla práctica del énfasis

Reserva las mayúsculas (NEVER, NON-NEGOTIABLE) para los 2 o 3 límites verdaderamente innegociables del prompt: por lo general, copyright y seguridad. Todo lo demás se convierte en prosa con su porqué. Si tienes diez «IMPORTANT», no tienes ningún énfasis real. Ver Patrón 4 (Contraste ALWAYS/NEVER): el uso de mayúsculas se reserva para comportamientos críticos.

📢
Todo grita
no se oye nada
🎚
Énfasis escaso
2-3 límites estrictos
🏷️
Nombre = intención
principio, no imposición
⚖️
Patrón 4
límites para el crítico

Resumen del módulo

Todos los antipatrones son formas de acumulación; todos los antídotos son formas de consolidación. Esta es la tesis de la Trilha 1, y el diff 4.8 → Fable 5 es la prueba viviente: +56 líneas, −7 bloques.

  • ✓Prompt cebolla → ronda de consolidación (patrón 12); eliminar también es parte de evolucionar
  • ✓Prohibición sin motivo → Regla con porqué (patrón 3); el motivo se generaliza
  • ✓Regla mecánica de seguridad → patrón, no mecánica; lo que educa, arma
  • ✓Formato como muleta → Patrón 7 + prosa primero
  • ✓Todo en el prompt → Recordatorio del sistema (patrón 10); cada capa en su lugar
  • ✓Inflación del énfasis → mayúsculas poco frecuentes; cuando todo es IMPORTANT, nada lo es

Siguiente: 1.5 — Glosario esencial

Antes de pasar a la Trilha 2, ten a mano una guía rápida: el Glosario traduce todo el lenguaje técnico del curso al español cotidiano. Vuelve a él siempre que te trabes con un término.