The Claude Bible
Inicio / Ingeniería de prompts avanzada
Nivel: Avanzado · 12 lecciones

Ingeniería de prompts avanzada

Encadenamiento, tool use, composición multi-proveedor (Frankenstein), citas, anti-hedging.

Abrir el curso interactivo212 lecciones, cuestionarios, ejercicios, 3 idiomas, gratis.

Encadenar prompts

Una tarea compleja ejecutada en un solo prompt monolítico falla con más frecuencia que una cadena de prompts simples, cada uno con una sola responsabilidad. El principio: dividir, y pasar la salida de uno como entrada del siguiente.

Ejemplo: "escribe un artículo SEO completo" da algo tibio. Una cadena da algo sólido:

  1. Prompt 1: investigar y listar los ángulos + palabras clave.
  2. Prompt 2: a partir de esa lista, producir un esquema detallado.
  3. Prompt 3: redactar sección por sección a partir del esquema.
  4. Prompt 4: revisar y corregir (un agente crítico).

Cada eslabón es verificable y corregible de forma independiente. Es también la base mental de los flujos de trabajo multi-agente: un pipeline donde cada paso es un agente especializado. La regla de Pierre "Opus para la arquitectura, Haiku para lo repetitivo" se aplica aquí: se encadena asignando el modelo correcto a cada eslabón.

Puntos clave
  • Dividir una tarea compleja en una cadena de prompts simples
  • La salida de un eslabón = la entrada del siguiente; cada eslabón verificable
  • Base de los flujos de trabajo: un pipeline de agentes especializados
  • Asignar el modelo correcto a cada eslabón

Uso de herramientas: darle manos al modelo

El uso de herramientas (tool use, o function calling) permite a Claude llamar funciones que usted define: consultar una base de datos, llamar a una API, hacer un cálculo, leer un archivo. Usted describe la herramienta (nombre, descripción, esquema de parámetros), Claude decide cuándo y cómo llamarla, usted ejecuta y devuelve el resultado.

Es el motor de todo agente (Claude Code, Cowork, MCP). Buenas prácticas para definir una herramienta, extraídas de los mejores arneses:

La salida estructurada (forzar a Claude a llamar una herramienta que valide un esquema JSON) es la forma más fiable de obtener datos utilizables por un programa, mejor que analizar texto libre.

Puntos clave
  • Uso de herramientas = Claude llama funciones que usted define (el motor de los agentes)
  • Descripción clara + esquema de parámetros estricto
  • No nombre la herramienta al usuario; paralelice si son independientes
  • Salida estructurada validada por esquema > análisis de texto libre

Componer un system prompt: el caso Frankenstein

La técnica más avanzada de Pierre: componer un system prompt ensamblando las mejores reglas de varios system prompts de élite. Su "Frankenstein" fusiona ocho fuentes (el roleplay Fable 5, más las disciplinas de Cursor, GPT-5, Perplexity, Lovable, v0, Cline, Devin) y superpone sus propias reglas absolutas en la cima, con prioridad.

No es fine-tuning, es prompt engineering puro: no se modifican los pesos del modelo, se cambia su comportamiento mediante instrucciones. Estructura del documento, en orden de prioridad descendente:

  1. Identidad y reglas absolutas del usuario (anulan todo lo demás).
  2. Disciplina de uso de herramientas (no nombrar las herramientas, leer antes de editar, máximo 3 intentos).
  3. Anti-hedging: una lista explícita de aperturas y cierres prohibidos.
  4. Estilo, reglas de código, directivas UI/UX, búsqueda, citación, rechazo, recuperación de errores, seguridad del espacio de trabajo.

Lecciones transferibles, incluso sin copiar su configuración:

Puntos clave
  • Componer un system prompt = ensamblar las mejores reglas de varias fuentes
  • Prompt engineering puro, sin fine-tuning
  • Reglas de prioridad al principio, declaradas como prioritarias
  • Prohibir mediante lista explícita > pedir vagamente; codificar cada incidente en una regla

Cita y anti-hedging en el uso diario

Dos disciplinas de estilo que cambian la calidad percibida, tomadas directamente del Frankenstein.

Cita (disciplina Perplexity), cada vez que realices una investigación:

Anti-hedging (GPT-5 + Cline): prohibir aperturas vacías ("Claro", "Por supuesto") y cierres opt-in ("would you like me to..."). Como máximo una pregunta de aclaración al inicio si es necesario, nunca al final. Si el siguiente paso es obvio, ejecutarlo en lugar de proponerlo.

Por qué importa: el hedging diluye la señal y ralentiza al lector. Una respuesta que actúa (o explica) directamente respeta el tiempo del usuario. Es exactamente el tono de esta Bible, por construcción.

