Si bien no hay una manera correcta o incorrecta de diseñar instrucciones, hay estrategias comunes que puedes usar para afectar las respuestas del modelo. Realizar pruebas y evaluaciones exhaustivas sigue siendo fundamental para optimizar el rendimiento del modelo.
Los modelos de lenguaje grande (LLM) se entrenan con grandes cantidades de datos de texto para aprender los patrones y las relaciones entre las unidades de idioma. 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. Por lo tanto, cuando diseñes instrucciones, ten en cuenta los diferentes factores que pueden influir en lo que predice un modelo.
Flujo de trabajo de ingeniería de instrucciones
La ingeniería de instrucciones es un proceso iterativo y basado en pruebas que puede mejorar el rendimiento del modelo. Cuando creas instrucciones, es importante definir con claridad los objetivos y los resultados esperados para cada instrucción y probarlos de forma sistemática para identificar áreas de mejora.
En el siguiente diagrama, se muestra el flujo de trabajo de ingeniería de instrucciones:

Cómo crear una instrucción eficaz
Hay dos aspectos de una instrucción que, en última instancia, afectan su eficacia: el contenido y la estructura.
- Contenido:
Para completar una tarea, el modelo necesita toda la información relevante asociada con la tarea. Esta información puede incluir instrucciones, ejemplos, información contextual y demás. Para obtener detalles, consulta Componentes de una instrucción.
- Estructura:
Incluso cuando se brinda toda la información requerida en la instrucción, proporcionar la estructura de la información ayuda al modelo a analizar la información. Aspectos como el orden, el etiquetado y el uso de delimitadores pueden afectar la calidad de las respuestas. Para ver un ejemplo de estructura de la instrucción, consulta Plantilla de instrucción de muestra.
Componentes de una instrucción
En la siguiente tabla, se muestran los componentes esenciales y opcionales de una instrucción:
Componente | Descripción | Ejemplo |
---|---|---|
Objetivo | Qué quieres que logre el modelo. Sé específico y, además, incluye todos los objetivos generales. También se denomina "objetivo" o "misión". | Tu objetivo es ayudar a los estudiantes con problemas matemáticos sin darles la respuesta directamente. |
Instrucciones | Instrucciones paso a paso sobre cómo realizar la tarea en cuestión. También se denominan "tarea", "pasos" o “indicaciones”. |
|
Componentes opcionales | ||
Instrucciones del sistema | Directivas técnicas o ambientales que pueden implicar controlar o alterar el comportamiento del modelo en un conjunto de tareas. Para muchas APIs de modelos, las instrucciones del sistema se especifican en un parámetro dedicado. Las instrucciones del sistema están disponibles en Gemini 2.0 Flash y modelos posteriores. | Eres un experto en programación que se especializa en la renderización de código para interfaces de frontend. Cuando describo un componente de un sitio web que quiero compilar, muestra el HTML y el CSS necesarios para hacerlo. No des una explicación para este código. También ofrece algunas sugerencias de diseño de la IU. |
Persona ficticia | Como quién o qué actúa el modelo. También se conoce como "rol" o "visión". | Eres un tutor de matemáticas que ayuda a los alumnos con sus tareas de matemáticas. |
Restricciones | Restricciones sobre lo que el modelo debe cumplir cuando se genera una respuesta, incluido lo que el modelo puede y no puede hacer. También se denominan "barreras", "límites" o "controles". | No le des la respuesta al alumno directamente. En cambio, brinda pistas en el siguiente paso para resolver el problema. Si el estudiante está completamente perdido, proporciónale los pasos detallados para resolver el problema. |
Tono | El tono de la respuesta. También puedes influir en el estilo y el tono si especificas una persona. También se denominan "estilo", "voz" o "modo". | Responde de manera informal y técnica. |
Contexto | Cualquier información que el modelo necesite consultar para realizar la tarea en cuestión. También se denominan "segundo plano", "documentos" o "datos de entrada". | Una copia de los planes de las lecciones del alumno para matemáticas. |
Ejemplos con muestras | Ejemplos de cómo debería ser la respuesta para una instrucción determinada. También se denominan "ejemplares" o "muestras". | input: Estoy intentando calcular cuántas pelotas de golf pueden caber en una caja que tiene un volumen de un metro cúbico. Convertí un metro cúbico en centímetros cúbicos y lo dividí por el volumen de una pelota de golf en centímetros cúbicos, pero el sistema indica que mi respuesta es incorrecta.output: Las bolas de golf son esferas y no se pueden empaquetar en un espacio con una eficiencia perfecta. Tus cálculos tienen en cuenta la eficiencia máxima del empaquetado de las esferas. |
Pasos de razonamiento | Indícale al modelo que explique su razonamiento. A veces, esto puede mejorar la capacidad de razonamiento del modelo. También se conoce como "pasos del pensamiento". | Explica tu razonamiento pasa a paso. |
Formato de la respuesta | El formato en el que deseas que tenga la respuesta. Por ejemplo, puedes indicarle al modelo que genere la respuesta en JSON, tabla, Markdown, párrafo, lista con viñetas, palabras clave, presentación breve y demás. También se denomina "estructura", "presentación" o "diseño". | Da formato a tu respuesta en Markdown. |
Resumen | Repite de forma concisa los puntos clave de la instrucción, en especial las restricciones y el formato de respuesta, al final de la instrucción. | No des la respuesta y, en su lugar, proporciona pistas. Siempre formatea tu respuesta en formato Markdown. |
Protecciones | Fundamenta las preguntas en la misión del bot. También se denominan "reglas de seguridad". | N/A |
Según las tareas específicas en cuestión, puedes optar por incluir o excluir algunos de los componentes opcionales. También puedes ajustar el orden de los componentes y verificar cómo eso puede afectar a la respuesta.
Plantilla de instrucción de muestra
En la siguiente plantilla de instrucción, se muestra un ejemplo de cómo podría verse una instrucción bien estructurada:
<OBJECTIVE_AND_PERSONA> You are a [insert a persona, such as a "math teacher" or "automotive expert"]. Your task is to... </OBJECTIVE_AND_PERSONA> <INSTRUCTIONS> To complete the task, you need to follow these steps: 1. 2. ... </INSTRUCTIONS> ------------- Optional Components ------------ <CONSTRAINTS> Dos and don'ts for the following aspects 1. Dos 2. Don'ts </CONSTRAINTS> <CONTEXT> The provided context </CONTEXT> <OUTPUT_FORMAT> The output format must be 1. 2. ... </OUTPUT_FORMAT> <FEW_SHOT_EXAMPLES> Here we provide some examples: 1. Example #1 Input: Thoughts: Output: ... </FEW_SHOT_EXAMPLES> <RECAP> Re-emphasize the key aspects of the prompt, especially the constraints, output format, etc. </RECAP> |
prácticas recomendadas
Las prácticas recomendadas para el diseño de instrucciones incluyen lo siguiente:
- Proporciona instrucciones claras y específicas
- Incluye ejemplos con pocos intentos
- Asigna un rol
- Agrega información contextual
- Usa las instrucciones del sistema
- Estructura instrucciones
- Indicar al modelo que explique su razonamiento
- Desglosa las tareas complejas
- Experimenta con los valores de los parámetros
- Estrategias de iteración de mensajes
Lista de tareas para verificar el estado de la instrucción
Si una instrucción no funciona como se espera, usa la siguiente lista de verificación para identificar posibles problemas y mejorar el rendimiento de la instrucción.
Problemas de escritura
- Errores de escritura: Verifica las palabras clave que definen la tarea (por ejemplo, resumir en lugar de resumir), los términos técnicos o los nombres de entidades, ya que los errores ortográficos pueden generar un rendimiento deficiente.
- Gramática: Si una oración es difícil de analizar, contiene fragmentos inconexos, tiene sujetos y verbos que no coinciden, o se siente estructuralmente torpe, es posible que el modelo no comprenda correctamente la instrucción.
- Puntuación: Verifica el uso de comas, puntos, comillas y otros separadores, ya que la puntuación incorrecta puede hacer que el modelo interprete mal la instrucción.
- Uso de jerga indefinida: Evita usar términos, acrónimos o abreviaturas específicos del dominio como si tuvieran un significado universal, a menos que se definan explícitamente en la instrucción.
- Claridad: Si te preguntas sobre el alcance, los pasos específicos que debes seguir o las suposiciones implícitas que se hacen, es probable que la instrucción no sea clara.
- Ambigüedad: Evita usar calificadores subjetivos o relativos que carezcan de una definición concreta y medible. En su lugar, proporciona restricciones objetivas (por ejemplo, "escribe un resumen de 3 oraciones o menos" en lugar de "escribe un resumen breve").
- Falta información clave: Si la tarea requiere conocimiento de un documento, una política de la empresa, un historial del usuario o un conjunto de datos específicos, asegúrate de que esa información se incluya de forma explícita en la instrucción.
- Mala elección de palabras: Revisa la instrucción para detectar frases innecesariamente complejas, vagas o detalladas, ya que podrían confundir al modelo.
- Revisión secundaria: Si el modelo sigue teniendo un rendimiento deficiente, pídele a otra persona que revise tu instrucción.
Problemas con las instrucciones y los ejemplos
- Manipulación evidente: Quita del mensaje cualquier lenguaje que no esté relacionado con la tarea principal y que intente influir en el rendimiento con apelaciones emocionales, halagos o presión artificial. Si bien los modelos de base de primera generación mostraron mejoras en algunas circunstancias con instrucciones como "sucederán cosas muy malas si no lo haces bien", el rendimiento de los modelos de base ya no mejorará y, en muchos casos, empeorará.
- Instrucciones y ejemplos contradictorios: Para verificar esto, audita la instrucción en busca de contradicciones lógicas o discrepancias entre las instrucciones o entre una instrucción y un ejemplo.
- Instrucciones y ejemplos redundantes: Revisa la instrucción y los ejemplos para ver si la misma instrucción o el mismo concepto se indican varias veces de formas ligeramente diferentes sin agregar información o matices nuevos.
- Instrucciones y ejemplos irrelevantes: Verifica si todas las instrucciones y los ejemplos son esenciales para la tarea principal. Si se pueden quitar instrucciones o ejemplos sin disminuir la capacidad del modelo para realizar la tarea principal, es posible que sean irrelevantes.
- Uso de ejemplos de "pocos ejemplos": Si la tarea es compleja, requiere un formato específico o tiene un tono matizado, asegúrate de que haya ejemplos concretos e ilustrativos que muestren una entrada de muestra y la salida correspondiente.
- Falta la especificación del formato de salida: Evita dejar que el modelo adivine la estructura del resultado. En cambio, usa una instrucción clara y explícita para especificar el formato y mostrar la estructura del resultado en tus ejemplos de pocos disparos.
- Falta la definición del rol: Si le vas a pedir al modelo que actúe en un rol específico, asegúrate de que ese rol esté definido en las instrucciones del sistema.
Problemas de diseño del sistema y de las instrucciones
- Tarea no especificada: Asegúrate de que las instrucciones de la instrucción proporcionen una ruta clara para controlar los casos extremos y las entradas inesperadas, y que proporcionen instrucciones para controlar los datos faltantes en lugar de suponer que los datos insertados siempre estarán presentes y bien formados.
- Tarea fuera de las capacidades del modelo: Evita usar instrucciones que le pidan al modelo que realice una tarea para la que tiene una limitación fundamental conocida.
- Demasiadas tareas: Si la instrucción le pide al modelo que realice varias acciones cognitivas distintas en una sola pasada (por ejemplo, 1. Resumir, 2. Extraer entidades, 3. Traducir y 4. Redactar un correo electrónico), es probable que intente hacer demasiado. Divide las solicitudes en instrucciones separadas.
- Formato de datos no estándar: Cuando los resultados del modelo deben ser legibles por máquina o seguir un formato específico, usa un estándar ampliamente reconocido, como JSON, XML, Markdown o YAML, que pueda analizarse con bibliotecas comunes. Si tu caso de uso requiere un formato no estándar, considera pedirle al modelo que genere un formato común y, luego, usa código para convertir el resultado.
- Orden incorrecto de la cadena de pensamientos (CoT): Evita proporcionar ejemplos que muestren al modelo generando su respuesta final estructurada antes de que haya completado su razonamiento paso a paso.
- Referencias internas en conflicto: Evita escribir instrucciones con lógica no lineal o condicionales que requieran que el modelo reúna instrucciones fragmentadas de varios lugares diferentes en la instrucción.
- Riesgo de inyección de instrucciones: Verifica si hay medidas de seguridad explícitas en torno a la entrada del usuario no confiable que se inserta en la instrucción, ya que esto puede ser un riesgo de seguridad importante.
¿Qué sigue?
- Explora ejemplos de instrucciones en la galería de instrucciones.
- Obtén información para optimizar las instrucciones para usarlas con los modelos de Google mediante el optimizador de instrucciones de Vertex AI (versión preliminar).
- Obtén información sobre las prácticas recomendadas de IA responsable y los filtros de seguridad de Vertex AI.