Connect with us

Ingeniería de prompts

Guía de ingeniería de prompts de OpenAI: dominar ChatGPT para aplicaciones avanzadas

mm
Prompt Engineering

Entendiendo la ingeniería de prompts

La ingeniería de prompts es el arte y la ciencia de crear entradas (prompts) para obtener salidas deseables de modelos de inteligencia artificial como ChatGPT. Es una habilidad crucial para maximizar la efectividad de estos modelos.

ChatGPT, construido sobre las arquitecturas GPT-3 y GPT-4 de OpenAI, ha avanzado significativamente, volviéndose más receptivo y consciente del contexto. Entender su evolución es clave para dominar la ingeniería de prompts.

Al igual que un director de orquesta experimentado que dirige a una orquesta, la ingeniería de prompts nos permite dirigir estos modelos para realizar tareas complejas, desde crear documentos técnicos detallados hasta generar contenido creativo y atractivo. Esta guía te llevará a través de estrategias y tácticas que transformarán tu interacción con la inteligencia artificial, elevándola de intercambios básicos a conversaciones matizadas y significativas.

Considera la diferencia entre preguntar “¿Cómo sumo números en Excel?” y “¿Cómo puedo sumar automáticamente una columna de cantidades en dólares en Excel, con totales mostrados a la derecha en una columna ‘Total’?” La segunda pregunta, más detallada, deja menos a la interpretación de la inteligencia artificial, lo que lleva a una respuesta más precisa y útil. De manera similar, entender el uso de personajes, delimitadores e instrucciones paso a paso puede impactar profundamente la calidad de la salida de la inteligencia artificial, especialmente para tareas complejas.

Esta guía sobre ingeniería de prompts no solo cubrirá los aspectos teóricos, sino que también proporcionará ejemplos prácticos y manos sobre. Aprenderás cómo usar tácticas efectivas como proporcionar textos de referencia para guiar a la inteligencia artificial lejos de las invenciones, o cómo descomponer tareas complejas en subtareas más simples para obtener resultados más precisos.

1. Claridad y detalle

Crear prompts efectivos para modelos de inteligencia artificial como GPT-4 requiere una combinación de precisión, contexto y claridad. La diferencia entre un prompt mal elaborado y uno bien pensado puede ser la diferencia entre una respuesta vaga y genérica y una respuesta altamente relevante y específica.

Ejemplo 1: Aprovechando la comprensión del lenguaje de ChatGPT para consultas técnicas

  • Prompt ineficaz: “¿Cómo puedo arreglar un error en mi código?”
    • Salida de la IA: “Para arreglar un error en tu código, necesitas identificar primero el error, entender por qué está sucediendo y luego modificar el código para corregirlo.”
  • Prompt técnico efectivo: “Estoy codificando en Python y obtengo un ‘KeyError’ al intentar acceder a un diccionario. El fragmento de código es: [fragmento de código]. ¿Qué está causando este error y cómo puedo arreglarlo?”
    • Salida de la IA: “El ‘KeyError’ en tu código de Python probablemente se deba a intentar acceder a una clave en el diccionario que no existe. Aquí está cómo puedes modificar tu código para manejar este error: [Fragmento de código modificado con explicación].”

Ejemplo 2: Escritura creativa con imitación de estilo

  • Prompt ineficaz: “Escribe una historia corta.”
    • Salida de la IA: “Había una vez, en una tierra lejana, un reino que enfrentaba un gran peligro…”
  • Prompt de imitación de estilo efectivo: “Escribe una historia corta al estilo de Ernest Hemingway, centrada en una conversación entre dos amigos que se reúnen inesperadamente.”
    • Salida de la IA: “El sol golpeaba el camino polvoriento donde Jack y Tom, dos amigos, se encontraron por casualidad. ‘Han pasado años’, dijo Jack, su voz tan seca como el aire. ‘Años desde la guerra’, respondió Tom. [La historia continúa en el estilo conciso y basado en diálogos de Hemingway].”