Puntos clave
  • Cita: corchetes inline, una fuente por corchete, max 3, sin sección de Referencias
  • Anti-hedging: sin apertura vacía ni cierre opt-in
  • Como máximo una pregunta de aclaración, al inicio, nunca al final
  • Si el siguiente paso es obvio, ejecutarlo

Patrones de cadenas de prompts

Un solo prompt tiene sus limites. Cuando una tarea es compleja, dividirla en una cadena de prompts (una secuencia de prompts enlazados donde la salida de cada uno alimenta al siguiente) produce resultados mucho mejores que meter todo en una sola instruccion gigante. Cada eslabon de la cadena tiene una funcion estrecha y bien definida, lo que facilita detectar y corregir errores.

La tecnica central es el paso de resultado: se toma la salida del paso N y se pega (o se inyecta de forma programatica) como contexto en el paso N+1. En Claude Code, puedes construir cadenas dentro de scripts usando variables de shell o archivos como puente entre llamadas. En una sesion de chat, basta con copiar la parte relevante de la respuesta en el siguiente mensaje.

Patrones de cadena habituales que conviene conocer:

Mantén cada prompt de la cadena atomico (que haga una sola cosa) e incluye un breve encabezado de contexto al inicio de cada prompt subsiguiente para que Claude no parta de cero. Una cadena de tres prompts enfocados supera sistematicamente a un mega-prompt extenso en precision y facilidad de edicion.

Puntos clave
  • Cadena de prompts: una secuencia de prompts donde la salida de cada uno alimenta el siguiente paso
  • Paso de resultado: inyectar una respuesta anterior como contexto en el prompt siguiente
  • Prompt atomico: un prompt con exactamente una tarea claramente delimitada
  • Patron redaccion-critica: generar primero, luego revisar en una llamada separada

El bucle de uso de herramientas en profundidad

Cuando le das a Claude una herramienta (una función que puede llamar, como una búsqueda web o un ejecutor de código), el modelo no responde una sola vez. Entra en un bucle de uso de herramientas: decide llamar a una herramienta, lee el resultado, luego decide qué hacer a continuación, repitiendo hasta poder dar una respuesta final. Cada viaje de ida y vuelta se llama un turno.

La secuencia dentro de una iteración del bucle es siempre la misma:

  1. Llamada a herramienta: Claude emite una solicitud estructurada con el nombre de la herramienta y sus argumentos (por ejemplo, {"name": "search", "input": {"query": "Claude Opus 4 release date"}}).
  2. Ejecución: Tu código (o el entorno anfitrión) ejecuta la herramienta y devuelve un bloque de resultado de herramienta con la salida.
  3. Continuación: Claude lee el resultado como parte del contexto de la conversación y o bien llama a otra herramienta o produce una respuesta de texto final.

Tres elementos controlan el comportamiento del bucle. El prompt del sistema le indica a Claude qué herramientas existen y cuándo usarlas. La definición de herramienta (nombre, descripción, esquema JSON para las entradas) determina si Claude elige la herramienta correcta con los argumentos correctos. El resultado de herramienta que devuelves debe ser claro y completo, porque Claude no puede hacerle una pregunta de seguimiento a la herramienta: solo puede llamarla de nuevo con argumentos diferentes.

Modos de fallo comunes: las descripciones de herramientas vagas llevan a Claude a ignorar la herramienta o a pasar argumentos incorrectos; los resultados truncados o que parecen sin errores (cuando la llamada real falló) llevan a Claude a alucinar el siguiente paso; y los bucles que nunca terminan ocurren cuando la herramienta sigue devolviendo una salida ambigua. Una descripción de herramienta bien diseñada suele ser más importante que la longitud del prompt.

Puntos clave
  • Bucle de uso de herramientas: llamada, ejecución, lectura del resultado, repetición o fin
  • La calidad de la definición de herramienta controla la precisión de los argumentos
  • La claridad del resultado de herramienta evita pasos siguientes alucinados
  • El entorno anfitrión ejecuta la herramienta, no el modelo en sí

Salidas estructuradas con un esquema

Un esquema es una descripción formal de la forma que desea que tengan sus datos: qué campos existen, qué tipo contiene cada campo (cadena, número, booleano, arreglo), y cuáles campos son obligatorios. Cuando adjunta un esquema a una instrucción de Claude, le indica al modelo exactamente qué JSON (JavaScript Object Notation, un formato de texto ligero para datos estructurados) debe devolver, y nada más.

