Puedes conseguir mucho con prompts simples, pero la calidad de los resultados depende de la cantidad de información que proporcionas y de cuán bien elaborados están. Un prompt puede contener información como instrucción o pregunta que estás pasando al modelo e incluir otros detalles como contexto, entradas o ejemplos. Puedes usar estos elementos para instruir mejor al modelo y, como resultado, obtener mejores resultados.
Comencemos analizando un ejemplo básico de un prompt simple:
Prompt
El cielo es
Salida:
azul.
El cielo es azul en un día claro. En un día nublado, el cielo puede ser gris o blanco.
Como puedes ver, el modelo de lenguaje genera una continuación de cadenas que tienen sentido en el contexto de "El cielo es"
. La salida puede ser inesperada o distante de la tarea que queremos realizar.
Este ejemplo básico también destaca la necesidad de proporcionar más contexto o instrucciones sobre lo que queremos lograr específicamente.
Intentemos mejorar un poco:
Prompt:
Completa la oración: El cielo es
Salida:
tan hermoso.
¿Esto es mejor? Bueno, le dijimos al modelo que completara la frase para que el resultado fuera mucho mejor, ya que sigue exactamente lo que dijimos que hiciera ("completar la oración"). Este enfoque de diseñar prompts ideales para instruir al modelo a realizar una tarea se llama ingeniería de prompt.
El ejemplo anterior es una ilustración básica de lo que es posible con LLMs hoy en día. Los LLMs actuales son capaces de ejecutar todo tipo de tareas avanzadas que varían desde la resumición de texto hasta el razonamiento matemático y la generación de código.
Intentamos un prompt muy simple arriba. Un prompt estándar tiene el siguiente formato:
<Pregunta>?
o
<Instrucción>
Esto puede formatearse en un formato de pregunta y respuesta (QA), que es estándar en muchos conjuntos de datos de QA, de la siguiente manera:
P: <Pregunta>?R:
Al solicitar como el anterior, también llamado prompt de tiro cero, es decir, estás solicitando directamente al modelo una respuesta sin ningún ejemplo o demostración sobre la tarea que quieres realizar. Algunos modelos de lenguaje grandes tienen la capacidad de ejecutar prompts de tiro cero, pero esto depende de la complejidad y conocimiento de la tarea en cuestión.
Dado el formato estándar anterior, una técnica popular y efectiva para la solicitud se llama prompt de pocos tiros, donde proporcionamos ejemplos (es decir, demostraciones). Los prompts de pocos tiros pueden formatearse de la siguiente manera:
<Pregunta>?<Respuesta><Pregunta>?<Respuesta><Pregunta>?<Respuesta><Pregunta>?
La versión del formato QA quedaría así:
P: <Pregunta>?R: <Respuesta>P: <Pregunta>?R: <Respuesta>P: <Pregunta>?R: <Respuesta>P: <Pregunta>?R:
Recuerda que no es necesario usar el formato QA. El formato del prompt depende de la tarea en mano. Por ejemplo, puedes ejecutar una tarea de clasificación simple y proporcionar ejemplares que demuestren la tarea de la siguiente manera:
Prompt:
¡Esto es increíble! // Positivo¡Esto es malo! // Negativo¡Wow, esta película fue increíble! // Positivo¡Qué espectáculo horrible! //
Salida:
Negativo
Los prompts de pocos tiros permiten el aprendizaje en contexto, que es la capacidad de los modelos de lenguaje para aprender tareas dadas algunas demostraciones.