Visita nuestro tutorial de ingeniería de prompts para aprender a crear prompts a través de un curso interactivo.

Claude ofrece un alto rendimiento de base listo para usar. Sin embargo, la ingeniería de prompts puede ayudarte a mejorar aún más su rendimiento y ajustar sus respuestas para adaptarse mejor a tu caso de uso específico. Estas técnicas no son necesarias para lograr buenos resultados con Claude, pero pueden ser útiles para optimizar tus entradas y salidas.

Para comenzar rápidamente con un prompt o introducirte al concepto de prompting, consulta introducción a prompting.


¿Qué es la ingeniería de prompts?

La ingeniería de prompts es una ciencia empírica que implica iterar y probar prompts para optimizar el rendimiento. La mayor parte del esfuerzo dedicado al ciclo de ingeniería de prompts no está realmente en escribir los prompts. Más bien, la mayoría del tiempo de ingeniería de prompts se dedica a desarrollar un sólido conjunto de evaluaciones, seguido de pruebas e iteraciones contra esas evaluaciones.

El ciclo de vida del desarrollo de prompts

Recomendamos un enfoque principiado y basado en el desarrollo guiado por pruebas para garantizar un rendimiento óptimo de los prompts. Veamos el proceso de alto nivel clave que usamos al desarrollar prompts para una tarea, como se ilustra en el diagrama adjunto.

  1. Definir la tarea y los criterios de éxito: El primer y más crucial paso es definir claramente la tarea específica que quieres que Claude realice. Esto podría ser cualquier cosa, desde extracción de entidades, respuesta a preguntas o resumen de texto hasta tareas más complejas como generación de código o escritura creativa. Una vez que tengas una tarea bien definida, establece los criterios de éxito que guiarán tu proceso de evaluación y optimización.
    Los criterios de éxito clave a considerar incluyen:
    • Rendimiento y precisión: ¿Qué tan bien necesita desempeñarse el modelo en la tarea?
    • Latencia: ¿Cuál es el tiempo de respuesta aceptable para el modelo? Esto dependerá de los requisitos en tiempo real de tu aplicación y las expectativas del usuario.
    • Precio: ¿Cuál es tu presupuesto para ejecutar el modelo? Considera factores como el costo por llamada a la API, el tamaño del modelo y la frecuencia de uso.
      Tener criterios de éxito claros y medibles desde el principio te ayudará a tomar decisiones informadas a lo largo del proceso de adopción y garantizar que estás optimizando para los objetivos correctos.
  2. Desarrollar casos de prueba: Con tu tarea y criterios de éxito definidos, el siguiente paso es crear un conjunto diverso de casos de prueba que cubran los casos de uso previstos para tu aplicación. Estos deben incluir tanto ejemplos típicos como casos extremos para garantizar que tus prompts sean robustos. Tener casos de prueba bien definidos desde el principio te permitirá medir objetivamente el rendimiento de tus prompts contra tus criterios de éxito.
  3. Diseñar el prompt preliminar: A continuación, crea un prompt inicial que describa la definición de la tarea, las características de una buena respuesta y cualquier contexto necesario para Claude. Idealmente, debes agregar algunos ejemplos de entradas y salidas canónicas para que Claude los siga. Este prompt preliminar servirá como punto de partida para el refinamiento.
  4. Probar el prompt contra los casos de prueba: Alimenta tus casos de prueba a Claude usando el prompt preliminar. Evalúa cuidadosamente las respuestas del modelo contra tus salidas esperadas y criterios de éxito. Utiliza una rúbrica de calificación consistente, ya sea una evaluación humana, una comparación con una clave de respuestas o incluso otra instancia del juicio de Claude basado en una rúbrica. La clave es tener una forma sistemática de evaluar el rendimiento.
  5. Refinar el prompt: Basándote en los resultados del paso 4, refina iterativamente tu prompt para mejorar el rendimiento en los casos de prueba y cumplir mejor con tus criterios de éxito. Esto puede implicar agregar aclaraciones, ejemplos o restricciones para guiar el comportamiento de Claude. Ten cuidado de no optimizar en exceso para un conjunto limitado de entradas, ya que esto puede llevar a un sobreajuste y una mala generalización.
  6. Enviar el prompt pulido: Una vez que hayas llegado a un prompt que se desempeñe bien en tus casos de prueba y cumpla con tus criterios de éxito, es hora de implementarlo en tu aplicación. Monitorea el rendimiento del modelo en la práctica y prepárate para hacer más refinamientos según sea necesario. Pueden surgir casos extremos que no se anticiparon en tu conjunto de pruebas inicial.

A lo largo de este proceso, vale la pena comenzar con el modelo más capaz y la longitud de prompt sin restricciones para establecer un techo de rendimiento. Una vez que hayas logrado la calidad de salida deseada, puedes experimentar con optimizaciones como prompts más cortos o modelos más pequeños para reducir la latencia y los costos según sea necesario.

Al seguir esta metodología basada en pruebas y definir cuidadosamente tu tarea y criterios de éxito desde el principio, estarás en camino de aprovechar el poder de Claude para tu caso de uso específico. Si inviertes tiempo en diseñar casos de prueba y prompts robustos, cosecharás los beneficios en términos de rendimiento y mantenibilidad del modelo.


Técnicas de ingeniería de prompts

A lo largo de tu ciclo de desarrollo de prompts, hay algunas técnicas que puedes usar para mejorar el rendimiento de Claude, tales como:

También proporcionamos un metaprompt de ayuda experimental que le indica a Claude que cree un prompt para ti basado en las pautas que proporciones. El metaprompt es experimental, pero puede ser útil para redactar un prompt inicial o crear rápidamente muchas variaciones de prompts para probar.

Nota: Los modelos anteriores a la familia Claude 3 pueden requerir más ingeniería de prompts. Para obtener más información, consulta nuestra guía de modelos heredados.


Recursos adicionales

Para obtener más información sobre la ingeniería de prompts, consulta estos recursos:

¡Feliz prompting!