Estrategias de diseño de instrucciones

El diseño de instrucciones es el proceso de crear instrucciones o solicitudes de lenguaje natural que generen respuestas precisas y de alta calidad de un modelo de lenguaje.

En esta página, se presentan conceptos básicos, estrategias y prácticas recomendadas para comenzar a diseñar instrucciones y aprovechar al máximo los modelos de IA de Gemini.

Guías de instrucciones específicas para temas

¿Buscas estrategias de indicaciones más específicas? Consulta nuestras otras guías de instrucciones sobre lo siguiente:

Google AI Studio también aloja una galería de indicaciones destinada a mostrar de forma interactiva muchos de los conceptos que se comparten en esta guía.

Instrucciones claras y específicas

Una forma eficaz y eficiente de personalizar el comportamiento del modelo es proporcionarle instrucciones claras y específicas. Las instrucciones pueden ser una pregunta, tareas paso a paso o tan complejas como mapear la experiencia y la mentalidad de un usuario.

Entrada

La entrada es el texto obligatorio en la instrucción al que deseas que el modelo proporcione una respuesta. Las entradas pueden ser una pregunta que responda el modelo (entrada de pregunta), una tarea que realice el modelo (entrada de tarea), una entidad en la que opera el modelo (entrada de entidad) o una entrada parcial que completa el modelo o continúa (entrada de finalización).

Tipo de entrada Instrucción Resultado generado
Pregunta

    What's a good name for a flower shop that specializes in selling bouquets of
    dried flowers? Create a list of 5 options with just the names.

    Here are 10 names for a flower shop specializing in dried flowers:

    1. Everlasting Blooms
    2. Dried & Delightful
    3. The Petal Preserve
    4. Whispers of Wildflowers
    5. Forever Blooms
    
Tarea
    Give me a simple list of just the things that I must bring on a camping trip. The list should have 5 items.
    1. **Tent:** Your shelter from the elements.
    2. **Sleeping Bag:** Stay warm and comfortable.
    3. **Sleeping Pad:** Insulation and cushioning for a good night's sleep.
    4. **Headlamp or Flashlight:** Light for nighttime activities.
    5. **First Aid Kit:** Be prepared for minor injuries.
Entidad

    Classify the following items as [large, small]:
Elephant
Mouse
Snail

Here's the classification:

* **Elephant:** Large
* **Mouse:** Small
* **Snail:** Small
    

Completa la entrada de forma parcial

Los modelos generativos de lenguaje funcionan como una herramienta de autocompletado avanzada. Cuando proporcionas contenido parcial, el modelo puede proporcionar el resto del contenido o lo que cree que es una continuación de ese contenido como respuesta. Cuando lo haces, si incluyes ejemplos o contextos, el modelo puede tener en cuenta esos ejemplos o el contexto.

En el siguiente ejemplo, se proporciona un mensaje con una instrucción y una entrada de entidad:

For the given order, return a JSON object that has the fields cheeseburger, hamburger, fries, or
drink, with the value being the quantity.

Order: A burger and a drink.
  
{
  "cheeseburger": 0,
  "hamburger": 1,
  "fries": 0,
  "drink": 1
}
  

Si bien el modelo hizo lo que se le indicó, escribir las instrucciones en lenguaje natural a veces puede ser difícil y deja mucho a la interpretación del modelo. Por ejemplo, el menú de un restaurante puede contener muchos elementos. Para reducir el tamaño de la respuesta JSON, es probable que quieras omitir los elementos que no se ordenaron. En este caso, puedes dar un ejemplo y un prefijo de respuesta y dejar que el modelo lo complete:

Valid fields are cheeseburger, hamburger, fries, and drink.
Order: Give me a cheeseburger and fries
Output:
```
{
  "cheeseburger": 1,
  "fries": 1
}
```
Order: I want two burgers, a drink, and fries.
Output:
  
```
{
  "hamburger": 2,
  "drink": 1,
  "fries": 1
}
```
  

