System prompts y plantillas

"Lo que repetís en cada mensaje no es conversación: es configuración. Y la configuración se escribe una sola vez."

Qué vas a aprender en este capítulo

Hasta ahora escribiste prompts de un solo uso. Este capítulo es el salto a pensar en dos niveles: lo que se configura una vez (comportamiento estable) y lo que se pide cada vez (la tarea puntual). Al terminar vas a saber:

Con esto, tu biblioteca de prompts deja de ser una lista de textos para copiar y se convierte en un sistema con niveles.

4.1 Dos niveles: system prompt vs. mensaje del usuario

💡 Intuición

En un restaurante hay dos tipos de instrucciones. El manual del empleado dice cómo se atiende siempre: con qué tono se habla, qué se hace si un cliente reclama, cómo se presenta el menú. La comanda dice qué pidió la mesa 4 hoy. Nadie reescribe el manual en cada comanda — y nadie mete el pedido de la mesa 4 en el manual.

En los LLM existe exactamente esa separación:

  • El system prompt es el manual: define el comportamiento estable del asistente — su rol, sus reglas, su formato, su tono — y se establece una vez, antes de la conversación.
  • El mensaje del usuario es la comanda: la tarea puntual de hoy.

Cuando usás un chatbot "pelado", el system prompt lo escribió el proveedor (por eso el asistente es amable, responde en tu idioma, se niega a ciertas cosas). Cuando creás un Proyecto con instrucciones, o usás la API, el system prompt lo escribís vos — y ahí cambia el juego.

📐 Fundamento

¿Por qué separar, si "técnicamente" podrías meter todo en un solo mensaje gigante? Cuatro razones:

  1. Estabilidad. Las instrucciones del system prompt aplican a TODA la conversación, mensaje tras mensaje. Las que ponés en un mensaje de usuario van perdiendo fuerza a medida que la conversación avanza y se alejan en el contexto. Además, los modelos están entrenados para dar peso especial a las instrucciones de sistema.
  2. Economía. Lo que está en el system prompt no se repite. Si tu tutor socrático tiene 15 líneas de reglas, las escribís una vez y después tus mensajes son solo "siguiente problema: ...".
  3. Separación de responsabilidades. Cuando algo sale mal, sabés dónde mirar: ¿falló el comportamiento estable (system) o la tarea estaba mal pedida (usuario)? Es el mismo principio que separar configuración de datos en cualquier sistema.
  4. Seguridad (en aplicaciones). Si construís una app sobre un LLM, las reglas en el system prompt resisten mejor los intentos del usuario de torcer el comportamiento — no son invulnerables, pero la separación es la primera línea de defensa.

El criterio de reparto — para cada línea de tus prompts habituales, preguntate: ¿esto cambia en cada uso?

¿Cambia en cada uso? Va en... Ejemplos
No: es siempre igual System prompt Rol, reglas de comportamiento, formato por defecto, tono, salidas de escape, audiencia
Sí: es de esta tarea Mensaje del usuario El problema de hoy, el documento de hoy, la pregunta puntual
A veces Variable de plantilla (sección 4.3) El tema, el nivel, la materia

Veamos el reparto en acción con el tutor socrático del capítulo 3:

Antes (todo en un mensaje, repetido cada vez):

Actuá como tutor socrático de química. Reglas: nunca des la respuesta...
[15 líneas de reglas] ...Empecemos con: balancear C₃H₈ + O₂ → CO₂ + H₂O

Después (dos niveles):

─── SYSTEM PROMPT (configurado una vez) ───────────────────
Sos un tutor socrático. Tu objetivo es que el estudiante llegue a la
respuesta por sí mismo — nunca dársela.
[las 15 líneas de reglas de la plantilla del cap. 3]

─── MENSAJES DEL USUARIO (cada sesión de estudio) ─────────
"Tema de hoy: balanceo de ecuaciones. Problema: C₃H₈ + O₂ → CO₂ + H₂O"
"Otro problema, más difícil."
"Cambiemos a estequiometría."

Por qué es mejor: las reglas no se repiten ni se diluyen, los mensajes diarios son de una línea, y si el tutor se comporta mal, sabés que hay que afinar el system prompt — una sola vez, para todas las sesiones futuras.

4.2 Cómo escribir un buen system prompt

📐 Fundamento