Ejemplo 3: Consejos de viaje

  • Prompt ineficaz: “¿Qué debo hacer en París?”
    • Salida de la IA: “En París, puedes visitar lugares emblemáticos como la Torre Eiffel, el Museo del Louvre y la Catedral de Notre-Dame.”
  • Prompt efectivo: “Estoy visitando París durante tres días este verano con un enfoque en arte e historia. ¿Puedes sugerir un itinerario detallado?”
    • Salida de la IA: “Día 1: Visita el Museo del Louvre por la mañana, seguido de un paseo hasta la Catedral de Notre-Dame. [Más itinerario detallado sigue].”

Conocimientos para crear mejores prompts

  1. Especificidad: Sé lo más específico posible. Cuanto más detallado sea tu prompt, más adaptada será la respuesta.
  2. Información contextual: Incluye toda la información relevante. Esto ayuda a la IA a entender la naturaleza exacta de tu solicitud.
  3. Objetivo claro: Establece claramente qué esperas como salida. Ya sea una receta, un plan de viaje o una solución técnica, haz que tu objetivo sea claro.
  4. Evitar ambigüedad: Los prompts ambiguos llevan a respuestas genéricas. Clarifica tu solicitud para obtener respuestas precisas.
  5. Utilizar formatos conocidos: Si es aplicable, solicita información en un formato específico, como una lista, una guía paso a paso o un diagrama.

2. Mejorar las respuestas de la IA con referencia

El uso estratégico de textos de referencia en la ingeniería de prompts puede elevar significativamente la calidad y precisión de las respuestas de modelos de inteligencia artificial como GPT-4. Al proporcionar información relevante y confiable junto con tu consulta, puedes guiar a la IA para que componga respuestas basadas en el material dado, haciendo que las respuestas sean más confiables y contextualmente precisas.

Ejemplo 1: Explicación científica

  • Prompt convencional: “¿Cómo se forma un agujero negro?”
    • Salida de la IA: “Un agujero negro se forma a partir de los restos de una estrella grande que muere en una explosión de supernova. Si la masa del núcleo es suficiente, colapsa bajo su propia gravedad en un agujero negro.”
  • Prompt mejorado con texto de referencia:
    • Texto de referencia proporcionado: “[Artículo científico sobre la evolución estelar y agujeros negros]”
    • Prompt: “Usando la información del artículo científico proporcionado, explica el proceso de formación de un agujero negro.”
    • Salida de la IA: “Basado en el artículo científico proporcionado, un agujero negro se forma cuando una estrella masiva agota su combustible nuclear y su núcleo colapsa. El artículo detalla: [‘Extractos relevantes del artículo’]”

Ejemplo 2: Interpretación legal

  • Prompt convencional: “¿Cuáles son las implicaciones legales del robo de propiedad intelectual?”
    • Salida de la IA: “El robo de propiedad intelectual puede llevar a consecuencias legales como demandas, multas y, en casos graves, prisión.”
  • Prompt mejorado con texto de referencia:
    • Texto de referencia proporcionado: “[Artículo de revista legal sobre la ley de propiedad intelectual]”
    • Prompt: “Haciendo referencia al artículo de la revista legal proporcionado, explica las implicaciones legales específicas del robo de propiedad intelectual.”
    • Salida de la IA: “El artículo de la revista legal establece que el robo de propiedad intelectual puede resultar en litigios civiles, daños y perjuicios legales y posibles cargos penales. En particular, el artículo menciona: [‘Citas directas del artículo’]”

Conocimientos para usar textos de referencia en prompts

  1. Seleccionar textos relevantes: Elige textos de referencia que sean directamente relevantes para tu consulta.
  2. Especificación del prompt: Instruye claramente a la IA para que use el texto de referencia proporcionado para componer su respuesta.
  3. Citas: Solicita que la IA cite partes específicas del texto de referencia en su respuesta para precisión y verificación.
  4. Manejo de información insuficiente: Instruye a la IA para que declare claramente si el texto proporcionado no contiene la información necesaria para responder a la pregunta.

