Ir al contenido

Prompt engineering

✏️ Editar🕓 Historial🔗 Enlaces
TipoTécnica de inteligencia artificial
CampoProcesamiento del lenguaje natural, inteligencia artificial generativa
ObjetivoOptimizar las respuestas de modelos de lenguaje
Año de origenDécada de 2020
Popularizado porInvestigadores de OpenAI y la comunidad de código abierto

1. Resumen[editar]

El prompt engineering (ingeniería de instrucciones) es el conjunto de técnicas y prácticas destinadas a diseñar, refinar y optimizar las entradas de texto (prompts) que se proporcionan a los modelos de lenguaje de gran escala (LLM, por sus siglas en inglés) con el fin de obtener respuestas útiles, precisas y alineadas con los objetivos del usuario. Surgió como una disciplina práctica casi al mismo tiempo que los primeros modelos conversacionales de alto rendimiento se hicieron accesibles al público general, y desde entonces ha evolucionado hasta convertirse en una habilidad central en el uso de herramientas de inteligencia artificial generativa.

A diferencia de la programación tradicional, donde las instrucciones se escriben en un lenguaje formal con sintaxis estricta, la ingeniería de instrucciones se comunica en lenguaje natural. Sin embargo, detrás de esa aparente sencillez se esconde un cuerpo creciente de conocimiento sobre cómo los modelos interpretan texto, qué estructuras sintácticas producen mejores resultados y cómo se pueden encadenar múltiples interacciones para resolver tareas complejas que un solo mensaje no podría abordar.

El término ha adquirido relevancia en contextos tan variados como la generación de contenido, la asistencia en programación, la traducción automática, el análisis de datos y la automatización de procesos empresariales. Grandes empresas tecnológicas, así como miles de desarrolladores independientes, han contribuido a documentar y compartir estrategias, creando una comunidad activa que no deja de experimentar con nuevas formas de comunicarse con las máquinas.

2. Orígenes y evolución[editar]

La idea de dar instrucciones a un sistema de inteligencia artificial a través de lenguaje natural no es nueva: los primeros chatbots y asistentes virtuales ya requerían que el usuario formulara preguntas o comandos. Sin embargo, el concepto moderno de prompt engineering nace con la llegada de los modelos basados en la arquitectura Transformer, en particular con la serie GPT (Generative Pre-trained Transformer) de OpenAI.

En 2020, con la publicación de GPT-3, investigadores y primeros usuarios descubrieron que la calidad y el estilo de la salida del modelo dependían fuertemente de cómo se redactaba la entrada. Pequeños cambios en la formulación de una pregunta podían llevar a respuestas radicalmente distintas. Esto llevó a la aparición de las primeras guías informales en foros y redes sociales, que más tarde se sistematizaron en artículos académicos y tutoriales.

Un hito importante fue la publicación, en 2021, de los primeros artículos académicos que ofrecieron una formalización del concepto. A partir de 2022, con el lanzamiento de ChatGPT, la ingeniería de instrucciones se volvió un tema de interés masivo. Se popularizaron términos como few-shot prompting, chain-of-thought y role prompting, y nacieron los primeros repositorios públicos de prompts.

En 2023 y 2024, la disciplina dio un salto cualitativo con la aparición de los llamados “prompts estructurados” y las técnicas de prompting automático, donde un modelo ayuda a generar o mejorar los propios prompts. Las herramientas de optimización automática de prompts o los sistemas de agentes autónomos llevaron la ingeniería de instrucciones a un nuevo nivel de sofisticación.

3. Conceptos fundamentales[editar]

Para entender el prompt engineering es necesario familiarizarse con varios conceptos básicos.

3.1 Prompt
Es el texto de entrada que se le proporciona al modelo. Puede ser una pregunta, una orden, un fragmento de código, el inicio de una historia o cualquier combinación de elementos textuales. En la práctica, un prompt puede contener instrucciones, ejemplos, contexto y restricciones de formato.