Claude admite la aplicación de esquemas de dos maneras. Primero, puede describir el esquema dentro de su instrucción como un objeto JSON simple e indicarle a Claude que lo siga. Segundo, al llamar directamente a la API Anthropic, puede usar el tool use (también llamado function calling): define una herramienta cuyo esquema de entrada coincide con el objeto que desea, luego le indica a Claude que llame a esa herramienta. La API garantiza que la respuesta se ajusta al esquema, por lo que obtiene una salida legible por máquina sin necesidad de analizar texto libre.

Incluso con la aplicación del esquema, las salidas pueden fallar la validación en casos extremos: un campo obligatorio puede ser null, un número puede llegar como cadena, o un valor de enum puede estar mal escrito. Por lo tanto, un flujo de trabajo robusto agrega un bucle de validación y reintento: analizar el JSON, ejecutar un validador (como una biblioteca JSON Schema) y, si falla, enviar el mensaje de error de vuelta a Claude en un turno de seguimiento para que corrija solo los campos defectuosos.

Principios clave para una salida estructurada confiable:

Puntos clave
  • Un esquema define la forma exacta (campos, tipos, estado de obligatoriedad) del JSON que se espera recibir.
  • El tool use (function calling) aplica la conformidad al esquema a nivel de la API.
  • Valide siempre la salida de forma programática y reintente con el mensaje de error si falla.
  • Los esquemas planos con valores enum explícitos producen la menor cantidad de errores.

Escribir evals

Un eval (abreviatura de evaluacion) es una pequeña prueba estructurada que se ejecuta sobre el prompt para medir si produce de forma fiable el resultado deseado. Sin evals, se trabaja a ciegas: un prompt que funciona con un ejemplo puede fallar silenciosamente en otros diez.

La idea central es construir un conjunto de pruebas: una coleccion fija de entradas emparejadas con las salidas esperadas (o una regla de puntuacion). Se ejecuta cada caso de prueba a traves del prompt y se hace seguimiento de la tasa de exito. Al revisar el prompt, se vuelve a ejecutar el conjunto de pruebas y se comparan las puntuaciones. Esto convierte la mejora del prompt de intuicion en medicion.

Un eval minimal tiene tres partes:

Incluso una hoja de calculo de cinco filas es mejor que ninguna estructura. Comience con poco, agregue casos cada vez que un usuario real encuentre un error y nunca elimine un caso una vez que haya detectado una regresion (un comportamiento que funcionaba antes y que deja de funcionar tras un cambio en el prompt).

Puntos clave
  • Eval: un conjunto de pruebas repetibles que puntua la calidad del prompt
  • Conjunto de pruebas: entradas fijas emparejadas con salidas esperadas o reglas de puntuacion
  • Tasa de exito: proporcion de casos en los que la salida cumple los criterios
  • Regresion: un comportamiento que funcionaba antes y que deja de funcionar silenciosamente tras un cambio en el prompt

Meta-prompting

El meta-prompting consiste en usar un modelo de lenguaje (LLM) para escribir, criticar o mejorar un prompt, en lugar de redactarlo completamente a mano. La idea es recursiva: el modelo se convierte en un colaborador para dar forma a las instrucciones que seguirá después.

Esta técnica es útil cuando tienes dificultades con la formulación, cuando un prompt funciona pero sospechas que podría funcionar mejor, o cuando necesitas generar muchas variantes de prompt rápidamente. El modelo ha procesado cantidades enormes de texto sobre cómo responden los modelos, por lo que a menudo puede detectar debilidades que tú pasarías por alto.

Un meta-prompt básico tiene tres partes:

Puedes ir más lejos encadenando pasos: primero pide al modelo que critique, luego que reescriba a partir de su propia crítica, y después que genere tres variaciones ordenadas por claridad esperada. Cada paso consume tokens, pero converge hacia un prompt más sólido sin tener que adivinar qué está fallando.

Puntos clave
  • Meta-prompting: un prompt cuya función es mejorar otro prompt.
  • Incluye el contexto, el borrador y una instrucción específica.
  • Encadena crítica y reescritura para obtener resultados más precisos.
  • Trata el resultado como un borrador, no como una respuesta definitiva, y pruébalo.

Controles y validación

Un modelo puede producir una salida fluida y segura que sea factualmente incorrecta, estructuralmente rota o peligrosa de ejecutar. Los controles son verificaciones que se agregan entre la salida bruta del modelo y cualquier acción que la consuma. Convierten la confianza ciega en el modelo en un pipeline controlado.