3. Simplificando tareas complejas con división de subtareas

La clave para manejar tareas complejas con modelos de inteligencia artificial como GPT-4 radica en descomponerlas en subtareas más simples. Este enfoque no solo agiliza el proceso, sino que también mejora la precisión y la relevancia de las respuestas de la IA. A continuación, demostramos esta estrategia a través de ejemplos específicos, destacando las ventajas de usar clasificación de intención, técnicas de resumen y conversaciones estructuradas para consultas complejas.

Ejemplo 1: Consulta de servicio al cliente

  • Enfoque ineficaz: Un solo prompt que solicita asistencia general.
    • Prompt del usuario: “Estoy teniendo problemas con mi cuenta.”
    • Salida de la IA: “¿Podrías especificar la naturaleza de tus problemas con la cuenta?”
  • Enfoque efectivo: Clasificar la consulta en categorías y ofrecer asistencia dirigida.
    • Prompt del usuario: “Estoy teniendo problemas para acceder a mi cuenta.”
    • Directiva de la IA: “Clasifica la consulta en ‘Administración de cuenta’, luego ofrece pasos específicos para solucionar problemas de acceso.”
    • Salida de la IA: “Parece que estás teniendo problemas para acceder a tu cuenta. Comencemos por restablecer tu contraseña. [Seguido de pasos detallados].”

Ejemplo 2: Resumen de documento largo

  • Enfoque ineficaz: Intentar resumir un documento largo de una vez.
    • Prompt del usuario: “Resumen los puntos clave de este libro de 300 páginas para mí.”
    • Salida de la IA: “Lo siento, pero no puedo procesar documentos más largos que mi ventana de contexto.”
  • Enfoque efectivo: Resumir el documento pieza por pieza y construir un resumen completo de forma recursiva.
    • Directiva de la IA: “Resumen cada capítulo por separado, luego crea un resumen de resúmenes, procediendo de forma recursiva.”
    • Prompt del usuario: “Resumen el capítulo 1 de este libro.”
    • Salida de la IA: “Resumen del capítulo 1: [Resumen breve del capítulo 1].”
    • Proceso continuo: El mismo proceso se aplica a cada capítulo, seguido de un resumen final que combina todos los resúmenes individuales.

Beneficios de la división de subtareas y la ingeniería de prompts contextual

  1. Aumento de la precisión: Al centrarse en aspectos específicos de una tarea compleja, la IA puede proporcionar respuestas más precisas y relevantes.
  2. Mejora de la eficiencia: Descomponer tareas las hace más manejables y reduce la probabilidad de errores o salidas irrelevantes.
  3. Mejora de la experiencia del usuario: Los usuarios reciben orientación dirigida y paso a paso, lo que es más útil que respuestas genéricas.
  4. Eficiencia en costos: Los prompts más pequeños y dirigidos pueden ser más rentables en comparación con prompts más grandes y complejos.

4. Darle tiempo a GPT para pensar

La estrategia de darle tiempo a los modelos para “pensar” y descomponer tareas complejas en pasos manejables mejora significativamente la calidad de las respuestas de modelos de inteligencia artificial como GPT-4.

Ejemplo 1: Evaluación de problema matemático

  • Enfoque ineficaz: Preguntar directamente al modelo si la solución de un estudiante es correcta.
    • Prompt del usuario: “¿Es correcta la solución del estudiante para este problema matemático?”
    • Salida de la IA: “La solución del estudiante parece ser correcta/incorrecta.”
  • Enfoque efectivo: Instruir al modelo para que primero trabaje en su propia solución antes de evaluar el trabajo del estudiante.
    • Prompt del usuario: “Primero, resuelve este problema matemático. Luego, compara tu solución con la del estudiante y evalúa su corrección.”
    • Salida de la IA: “Mi solución: [Solución detallada]. Comparando con la solución del estudiante, encontré un error en su cálculo de [parte específica]. El enfoque correcto debería ser [método correcto].”

