RECURSOS DE INTELIGENCIA ARTIFICIAL
Prompt engineering
Comprende cómo estructurar instrucciones, contexto, restricciones y formatos de salida para trabajar de forma más eficaz con modelos de inteligencia artificial.
FUNDAMENTOS
Qué es un prompt
Un prompt es la entrada que proporcionamos a un modelo de inteligencia artificial para indicar una tarea, aportar información o establecer las condiciones bajo las que esperamos una respuesta.
Un prompt puede ser una pregunta breve, una instrucción, un documento, un conjunto de datos o una combinación de varios elementos.
Entrada
↓
Prompt
↓
Modelo
↓
RespuestaEn aplicaciones más complejas, el prompt visible para el usuario puede ser solo una parte del contexto completo que finalmente recibe el modelo.
DISEÑO
Qué es prompt engineering
Prompt engineering puede entenderse como el proceso de diseñar, probar y mejorar las entradas utilizadas para conseguir que un modelo realice una tarea de forma adecuada.
No consiste únicamente en encontrar una frase determinada. Implica comprender el objetivo, aportar el contexto necesario, establecer restricciones cuando sean útiles y evaluar el resultado.
Objetivo
↓
Diseño del prompt
↓
Respuesta
↓
Evaluación
↓
AjusteNo existe una fórmula universal que garantice el mejor resultado para todos los modelos y tareas. El comportamiento debe evaluarse en el contexto concreto donde vaya a utilizarse.
OBJETIVO
Definir primero la tarea
Antes de redactar instrucciones conviene definir con claridad qué resultado necesitamos.
Por ejemplo, no es lo mismo pedir:
Explícame Docker.que especificar:
Explica qué es Docker a un alumno que conoce Linux
pero todavía no ha utilizado contenedores. Incluye:
- qué problema resuelve;
- diferencia entre imagen y contenedor;
- un ejemplo sencillo.En el segundo caso, la tarea, el destinatario y parte del contenido esperado están mejor definidos.
INSTRUCCIONES
Instrucciones claras
Una instrucción clara describe qué debe hacer el modelo evitando ambigüedades innecesarias.
Verbos concretos pueden ayudar a definir la operación esperada:
- explica;
- resume;
- compara;
- clasifica;
- extrae;
- reescribe;
- analiza;
- genera;
- corrige.
Tarea ambigua
↓
Aclarar objetivo
↓
Definir operación
↓
Instrucción más precisaSer claro no significa necesariamente escribir prompts largos. Una instrucción breve puede ser suficiente cuando la tarea y el contexto ya están bien definidos.
CONTEXTO
Aportar la información necesaria
El contexto proporciona al modelo información relevante para realizar la tarea.
Puede incluir:
- el objetivo del trabajo;
- el destinatario;
- datos sobre el problema;
- un texto que debe analizarse;
- código existente;
- documentación;
- condiciones que deben respetarse.
Instrucción
+
Contexto relevante
↓
Modelo
↓
RespuestaEl objetivo no es aportar toda la información disponible, sino la información necesaria y útil para resolver la tarea.
ESTRUCTURA
Separar instrucciones y contenido
Cuando un prompt contiene instrucciones y además incluye texto, datos o código sobre los que debe trabajar el modelo, puede resultar útil separar claramente ambos elementos.
Tarea:
Resume el texto en cinco puntos. Texto:
---
[contenido que debe resumirse]
---Esta separación ayuda a identificar qué parte define la tarea y qué parte constituye el material sobre el que debe realizarse.
Los delimitadores concretos pueden variar. Lo importante es que la estructura resulte comprensible.
LÍMITES
Restricciones
Las restricciones permiten especificar condiciones que debe respetar la respuesta.
Pueden referirse a:
- extensión;
- idioma;
- nivel técnico;
- tono;
- estructura;
- datos que deben utilizarse;
- elementos que deben incluirse o evitarse.
Objetivo
+
Contexto
+
Restricciones
↓
Respuesta esperadaConviene utilizar restricciones que respondan a una necesidad real. Añadir condiciones innecesarias puede complicar el prompt sin mejorar el resultado.
PRECISIÓN
Indicar qué debe hacer la respuesta
Cuando sea posible, resulta útil especificar el comportamiento deseado de forma explícita en lugar de limitarse a enumerar prohibiciones.
Por ejemplo:
Utiliza únicamente la información del texto proporcionado. Si el texto no contiene la respuesta, indica:
"No aparece en la información proporcionada".Esta formulación no solo establece un límite, sino que también especifica qué comportamiento se espera cuando falta información.
ORIENTACIÓN
Utilizar ejemplos
Los ejemplos pueden ayudar a mostrar al modelo el tipo de transformación o formato esperado.
Supongamos que queremos convertir nombres de tecnologías en una categoría:
Entrada: PostgreSQL
Salida: Base de datos Entrada: Docker
Salida: Contenedores Entrada: Git
Salida:Los ejemplos muestran la relación esperada entre entrada y salida sin necesidad de describir todos los casos posibles.
Deben ser representativos de la tarea. Ejemplos incorrectos, ambiguos o poco variados pueden orientar el resultado en una dirección no deseada.
ESTRATEGIAS
Sin ejemplos y con ejemplos
Una tarea puede plantearse directamente mediante instrucciones sin proporcionar ejemplos. Este enfoque suele denominarse zero-shot.
Clasifica el siguiente mensaje como:
consulta, incidencia o solicitud. Mensaje:
"No puedo acceder al servidor".Cuando se proporcionan varios ejemplos antes de solicitar una nueva respuesta, suele hablarse de few-shot prompting.
Mensaje: "¿Cuál es el horario?"
Categoría: consulta Mensaje: "La aplicación no inicia"
Categoría: incidencia Mensaje: "Necesito una nueva cuenta"
Categoría: solicitud Mensaje: "No puedo conectarme a la VPN"
Categoría:Añadir ejemplos no es obligatorio. Su utilidad depende de la tarea, del modelo y de la precisión que necesitemos.
RESULTADO
Definir el formato de salida
Especificar el formato esperado puede facilitar tanto la lectura como el procesamiento posterior de la respuesta.
Por ejemplo:
Devuelve el resultado con esta estructura: Título:
Resumen:
Puntos clave:
Conclusión:Para tareas orientadas a software puede solicitarse una estructura que pueda procesarse posteriormente, siempre que el modelo y la aplicación utilizados permitan trabajar de forma fiable con ese formato.
DATOS
Salida estructurada
Cuando una respuesta va a ser consumida por otro programa, una salida estructurada puede ser más útil que texto libre.
Por ejemplo, conceptualmente podríamos solicitar:
{ "categoria": "...", "prioridad": "...", "resumen": "..."}Sin embargo, pedir simplemente «devuelve JSON» no garantiza por sí solo que la salida vaya a cumplir siempre una estructura válida. Cuando una plataforma ofrece mecanismos específicos de salida estructurada o validación mediante esquemas, conviene utilizarlos cuando la aplicación dependa de esa estructura.
CONTEXTO
Roles y perspectiva
En algunas tareas puede ser útil indicar desde qué perspectiva debe elaborarse una respuesta.
Explica el concepto como docente de informática
para alumnado que comienza a estudiar redes.Esto puede orientar el nivel técnico, el vocabulario o el enfoque. Sin embargo, asignar un rol no proporciona al modelo conocimientos nuevos ni garantiza que la respuesta sea correcta.
Una descripción concreta de la tarea y del destinatario suele ser más útil que utilizar roles genéricos como «eres el mejor experto del mundo».
INCERTIDUMBRE
Qué hacer cuando falta información
En determinadas tareas interesa definir cómo debe comportarse el modelo cuando el contexto no contiene información suficiente.
Por ejemplo:
Responde utilizando únicamente el documento proporcionado. Si no encuentras información suficiente para responder,
indícalo claramente y no inventes datos.Esta instrucción puede reducir respuestas no fundamentadas, aunque no elimina por completo la posibilidad de errores. Los resultados importantes siguen necesitando verificación.
COMPLEJIDAD
Descomponer tareas complejas
Cuando una tarea contiene varios objetivos independientes puede resultar útil dividirla en pasos o subtareas claramente identificadas.
1. Analiza el texto.
2. Identifica los conceptos principales.
3. Detecta posibles contradicciones.
4. Genera un resumen final.La división ayuda a expresar con precisión qué operaciones queremos realizar. No significa que todas las tareas deban convertirse en largas secuencias de pasos.
Si la tarea es sencilla, una instrucción directa suele ser suficiente.
INTERACCIÓN
Trabajar de forma iterativa
En una interfaz conversacional no siempre es necesario conseguir el resultado definitivo con el primer mensaje.
Podemos utilizar la primera respuesta para detectar qué información falta y continuar refinando la tarea.
Primera instrucción
↓
Respuesta
↓
Revisión
↓
Aclaración
↓
Nueva respuestaEsta forma de trabajo resulta especialmente útil en tareas exploratorias, de redacción, análisis o desarrollo.
EVALUACIÓN
Evaluar la respuesta
Un prompt no debería evaluarse únicamente por si la respuesta «parece buena». Conviene definir criterios relacionados con la tarea.
Podemos revisar aspectos como:
- corrección;
- relevancia;
- cobertura de los requisitos;
- cumplimiento del formato;
- claridad;
- consistencia;
- presencia de información no fundamentada.
Prompt
↓
Respuesta
↓
Criterios
↓
Evaluación
↓
AjustePRUEBAS
Probar más de un caso
Un prompt que funciona correctamente con un ejemplo puede fallar con entradas diferentes.
Si el prompt va a utilizarse de forma repetida, conviene probarlo con varios casos:
- casos habituales;
- entradas breves y extensas;
- casos ambiguos;
- información incompleta;
- situaciones límite;
- entradas que no deberían producir un resultado válido.
Prompt
↓
Conjunto de casos
↓
Resultados
↓
Comparación
↓
MejoraEste enfoque permite evaluar el comportamiento de forma más sistemática que una única prueba manual.
VARIABILIDAD
El resultado depende del modelo y del sistema
El mismo prompt no tiene por qué producir el mismo comportamiento en todos los modelos o aplicaciones.
Los resultados pueden variar por factores como:
- modelo utilizado;
- versión del modelo;
- instrucciones internas de la aplicación;
- contexto disponible;
- herramientas conectadas;
- parámetros de generación;
- cambios en el propio servicio.
Por ello, los prompts utilizados en procesos importantes deben evaluarse en el entorno real donde vayan a ejecutarse.
LÍMITES
Lo que un buen prompt no puede garantizar
Mejorar una instrucción puede mejorar el resultado, pero el prompt no elimina las limitaciones del modelo.
Un buen prompt no garantiza por sí solo:
- exactitud factual;
- ausencia de sesgos;
- conocimiento de información que el modelo no tiene;
- acceso a información actualizada;
- cumplimiento perfecto de todas las instrucciones;
- resultados idénticos en todas las ejecuciones;
- seguridad de una aplicación.
Cuando el problema requiere información externa, validación, herramientas o controles adicionales, la solución debe diseñarse a nivel de sistema y no únicamente mediante el prompt.
SEGURIDAD
Datos y contenido no confiable
En una aplicación real, parte del contenido incluido en el contexto puede proceder de usuarios, documentos, páginas web u otras fuentes externas.
Ese contenido debe tratarse como datos y no asumirse automáticamente como una instrucción fiable.
Contenido externo
↓
Tratamiento como dato
↓
Controles de la aplicación
↓
Modelo
↓
Validación de la salidaLa seguridad de una aplicación basada en modelos de lenguaje no debe depender únicamente de pedir al modelo que ignore instrucciones maliciosas. Los controles importantes deben implementarse también en la arquitectura de la aplicación.
PRIVACIDAD
Información sensible
Antes de incluir información en un prompt debe considerarse qué datos se están enviando al servicio utilizado.
Conviene prestar especial atención a:
- datos personales;
- credenciales;
- información confidencial;
- documentación interna;
- código propietario;
- información de clientes o terceros.
Las condiciones de tratamiento, conservación y utilización de la información dependen del servicio y de su configuración. Deben revisarse antes de utilizar datos sensibles.
PLANTILLA
Una estructura práctica
Como punto de partida, algunas tareas pueden organizarse utilizando una estructura como esta:
Objetivo:
[qué debe hacer] Contexto:
[información necesaria] Requisitos:
[condiciones que debe cumplir] Entrada:
[contenido sobre el que trabajar] Formato de salida:
[estructura esperada]No es una plantilla obligatoria ni universal. Algunos prompts necesitarán todos estos elementos y otros podrán resolverse con una sola instrucción.
La estructura debe adaptarse a la tarea en lugar de adaptar todas las tareas a una estructura fija.
EJEMPLO
Ejemplo completo
Supongamos que queremos utilizar un modelo para revisar una explicación técnica destinada a alumnado que comienza a estudiar programación.
Objetivo:
Revisa el texto y detecta conceptos que puedan resultar
difíciles para alumnado principiante. Contexto:
El texto forma parte de una introducción a programación. Requisitos:
- No reescribas todavía el contenido.
- Identifica únicamente los puntos que requieren aclaración.
- Explica brevemente por qué pueden resultar difíciles.
- No añadas conceptos que no aparezcan en el texto. Texto:
---
[texto que debe revisarse]
--- Formato de salida:
1. Concepto
2. Motivo de dificultad
3. Aclaración necesariaEl ejemplo especifica la tarea, proporciona contexto, establece límites, separa el contenido y define el formato esperado.
Esto no garantiza una respuesta perfecta, pero permite evaluar con mayor claridad si el modelo ha seguido los requisitos.
ERRORES FRECUENTES
Qué conviene evitar
- pedir varias tareas ambiguas sin definir qué resultado se espera;
- añadir información irrelevante que dificulta identificar el objetivo;
- utilizar restricciones contradictorias;
- proporcionar ejemplos que no representan correctamente la tarea;
- pedir un formato sin comprobar después si realmente se cumple;
- asumir que un prompt largo es necesariamente mejor;
- utilizar una plantilla rígida para cualquier problema;
- evaluar el prompt utilizando un único ejemplo;
- asumir que un prompt funcionará igual con cualquier modelo;
- confiar en el prompt como único mecanismo de seguridad;
- utilizar información sensible sin revisar las condiciones del servicio;
- considerar correcta una respuesta únicamente porque está bien redactada.
PROCESO
Prompt engineering como proceso iterativo
En tareas repetibles, el diseño de prompts puede tratarse como un pequeño proceso de desarrollo y evaluación.
Definir la tarea
↓
Crear el prompt
↓
Probar casos
↓
Evaluar resultados
↓
Detectar errores
↓
Ajustar
↓
Volver a evaluarEl objetivo no debería ser conseguir una respuesta impresionante en un único ejemplo, sino obtener un comportamiento suficientemente consistente para el uso previsto.
RESUMEN
Ideas fundamentales
- Un prompt es la entrada utilizada para orientar una tarea y aportar información al modelo.
- Prompt engineering implica diseñar, probar, evaluar y mejorar instrucciones.
- La tarea debe estar claramente definida antes de intentar optimizar el prompt.
- El contexto debe aportar información relevante para resolver el problema.
- Separar instrucciones y datos puede mejorar la claridad.
- Las restricciones deben responder a necesidades reales.
- Los ejemplos pueden orientar el comportamiento cuando la tarea lo necesita.
- Especificar el formato facilita utilizar posteriormente la respuesta.
- Los prompts importantes deben probarse con varios casos.
- Un mismo prompt puede comportarse de forma diferente según el modelo y la aplicación.
- Un buen prompt no elimina las limitaciones del modelo.
- La seguridad de una aplicación no debe depender únicamente de las instrucciones enviadas al modelo.
- No existe una plantilla universal válida para todas las tareas.
SIGUE APRENDIENDO
Recursos relacionados
Esta ficha se relaciona directamente con el resto de recursos de Inteligencia Artificial:
- Fundamentos de inteligencia artificial — conceptos generales sobre datos, modelos, entrenamiento e inferencia.
- Machine learning: conceptos — aprendizaje, modelos, evaluación y generalización.
- IA generativa y LLM — modelos de lenguaje, tokens, contexto e inferencia.
- RAG: conceptos — recuperación de información y generación apoyada en contexto externo.
PARA AMPLIAR
Documentación de referencia
Fuentes institucionales y documentación técnica para ampliar los conceptos de esta ficha.