NOTICIAS CIPSA INFORMÁTICA, MARKETING DIGITAL, PROGRAMACIÓN, VIDEOJUEGOS, OFFICE, DISEÑO, 3D, ETC
03
julio
2023

Los mensajes para la IA, también llamados prompts de inteligencia artificial, son réplicas diseñadas para ser empleadas por chatbots de IA, asistentes digitales y otros sistemas automáticos. Estos mensajes están diseñados para proporcionar respuestas adecuadas a las preguntas de los usuarios, ayudando a que las conversaciones sean más naturales y eficaces.

Ingeniería de prompts / Prompt engineering

Las instrucciones de IA pueden utilizarse en diversos sectores, como la atención al cliente, la sanidad y las finanzas, por nombrar algunos. Son creados por expertos que entrenan la tecnología de IA para identificar las consultas de los usuarios y proporcionar respuestas pertinentes. Los textos, vídeos o retratos creados por la inteligencia artificial, usando prompts, mejoran mucho su calidad.

Pueden ahorrar tiempo y dinero al reducir la necesidad de que los operadores humanos se ocupen de tareas repetitivas o sencillas. También pueden mejorar la calidad del servicio de atención al cliente ofreciendo respuestas precisas y coherentes. Además, las instrucciones de IA pueden ajustarse a sectores concretos, lo que las convierte en una valiosa herramienta para las empresas que quieren mejorar su oferta de atención al cliente.

¿Qué es el prompt engineering o ingeniería de prompts?

La ingeniería de prompts es un novedoso campo de estudio consistente en diseñar y ajustar los mensajes o prompts que se utilizan para interactuar con el modelo con el fin de obtener respuestas más precisas y relevantes del modelo. Esto implica formular preguntas o instrucciones claras y específicas, proporcionar ejemplos o información adicional relevante y ajustar la longitud o el formato de los mensajes para optimizar los resultados.

A continuación, exponemos algunas de las estrategias generales utilizadas en la ingeniería de prompts. Es importante destacar que éstas técnicas han de aplicarse siguiendo una estrategia adecuada según el contexto específico, la tarea y los objetivos deseados.

Consejos para crear prompts

Uso de instrucciones claras y específicas

Proporcionar instrucciones precisas y detalladas en el prompt para guiar al modelo en la dirección deseada. Esto puede incluir indicaciones sobre el formato de la respuesta esperada, los pasos a seguir o cualquier otra especificación relevante.

Supóngase el siguiente prompt:

«Usando el modelo de lenguaje, genera una descripción detallada de la foto adjunta. Ten en cuenta el contenido visual y proporciona información sobre el entorno, los objetos y las personas presentes en la imagen. Asegúrate de incluir detalles relevantes y utiliza un lenguaje descriptivo.«

En este ejemplo, la instrucción proporciona una guía clara y detallada al modelo sobre lo que se espera de él. Se indica explícitamente que se utilice el contenido visual de la foto adjunta para generar una descripción detallada. Se enfatiza la importancia de incluir información sobre el entorno, los objetos y las personas presentes en la imagen. También se especifica que se utilice un lenguaje descriptivo y se destaquen detalles relevantes. De este modo se aumenta la probabilidad de que el modelo genere una mejor respuesta.

Inclusión de ejemplos y demostraciones

Incluir ejemplos o demostraciones relevantes en el prompt para ayudar al modelo a comprender mejor la tarea o el contexto. Estos ejemplos pueden proporcionar patrones o estructuras que se espera que el modelo reproduzca en sus respuestas.

 Supóngase el siguiente prompt inicial:

«Ayuda al modelo de lenguaje a generar un poema romántico. A continuación, te muestro un ejemplo de cómo podría ser:

En un jardín de sueños y promesas,

donde florecen los suspiros y las caricias,

nuestros corazones se entrelazan en danza,

como dos almas que se buscan y se abrazan.

Utiliza este ejemplo como inspiración y crea un poema romántico propio. Recuerda utilizar un lenguaje poético, evocador y lleno de sentimiento. Deja volar tu imaginación y sorpréndeme con tus versos.«

Como parte del prompt se proporciona un ejemplo de poema romántico para que el modelo tenga una referencia clara de lo que se espera. Al mostrar un ejemplo, se le proporciona un marco de referencia para generar su propia respuesta y se le aporta información sobre el estilo de lenguaje poético esperado.

Recontextualización

Reformular la pregunta o el contexto del prompt en diferentes palabras o perspectivas para obtener respuestas más completas o diferentes enfoques. Esto implica explorar cómo el modelo responde a diferentes formulaciones de la misma pregunta o instrucción.

Tomemos como ejemplo el siguiente prompt:

«Traduce la siguiente frase del español al francés: ‘La casa blanca’.»

Una posible re-contextualización podría ser la siguiente:

«Imagina que estás en una clase de francés y te piden que traduzcas la siguiente frase al francés: ‘La residencia presidencial de Estados Unidos’. Por favor, proporciona la traducción al francés de esta frase.»

En este ejemplo, se realiza una re-contextualización del prompt original para brindar al modelo un contexto adicional y una explicación más detallada sobre la frase a traducir. Se reemplaza la frase original «La casa blanca» con una descripción más amplia y contextualizada, es decir, «La residencia presidencial de Estados Unidos«. Esta proporciona información adicional que puede ayudar al modelo a comprender mejor el significado y la intención detrás de la frase a traducir, lo que puede resultar en una traducción más precisa y relevante al francés.