Observa cómo se excluyó "hamburguesa con queso" del resultado porque no formaba parte del pedido.

Limitaciones

Especifica cualquier restricción para leer el prompt o generar una respuesta. Puedes indicarle al modelo qué hacer y qué no hacer. Por ejemplo, puedes especificar una restricción en la instrucción sobre cuán extenso quieres que sea un resumen:

Summarize this text in one sentence:
Text: A quantum computer exploits quantum mechanical phenomena to perform calculations exponentially
faster than any modern traditional computer. At very tiny scales, physical matter acts as both
particles and as waves, and quantum computing uses specialized hardware to leverage this behavior.
The operating principles of quantum devices is beyond the scope of classical physics. When deployed
at scale, quantum computers could be used in a wide variety of applications such as: in
cybersecurity to break existing encryption methods while helping researchers create new ones, in
meteorology to develop better weather forecasting etc. However, the current state of the art quantum
computers are still largely experimental and impractical.
    

      Exploiting quantum mechanical phenomena, quantum computers can perform calculations exponentially faster than traditional computers for potential applications like cybersecurity and meteorology, although they are currently largely experimental and impractical.
    

Formato de respuesta

Puedes proporcionar instrucciones que especifiquen el formato de la respuesta. Por ejemplo, puedes solicitar que la respuesta tenga el formato de una tabla, una lista con viñetas, una presentación breve, palabras clave, una oración o un párrafo. La siguiente instrucción del sistema le indica al modelo que sea más conversacional en su respuesta:

    All questions should be answered comprehensively with details, unless the user requests a concise response specifically.
  
    What is a smart way to make a business that sells DVD's in 2025?
  
Starting a business selling DVDs in 2025 presents significant challenges due to the overwhelming dominance of digital streaming and on-demand services; a "smart" approach would therefore require a highly specialized niche, a strong value proposition beyond just the disc, and likely a focus on community or collector markets rather than mainstream consumption.

Here's a breakdown of what a smart DVD business in 2025 would likely entail:

1. Extreme Niche Specialization: You cannot compete with streaming libraries. Your business must focus on what digital doesn't offer easily or at all. This could include:

    * Out-of-Print & Rare Titles: Sourcing films or TV shows that have never been released digitally or are currently unavailable on major streaming platforms.
    ....
  

Da formato a las respuestas con la estrategia de finalización

La estrategia de finalización también puede ayudar a dar formato a la respuesta. En el siguiente ejemplo, se solicita al modelo crear un esquema de ensayo:

Create an outline for an essay about hummingbirds.
  
Here is a possible outline for an essay about hummingbirds:

I. Introduction
A. Hook: Start with a captivating fact or description about hummingbirds (e.g., their speed, iridescent colors, or tiny size).
B. Background: Briefly introduce hummingbirds – where they are found (Americas), their reputation as unique birds.
C. Thesis Statement: State the main point of the essay, which could be about the remarkable adaptations, behaviors, and ecological importance of hummingbirds.

II. Appearance and Identification
.....
  

El mensaje no especificó el formato del esquema, y el modelo eligió un formato para ti. Para que el modelo muestre un esquema en un formato específico, puedes agregar texto que represente el inicio del esquema y dejar que el modelo lo complete según el patrón que iniciaste.

Create an outline for an essay about hummingbirds.
I. Introduction
   *
  
Okay, here is an outline for an essay about hummingbirds, starting from the introduction you provided:

I. Introduction
* Hook: Start with a captivating fact or description about hummingbirds (e.g., their speed, iridescent colors, or tiny size).
* Background: Briefly introduce hummingbirds – where they are found (Americas), their reputation as unique birds, and their general characteristics.
* Thesis Statement: State the main point of the essay, focusing on the remarkable adaptations, behaviors, and ecological significance that make hummingbirds extraordinary.
.....
  

Comparación entre los mensajes de toma de cero y los de tomas individuales