3.2 Contexto (o ventana de contexto)
Es la cantidad máxima de texto (medida en tokens) que el modelo puede recibir y recordar durante una interacción. Cuando el contexto se agota, la información más antigua deja de estar disponible. La gestión del contexto es crucial para tareas largas como la corrección de un libro o el análisis de grandes conjuntos de datos.

3.3 Tokenización
Los LLMs no procesan caracteres ni palabras completas, sino tokens, que pueden ser palabras enteras, fragmentos de palabras o signos de puntuación. Conocer cómo funciona la tokenización ayuda a controlar mejor la longitud del prompt y a predecir costes (en modelos de pago) y tiempos de respuesta.

3.4 Temperatura
Es un parámetro que controla la aleatoriedad de la salida. Valores bajos (cerca de 0) producen respuestas más deterministas y conservadoras, mientras que valores altos (hasta 2 en algunos modelos) generan mayor creatividad pero también más incoherencias. La elección de la temperatura forma parte de la estrategia de prompting en muchas aplicaciones.

4. Técnicas comunes de prompting[editar]

La comunidad ha desarrollado numerosas técnicas que van desde las más simples hasta las más avanzadas. Las siguientes se consideran fundamentales.

4.1 Zero-shot prompting
Consiste en dar una instrucción directa sin ejemplos previos. El modelo responde basándose únicamente en el conocimiento adquirido durante el entrenamiento.

Ejemplo:
“Traduce al francés: Buenos días, ¿cómo estás?”

4.2 Few-shot prompting
Se proporcionan varios ejemplos del comportamiento deseado antes de la instrucción real. Esto ayuda a que el modelo entienda el patrón.

Ejemplo:
“Inglés: Good morning. Español: Buenos días.
Inglés: See you tomorrow. Español: Hasta mañana.
Inglés: I love you. Español:”

4.3 Chain-of-thought (cadena de pensamiento)
Se pide al modelo que razone paso a paso antes de dar la respuesta final. Esta técnica es especialmente efectiva en problemas de lógica, matemáticas y toma de decisiones.

Ejemplo:
“Juan tiene 5 manzanas y compra 3 más. Luego regala 2. ¿Cuántas manzanas tiene ahora? Piensa paso a paso.”

4.4 Role prompting
Se asigna al modelo un personaje, profesión o actitud determinada, lo que condiciona el tono y el contenido de la respuesta.

Ejemplo:
“Actúa como un abogado especializado en propiedad intelectual y redacta un contrato de licencia básico.”

4.5 Prompting estructurado (formatos, delimitadores)
Para tareas complejas, se usan delimitadores (como tres comillas invertidas, etiquetas tipo XML o secciones marcadas) para separar instrucciones de datos de entrada. Esto reduce la ambigüedad y mejora la reproducibilidad.

Ejemplo:
“Resume el siguiente texto.

[texto largo]  

El resumen debe tener menos de 50 palabras.”

4.6 Negative prompting
Indica al modelo lo que no debe hacer o incluir, ayudando a evitar sesgos, temas no deseados o errores comunes.

Ejemplo:
“Escribe una carta formal de renuncia. No menciones motivos personales ni uses un tono negativo.”

4.7 Ensamble de prompts (o árboles de decisión de prompts)
Se utilizan varios prompts encadenados de forma condicional: la respuesta del primer prompt determina el flujo del segundo, y así sucesivamente. Es una técnica avanzada habitual en agentes de inteligencia artificial que deben manejar casos de uso complejos.

5. Aplicaciones en el mundo real[editar]