Ajuste de la longitud del prompt

Experimentar con la longitud del prompt, ya sea haciéndolo más corto o más largo, para lograr resultados óptimos. En algunos casos, un prompt más conciso y directo puede ser preferible, mientras que, en otros casos, un prompt más detallado puede proporcionar mejores respuestas.

Veamos el siguiente ejemplo:

«Explícame detalladamente cómo funcionan las redes neuronales artificiales, incluyendo sus componentes principales, como las capas ocultas, la función de activación y el algoritmo de retropropagación. También me gustaría conocer algunos ejemplos de aplicaciones prácticas de las redes neuronales en campos como la visión por computadora, el procesamiento del lenguaje natural y la predicción de series temporales.»

Una versión ajustada en longitud podría ser la siguiente:

«Explícame cómo funcionan las redes neuronales artificiales y da ejemplos de aplicaciones prácticas en visión por computadora, procesamiento del lenguaje natural y predicción de series temporales.»

En este ejemplo, se simplifica el prompt para hacerlo más conciso. Se eliminan detalles específicos y se resumen en una forma más general. También se reducen los ejemplos de aplicaciones prácticas a campos específicos, en lugar de mencionar todos los posibles.

Uso de marcadores o tokens especiales

Utilizar marcadores o tokens especiales en el prompt para indicar al modelo cómo debe interpretar o procesar ciertas partes de la entrada. Esto puede incluir el uso de marcadores específicos para indicar el inicio o el final de una respuesta, para denotar la relevancia de cierta información o para indicar el tipo de salida deseada.

Veamos el siguiente prompt:

«Completa la siguiente oración: ‘El mejor consejo que he recibido es [MARCA] porque [MARCA].'»

En este ejemplo, se utilizan los marcadores especiales «[MARCA]» para indicar al modelo dónde debe insertar información relevante para completar la oración. Cuando el modelo interactúa con este prompt, se espera que reemplace los marcadores «[MARCA]» con frases o ideas que completen la oración de manera coherente y significativa.

Respuesta generada por el modelo:

«El mejor consejo que he recibido es nunca rendirme porque el éxito requiere perseverancia.»

En este caso, el modelo ha utilizado los marcadores «[MARCA]» para entender que debe proporcionar una sugerencia personal y una razón para respaldarla. La respuesta generada indica que el mejor consejo recibido es «nunca rendirse» y la razón es que el éxito requiere perseverancia.

Evaluación y retroalimentación iterativa en prompt engineering

Iterar y experimentar con diferentes enfoques de ingeniería de prompts, evaluando las respuestas del modelo y ajustando los prompts en consecuencia. Esto implica un proceso de prueba y error compuesto por varios pasos:

Lo primero, es evaluar la respuesta inicial del modelo a un prompt.

«Describe tu ciudad natal en tres oraciones.»

Respuesta generada por el modelo:

«Mi ciudad natal es un lugar bonito con muchas cosas para hacer. La gente es amigable y la comida es deliciosa. Me encanta vivir allí.»

Seguidamente evaluamos la respuesta en función de los criterios deseados, los cuales pueden incluir información más específica sobre la ciudad, detalles únicos o características distintivas que la diferencien de otras ciudades.

Como resultado de la evaluación inicial, proporcionamos una retroalimentación al modelo:

«La respuesta es buena en términos generales, pero sería aún mejor si pudieras incluir detalles sobre los monumentos o lugares famosos de la ciudad. También sería útil mencionar alguna característica única que haga especial a tu ciudad natal.»

Seguidamente ajustamos el prompt para reflejar la retroalimentación anterior.

«Describe tu ciudad natal en tres oraciones, incluyendo detalles sobre los monumentos famosos y alguna característica única que la haga especial.»

Para terminar, volvemos a evaluar la respuesta generada por el modelo:

«Mi ciudad natal es conocida por su impresionante catedral gótica y el famoso puente que cruza el río. Además, se destaca por su festival anual de flores, donde las calles se llenan de color y fragancia.»

Cada uno de los pasos anteriores se repiten reajustando el prompt, proporcionando retroalimentación adicional al modelo y evaluando las respuestas generadas hasta obtener los resultados deseados.

Conclusiones sobre prompt engineering

Mediante el uso de la ingeniería de prompts, los investigadores y desarrolladores pueden influir en el comportamiento del modelo y mejorar su capacidad para producir respuestas coherentes y útiles. Esto implica experimentar con diferentes formulaciones de prompts, ajustar la cantidad de información proporcionada y analizar el modo en que el modelo interpreta y responde a diferentes tipos de entradas.

El objetivo último es comprender cómo el modelo interpreta y procesa los mensajes iniciales para mediante la iteración y experimentación conseguir optimizarlo hasta obtener los mejores resultados posibles.

Si estás interesado en ampliar tus conocimientos sobre ingeniería de prompts y IA visita nuestro Curso de inteligencia artificial para usuarios

Author

Ángel Aguinaga

Profesor de Programación y Bases de Datos de la Sede Bilbao. Formador experimentado en áreas como .Net, Java, BB.DD., Python, Desarrollo y programación Web.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Recibe de primero nuestras ofertas de empleo y noticias