Puedes incluir ejemplos en la instrucción que muestren cómo se ve el modelo. El modelo intenta identificar los patrones y las relaciones de los ejemplos y los aplica cuando se genera una respuesta. Las instrucciones que contienen algunos ejemplos se denominan instrucciones con ejemplos limitados, mientras que las instrucciones que no proporcionan ejemplos se denominan instrucciones sin ejemplos. Por lo general, se usan pocas instrucciones con ejemplos limitados para regular el formato, la frase, el alcance o el patrón general de las respuestas del modelo. Usa ejemplos específicos y variados para ayudar al modelo a reducir su enfoque y generar resultados más precisos.

Recomendamos que incluyas siempre ejemplos con pocos intentos en tus prompts. Es probable que las instrucciones sin ejemplos con pocos intentos sean menos eficaces. De hecho, puedes quitar instrucciones de tu instrucción si los ejemplos son lo suficientemente claros como para mostrar la tarea en cuestión.

La siguiente instrucción sin ejemplos le pide al modelo que elija la mejor explicación.

Please choose the best explanation to the question:

Question: How is snow formed?
Explanation1: Snow is formed when water vapor in the air freezes into ice
crystals in the atmosphere, which can combine and grow into snowflakes as they
fall through the atmosphere and accumulate on the ground.
Explanation2: Water vapor freezes into ice crystals forming snow.
Answer:
  
Explanation1 is the better explanation because it provides more detail on the
process, including how ice crystals combine and grow into snowflakes as they
fall through the atmosphere.
  

Si tu caso de uso requiere que el modelo produzca respuestas concisas, puedes incluir ejemplos en la instrucción que den preferencia a respuestas concisas.

En la siguiente instrucción, se proporcionan dos ejemplos que muestran una preferencia por las explicaciones más cortas. En la respuesta, puedes ver que los ejemplos guiaron al modelo para elegir la explicación más corta (Explanation2) en lugar de la explicación más larga (Explanation1) como lo hizo antes.

Below are some examples showing a question, explanation, and answer format:

Question: Why is the sky blue?
Explanation1: The sky appears blue because of Rayleigh scattering, which causes
shorter blue wavelengths of light to be scattered more easily than longer red
wavelengths, making the sky look blue.
Explanation2: Due to Rayleigh scattering effect.
Answer: Explanation2

Question: What is the cause of earthquakes?
Explanation1: Sudden release of energy in the Earth's crust.
Explanation2: Earthquakes happen when tectonic plates suddenly slip or break
apart, causing a release of energy that creates seismic waves that can shake the
ground and cause damage.
Answer: Explanation1

Now, Answer the following question given the example formats above:

Question: How is snow formed?
Explanation1: Snow is formed when water vapor in the air freezes into ice
crystals in the atmosphere, which can combine and grow into snowflakes as they
fall through the atmosphere and accumulate on the ground.
Explanation2: Water vapor freezes into ice crystals forming snow.
Answer:
  
Answer: Explanation2
  

Cantidad óptima de ejemplos

Los modelos como Gemini a menudo pueden recoger patrones con algunos ejemplos, aunque es posible que debas experimentar con la cantidad de ejemplos que proporcionas en la instrucción para obtener los mejores resultados. Al mismo tiempo, si incluyes demasiados ejemplos, el modelo puede comenzar a sobreajustar la respuesta a los ejemplos.

Patrones y antipatrones

Usar ejemplos para mostrar al modelo un patrón a seguir es más eficaz que usar ejemplos para mostrar al modelo un patrón a evitar.

Patrón negativo:

Don't end haikus with a question:
Haiku are fun
A short and simple poem
Don't you enjoy them?
  

Patrón positivo:

Always end haikus with an assertion:
Haiku are fun
A short and simple poem
A joy to write
  

Formato coherente

