En esta página, se presentan algunas estrategias generales de diseño de instrucciones que puedes emplear cuando diseñas instrucciones.
Los modelos de lenguaje grandes (LLM) se entrenan con grandes cantidades de datos de texto para aprender los patrones y las relaciones entre el lenguaje. Cuando se proporciona texto (la instrucción), los modelos de lenguaje pueden predecir lo que viene a continuación, como una herramienta de autocompletado sofisticada.
Google AI Studio aloja una galería de indicaciones simple destinada a mostrar de forma interactiva muchos de los conceptos que se comparten en esta guía. En el resto de esta guía, aprenderás sobre las siguientes estrategias de diseño de consignas:- Proporciona instrucciones claras y específicas
- Incluye ejemplos con pocos intentos
- Agrega información contextual
- Cómo agregar prefijos
- Deja que el modelo complete una entrada parcial
Proporciona instrucciones claras y específicas
Proporcionar las instrucciones del modelo sobre qué hacer es una forma eficaz y eficiente de personalizar su comportamiento. Asegúrate de que las instrucciones que proporciones sean claras y específicas. Las instrucciones pueden ser tan simples como una lista de instrucciones paso a paso o tan complejas como mapear la experiencia y la mentalidad de un usuario.
Define la tarea que se realizará
Describe en detalle la tarea que deseas que realice el modelo. La tarea puede ser tan simple como una lista paso a paso de instrucciones o tan compleja como mapear la experiencia y la mentalidad de un usuario. En el siguiente prompt, se le indica al modelo que resuma un bloque de texto:
Summarize this text: 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. Quantum computers leverage the wave-particle duality of matter at tiny scales to perform calculations exponentially faster than traditional computers. They harness quantum phenomena, which are beyond the scope of classical physics, to achieve this speed advantage. While promising for applications like cybersecurity, weather forecasting, and beyond, current quantum computers are still experimental and not yet practical for widespread use. |
Especifica las restricciones
Especifica cualquier restricción para leer el prompt o generar una respuesta. Puedes indicarle al modelo qué hacer y qué no hacer. En el ejemplo anterior, el resumen es más corto que el texto original, pero tal vez quieras que el resumen sea más corto. En este caso, puedes especificar una restricción en el prompt sobre cuán extenso quieres que sea el resumen:
Summarize this text in two sentences: 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.
Quantum computers harness the wave-particle duality of matter at the quantum level to perform computations exponentially faster than traditional computers. While these machines hold immense potential for fields like cybersecurity and weather forecasting, they are currently in their early stages of development and not yet practical for widespread use. |
Define el formato de la respuesta
También 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. El siguiente mensaje 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. Respond in the same language as the query. What is a smart way to create a lemonade business? Launching a Successful Lemonade Stand: A Smart Approach Creating a lemonade business, whether a simple stand or a larger operation, requires strategic thinking. Here's a breakdown of how to approach it smartly: 1. Define Your Business: Scope: Are you aiming for a small, seasonal lemonade stand, a food truck, a delivery service, or something else entirely? Target Audience: Who are you selling to? Families, office workers, tourists? Unique Selling Proposition: What sets your lemonade apart? Special flavors, organic ingredients, a unique recipe? Pricing: Research competitor prices and determine a profitable pricing structure. Location: Consider foot traffic, accessibility, and regulations for your chosen location. ..... |
Resumen
- Proporciona las instrucciones de los modelos sobre qué hacer.
- Haz que las instrucciones sean claras y específicas.
- Especifica las restricciones o los requisitos de formato para el resultado.
Incluye ejemplos con pocos intentos
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. Los prompts que contienen pocos ejemplos se denominan prompts con pocos intentos, mientras que los prompts que no proporcionan ejemplos se denominan prompts sin intentos. Por lo general, los prompts con pocos intentos se usan 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 ejemplos limitados 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.
Comparación entre los mensajes de toma de cero y los de tomas individuales
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: Explanation 1 is the best explanation. |
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 (Explicación 2) en lugar de la explicación más larga (Explicación 1) como lo hizo antes.
Below are some examples showing a question, explanation, and answer format: Question: Why is 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 |
Encuentra la cantidad óptima de ejemplos
Puedes experimentar con la cantidad de ejemplos para proporcionar en la instrucción los resultados más deseados. Los modelos como Gemini a menudo pueden recoger patrones con algunos ejemplos, aunque es posible que debas experimentar con qué cantidad de ejemplos conducen a los resultados deseados. Al mismo tiempo, si incluyes demasiados ejemplos, el modelo puede comenzar a sobreajustar la respuesta a los ejemplos.
Usa ejemplos para mostrar patrones en lugar de 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 |
Usa un formato coherente en los ejemplos
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 los prompts 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.
Resumen
- Incluir ejemplos de instrucción y respuesta en el mensaje ayuda a que el modelo aprenda a responder.
- Proporciona los ejemplos de modelos de los patrones a seguir en lugar de los ejemplos de patrones que debes evitar.
- Experimenta con la cantidad de instrucciones que se deben incluir. Según el modelo, muy pocos ejemplos son ineficaces para cambiar el comportamiento del modelo. Cuando hay demasiados ejemplos, el modelo se sobreajusta.
- Usa un formato coherente en los ejemplos
Agrega información contextual
Puedes incluir las instrucciones y la información del mensaje que el modelo necesita para resolver un problema en lugar de suponer que el modelo 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. ..... |
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. |
Resumen
- Incluye información (contexto) en el mensaje que deseas que el modelo use cuando se genere una respuesta.
- Proporciona las instrucciones del modelo sobre cómo usar la información contextual.
Agrega 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 |
Deja que el modelo complete una entrada 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. ``` { "hamburger": 1, "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, un menú de 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.
Solicita al modelo que formatee su respuesta
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. Hummingbirds: A Symphony of Speed and Color I. Introduction A. Hummingbirds are fascinating creatures known for their dazzling colors, lightning-fast flight, and unique feeding habits. B. Brief overview of the diversity of hummingbird species and their geographic distribution. C. Thesis statement: Hummingbirds are an embodiment of resilience, adaptation, and the wonders of the natural world. ..... |
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 * Hummingbirds: Jewels of the Air **I. Introduction** * **Hook:** Begin with a captivating image or anecdote about hummingbirds, emphasizing their vibrant colors, rapid flight, and unique feeding habits. * **Background:** Briefly introduce hummingbirds as the smallest birds in the world and their fascinating adaptations for a nectar-rich diet. * **Thesis:** State the main argument or focus of the essay. Examples: * **The incredible adaptations of hummingbirds enable them to thrive in diverse ecosystems.** * **Hummingbirds play a crucial role in pollination and biodiversity.** * **The beauty and grace of hummingbirds make them captivating subjects for both scientific study and artistic appreciation.** |
Resumen
- Si le das al modelo una entrada parcial, el modelo completa esa entrada según los ejemplos o el contexto disponibles en el mensaje.
- Hacer que el modelo complete una entrada a veces puede ser más fácil que describir la tarea en lenguaje natural.
- Agregar una respuesta parcial a un mensaje puede guiar al modelo a seguir un patrón o formato deseado.
Desglosa los prompts en componentes simples
Para los casos de uso que requieren prompts complejos, puedes ayudar al modelo a administrar esta complejidad mediante el desglose en componentes más simples.
Desglosa las instrucciones
En lugar de tener muchas instrucciones en un mensaje, crea un prompt por instrucción. Puedes elegir qué prompt procesar según la entrada del usuario.
Prompts en cadena
Para tareas complejas que implican varios pasos secuenciales, haz que cada paso sea un prompt y encadena los prompts en una secuencia. En esta cadena secuencial de prompts, el resultado de un prompts de la secuencia se convierte en la entrada del siguiente prompt. El resultado del último prompt de la secuencia es el resultado final.Respuestas agregadas
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.
Resumen
- Desglosa las instrucciones complejas en un prompt para cada instrucción y decide qué prompt aplicar según la entrada del usuario.
- Desglosa varios pasos secuenciales en prompts separados y encadénalos, de modo que el resultado del prompt anterior se convierta en la entrada del siguiente prompt.
- Desglosa las tareas paralelas y agrega las respuestas para producir el resultado final.
Experimenta con diferentes valores de parámetros
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 para obtener los mejores valores para la tarea. Los parámetros disponibles para diferentes modelos pueden variar. Los parámetros más comunes son los siguientes:
- Cantidad máxima de tokens de salida
- Temperatura
- Top-K
- Top-P
Cantidad máxima de tokens de salida
Cantidad máxima de tokens que se pueden generar en la respuesta. Un token tiene casi cuatro caracteres. 100 tokens corresponden a aproximadamente 20 palabras.Especifica un valor más bajo para las respuestas más cortas y un valor más alto para las respuestas más largas.
Temperatura
La temperatura se usa para las muestras durante la generación de respuesta, que se genera cuando se aplicantopP
y topK
. La temperatura controla el grado de aleatorización en la selección de tokens. Las temperaturas más bajas son buenas para los mensajes que requieren una respuesta más determinista y menos abierta o de creatividad, mientras que las temperaturas más altas pueden generar resultados más diversos o creativos. Una temperatura de 0
es determinista, lo que significa que siempre se elige la respuesta de mayor probabilidad.
Para la mayoría de los casos de uso, intenta empezar con una temperatura de 0.2
. Si el modelo muestra una respuesta demasiado genérica, demasiado corta o el modelo proporciona una respuesta de resguardo, intenta aumentar la temperatura.
K superior
El parámetro Top-K cambia la manera en la que el modelo selecciona los tokens para el resultado. K superior a1
significa que el siguiente token seleccionado es el más probable entre todos los tokens en el vocabulario del modelo (también llamado decodificación voraz), mientras que el K superior a 3
significa que el siguiente token se selecciona de los tres tokens más probables mediante la temperatura.
Para cada paso de selección de tokens, se muestran los tokens de K superior con las probabilidades más altas. Luego, los tokens se filtran según el superior con el token final seleccionado mediante el muestreo de temperatura.
Especifica un valor más bajo para respuestas menos aleatorias y un valor más alto para respuestas más aleatorias. La parte superior K predeterminada es 40
.
P superior
P superior cambia la manera en la que el modelo selecciona tokens para la salida. Los tokens se seleccionan desde el más alto (consulta K superior) hasta el menos probable, hasta que la suma de sus probabilidades sea igual al valor de P superior. Por ejemplo, si los tokens A, B y C tienen una probabilidad de 0.3, 0.2 y 0.1, y el valor P superior es0.5
, el modelo elegirá A o B como el siguiente token mediante la temperatura y excluirá a C como candidato.
Especifica un valor más bajo para respuestas menos aleatorias y un valor más alto para respuestas más aleatorias. El P superior predeterminado es 0.95
.
Estrategias de iteración de mensajes
El diseño de instrucciones es un proceso iterativo que suele requerir algunas iteraciones antes de obtener la respuesta deseada de forma coherente. En esta sección, se proporciona orientación sobre algunos aspectos que puedes probar cuando se itera sobre las instrucciones.
Usa frases distintas
El uso de diferentes palabras o frases en tus mensajes 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? |
Cambia a una tarea análoga
Si no puedes obtener el modelo para que siga las instrucciones de una tarea, intenta darle instrucciones para una tarea analógica que logre el mismo resultado.
Este mensaje le indica al modelo que clasifique un libro mediante 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**. |
Cambia el orden del contenido de los mensajes
A veces, el orden del contenido en la instrucción 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.
Próximos pasos
- Ahora que tienes una comprensión más profunda del diseño de instrucciones, intenta escribir las tuyas con Google AI Studio.
- Para obtener más información sobre las instrucciones multimodales, consulta Instrucciones con archivos multimedia.