Un system prompt efectivo tiene cuatro bloques, en este orden:

  1. Identidad y objetivo (1-2 frases). Quién es el asistente y para qué existe. No "sos un asistente útil" (eso ya lo es); algo que recorte: "Sos un corrector de trabajos académicos para estudiantes universitarios de primer año. Tu objetivo es que el estudiante mejore su escritura, no reescribirle el trabajo."
  2. Reglas de comportamiento (lista numerada). Lo que siempre hace y lo que nunca hace. Las reglas negativas ("nunca des la respuesta final") necesitan estar previstas contra excepciones ("aunque te la pidan directamente").
  3. Formato por defecto. Cómo estructura sus respuestas si el usuario no pide otra cosa.
  4. Tono y audiencia. Para quién habla y cómo.

Principios de redacción:

  • Cada regla, comprobable. "Sé claro" no se puede verificar; "definí cada término técnico la primera vez que lo usés" sí. Si no podrías decir si una respuesta cumplió la regla, la regla está mal escrita.
  • Pocas reglas firmes le ganan a muchas tibias. Un system prompt de 40 reglas diluye las 5 que importan. Empezá con 5-8; agregá solo cuando un fallo real lo justifique (capítulo 5).
  • Sin contradicciones. "Sé exhaustivo" + "sé breve" obliga al modelo a elegir él. Si hay tensión, resolvela vos: "priorizá brevedad; sé exhaustivo solo cuando el usuario pida detalle".
  • Prevé el caso raro. ¿Qué hace si le piden algo fuera de su rol? Decilo: "si te piden algo no relacionado con escritura académica, redirigí amablemente al tema".

🛠️ En la práctica — Plantilla: System prompt

# Identidad
Sos {{rol}} para {{audiencia}}. Tu objetivo es {{objetivo en una
frase — qué gana el usuario}}.

# Reglas
1. Siempre {{comportamiento clave 1}}.
2. Nunca {{comportamiento prohibido}}, incluso si {{la excepción
   previsible}}.
3. Si no tenés información suficiente, {{salida de escape}}.
4. Si te piden algo fuera de {{ámbito}}, {{qué hacer}}.
5. {{regla específica de tu caso}}

# Formato por defecto
{{estructura de las respuestas salvo pedido contrario}}