El control más sencillo es una verificación de formato: comprobar que la salida tiene la forma solicitada (JSON válido, un número específico de elementos, ninguna cadena prohibida) antes de pasarla al siguiente paso. Un segundo nivel es la validación semántica: pedir a una segunda llamada al modelo, más económica, que juzgue si la respuesta es coherente, pertinente o segura. Este patrón se denomina a veces LLM-as-judge.

En Claude Code (el agente de codificación CLI e IDE), puede encadenar pasos de validación en un pipeline de shell o un script. Los enfoques habituales incluyen:

Los controles agregan latencia y costo, por lo que deben aplicarse de forma proporcional. Las acciones de alto riesgo (enviar un correo electrónico, escribir en una base de datos, desplegar código) merecen verificaciones estrictas. Las acciones de bajo riesgo (redactar un resumen para revisión humana) pueden depender de un control más ligero o ninguno.

Puntos clave
  • Los controles verifican la salida del modelo antes de que se actúe sobre ella
  • Las verificaciones de formato y las aserciones de esquema son la primera línea de defensa
  • LLM-as-judge usa una segunda llamada al modelo para validar la primera
  • Aplica controles más estrictos a las acciones irreversibles o de alto riesgo

Autoconsistencia y voto por mayoría

La mayoría de las estrategias de prompting envían una sola solicitud y confían en la primera respuesta. La autoconsistencia rompe ese supuesto: se muestrea la misma pregunta varias veces, se deja que el modelo razone de forma independiente cada vez y luego se elige la respuesta que aparece con mayor frecuencia. Ese voto mayoritario es estadísticamente más fiable que cualquier respuesta individual, especialmente en tareas de matemáticas, lógica y razonamiento en múltiples pasos.

La idea central proviene de un artículo de 2022 (Wang et al.) que muestra que los modelos de lenguaje no siempre siguen el mismo camino de razonamiento dos veces. Algunos caminos son incorrectos. Si se ejecuta el mismo prompt cinco veces y cuatro ejecuciones coinciden, la probabilidad de que las cuatro compartan el mismo error es baja. El voto (también llamado agregación por mayoría) aprovecha esa independencia.

Cuándo usarlo:

Concesión: el costo y la latencia se multiplican por el número de muestras. Usa una temperatura (el control de aleatoriedad, donde 0 es determinista y 1 es creativo) mayor que 0 para que cada muestra diverja. Un valor alrededor de 0,7 funciona bien. Luego analiza las respuestas programáticamente y cuenta la más común.

Puntos clave
  • Autoconsistencia: muestrear el mismo prompt N veces y quedarse con la respuesta mayoritaria
  • La temperatura debe ser mayor que 0 para que cada ejecución produzca un camino de razonamiento distinto
  • El voto filtra el ruido sin modificar el modelo ni el prompt
  • El costo escala linealmente con el número de muestras: resérvalo para preguntas difíciles o de alto riesgo

Autocrítica adversarial

La autocrítica adversarial es una técnica en la que se le pide al modelo que argumente en contra de su propia respuesta justo después de producirla. En lugar de tratar la primera respuesta como definitiva, se le indica al modelo que actúe como crítico y encuentre fallos, vacíos o errores en lo que acaba de decir. Esto aprovecha la capacidad de razonamiento del modelo para detectar errores que un solo paso hacia adelante suele pasar por alto.

¿Por qué funciona? Los modelos de lenguaje (LLMs, es decir, grandes modelos de lenguaje entrenados sobre texto) son propensos al sesgo de confirmación en la generación: una vez que una cadena de razonamiento comienza en una dirección, cada token hace más probable que el siguiente continúe en esa misma dirección. Un paso crítico separado reinicia ese impulso y puede revelar contradicciones, casos límite olvidados o afirmaciones demasiado confiadas.

Existen dos formas principales de autocrítica adversarial:

Tras producir el crítico sus objeciones, se ejecuta un paso de síntesis: se le pide al modelo (o se juzga uno mismo) qué objeciones son válidas, y luego se solicita una respuesta revisada que aborde solo las válidas. Tres turnos en total: generar, criticar, sintetizar.

Puntos clave
  • La autocrítica adversarial detecta errores que una sola respuesta pasa por alto
  • Usa una sección de abogado del diablo inline o un mensaje crítico separado
  • Reinicia el sesgo de confirmación tratando al crítico como una perspectiva nueva
  • Siempre ejecuta un paso de síntesis para filtrar las objeciones válidas del ruido
Trabaja conmigo

Domina Claude, Claude Code y los LLM, desde tu primer prompt hasta la orquestacion multiagente.

Te gusta este curso? Lo cree de principio a fin. Necesitas una web app, una app movil, automatizacion con IA o SEO/GEO? Hablemos.

Contactame en LinkedInVer un sitio que hice