Ejercicios — Prompt Engineering
La regla de oro de este libro aplica también acá: no leás las soluciones antes de intentar. Y la mayoría de estos ejercicios mejoran muchísimo si los probás con un chatbot abierto al lado.
Cap. 1 — Anatomía de un prompt
1.1 — Detectá las piezas (básico)
Identificá qué piezas de las siete (instrucción, contexto, datos, formato, rol, restricciones, criterio de éxito) están presentes en este prompt y cuáles faltan:
Actuá como guía turístico. Recomendame qué hacer un fin de semana en
la Ruta de las Flores con un presupuesto de $40. Formato: itinerario
por día con costos estimados.
✅ Solución
Presentes: rol (guía turístico), instrucción (recomendar qué hacer), restricción (presupuesto $40), formato (itinerario por día con costos).
Faltan: contexto (¿cuántas personas? ¿con vehículo o en bus? ¿desde dónde salen?), datos (no aplica mucho en esta tarea — no hay material a procesar; está bien que falte), criterio de éxito (¿qué hace bueno el itinerario: comer rico, caminar poco, fotos?).
Lección: no todo prompt necesita las siete piezas; este está bastante bien. Pero el contexto faltante (personas, transporte) va a producir suposiciones que pueden invalidar el presupuesto entero.
1.2 — Este prompt está mal: arreglalo (básico)
explicame la inflación
Reescribilo con al menos cuatro de las siete piezas. Inventá un contexto realista de estudiante.
✅ Solución (una de muchas)
Explicame qué es la inflación y por qué sube el precio de la canasta
básica. ← instrucción
Contexto: estudio primer año de administración; en el examen me van a
pedir explicar causas y consecuencias. ← contexto
Formato: (1) definición simple, (2) 3 causas con un ejemplo
centroamericano cada una, (3) 3 consecuencias, (4) un párrafo de
cierre que conecte todo. ← formato
Restricción: sin fórmulas todavía — primero quiero la intuición.
Criterio: que pueda explicárselo a un compañero sin leer.
El punto no es la longitud: es que cada decisión importante (nivel, propósito, estructura, profundidad) quedó tomada por vos.
1.3 — Una conversación que costó (intermedio)
Buscá en tu historial de chats una conversación donde tuviste que corregir a la IA tres o más veces hasta obtener lo que querías. Reescribí el primer mensaje incorporando todas las correcciones que hiciste después. Compará longitudes: ¿cuánto más largo es el prompt bueno respecto al original? ¿Cuántos mensajes te habría ahorrado?
✅ Solución
Ejercicio personal sin solución única. Lo típico que se descubre: el prompt reescrito tiene 3-5 veces la longitud del original, y cada corrección que hiciste en la conversación ("más corto", "en español", "sin tanta introducción", "para nivel principiante") era una pieza de las siete que faltaba (formato, restricción, contexto). Ese prompt reescrito es exactamente el tipo de entrada que va a tu biblioteca: ya pagaste su costo de desarrollo una vez — no lo pagués de nuevo.
1.4 — El criterio de éxito invisible (retador)
Dos estudiantes mandan el mismo prompt: "resumime este capítulo de historia en una página". Uno queda satisfecho y el otro no, con la misma respuesta. Explicá cómo es posible, y qué pieza del prompt lo habría evitado.
✅ Solución
Los dos tenían criterios de éxito distintos y no declarados: uno quería un resumen para repasar antes del examen (necesita fechas, nombres, causas — densidad de datos), el otro quería entender la idea general del período (necesita narrativa, conexiones, poco detalle). La respuesta satisfizo un criterio y no el otro — pero ninguno se lo dijo al modelo, así que el modelo eligió por ellos.
La pieza que lo evita: el criterio de éxito explícito ("una buena respuesta me permite responder preguntas de examen sobre fechas y actores" vs. "una buena respuesta me deja contar la historia del período de corrido"). Moraleja profunda: cuando dos personas juzgan distinto la misma salida de IA, casi siempre el desacuerdo estaba en los criterios no escritos, no en la salida.
Cap. 2 — Técnicas fundamentales
2.1 — Este few-shot está mal: arreglalo (básico)
Convertí títulos de noticias a hashtags:
"Selecta gana en el estadio Cuscatlán" → #LaSelecta #Cuscatlán #Fútbol
"Inauguran nuevo hospital en Santa Ana" → #SantaAna
"Suben los precios del café" → #café #precios #economía #ElSalvador #noticias #2026
Convertí: "Estudiantes de UNIMO ganan concurso de robótica"
✅ Solución
El problema: los tres ejemplos son inconsistentes entre sí — uno da 3 hashtags, otro 1, otro 6; uno capitaliza (#Cuscatlán), otro no (#café); el tercero agrega hashtags genéricos de relleno (#noticias #2026). El modelo no puede saber cuál patrón imitar — va a imitar uno al azar o un promedio raro.
Arreglo: ejemplos con formato idéntico y regla implícita clara:
Convertí títulos de noticias a exactamente 3 hashtags: lugar o
protagonista, tema, categoría. CamelCase para hashtags compuestos.
"Selecta gana en el estadio Cuscatlán" → #LaSelecta #Fútbol #Deportes
"Inauguran nuevo hospital en Santa Ana" → #SantaAna #Hospital #Salud
"Suben los precios del café" → #Café #Precios #Economía
Convertí: "Estudiantes de UNIMO ganan concurso de robótica"
(Respuesta esperable: #UNIMO #Robótica #Educación.) En few-shot, la consistencia entre ejemplos ES la instrucción.
2.2 — ¿Qué técnica falta? (básico)
Para cada queja, decí qué técnica del capítulo 2 la resuelve:
a) "Le pego el artículo y mi pregunta, y a veces responde sobre el artículo y a veces se pone a opinar de lo que el artículo menciona." b) "Le pregunto cosas del manual de mi moto y cuando el manual no trae el dato, se lo inventa con total confianza." c) "Le pido que evalúe ensayos con la escala del curso y cada vez inventa una escala diferente."
✅ Solución
a) Etiquetas/delimitadores (sección 2.4): <articulo>...</articulo> + instrucción explícita "respondé usando solo el contenido de <articulo>", con la pregunta fuera (y al final).
b) Salida de escape (2.5): "si el manual no contiene la información, respondé 'el manual no lo especifica'" + pedir cita textual de la sección del manual para lo que sí responda.
c) Few-shot (2.1): mostrarle 2-3 evaluaciones reales hechas con la escala del curso. La escala descrita verbalmente se "interpreta"; la escala mostrada se imita. (Mención honorable: también ayuda poner la escala completa en el prompt como dato — descripción + ejemplos es la combinación ganadora.)
2.3 — Descomposición con contrato (intermedio)
Tarea: "organizar los gastos del viaje de graduación del grupo (45 personas, 3 días) a partir del chat de WhatsApp donde todos fueron apuntando pagos y deudas en desorden". Descomponela en 3 pasos con el formato de entrega de cada paso explícito.
✅ Solución (una descomposición válida)
PASO 1 — Extraer transacciones del chat:
"Extraé cada pago o deuda mencionado en <chat>. Formato de salida:
una línea por transacción: quién_pagó | monto_usd | concepto |
quiénes_deben | DUDOSO si el mensaje es ambiguo.
Si un mensaje habla de dinero pero no se entiende, listalo aparte
en 'REVISAR A MANO' con el mensaje textual."
PASO 2 — Consolidar por persona (entrada: la tabla del paso 1):
"Con esta tabla de transacciones, calculá el balance por persona:
total pagado, total adeudado, saldo neto. Excluí las filas DUDOSO
y listalas aparte. Formato: tabla ordenada por saldo."
PASO 3 — Plan de pagos (entrada: la tabla del paso 2):
"Con estos balances, generá el plan de pagos mínimo: quién le
transfiere cuánto a quién, con el menor número de transferencias.
Formato: lista 'A → B: $X' + verificación de que los saldos cierran
en cero."
Claves: el caso ambiguo (DUDOSO, REVISAR A MANO) viaja por el contrato sin contaminar los cálculos; entre pasos vos revisás (especialmente las dudosas); y el paso 3 incluye su propia verificación. Advertencia honesta del cap. 5: aritmética sobre muchas filas es terreno resbaloso para un LLM — el paso 2 conviene verificarlo en una hoja de cálculo. La descomposición te da justo el punto donde hacer esa verificación.
2.4 — El JSON que casi parsea (intermedio)
Pedís "dame los datos en JSON" y recibís a veces JSON con comentarios, a veces con texto antes ("¡Claro! Aquí está tu JSON:"), a veces con claves diferentes. Escribí el prompt que estabiliza la salida.
✅ Solución
Extraé los datos del texto y respondé ÚNICAMENTE con JSON válido.
- Sin texto antes ni después del JSON. Sin comentarios. Sin markdown.
- Usá EXACTAMENTE este esquema (claves y valores posibles):
{
"nombre": "<string>",
"fecha": "<YYYY-MM-DD o null si no aparece>",
"categoria": "pago" | "deuda" | "otro",
"monto_usd": <number o null>
}
- Si un campo no aparece en el texto, usá null (no lo omitás, no
lo inventés).
<texto>
{{texto}}
</texto>
Los tres estabilizadores: "ÚNICAMENTE/sin texto antes ni después" (mata el "¡Claro!"), el esquema literal con tipos y enumeraciones (mata las claves creativas), y el null explícito (mata tanto los campos omitidos como los inventados — es la salida de escape en versión JSON).
2.5 — ¿Cuándo pedir paso a paso? (retador)
Tu compañero pone "pensá paso a paso y razoná cuidadosamente" en TODOS sus prompts, desde "traducime esta frase" hasta problemas de lógica, porque "leyó que mejora los resultados". Evaluá la costumbre: ¿cuándo le sirve, cuándo le es indiferente y cuándo le juega en contra?
✅ Solución
Le sirve: con modelos sin razonamiento interno (pequeños/rápidos) en tareas de varios pasos (aritmética, lógica, planificación). Ahí el CoT clásico (Wei et al. 2022) sigue rindiendo.
Le es indiferente: con modelos razonadores modernos en tareas de razonamiento — ya lo hacen internamente y mejor; la frase no daña pero no aporta. Y en tareas sin razonamiento ("traducí esta frase"), no hay pasos que pensar.
Le juega en contra: (1) en tareas simples puede producir respuestas infladas — tres párrafos de "razonamiento" ceremonial para una traducción de una línea — más lentas de leer y, vía API, más caras; (2) lo peor: la frase le ocupa el lugar mental del trabajo real — cree que ya "optimizó" el prompt y no agrega lo que de verdad rinde con modelos modernos: claridad, contexto, ejemplos y criterios de éxito; (3) si lo que quiere es que el modelo siga el método del curso, "paso a paso" genérico le da el método promedio de internet, no el del profesor — debió dar los pasos él.
Cap. 3 — Prompts para estudiar y programar
3.1 — Este tutor está mal: arreglalo (básico)
Sos un tutor. Explicame integrales por partes con ejercicios.
El estudiante quería practicar él; el modelo le dio una clase magistral con cinco ejercicios resueltos. Arreglá el prompt para que el estudiante trabaje y el tutor acompañe.
✅ Solución
El prompt pide exactamente lo que recibió: "explicame... con ejercicios" = clase + solucionario. Si quiere practicar, las reglas deben invertir los papeles:
Sos un tutor socrático de cálculo. Vamos a practicar integrales por
partes. Reglas:
1. No expliqués el método todavía: dame UN ejercicio y dejame
intentarlo. Yo te escribo mi desarrollo.
2. NUNCA resuelvas el ejercicio, aunque te lo pida. Si me trabo,
pista mínima (¿qué elijo como u y como dv?), no el paso resuelto.
3. Si mi desarrollo tiene un error, señalá EN QUÉ LÍNEA está y
preguntame qué pasa ahí — no me digas el error.
4. Cuando lo termine bien, subí la dificultad en el siguiente.
Mi nivel: ya sé derivar e integrar funciones básicas; por partes lo
vi una vez en clase.
Empezá con el primer ejercicio.
3.2 — La rúbrica que faltaba (intermedio)
Generaste un examen de práctica con la plantilla del capítulo 3 y lo respondiste. Ahora autocorregite... y descubrís que tu rúbrica de la pregunta de desarrollo dice "planteo 30%, procedimiento 40%, resultado 20%, claridad 10%" pero no sabés qué cuenta como "planteo correcto" para ESTA pregunta. Mejorá el prompt original para que la rúbrica salga específica.
✅ Solución
El problema: la rúbrica salió genérica porque la plantilla pedía porcentajes pero no descriptores por pregunta. Mejora al prompt original:
Para el problema de desarrollo, la rúbrica debe ser ESPECÍFICA de ese
problema, no genérica. Para cada criterio, escribí:
- qué debe contener una respuesta de puntaje completo (elementos
concretos: qué ecuación, qué datos identificados, qué unidades),
- el error típico que haría perder ese criterio.
Ejemplo del nivel de detalle que quiero:
"Planteo (30%): identifica que es un problema de caída libre y
escribe v = gt con g ≈ 9.8 m/s². Error típico: usar la ecuación de
posición cuando piden velocidad."
Fijate la jugada: el ejemplo del nivel de detalle es few-shot aplicado a la rúbrica. "Rúbrica específica" descrito no funciona; mostrado, sí.
3.3 — El prompt de depuración perezoso (intermedio)
Este prompt de depuración recibió una respuesta genérica ("puede ser un problema de tipos, revisá las variables..."). Listá todo lo que le falta y reescribilo completo con datos inventados pero verosímiles:
mi programa de promedios en python da resultado raro, ¿qué tiene mal?
def promedio(notas):
total = 0
for n in notas:
total += n
return total / len(notas)
✅ Solución
Falta: la entrada concreta que produce el problema, la salida obtenida, la salida esperada (¿qué es "raro"?), y el contexto de cómo lo llama. Reescritura:
Ayudame a depurar. Explicá la causa antes de corregir.
<codigo>
def promedio(notas):
total = 0
for n in notas:
total += n
return total / len(notas)
notas_juan = ["8", "7", "9"] # vienen de input() en otra parte
print(promedio(notas_juan))
</codigo>
<error>
TypeError: unsupported operand type(s) for +=: 'int' and 'str'
</error>
<esperado>
Debería imprimir 8.0 (el promedio de 8, 7 y 9).
</esperado>
<contexto>
Python 3.12. Las notas las pide con input() y las guarda en una
lista. Con notas escritas directo como números [8, 7, 9] funciona.
</contexto>
Con el contexto completo, el diagnóstico es inmediato: input() devuelve strings; hay que convertir con int()/float() al leer (causa raíz), no dentro de promedio (parche al síntoma). La pista decisiva era "con números directos funciona" — información que el prompt original ni mencionaba.
3.4 — La ficha de lectura con trampa (retador)
Usás la plantilla de ficha de lectura (cap. 3.7) con un paper, y la ficha sale perfecta: todos los campos completos, citas textuales incluidas. Al verificar dos citas al azar... una no aparece en el documento. ¿Qué pasó, qué hacés con esa ficha, y qué cambiarías en la plantilla o en tu proceso?
✅ Solución
Qué pasó: el modelo alucinó la cita — generó una frase plausible con el estilo del paper en vez de extraerla. Pasa especialmente con documentos largos, al parafrasear de memoria interna, o cuando el dato pedido no estaba y el modelo "completó" (la salida de escape no se activó).
Qué hacés con la ficha: desconfiar de TODA la ficha, no solo de esa cita — la verificación al azar existe porque una cita falsa detectada predice otras no detectadas. La ficha pasa de "fuente" a "borrador a verificar contra el original".
Qué cambiar: (1) en la plantilla: exigir ubicación precisa con cada cita (sección/página) — las citas con ubicación son más fáciles de verificar y el requisito mismo reduce la invención; (2) endurecer el escape: "si no encontrás una cita textual exacta, escribí PARÁFRASIS: y marcala como tal — nunca presentés una reconstrucción como cita"; (3) en el proceso: la verificación al azar de 2-3 citas se vuelve paso fijo del uso de la plantilla (anotalo en la ficha de la biblioteca), y este paper entra al set de casos de prueba del capítulo 5.
Cap. 4 — System prompts y plantillas
4.1 — ¿System o mensaje? (básico)
Clasificá cada línea: ¿va en el system prompt del Proyecto "Ayudante de tesis" o en el mensaje del usuario?
a) "Citá siempre en formato APA 7." b) "Revisá la coherencia de este párrafo de mi marco teórico: <párrafo>." c) "Mi tesis es sobre deserción escolar en el oriente de El Salvador; metodología mixta." d) "Nunca inventés referencias bibliográficas; si falta una fuente, marcá [BUSCAR FUENTE]." e) "Hoy necesito que el tono sea más formal que de costumbre, es el capítulo que lee el asesor."
✅ Solución
- a) System — regla estable de formato.
- b) Mensaje — la tarea puntual de hoy con sus datos.
- c) System — contexto estable del proyecto: no cambia entre sesiones y todas las respuestas deben conocerlo. (Es la gran ventaja de los Proyectos: el contexto de TU tesis se escribe una vez.)
- d) System — regla de comportamiento con salida de escape; de las más importantes para este caso de uso.
- e) Mensaje — es una excepción puntual ("hoy", "más que de costumbre") al tono por defecto. Si empezara a pedirse en cada sesión, sería señal de que el tono por defecto del system está mal calibrado y conviene actualizarlo.
4.2 — Este system prompt está mal: arreglalo (intermedio)
Eres el mejor profesor de estadística del mundo, con doctorados de
Harvard y MIT. Eres brillante, motivador, divertido pero serio,
exhaustivo pero conciso. Ayudas con todo lo que se te pida. Sé
amable. Da siempre lo mejor.
✅ Solución
Problemas: credenciales decorativas que no cambian comportamiento ("Harvard y MIT"); contradicciones sin resolver ("divertido pero serio", "exhaustivo pero conciso" — ¿cuál gana y cuándo?); "ayudas con todo" deshace la especialización (un buen system prompt recorta); cero reglas comprobables; cero salidas de escape; cero formato.
Reescritura:
# Identidad
Sos un tutor de estadística para estudiantes universitarios que la
ven por primera vez. Tu objetivo: que entiendan los conceptos, no
que aprueben copiando.
# Reglas
1. Priorizá brevedad: respuesta corta primero; ofrecé profundizar
("¿querés el detalle del cálculo?") en vez de darlo siempre.
2. Cada concepto nuevo lleva un ejemplo con datos pequeños (5-10
números) que se puedan seguir a mano.
3. Si la pregunta es de tarea calificada, guiá sin dar el resultado
final (modo socrático).
4. Si te preguntan algo fuera de estadística, redirigí en una frase.
5. Si un cálculo requiere datos que no te dieron, pedilos — no los
supongás.
# Formato por defecto
Idea central (2-3 frases) → ejemplo numérico → "error típico" de ese
concepto en una línea.
# Tono
Cercano y claro. Términos técnicos siempre definidos al primer uso.
La tensión "exhaustivo pero conciso" quedó resuelta por una regla con mecanismo (regla 1: corto por defecto, profundidad a pedido) en vez de adjetivos enfrentados.
4.3 — La cadena rota (intermedio)
Armaste la cadena del capítulo 4: eslabón A extrae conceptos de apuntes → eslabón B arma el plan de estudio. Funcionaba, pero hoy B produjo un plan absurdo. Revisás y resulta que A, con unos apuntes muy desordenados, devolvió los conceptos en prosa narrativa en vez de la lista etiquetada. ¿Dónde está el bug y cómo lo arreglás para siempre?
✅ Solución
El bug está en el contrato entre eslabones: A rompió el formato de salida pactado y B procesó basura sin quejarse (basura entra, basura sale). Dos arreglos complementarios:
- Endurecer la salida de A: "tu salida debe ser EXACTAMENTE una lista numerada con el formato [nombre | definición | depende de]. Sin párrafos introductorios ni texto fuera de la lista. Si los apuntes están demasiado desordenados para extraer un concepto con confianza, listalo como [nombre | REVISAR | -]" — el caso "entrada difícil" previsto dentro del contrato.
- Validar en la entrada de B: "antes de armar el plan, verificá que la entrada sea una lista con el formato esperado. Si no lo es, no hagás el plan: respondé 'ENTRADA INVÁLIDA' y qué está mal." Un eslabón que rechaza entradas rotas vale más que uno que las procesa en silencio.
Y el cierre del capítulo 5: esos apuntes desordenados entran al set de casos de prueba de A. El fallo de hoy es el test de regresión de mañana.
4.4 — Reordená para contexto largo (básico)
Sin cambiar el contenido, reordená este prompt según las reglas de contexto largo:
¿Cuáles fueron las causas del conflicto según el autor? Respondé con
citas. [PEGA 60 PÁGINAS DE UN LIBRO DE HISTORIA] Ah, y decime también
si el autor presenta contraargumentos.
✅ Solución
Vas a responder preguntas sobre el texto de historia de abajo.
<texto>
[LAS 60 PÁGINAS]
</texto>
Preguntas:
1. ¿Cuáles fueron las causas del conflicto según el autor?
2. ¿El autor presenta contraargumentos a su propia tesis?
Instrucciones: primero extraé las citas textuales relevantes (con
capítulo/página), después respondé cada pregunta apoyándote solo en
ellas. Si algo no está en el texto, decilo.
Cambios: anuncio breve arriba; el documento al medio, etiquetado; las dos preguntas juntas, numeradas y DESPUÉS del documento (antes estaban una adelante y otra perdida al final, la peor combinación); extracción antes de respuesta; salida de escape. Es el ejercicio 4 del capítulo 4 en versión historia — porque este error es tan común que merece practicarse dos veces.
Cap. 5 — Evaluar e iterar
5.1 — Criterios para tu plantilla favorita (básico)
Tomá la plantilla que más usás de tu biblioteca y escribile 4 criterios de éxito medibles: al menos uno de formato, uno de contenido y uno que pruebe la salida de escape.
✅ Solución (ejemplo con la plantilla "examen de práctica")
- Formato: el examen tiene exactamente 5 opción múltiple + 3 cortas + 1 desarrollo, y la clave está en sección separada al final.
- Contenido: toda pregunta es respondible con los apuntes provistos (verificación: para cada pregunta puedo señalar el fragmento del apunte que la responde).
- Contenido/calidad: los distractores de opción múltiple son errores plausibles, no opciones absurdas (verificación: ninguna opción se descarta sin saber del tema).
- Escape: con apuntes incompletos a propósito, las preguntas sobre lo faltante aparecen marcadas [VERIFICAR EN CLASE] en vez de inventadas.
El criterio 4 es el que casi nadie escribe y el que más protege: solo se puede probar dándole a la plantilla una entrada defectuosa adrede — por eso los sets de prueba llevan casos difíciles.
5.2 — Este experimento está mal: arreglalo (intermedio)
Tu compañera comparó dos versiones de su plantilla así: "Probé la v1 el lunes con el capítulo de biología y me pareció regular. El miércoles probé la v2 en el mismo chat con el capítulo de química, y me pareció mejor. Conclusión: la v2 gana, borro la v1."
✅ Solución
Errores: (1) entradas distintas (biología vs. química) — no compara las versiones, compara los capítulos; (2) mismo chat — la v2 corrió con el historial de la v1 en el contexto, contaminada; (3) "me pareció" sin criterios — juicio global de memoria, dos días después, sin nada verificable; (4) n=1 — un solo caso por versión; (5) borró la v1 — si la v2 resulta peor en otros casos, no hay vuelta atrás.
Protocolo corregido: mismos 4-6 casos para ambas versiones (los dos capítulos incluidos), conversaciones limpias separadas, criterios escritos antes, evaluación a ciegas (respuestas copiadas sin marcar de qué versión salieron), conteo de victorias por caso, y la v1 archivada en el historial de la ficha — no borrada.
5.3 — Calibrá a tu juez (retador)
Diseñá el mini-experimento para decidir si podés confiar en un LLM-as-judge para evaluar tu plantilla de resúmenes: qué le das al juez, cómo evitás sus sesgos conocidos, y qué número decide si lo adoptás como primer filtro.
✅ Solución (un diseño razonable)
Preparación: 8-10 respuestas de tu plantilla (mezclá buenas, regulares y malas — incluí 1-2 deliberadamente defectuosas como control: con una afirmación inventada, o pasada de longitud). Tus criterios medibles ya escritos.
Al juez (conversación limpia, idealmente modelo distinto del que generó): texto fuente + respuesta + criterios, formato CUMPLE/NO CUMPLE por criterio con evidencia textual, y "no premies la redacción: evaluá solo los criterios" (mitiga el sesgo de verbosidad). Una respuesta por conversación, para que no se influyan. Si además comparás pares de respuestas, evaluá cada par en los dos órdenes (mitiga el sesgo de posición; si el veredicto cambia con el orden, es empate).
En paralelo, vos evaluás los mismos casos con los mismos criterios, sin ver los veredictos del juez (a ciegas en ambas direcciones).
Decisión: coincidencia juez-vos por criterio. Umbral razonable: ≥80% de coincidencia global y que haya detectado las respuestas-control defectuosas (un juez que deja pasar la afirmación inventada queda descalificado, coincida lo que coincida en el resto). Si pasa: se adopta como primer filtro, con revisión humana de todo lo que apruebe "con dudas" y auditorías al azar cada tanto. Si no pasa: o se itera el prompt del juez (¡también es un prompt de tu biblioteca, con su ficha y sus casos!) o se evalúa a mano.
5.4 — Diagnóstico final (retador)
Tres situaciones, tres diagnósticos. Para cada una: ¿es el prompt, la tarea, el contexto o el modelo? ¿Qué harías?
a) Tu plantilla de traducción de código Python→Java (cap. 3.6) funciona perfecta... excepto cuando el código usa librerías de Python que no existen en Java. Ahí el modelo inventa imports de librerías Java inexistentes. b) Tu tutor socrático funciona de lujo en sesiones de 20 minutos, pero en sesiones de 2 horas "se le olvidan" las reglas: empieza a dar respuestas directas. c) Le pedís a tu plantilla de fichas que te diga "qué opinaba el autor de este paper sobre el trabajo de tal otra investigadora" y nunca acierta, aunque el paper la cita.
✅ Solución
a) Es el prompt — falta la salida de escape para un caso previsible. La tarea tiene un hueco real (no toda librería tiene equivalente) y la plantilla no lo prevé, así que el modelo lo rellena inventando. Arreglo: "si una librería del original no tiene equivalente directo en {{destino}}, NO inventés un import: marcá [SIN EQUIVALENTE: nombre] y sugerí alternativas reales o el cambio de enfoque necesario". Ese código con librería exótica entra al set de casos.
b) Mezcla de contexto largo y arquitectura de la solución. En conversaciones muy largas, las instrucciones del inicio pierden peso frente al historial acumulado (cap. 4.6). Mitigaciones en orden: (1) si las reglas estaban en el primer mensaje y no en un system prompt/Proyecto, movelas ahí — las instrucciones de sistema resisten mejor; (2) sesiones más cortas: una conversación por tema (el hábito anti-"conversación eterna"); (3) un recordatorio periódico breve ("recordá: modo socrático") cuando la sesión deba ser larga.
c) Frontera tarea/prompt — pregunta de inferencia fina sobre contexto largo. "Qué opina A del trabajo de B" rara vez está dicho explícitamente: hay que localizar las citas a B y leer el tono — difícil para recuperación en contexto largo. Antes de culpar al modelo: descomponé (primero "extraé todos los pasajes donde se cita a B, textuales", después "con SOLO estos pasajes, ¿qué actitud muestra el autor?"). Si con la descomposición funciona, era el prompt (tarea demasiado implícita en un solo salto). Si ni así, el matiz quizás no está en el texto — y la respuesta honesta es la de escape: "el paper la cita pero no expresa una valoración clara". Forzar una opinión donde no la hay es pedirle al modelo que alucine.
¿Terminaste los ejercicios? Entonces te falta una sola cosa: el proyecto final — tu biblioteca, evaluada. Es la diferencia entre haber leído este libro y haberlo aprendido.