Asegúrate de que la estructura y el formato de los ejemplos con pocos intentos sean los mismos para evitar respuestas con formatos no deseados. Uno de los objetivos principales de agregar ejemplos de pocas tomas en las instrucciones es mostrar al modelo el formato de respuesta. Por lo tanto, es esencial garantizar un formato coherente en todos los ejemplos, especialmente presta atención a las etiquetas XML, los espacios en blanco, los saltos de línea y los divisores de ejemplos.

Agregar contexto

Puedes incluir instrucciones y la información que el modelo necesita para resolver un problema en lugar de suponer que tiene toda la información requerida. Esta información contextual ayuda a que el modelo comprenda las restricciones y los detalles de lo que le pides que haga.

En el siguiente ejemplo, se le pide al modelo que proporcione orientación para solucionar problemas de un router:

What should I do to fix my disconnected wifi? The light on my Google
Wifi router is yellow and blinking slowly.
  
  A yellow blinking light on your Google Wifi router usually indicates a problem
  with the internet connection. Here are some steps to troubleshoot and fix the
  issue:
  1. Restart your router and modem:
    - Unplug your modem from the power outlet and wait for 30 seconds.
    - Plug your modem back in and wait for it to fully boot up.
    - Unplug your Google Wifi router and wait for 30 seconds.
    - Plug your Google Wifi router back in and wait for it to fully boot up.
.....
  

La respuesta parece información de solución de problemas genérica que no es específica del router ni del estado de las luces indicadoras LED.

Para personalizar la respuesta del router específico, puedes agregar a la instrucción la guía de solución de problemas del router como contexto para que este haga referencia cuando se proporciona una respuesta.

Answer the question using the text below. Respond with only the text provided.
Question: What should I do to fix my disconnected wifi? The light on my Google Wifi router is yellow and blinking slowly.

Text:
Color: Slowly pulsing yellow
What it means: There is a network error.
What to do:
Check that the Ethernet cable is connected to both your router and your modem and both devices are turned on. You might need to unplug and plug in each device again.

Color: Fast blinking yellow
What it means: You are holding down the reset button and are factory resetting this device.
What to do:
If you keep holding down the reset button, after about 12 seconds, the light will turn solid yellow. Once it is solid yellow, let go of the factory reset button.

Color: Solid yellow
What it means: Router is factory resetting.
What to do:
This can take up to 10 minutes. When it's done, the device will reset itself and start pulsing white, letting you know it's ready for setup.

Color: Solid red
What it means: Something is wrong.
What to do:
Critical failure. Factory reset the router. If the light stays red, contact Wifi customer support.
  
Check that the Ethernet cable is connected to both your router and your modem and both devices are turned on. You might need to unplug and plug in each device again.
  

Agregar prefijos

Un prefijo es una palabra o frase que agregas al contenido de la instrucción que puede servir para varios propósitos, según dónde coloques el prefijo:

  • Prefijo de entrada: Agregar un prefijo a las señales de entrada para indicar partes semánticamente importantes de la entrada al modelo. Por ejemplo, los prefijos “inglés:” y “francés:” demarcan dos idiomas diferentes.
  • Prefijo de salida: Aunque el modelo genera el resultado, puedes agregar un prefijo para la salida en la instrucción. El prefijo de salida proporciona información al modelo sobre lo que se espera como respuesta. Por ejemplo, el prefijo de salida “JSON:” indica al modelo que el resultado debe estar en formato JSON.
  • Prefijo de ejemplo: En algunas instrucciones con ejemplos limitados, agregar prefijos a los ejemplos proporciona etiquetas que el modelo puede usar cuando se genera el resultado, lo que facilita el análisis del contenido de los resultados.

En el siguiente ejemplo, “Texto:” es el prefijo de entrada y “La respuesta es:” es el prefijo de salida.

Classify the text as one of the following categories.
- large
- small
Text: Rhino
The answer is: large
Text: Mouse
The answer is: small
Text: Snail
The answer is: small
Text: Elephant
The answer is:
  
The answer is: large
  

Desglosa las instrucciones en componentes