La ingeniería de instrucciones tiene aplicaciones en casi todas las áreas donde se emplea inteligencia artificial generativa. Algunas de las más representativas son:

  • Asistencia en escritura y creación de contenido: redacción de artículos, corrección de estilo, generación de ideas para guiones o novelas, elaboración de resúmenes.
  • Programación y depuración: generación de fragmentos de código, explicación de errores, traducción entre lenguajes de programación, documentación automática.
  • Atención al cliente: configuración de chatbots corporativos con tono y políticas específicas, capaces de manejar preguntas frecuentes y escalar a humanos cuando es necesario.
  • Análisis de datos: generación y explicación de consultas SQL, interpretación de gráficos descritos textualmente, preparación de informes.
  • Traducción y localización: traducción contextualizada y adaptación cultural de textos, con control sobre el registro y el público objetivo.
  • Juegos y narrativa interactiva: creación de personajes no jugadores con personalidad, reactividad y memoria, que pueden mantener conversaciones coherentes con los jugadores.

En el ámbito empresarial, se han creado puestos de trabajo específicos con títulos como “Prompt Engineer” o “Especialista en interacción con IA generativa”, con salarios que en 2023 alcanzaban los 200 000 USD anuales en algunas compañías.

6. Prompt engineering en el mundo hispanohablante[editar]

La comunidad hispanohablante ha adoptado el prompt engineering con rapidez. Desde 2022, numerosos canales de YouTube, blogs y comunidades en Telegram y Discord comparten técnicas, ejemplos y herramientas en español. Entre los espacios más activos se encuentran:

  • Comunidades en Reddit, como r/CharruaDevs y r/mexico, donde se debaten frecuentemente usos de herramientas como ChatGPT y Copilot.
  • Creadores de contenido en YouTube que publican tutoriales de prompting en español, con canales que superan los 100 000 suscriptores y producen contenido periódico sobre el tema.
  • Cursos en plataformas de educación en línea como Platzi, Crehana y Domestika, que han incorporado módulos sobre ingeniería de instrucciones en sus programas de inteligencia artificial y ciencia de datos.

Existen también iniciativas para desarrollar conjuntos de datos y modelos preentrenados con prompts en español. La barrera del idioma ha sido un tema recurrente, ya que la mayoría de las investigaciones y las mejores prácticas se publican primero en inglés. Sin embargo, modelos como Llama 3 han mejorado significativamente la capacidad de los LLMs para entender y generar texto de alta calidad en español, lo que a su vez facilita la creación de prompts más naturales y efectivos para los usuarios hispanohablantes.

7. Limitaciones, desafíos y mitos[editar]

A pesar de su popularidad, la ingeniería de instrucciones no es una solución mágica. Presenta limitaciones técnicas y conceptuales importantes:

  • No existe el “prompt perfecto” universal. Una misma instrucción puede funcionar bien con un modelo y mal con otro, o incluso dar resultados inconsistentes en dos ejecuciones seguidas del mismo modelo.
  • Vulnerabilidad a cambios del modelo. Las actualizaciones de un LLM pueden hacer que un prompt que antes funcionaba a la perfección deje de ser efectivo. Esto obliga a un mantenimiento constante en entornos de producción.
  • Riesgo de inyección de instrucciones (prompt injection). En aplicaciones que integran datos externos dentro del prompt (por ejemplo, al resumir correos electrónicos), un tercero podría incluir instrucciones ocultas que modifiquen el comportamiento del sistema de forma no deseada.
  • Falsa impresión de lógica. Los modelos no razonan en el sentido humano: las técnicas de cadena de pensamiento simulan razonamiento, pero el modelo sigue siendo una herramienta estadística que puede caer en falacias si no se supervisa.
  • Sesgos y toxicidad. Un prompt mal diseñado puede reactivar sesgos presentes en los datos de entrenamiento, generando contenido discriminatorio u ofensivo.

Es común encontrar en redes sociales la afirmación de que “el prompt engineering es la profesión del futuro” o que “morirá en cuanto los modelos aprendan a preguntarse a sí mismos”. La realidad es más matizada: si bien algunas tareas se automatizarán, la capacidad de definir objetivos complejos en lenguaje natural y diseñar flujos de trabajo fiables seguirá requiriendo criterio humano en el corto y mediano plazo.