Ejemplo 2: Análisis de documento

  • Enfoque ineficaz: Intentar analizar un documento largo en una sola consulta.
    • Prompt del usuario: “Resumen los puntos clave de este documento entero.”
    • Salida de la IA: “Lo siento, pero no puedo procesar el documento completo debido a su longitud.”
  • Enfoque efectivo: Extracción secuencial de extractos y consultas de seguimiento para un análisis exhaustivo.
    • Prompt del usuario: “Extrae extractos clave de este documento relacionados con [tema específico].”
    • Salida de la IA: “Extracto 1: [Paso relevante]. Extracto 2: [Otro paso relevante].”
    • Prompt de seguimiento del usuario: “¿Hay más extractos relevantes? Asegúrate de que contengan el contexto completo.”
    • Salida de la IA: “Extracto adicional: [Extracto relevante adicional].”

Beneficios e ideas

  1. Profundidad del análisis: Al trabajar en soluciones o análisis primero, la IA puede proporcionar evaluaciones más precisas y profundas.
  2. Aprendizaje guiado: En escenarios de tutoría, el uso de monólogo interior y pistas anima a los estudiantes a llegar a soluciones de manera independiente, mejorando su experiencia de aprendizaje.
  3. Cobertura exhaustiva: Para el análisis de documentos, los enfoques secuenciales y recursivos garantizan una cobertura completa sin perder detalles importantes.
  4. Evitar sesgos: Al generar su propia solución primero, la IA evita sesgos que podrían surgir al evaluar directamente una respuesta dada.

5. Aprovechando herramientas externas

Incorporar herramientas y recursos externos en las interacciones con la IA puede mejorar significativamente la precisión y relevancia de las respuestas generadas por modelos como GPT-4. Esta sección demuestra el uso de búsqueda basada en embeddings para recuperación de conocimiento, ejecución de código para cálculos precisos y llamadas a funciones para aumentar las capacidades de los modelos de IA.

Ejemplo 1: Cálculos precisos con ejecución de código

  • Sin ejecución de código: Depender únicamente de las capacidades de cálculo del modelo.
    • Prompt del usuario: “Calcula la raíz cuadrada de 529.”
    • Salida de la IA: “La raíz cuadrada de 529 es aproximadamente 23.”
  • Con ejecución de código: Asegurando la precisión en los cálculos.
    • Prompt del usuario: “Calcula la raíz cuadrada de 529.”
    • Directiva de la IA: “Escribe y ejecuta código de Python para calcular esto.”
    • Salida de la IA: “python import math math.sqrt(529) La raíz cuadrada de 529 es exactamente 23.”

Ejemplo 2: Usando llamadas a API para interacciones dinámicas

  • Sin llamadas a API: Limitado a respuestas estáticas y preprogramadas.
    • Prompt del usuario: “Envía un recordatorio a mi amigo sobre nuestra reunión de mañana.”
    • Salida de la IA: “Recordatorio: No olvides enviar un mensaje a tu amigo sobre la reunión de mañana.”
  • Con llamadas a API: Interactuando con sistemas externos para acciones en tiempo real.
    • Prompt del usuario: “Envía un recordatorio a mi amigo John sobre nuestra reunión de mañana.”
    • Directiva de la IA: “Usa la API de mensajería para enviar un recordatorio.”
    • Salida de la IA: “python import message message.write(to='John', message='Hey, recuerda nuestra reunión de mañana!') Recordatorio enviado a John sobre la reunión de mañana.”