Para los casos de uso que requieren instrucciones complejas, puedes ayudar al modelo a administrar esta complejidad mediante el desglose en componentes más simples.

  1. Desglosa las instrucciones: En lugar de tener muchas instrucciones en un prompt, crea un prompt por instrucción. Puedes elegir qué prompt procesar según la entrada del usuario.

  2. Encadena instrucciones: Para tareas complejas que implican varios pasos secuenciales, haz que cada paso sea una instrucción y encadena las instrucciones en una secuencia. En esta cadena secuencial de instrucciones, el resultado de una instrucción de la secuencia se convierte en la entrada de la siguiente instrucción. El resultado de la última instrucción de la secuencia es el resultado final.

  3. Agrega respuestas: La agregación ocurre cuando deseas realizar diferentes tareas paralelas en diferentes partes de los datos y agregar los resultados para producir el resultado final. Por ejemplo, puedes indicarle al modelo que realice una operación en la primera parte de los datos, que realice otra operación en el resto de los datos y que agregue los resultados.

Experimenta con los parámetros del modelo

Cada llamada que envías a un modelo incluye valores de parámetros que controlan cómo el modelo genera una respuesta. El modelo puede generar resultados diferentes para los valores de parámetros diferentes. Experimenta con diferentes valores de parámetros a fin de obtener los mejores valores para la tarea. Los parámetros disponibles para diferentes modelos pueden variar. Los más comunes son los siguientes:

  1. Cantidad máxima de tokens de salida: Especifica la cantidad máxima de tokens que se pueden generar en la respuesta. Un token tiene aproximadamente cuatro caracteres. 100 tokens corresponden a casi 60 a 80 palabras.

  2. Temperatura: La temperatura controla el grado de aleatoriedad en la selección de tokens. La temperatura se usa para las muestras durante la generación de respuesta, que se genera cuando se aplican topP y topK. Las temperaturas más bajas son buenas para las instrucciones que requieren una respuesta más determinística o menos abierta, mientras que las temperaturas más altas pueden generar resultados más diversos o creativos. Una temperatura de 0 es determinística, lo que significa que siempre se elige la respuesta de mayor probabilidad.

  3. topK: El parámetro topK cambia la forma en que el modelo selecciona tokens para la salida. Un topK de 1 significa que el token seleccionado es el más probable entre todos los tokens en el vocabulario del modelo (también llamado decodificación codiciosa), mientras que un topK de 3 significa que el siguiente token se selecciona de los 3 más probables con la temperatura. Para cada paso de selección de tokens, se muestrean los tokens topK con las probabilidades más altas. Luego, los tokens se filtran según topP con el token final seleccionado mediante el muestreo de temperatura.

  4. topP: El parámetro topP cambia la forma en que el modelo selecciona tokens para la salida. Los tokens se seleccionan del más al menos probable hasta que la suma de sus probabilidades sea igual al valor de topP. Por ejemplo, si los tokens A, B y C tienen una probabilidad de 0.3, 0.2 y 0.1, y el valor topP es 0.5, el modelo elegirá A o B como el siguiente token usando la temperatura y excluirá a C como candidato. El valor predeterminado de topP es 0.95.

  5. stop_sequences: Establece una secuencia de detención para indicarle al modelo que deje de generar contenido. Una secuencia de detención puede ser cualquier secuencia de caracteres. Intenta evitar usar una secuencia de caracteres que pueda aparecer en el contenido generado.

Estrategias de iteración de mensajes