# Tono
{{tono y nivel: p. ej. "claro y directo, nivel primer año
universitario, términos técnicos definidos al primer uso"}}

Ejemplo completo — system prompt "Asistente de escritura académica":

# Identidad
Sos un asistente de escritura académica para estudiantes universitarios.
Tu objetivo es que el estudiante mejore SU texto y aprenda del proceso —
no escribir por él.

# Reglas
1. Trabajá siempre sobre el texto del estudiante: señalá, explicá y
   sugerí; no reescribás párrafos enteros salvo que te lo pida
   explícitamente.
2. Nunca inventés citas ni referencias bibliográficas, incluso si te
   piden "ponele las citas". Indicá QUÉ tipo de fuente buscar.
3. Cada sugerencia lleva su porqué (la regla o el principio detrás),
   para que el error no se repita.
4. Si el texto está fuera de tu alcance (otro idioma, tema legal o
   médico delicado), decilo y sugerí a quién consultar.
5. Señalá máximo 5 problemas por revisión, los más importantes
   primero. Mejor 5 corregidos que 20 ignorados.

# Formato por defecto
Tabla: [fragmento original | problema | sugerencia | por qué].
Al final, UNA fortaleza del texto (real, no de cortesía).

# Tono
Directo pero alentador. El estudiante está aprendiendo: errores son
material de trabajo, no motivo de sermón.

Fijate cómo cada regla es comprobable, la regla 2 prevé la excepción ("incluso si te piden..."), y la regla 5 fija un límite numérico — los system prompts buenos están llenos de números y casos previstos, no de adjetivos.

⚠️ Trampa común

El system prompt novela. Existe la tentación de escribir media página de personalidad: "Sos Profesor Salomón, un sabio maestro con 30 años de experiencia, apasionado por el aprendizaje, paciente, creativo, con gran sentido del humor...". Casi todo eso es decoración: no produce ningún comportamiento comprobable. Peor: ocupa el espacio de atención que las reglas reales necesitan. La prueba ácida para cada frase del system prompt: ¿qué respuesta concreta cambia por esta frase? Si no sabés la respuesta, borrala. "Paciente" no cambia nada; "si el estudiante se equivoca dos veces seguidas, bajá un nivel de dificultad y volvé a la base" cambia todo.

4.3 Plantillas con variables

📐 Fundamento

Mirá tus prompts más usados: tienen partes fijas (las reglas, el formato) y partes que cambian en cada uso (el tema, el texto, el nivel). Una plantilla con variables hace explícita esa separación marcando las partes variables con una convención — la más común es {{doble_llave}}:

Generá un examen de práctica de {{materia}} sobre {{tema}}, con
dificultad {{dificultad}}, usando solo <apuntes>{{apuntes}}</apuntes>.

Por qué formalizarlo (en vez de "ya sé qué partes cambiar"):

  1. Te obliga a decidir qué es fijo y qué es variable. Esa decisión ES el diseño de la plantilla. Si todo es variable, no tenés plantilla; si nada lo es, tenés un prompt de un solo uso.
  2. Documenta el uso para tu yo futuro (y para quien herede tu biblioteca): las variables son los "parámetros" de la función.
  3. Prepara el terreno para automatizar: las apps con Proyectos, las herramientas de prompts y la API trabajan exactamente con esta idea.

Convenciones que ayudan: nombres descriptivos ({{nivel_estudiante}}, no {{x}}); documentá los valores típicos de cada variable junto a la plantilla ("dificultad: parcial | final | olimpiada"); y si una variable es opcional, indicá el valor por defecto ("si no especifico {{longitud}}, asumí 5 preguntas").

🛠️ En la práctica — la ficha de plantilla, versión final

Con variables, la ficha de tu biblioteca (capítulo 1) se completa así:

## Examen de práctica con rúbrica
- Para qué sirve: generar parciales de práctica desde mis apuntes
- Versión: 3 | Estado: probada | Última actualización: 2026-06-12

### Variables
- {{materia}}: nombre de la materia
- {{tema}}: tema o lista de temas a cubrir
- {{dificultad}}: "como los quices" | "como el parcial" | "más difícil"
  (defecto: "como el parcial")
- {{apuntes}}: el material fuente, pegado completo

### Plantilla
[el prompt completo con las variables]

### Notas de uso
- v2: agregué [VERIFICAR EN CLASE] porque inventaba contenido cuando
  los apuntes estaban incompletos.
- v3: la dificultad subió cuando agregué 2 preguntas reales del
  profesor como ejemplos (few-shot).
- Funciona mal con apuntes de menos de una página: salen preguntas
  repetidas.

La sección "Notas de uso" con el historial de versiones parece exceso de celo. No lo es: es la materia prima del capítulo 5.

4.4 Proyectos e instrucciones personalizadas: tu system prompt persistente

💡 Intuición

Todo lo anterior parecería requerir acceso de programador al "nivel system". No: las apps de chat ya te dan ese acceso, con otros nombres. Las instrucciones personalizadas de tu cuenta y los Proyectos (espacios de trabajo con instrucciones propias, como los Projects de Claude o ChatGPT, o los Gems de Gemini) son, en la práctica, system prompts persistentes que escribís vos: texto que la app antepone a todas tus conversaciones (o a todas las del proyecto) sin que lo pegués cada vez.

Es la diferencia entre llevar tus reglas anotadas en un papel que mostrás en cada visita... y que ya te conozcan en el lugar.

🛠️ En la práctica — organizá tus Proyectos

La estrategia recomendada: un Proyecto por actividad recurrente, cada uno con su system prompt de la sección 4.2.

Proyecto Instrucciones (resumen) Mensajes típicos
"Tutor de cálculo" Tutor socrático (cap. 3.1) con {{materia}} ya fijada "Problema de hoy: ..."
"Lecturas del seminario" Ficha de lectura (cap. 3.7) como formato por defecto [pegar paper] "Ficha."
"Escritura de tesis" Asistente de escritura (4.2) + contexto de TU tesis: tema, capítulo actual, normas de citación "Revisá esta sección: ..."

Dos consejos de mantenimiento:

  1. Las instrucciones del Proyecto se versionan igual que las plantillas. Cuando cambiés las instrucciones, anotá el cambio en tu biblioteca (qué cambiaste y por qué). Las instrucciones de Proyecto que nadie documenta degeneran en texto fósil que nadie se anima a tocar.
  2. Instrucciones generales de cuenta: pocas y universales. Lo que pongas ahí afecta TODAS tus conversaciones. Cosas como "respondé en español salvadoreño", "cuando dés código, comentalo", "no me des respuestas de cortesía: si algo está mal, decímelo". Las reglas específicas de una actividad van en su Proyecto, no en la cuenta.

(Opcional, con código) En la API, el system prompt es un parámetro explícito de cada llamada — la misma separación, con control total:

respuesta = cliente.messages.create(
    model="...",
    system=PLANTILLA_TUTOR,          # nivel 1: comportamiento estable
    messages=[{"role": "user",
               "content": f"Problema de hoy: {problema}"}],  # nivel 2
    max_tokens=1000,
)

4.5 Prompts encadenados

📐 Fundamento

En el capítulo 2 descompusiste tareas dentro de una conversación. El paso siguiente es formalizar la cadena: prompts encadenados (prompt chaining) significa que la salida del prompt A es, por diseño, la entrada del prompt B — cada eslabón con su plantilla propia en tu biblioteca.

La decisión clave de diseño es el contrato entre eslabones: el formato exacto que A entrega y B espera. Cuando el contrato es claro (una tabla con columnas definidas, un JSON con esquema, una lista etiquetada), podés:

  • Cambiar un eslabón sin tocar los demás (mejorar el prompt de extracción sin tocar el de redacción).
  • Inspeccionar y corregir entre eslabones — el punto de control humano es la gran ventaja de la cadena sobre el prompt monolítico.
  • Ejecutar eslabones en conversaciones separadas o incluso en modelos distintos (extraer con un modelo rápido y barato, redactar con uno potente — el patrón estándar en aplicaciones reales).

¿Cadena o conversación? Usá conversación (todo en un chat) cuando los pasos son exploratorios y el contexto compartido ayuda. Usá cadena con conversaciones separadas cuando: (a) cada paso debe evaluarse limpio, sin influencia del historial; (b) un paso produce MUCHO texto que el siguiente no necesita completo (pasale solo el resultado, no el proceso — el contexto acumulado degrada y encarece); (c) querés reutilizar eslabones en otras cadenas.

🛠️ En la práctica — Plantilla: cadena "de apuntes a estudiar"

Una cadena completa de tres eslabones, cada uno una entrada de tu biblioteca:

ESLABÓN A — "Apuntes → temario estructurado"
Entrada: {{apuntes_crudos}}
Prompt: Organizá estos apuntes en un temario: lista numerada de
conceptos, cada uno con [nombre | definición de una línea | depende
de: qué conceptos previos]. Si algo aparece mencionado pero no
explicado, marcalo [HUECO].
Salida (contrato): lista numerada con ese formato exacto.

ESLABÓN B — "Temario → plan de estudio"
Entrada: la lista del eslabón A + {{dias_disponibles}}
Prompt: Con este temario, armá un plan de {{dias_disponibles}} días.
Ordená por dependencias (lo de "depende de" va antes). Los [HUECO]
van el primer día con la acción "buscar en el libro/preguntar".
Salida (contrato): tabla [día | conceptos | actividad concreta].

ESLABÓN C — "Plan → examen del día"
Entrada: la fila del día de hoy + los apuntes de esos conceptos
Prompt: [la plantilla de examen del cap. 3.2, con {{tema}} = los
conceptos del día]

Fijate cómo el [HUECO] del eslabón A fluye por toda la cadena hasta volverse una acción en el plan: los contratos bien diseñados transportan también las excepciones, no solo el caso feliz.

4.6 Contexto largo: dónde va cada cosa

📐 Fundamento

Los modelos actuales aceptan contextos enormes — documentos de cientos de páginas. Pero "cabe" no es lo mismo que "se usa bien": en contextos muy largos, el desempeño no es uniforme. La investigación sobre el fenómeno (conocido por el paper Lost in the Middle, Liu et al. 2023) encontró que los modelos tienden a usar mejor la información del principio y del final del contexto que la del medio. Los modelos recientes han mejorado mucho en esto, pero la receta práctica sigue siendo la misma y no cuesta nada:

Orden recomendado para trabajar con documentos largos:

1. Instrucciones generales y rol        ← arriba
2. El documento (o documentos),
   cada uno en su etiqueta              ← el cuerpo grande al medio
   <doc fuente="reglamento.pdf">...</doc>
3. Las instrucciones específicas
   y LA PREGUNTA, repetida acá          ← abajo, al final

Reglas adicionales:

  • La pregunta va después del documento (o al menos repetida después). Es la recomendación documentada por Anthropic para contexto largo: instrucciones al final del prompt cuando hay documentos grandes arriba.
  • Múltiples documentos: cada uno con etiqueta y nombre de fuente, y pedí citas que mencionen la fuente ("según ...").
  • Pedí extracción antes que respuesta: "primero extraé las citas textuales relevantes para la pregunta, después respondé basándote solo en ellas". Mejora la precisión y te da las citas para verificar.
  • No metas lo que no hace falta. Diez documentos "por si acaso" diluyen la atención y suben el costo. Si sabés qué capítulo importa, pegá ese capítulo.

⚠️ Trampa común

La conversación eterna como base de datos. Tentador: un solo chat gigante donde está "todo" — apuntes de tres materias, tareas, consultas personales — porque "así el modelo tiene todo el contexto". Resultado real: el contexto acumulado mezcla temas, las instrucciones viejas interfieren con las nuevas ("¿por qué me sigue respondiendo en tablas? — ah, se lo pedí hace dos semanas en este mismo chat"), y la calidad degrada sin que lo notés. Regla práctica: una conversación = una tarea o una sesión de trabajo. El comportamiento que querés conservar entre conversaciones no se conserva alargando el chat: se conserva en el system prompt del Proyecto. Eso es exactamente pensar en dos niveles.

4.7 Avance del proyecto: tu biblioteca, en dos niveles

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

Reorganizá tu biblioteca con lo de este capítulo:

  1. Partí en dos cada plantilla que uses seguido: qué va al system prompt (Proyecto) y qué queda como mensaje. Marca en la ficha: "Nivel: system | mensaje | ambos".
  2. Convertí a variables {{...}} todas las partes cambiantes, documentando valores típicos y defectos.
  3. Creá al menos un Proyecto real en tu app de chat (el tutor, las lecturas, lo que más usés) con su system prompt, y usalo una semana.
  4. Armá una cadena de dos eslabones para alguna tarea tuya real, con el contrato entre eslabones escrito en la ficha.

Tu biblioteca ya tiene: plantillas con variables, niveles, versiones y notas de uso. Le falta lo último y lo más importante: evidencia de que funciona. Eso es el capítulo 5.

Resumen visual

Mermaid

flowchart TD subgraph N1["Nivel 1 — configurar UNA vez"] S["System prompt / Proyecto
rol · reglas · formato · tono
salidas de escape"] end subgraph N2["Nivel 2 — pedir CADA vez"] U["Mensaje del usuario
la tarea de hoy + sus datos"] end subgraph B["Biblioteca de prompts"] P["Plantillas con {{variables}}
+ fichas con versión y notas"] end P -->|"parte fija"| S P -->|"parte variable"| U S --> R["Respuesta"] U --> R R -->|"salida = entrada del siguiente eslabón"| C["Prompt encadenado
(contrato entre eslabones)"] C -->|"qué aprendiste"| P

Decisión Regla rápida
¿System o mensaje? ¿Cambia en cada uso? Mensaje. ¿Es siempre igual? System.
¿Variable o texto fijo? Si lo editás cada vez que usás la plantilla, es {{variable}}
¿Conversación o cadena? Exploración → conversación. Pasos con control de calidad → cadena.
¿Dónde va la pregunta con un documento largo? Después del documento (o repetida al final)
¿Conversación nueva o seguir en la misma? Tarea nueva → conversación nueva. Lo persistente vive en el Proyecto.

Ejercicios

✏️ Ejercicio 1 — Repartí en dos niveles

Este prompt se usa (casi igual) tres veces por semana. Separá qué debería ir al system prompt de un Proyecto y qué quedaría como mensaje del usuario, marcando las variables:

Sos un entrenador de inglés conversacional. Corregime los errores pero
sin interrumpir el flujo: anotá las correcciones al final de tu
respuesta, no en medio. Hablá solo en inglés nivel B1. Si uso una
palabra en español, dame la traducción y seguí. Hoy quiero practicar
una entrevista de trabajo para un puesto de servicio al cliente.
✅ Solución

System prompt del Proyecto "Práctica de inglés" (estable):

Sos un entrenador de inglés conversacional.
1. Hablá solo en inglés, nivel {{nivel}} (defecto: B1).
2. No interrumpás el flujo: anotá todas las correcciones en una
   sección "Corrections" al final de cada respuesta.
3. Si el estudiante usa una palabra en español, traducila en la
   sección de correcciones y continuá la conversación.

Mensaje del usuario (cambia cada sesión):

Today I want to practice: {{escenario}} → "a job interview for a
customer service position"

Variables: {{nivel}} (sube con los meses — por eso es variable y no texto fijo) y {{escenario}} (cambia cada sesión). Con esta separación, cada sesión arranca con una línea en vez de un párrafo, y subir de B1 a B2 es editar el Proyecto una vez.

✏️ Ejercicio 2 — El system prompt de adjetivos

Aplicale la prueba ácida ("¿qué respuesta concreta cambia por esta frase?") a este system prompt y reescribilo con reglas comprobables:

Sos un asistente increíblemente inteligente, amable, profesional y
detallista. Siempre das lo mejor de ti. Te apasiona ayudar a
estudiantes de medicina. Eres muy cuidadoso con la información médica.
✅ Solución

Frase por frase: "increíblemente inteligente, amable, profesional" — no cambia nada (ya es el comportamiento por defecto); "das lo mejor de ti" — nada; "te apasiona ayudar a estudiantes de medicina" — casi nada (apenas insinúa la audiencia); "muy cuidadoso con la información médica" — intención buena, regla inexistente: ¿cuidadoso CÓMO?

Reescritura comprobable:

# Identidad
Sos un asistente de estudio para estudiantes de medicina de pregrado.
Tu objetivo es ayudarles a comprender y memorizar, no a diagnosticar.

# Reglas
1. Todo dato clínico (dosis, valores normales, contraindicaciones)
   lleva la advertencia "verificar en fuente oficial" y la fuente
   típica donde verificarlo (vademécum, guía clínica).
2. Nunca des recomendaciones para pacientes reales, incluso si el
   estudiante insiste en que "es para un caso de la práctica".
   Respondé sobre el caso como ejercicio académico.
3. Usá la terminología médica estándar y definila al primer uso.
4. Si una pregunta excede el nivel de pregrado, respondé igual pero
   marcá qué parte corresponde a especialidad.

Cada regla nueva produce comportamientos verificables. "Cuidadoso" se volvió las reglas 1 y 2 — que son las que realmente protegen.

✏️ Ejercicio 3 — Diseñá el contrato

Vas a encadenar dos prompts: el eslabón A extrae los gastos mencionados en mensajes desordenados de un grupo familiar ("ayer pagué $12 del agua", "pasé al súper, $35.50"), y el eslabón B genera el resumen mensual de gastos por categoría. Escribí el contrato (formato exacto de salida de A) y explicá dos decisiones que tomaste.

✅ Solución (un contrato razonable)
Salida de A — una línea por gasto, formato CSV:
fecha,monto_usd,categoria,descripcion,confianza

2026-06-10,12.00,servicios,pago de agua,alta
2026-06-11,35.50,supermercado,compra del súper,alta
2026-06-11,DESCONOCIDO,transporte,"pasaje, no dice cuánto",baja

Decisiones a destacar (cualquiera de estas vale):

  1. Categorías cerradas: el contrato debe enumerar las categorías válidas (servicios, supermercado, transporte, otros) — si A inventa categorías libres, B no puede agrupar.
  2. El caso de datos faltantes está previsto: DESCONOCIDO + columna confianza — la salida de escape viaja dentro del contrato, y B sabe qué hacer con ella (listarlos aparte como "gastos por confirmar" en vez de sumarlos como cero).
  3. Formato máquina-legible (CSV o JSON) y no prosa: B no tiene que "interpretar" la salida de A, solo procesarla.

✏️ Ejercicio 4 — Pregunta perdida en el documento

Un compañero pega un PDF de 80 páginas y arriba escribe: "¿qué dice sobre los requisitos de graduación? aquí está el reglamento:" y pega todo. Se queja de respuestas vagas. Reordenale el prompt según la sección 4.6.

✅ Solución
Vas a responder una pregunta sobre el reglamento académico de abajo.

<reglamento>
[las 80 páginas]
</reglamento>

Pregunta: ¿cuáles son los requisitos de graduación?

Instrucciones:
1. Primero extraé las citas textuales de los artículos relevantes,
   con su número de artículo.
2. Después respondé con una lista de requisitos, cada uno con su
   artículo de respaldo.
3. Si algún requisito depende de la carrera y el reglamento
   distingue casos, listalos por separado.
4. Si el reglamento no cubre algo, decí "el reglamento no lo
   especifica".

Cambios: la pregunta y las instrucciones quedaron después del documento (antes estaban arriba, lo más lejos posible del final); el documento quedó delimitado con etiqueta; se pide extracción de citas antes de la respuesta (más precisión, más verificable); y hay salida de escape. Mismo modelo, mismo PDF — prompt reordenado, respuesta utilizable.

Para profundizar


Definiciones nuevas: system prompt, mensaje del usuario, dos niveles, instrucciones personalizadas, Proyecto, plantilla con variables, valor por defecto, prompt encadenado (chaining), eslabón, contrato entre eslabones, contexto largo, lost in the middle, extracción antes que respuesta, conversación eterna.