Beneficios e ideas

  1. Base de conocimiento expandida: Al usar búsqueda basada en embeddings, la IA puede acceder e incorporar una amplia gama de información actualizada, mejorando la relevancia y precisión de sus respuestas.
  2. Precisión en cálculos: La ejecución de código permite a la IA realizar cálculos matemáticos precisos, lo cual es especialmente útil en contextos técnicos o científicos.
  3. Capacidades interactivas: Las llamadas a API permiten a la IA interactuar con sistemas externos, facilitando acciones en el mundo real como enviar mensajes o establecer recordatorios.

6. Pruebas sistemáticas

Las pruebas sistemáticas, o procedimientos de evaluación, son cruciales para determinar la efectividad de los cambios en los sistemas de IA. Este enfoque implica comparar las salidas del modelo con un conjunto de estándares predeterminados o respuestas “estándar” para evaluar la precisión.

Ejemplo 1: Identificación de contradicciones en respuestas

  • Escenario de prueba: Detectar contradicciones en la respuesta del modelo en comparación con respuestas de expertos.
    • Directiva del sistema: Determinar si la respuesta del modelo contradice cualquier parte de una respuesta proporcionada por un experto.
    • Entrada del usuario: “Neil Armstrong se convirtió en la segunda persona en caminar en la luna, después de Buzz Aldrin.”
    • Proceso de evaluación: El sistema verifica la coherencia con la respuesta del experto que establece que Neil Armstrong fue la primera persona en la luna.
    • Salida del modelo: La respuesta del modelo contradice directamente la respuesta del experto, indicando un error.

Ejemplo 2: Comparación de niveles de detalle en respuestas

  • Escenario de prueba: Evaluar si la respuesta del modelo se alinea con, supera o es inferior a la respuesta del experto en términos de detalle.
    • Directiva del sistema: Comparar la profundidad de información entre la respuesta del modelo y la respuesta del experto.
    • Entrada del usuario: “Neil Armstrong caminó por primera vez en la luna el 21 de julio de 1969, a las 02:56 UTC.”
    • Proceso de evaluación: El sistema evalúa si la respuesta del modelo proporciona más, igual o menos detalle en comparación con la respuesta del experto.
    • Salida del modelo: La respuesta del modelo proporciona detalles adicionales (la hora exacta), lo que se alinea con y extiende la respuesta del experto.

Beneficios e ideas

  1. Precisión y confiabilidad: Las pruebas sistemáticas aseguran que las respuestas del modelo de IA sean precisas y confiables, especialmente al tratar con información factual.
  2. Detección de errores: Ayuda a identificar errores, contradicciones o inconsistencias en las respuestas del modelo.
  3. Garantía de calidad: Este enfoque es esencial para mantener altos estándares de calidad en el contenido generado por IA, particularmente en contextos educativos, históricos o otros contextos sensibles a hechos.

Conclusión y mensaje de retención

A través de los ejemplos y estrategias discutidas, hemos visto cómo la especificidad en los prompts puede cambiar dramáticamente la salida, y cómo descomponer tareas complejas en subtareas más simples puede hacer que desafíos abrumadores sean manejables. Hemos explorado el poder de las herramientas externas para aumentar las capacidades de la IA y la importancia de las pruebas sistemáticas para garantizar la precisión y confiabilidad de las respuestas de la IA. Visita la Guía de ingeniería de prompts de OpenAI para conocimientos fundamentales que complementan nuestra exploración exhaustiva de técnicas y estrategias avanzadas para optimizar las interacciones con la IA.

He pasado los últimos cinco años sumergiéndome en el fascinante mundo del Aprendizaje Automático y el Aprendizaje Profundo. Mi pasión y experiencia me han llevado a contribuir a más de 50 proyectos de ingeniería de software diversos, con un enfoque particular en AI/ML. Mi curiosidad continua también me ha llevado hacia el Procesamiento de Lenguaje Natural, un campo que estoy ansioso por explorar más a fondo.