8. Herramientas y ecosistema[editar]

El ecosistema de herramientas para prompt engineering ha crecido rápidamente e incluye desde interfaces conversacionales hasta entornos de desarrollo especializados.

  • Playgrounds y consolas: Las interfaces web que ofrecen los proveedores de modelos (como el Playground de OpenAI o el de Google AI Studio) permiten experimentar con distintos parámetros y ver respuestas en tiempo real.
  • Herramientas de orquestación: Frameworks como LangChain y LlamaIndex facilitan la construcción de cadenas complejas de prompts y la integración con fuentes de datos externas.
  • Gestión de prompts: Plataformas como PromptLayer y repositorios colaborativos como FlowGPT permiten versionar, comparar y compartir prompts, llevando prácticas de ingeniería de software al mundo del prompting.
  • Evaluación automática: Han surgido métricas y herramientas para medir de forma automatizada la calidad de los resultados, comparando respuestas esperadas con las obtenidas mediante métricas como BLEU, ROUGE o, cada vez más, evaluadores basados en el mismo LLM.

9. Buenas prácticas[editar]

Si bien la experimentación es clave, existe un conjunto de recomendaciones que la comunidad ha ido refinando y que ayudan a construir prompts robustos:

  1. Especificidad: Cuanto más detallada sea la instrucción, más predecible será la respuesta. Incluir el formato esperado, el tono, la longitud y el público ayuda al modelo.
  2. Iteración gradual: Rara vez se acierta con el prompt definitivo al primer intento. Se recomienda empezar con una versión simple, evaluar la respuesta y ajustar progresivamente.
  3. Separación de roles y datos: Usar delimitadores claros para separar las instrucciones del texto de entrada evita que el modelo confunda qué debe hacer con la información que debe procesar.
  4. Proveer ejemplos: Incluso cuando el modelo parece entender una tarea, ofrecer uno o dos ejemplos concretos (few-shot) mejora la consistencia, sobre todo en tareas de clasificación o formato.
  5. Anticipar fallos: Diseñar el prompt pensando qué podría salir mal (respuestas demasiado largas, inclusión de contenido no deseado) y añadir restricciones explícitas.
  6. Documentar: Mantener un registro de qué prompts funcionan, en qué condiciones y para qué modelo resulta esencial cuando se trabaja en proyectos que crecen más allá de la experimentación ocasional.
  7. Considerar el idioma: Para usuarios hispanohablantes, suele ser preferible escribir el prompt directamente en español si el modelo tiene buen soporte para ese idioma, en lugar de pedirle que responda en español a un prompt en inglés. La calidad de la respuesta suele ser superior cuando el idioma de la instrucción y el de la salida coinciden.

10. Perspectivas futuras[editar]

La ingeniería de instrucciones está destinada a transformarse conforme los propios modelos evolucionen. Algunas tendencias apuntan a:

  • Autoprompting: Los propios sistemas generarán y optimizarán prompts automáticamente, como ya hacen los agentes de IA que planifican sus propios pasos.
  • Modelos multimodales: A medida que los modelos entiendan imágenes, audio y video, el concepto de prompt se expandirá para incluir instrucciones visuales y sonoras, no solo texto.
  • Mayor estandarización: Es probable que surjan formatos estándar para escribir prompts, similares a los lenguajes de marcado, que faciliten la portabilidad entre distintos modelos.
  • Desaparición del término, no de la práctica: Si bien la palabra “prompt engineering” puede pasar de moda o ser reemplazada por otra, la habilidad de describir problemas complejos a sistemas inteligentes en lenguaje natural seguirá siendo relevante, y probablemente formará parte de la alfabetización digital básica.

Mientras tanto, la comunidad continúa expandiendo los límites de lo que una instrucción cuidadosamente escrita puede conseguir, demostrando que, a menudo, la clave no está solo en tener la máquina más potente, sino en saber qué decirle y cómo decirlo.