El diseño de instrucciones a veces puede requerir algunas iteraciones antes de obtener de forma coherente la respuesta que buscas. En esta sección, se proporciona orientación sobre algunos aspectos que puedes probar cuando se itera sobre las instrucciones:

  1. Usa diferentes frases: El uso de diferentes palabras o frases en tus instrucciones a menudo produce respuestas diferentes del modelo, aunque todas significan lo mismo. Si no obtienes los resultados esperados de la instrucción, intenta reformularla.

    Version 1:
    How do I bake a pie?
    
    Version 2:
    Suggest a recipe for a pie.
    
    Version 3:
    What's a good pie recipe?
      

  2. Cambia a una tarea análoga: Si no puedes hacer que el modelo siga las instrucciones de una tarea, intenta darle instrucciones para una tarea análoga que logre el mismo resultado.

    Esta instrucción le indica al modelo que clasifique un libro con categorías predefinidas:

    Which category does The Odyssey belong to:
    thriller
    sci-fi
    mythology
    biography
      
        The Odyssey belongs to the category of **mythology**. 
    
        Here's why:
    
        * **Mythology:** The Odyssey tells the story of Odysseus, a hero from Greek mythology, and his
        journey home after the Trojan War. It features gods, monsters, and supernatural events common to
        Greek mythology.
    .....
      

    La respuesta es correcta, pero el modelo no se mantiene dentro de los límites de las opciones. También puedes modelar para que solo responda con una de las opciones, en lugar de hacerlo en una oración completa. En este caso, puedes reformular las instrucciones como una pregunta de opción múltiple y pedir al modelo que elija una opción.

    Multiple choice problem: Which of the following options describes the book The Odyssey?
    Options:

    • thriller
    • sci-fi
    • mythology
    • biography
    The correct answer is mythology. 
    

  3. Cambia el orden del contenido de las instrucciones: A veces, el orden del contenido en las instrucciones puede afectar la respuesta. Intenta cambiar el orden del contenido y observa cómo eso afecta la respuesta.

    Version 1:
    [examples]
    [context]
    [input]
    
    Version 2:
    [input]
    [examples]
    [context]
    
    Version 3:
    [examples]
    [input]
    [context]
    

Respuestas de resguardo

Una respuesta de resguardo es una respuesta que muestra el modelo cuando el mensaje o la respuesta activan un filtro de seguridad. Un ejemplo de una respuesta de resguardo es “No puedo ayudar con eso, solo soy un modelo de lenguaje”.

Si el modelo responde con una respuesta de resguardo, intenta aumentar la temperatura.

Elementos que debes evitar

  • Evita depender de los modelos para generar información fáctica.
  • Úsalo con cuidado en problemas matemáticos y lógicos.

Funcionamiento interno de los modelos generativos

El objetivo de esta sección es responder la pregunta: ¿Hay aleatoriedad en las respuestas de los modelos generativos o son deterministas?

La respuesta breve es que sí a ambas. Cuando le das una instrucción a un modelo generativo, se genera una respuesta de texto en dos etapas. En la primera etapa, el modelo generativo procesa la instrucción de entrada y genera una distribución de probabilidad sobre los posibles tokens (palabras) que podrían aparecer a continuación. Por ejemplo, si le pides con el texto de entrada "El perro saltó sobre el ... ", el modelo generativo produzca un array de palabras probables a continuación:

[("fence", 0.77), ("ledge", 0.12), ("blanket", 0.03), ...]

Este proceso es determinístico; un modelo generativo producirá esta misma distribución cada vez que se ingrese el mismo texto de instrucción.

En la segunda etapa, el modelo generativo convierte estas distribuciones en respuestas de texto reales a través de una de varias estrategias de decodificación. Una estrategia de decodificación simple podría seleccionar el token más probable en cada paso. Este proceso siempre sería determinista. Sin embargo, puedes optar por generar una respuesta mediante el muestreo aleatorio de la distribución que muestra el modelo. Este proceso sería estocástico (aleatorio). Establece la temperatura para controlar el grado de aleatorización permitido en este proceso de decodificación. Una temperatura de 0 significa que solo se seleccionan los tokens más probables y no hay aleatoriedad. Por el contrario, una temperatura alta inyecta un alto grado de aleatoriedad en los tokens que selecciona el modelo, lo que genera respuestas más inesperadas y sorprendentes.

Próximos pasos