Optimización de la salida del modelo con ingeniería de solicitudes
La forma más accesible de optimizar el rendimiento de un modelo es a través de la ingeniería rápida. La ingeniería de avisos es el proceso de diseño y refinamiento de los mensajes para mejorar la calidad, la precisión y la relevancia de las respuestas que genera un modelo de lenguaje. No requiere datos adicionales de infraestructura ni entrenamiento, y puede empezar a experimentar inmediatamente.
Conocer los componentes de solicitud
Cuando interactúa con un modelo de lenguaje, la calidad de la pregunta influye directamente en la calidad de la respuesta. Un aviso bien construido ayuda al modelo a comprender lo que necesita y generar una respuesta más útil.
Las solicitudes de modelos de finalización de chat suelen incluir los siguientes componentes:
- Mensaje del sistema: instrucciones que definen el comportamiento, el rol y las restricciones del modelo.
- Mensaje de usuario: pregunta o entrada del usuario.
- Mensaje del Asistente: Respuestas anteriores del modelo, empleadas en conversaciones de múltiples turnos.
- Ejemplos: pares de entrada y salida de ejemplo que muestran el formato de respuesta esperado.
La forma de estructurar y combinar estos componentes determina la eficacia de respuesta del modelo.
Diseño de mensajes eficaces del sistema
Un mensaje del sistema es un conjunto de instrucciones que se proporcionan al modelo para guiar sus respuestas. Normalmente, los mensajes del sistema aparecen primero en la conversación y actúan como el conjunto de instrucciones de nivel superior. Los usa para:
- Defina el rol y los límites del asistente.
- Establezca el estilo de tono y comunicación.
- Especifique formatos de salida, como JSON o viñetas.
- Agregue restricciones de seguridad y calidad para su escenario.
Un mensaje del sistema puede ser tan sencillo como:
You are a helpful AI assistant.
O bien, puede incluir reglas detalladas y requisitos de formato. Por ejemplo, la aplicación de chat de la agencia de viajes podría usar:
You are a friendly travel advisor for Margie's Travel.
Answer only questions related to travel, hotels, and trip planning.
Use a warm, conversational tone.
If you don't have enough information to answer, ask a clarifying question.
Format hotel recommendations as a bulleted list with the hotel name, location, and price range.
Importante
Un mensaje del sistema influye en el modelo, pero no garantiza el cumplimiento. Debe probar e iterar los mensajes del sistema, y combinarlos con otras medidas de mitigación, como el filtrado y la evaluación de contenido.
Al diseñar un mensaje del sistema, siga esta lista de comprobación:
- Comience con el rol del asistente: indique el rol y el resultado esperado para una solicitud típica.
- Definir límites: enumere los temas, las acciones y los tipos de contenido que debe evitar el asistente.
- Especifique el formato de salida: si necesita un formato específico, índiquelo claramente y mantenga la coherencia.
- Agregar una política de "cuando no esté seguro": Indique al modelo qué hacer cuando la solicitud del usuario sea ambigua, esté fuera del ámbito o cuando al modelo le falte información.
Aplicar patrones de solicitud
Las indicaciones eficaces usan patrones que ayudan al modelo a generar mejores respuestas. Estos son algunos patrones comunes que puede usar:
Patrón de persona
Indique al modelo que asuma una perspectiva o un rol específicos. Por ejemplo, pedirle al modelo que responda como un profesional de marketing con experiencia produce resultados diferentes a los que se obtienen cuando no se usa ningún perfil.
| Sin perfil | Con perfil | |
|---|---|---|
| Mensaje del sistema | Ninguno | Eres un profesional de marketing experimentado que escribe para clientes técnicos. |
| Solicitud del usuario | Escriba una descripción de una frase de un producto CRM. | Escriba una descripción de una frase de un producto CRM. |
| Respuesta | Un producto CRM es una herramienta de software diseñada para administrar las interacciones de una empresa con los clientes. | Experiencia sin problemas de administración de relaciones con los clientes con nuestro CRM, diseñado para simplificar las operaciones y impulsar el crecimiento de las ventas con un análisis sólido. |
Dar formato al patrón de plantilla
Proporcione una plantilla o estructura en el mensaje para obtener la salida en un formato específico. Por ejemplo, si necesita una respuesta estructurada sobre un hotel:
Format the result to show:
- Hotel name
- Location
- Star rating
- Price range per night
Este patrón garantiza respuestas organizadas coherentes que son fáciles de analizar en la aplicación.
Patrón de cadena de pensamiento
Pida al modelo que explique su razonamiento paso a paso. Esta técnica, denominada cadena de pensamiento, reduce la posibilidad de resultados inexactos y facilita la comprobación de la lógica del modelo.
Por ejemplo, en lugar de preguntar "¿Qué hotel es mejor para una familia de cuatro?", puede preguntar:
Which hotel is best for a family of four? Take a step-by-step approach:
consider room size, amenities for children, location, and price.
Una técnica relacionada consiste en dividir la tarea en subprocesos explícitos antes de que el modelo responda, en lugar de pedirle que razone todo a la vez. Por ejemplo, puede pedir primero al modelo que extraiga hechos clave de un pasaje y, a continuación, en un aviso de seguimiento, pídale que responda a una pregunta basada en esos hechos. Descomponer el trabajo de esta manera reduce los errores en tareas complejas y de varias partes.
Nota:
La activación de la cadena de pensamiento es una técnica para modelos no basados en razonamiento. Los modelos de razonamiento como los modelos o-series manejan la lógica paso a paso de forma interna.
Patrón de aprendizaje con pocos ejemplos
Proporcione uno o varios ejemplos de la entrada y salida deseadas para ayudar al modelo a identificar el patrón que desee. Esta técnica se denomina aprendizaje de pocas capturas (o un solo ejemplo ). Cuando no se proporcionan ejemplos, se denomina zero-shot learning.
Por ejemplo, para clasificar las consultas de los clientes:
Classify the following customer messages:
Message: "I need to change my flight to Rome"
Category: Booking change
Message: "What's the weather like in Bali in March?"
Category: Travel information
Message: "Can I get a refund for my cancelled tour?"
Category:
El modelo aprende el patrón de clasificación de los ejemplos y completa correctamente la última entrada.
Usar sintaxis y delimitadores claros
Cuando el mensaje incluye varias secciones (como instrucciones, texto de origen y ejemplos), use delimitadores como ---, encabezados Markdown o etiquetas XML para separarlas. Los límites claros ayudan al modelo a distinguir las instrucciones del contenido y a reducir la posibilidad de que se interinterprete.
Sugerencia
Los modelos pueden ser susceptibles al sesgo de actualidad, lo que significa que el texto al final de una solicitud puede tener más influencia que el texto al principio. Si el modelo no sigue las instrucciones de forma coherente, intente repetir la instrucción de clave al final del mensaje.
Configuración de parámetros de modelo
Más allá del texto de las solicitudes, puede ajustar los parámetros del modelo que controlan cómo el modelo genera respuestas:
- Temperatura: controla la aleatoriedad de la salida. Un valor mayor (por ejemplo, 0,7) produce respuestas más creativas y variadas, mientras que un valor inferior (por ejemplo, 0,2) produce respuestas más centradas y deterministas. Use valores inferiores para tareas fácticas y valores superiores para los creativos.
-
Top_p: también controla la aleatoriedad, pero de otra manera. Limita el modelo a un subconjunto de los tokens siguientes más probables. Por ejemplo, un
top_pde 0,9 significa que el modelo solo tiene en cuenta los 90 primeros% de tokens probables.
Sugerencia
La recomendación general es ajustar la temperatura o top_p, no ambas al mismo tiempo.
Para el escenario de la agencia de viajes, puede usar una temperatura baja (0.2) al responder preguntas fácticas sobre las comodidades del hotel, pero una temperatura más alta (0,7) al generar sugerencias creativas de itinerarios de viaje.
Cuándo es suficiente la ingeniería de solicitudes
La ingeniería de solicitudes es el punto de partida adecuado para cualquier esfuerzo de optimización de modelos. Es eficaz cuando se necesita:
- Guíe el tono, el formato y el comportamiento del modelo.
- Proporcione instrucciones específicas para una tarea.
- Itere rápidamente los resultados sin cambios en la infraestructura.
- Mantenga los costos bajos, ya que no se requiere ningún entrenamiento o storage de datos adicionales.
Sin embargo, la ingeniería de solicitudes tiene límites. Si el modelo no tiene access a la información que necesita (como el catálogo de hoteles de su empresa), o si no puede mantener un comportamiento específico a pesar de las instrucciones detalladas, debe tener en cuenta estrategias adicionales.