Prompt engineering

Intermedio
OpenAI
OpenAI
Actualizado: 03/07/2025

¡Desbloquea el curso completo!

IA
Ejercicios
Certificado
Entrar

Técnicas básicas de prompt engineering

El prompt engineering es el arte y la ciencia de diseñar instrucciones efectivas para modelos de lenguaje. A diferencia de simplemente hacer preguntas, esta disciplina se centra en estructurar las entradas de manera que maximicen la calidad, precisión y utilidad de las respuestas generadas.

En el contexto de la API Responses de OpenAI, el prompt engineering cobra especial relevancia porque determina directamente la calidad del output_text que recibiremos. Un prompt bien diseñado puede ser la diferencia entre obtener una respuesta genérica y conseguir exactamente lo que necesitamos para nuestra aplicación.

El Prompt engineering es el punto de entraza a mejorar las respuestas de cualquier LLM.

Recuerda que primero es ideal configurar los parámetros del modelo para adaptarlos al tipo de tarea que quieras, después ya el siguiente paso es preparar un buen prompt con las siguientes técnicas.

Zero-shot prompting

La técnica zero-shot consiste en proporcionar una instrucción clara sin ejemplos previos, confiando en el conocimiento preentrenado del modelo. Esta aproximación es ideal cuando necesitamos respuestas directas y el contexto es suficientemente claro.

from openai import OpenAI

client = OpenAI()

response = client.responses.create(
    model="gpt-4.1",
    input="Clasifica el siguiente texto como positivo, negativo o neutral: 'El servicio fue aceptable pero la comida estaba fría'"
)

print(response.output_text)

La efectividad del zero-shot depende de la claridad de la instrucción. Observa cómo especificamos exactamente las categorías posibles y proporcionamos el texto a analizar de forma inequívoca.

Para mejorar los resultados zero-shot, es fundamental ser específico en las instrucciones:

response = client.responses.create(
    model="gpt-4.1",
    input="""Analiza el sentimiento del siguiente comentario y responde únicamente con una de estas opciones: POSITIVO, NEGATIVO, NEUTRAL.

Comentario: "La aplicación funciona bien pero le faltan algunas características que esperaba"

Respuesta:"""
)

Few-shot prompting

El few-shot prompting proporciona ejemplos específicos para guiar al modelo hacia el patrón de respuesta deseado. Esta técnica es especialmente útil cuando necesitamos un formato de salida específico o cuando la tarea requiere un estilo particular.

response = client.responses.create(
    model="gpt-4.1",
    input="""Convierte las siguientes descripciones en títulos de productos optimizados para e-commerce:

Ejemplo 1:
Descripción: Zapatos de cuero marrón para hombre, talla 42
Título: Zapatos Oxford Cuero Marrón Hombre Talla 42 - Elegantes y Cómodos

Ejemplo 2:
Descripción: Camiseta algodón azul manga corta mujer
Título: Camiseta Mujer Algodón 100% Azul Manga Corta - Suave y Transpirable

Ahora convierte:
Descripción: Mochila negra resistente al agua con compartimento para laptop
Título:"""
)

La clave del few-shot está en seleccionar ejemplos representativos que muestren claramente el patrón deseado. Los ejemplos deben cubrir variaciones importantes del problema sin ser excesivamente numerosos.

Chain of thought

La técnica chain of thought instruye al modelo para que muestre su razonamiento paso a paso antes de llegar a la conclusión final. Esto mejora significativamente la precisión en tareas que requieren lógica o cálculos.

response = client.responses.create(
    model="gpt-4.1",
    input="""Resuelve el siguiente problema paso a paso:

Una tienda online ofrece un descuento del 15% en compras superiores a 100€. Si además tienes un cupón de 10€ de descuento, ¿cuánto pagarías por una compra de 150€?

Piensa paso a paso:"""
)

Para problemas más complejos, podemos estructurar el chain of thought con indicadores específicos:

response = client.responses.create(
    model="gpt-4.1",
    input="""Analiza si esta estrategia de marketing es viable:

Situación: Lanzar una app de fitness con suscripción mensual de 9.99€, invirtiendo 50.000€ en marketing digital durante los primeros 6 meses.

Analiza siguiendo estos pasos:
1. Calcula el punto de equilibrio
2. Evalúa la competencia
3. Considera la retención de usuarios
4. Conclusión final

Análisis:"""
)

Estructuración de prompts efectivos

Algo que puede ayudarte es ver prompts ya diseñados por empresas destacadas en la industria.

Si bien no son públicos, existen repositorios en github como https://github.com/jujumilk3/leaked-system-prompts que han logrado extraer algunos prompts que pueden servir como referencia:

Un prompt bien estructurado sigue una anatomía clara que incluye contexto, instrucción específica, formato de salida y restricciones cuando sea necesario.

response = client.responses.create(
    model="gpt-4.1",
    input="""CONTEXTO: Eres un asistente especializado en análisis de código Python.

TAREA: Revisa el siguiente código y identifica problemas de rendimiento.

CÓDIGO:

def buscar_usuarios(lista_usuarios, criterio):
    resultados = []
    for usuario in lista_usuarios:
        if criterio in usuario['nombre']:
             resultados.append(usuario)
             return resultados

FORMATO DE RESPUESTA:

*   Problema identificado
*   Explicación del impacto
*   Solución propuesta

RESTRICCIONES: Mantén las explicaciones concisas y enfócate en aspectos prácticos."""  
)

Técnicas de refinamiento

Guarda tu progreso

Inicia sesión para no perder tu progreso y accede a miles de tutoriales, ejercicios prácticos y nuestro asistente de IA.

Progreso guardado
Asistente IA
Ejercicios
Iniciar sesión gratis

Más de 25.000 desarrolladores ya confían en CertiDevs

El refinamiento iterativo es fundamental para optimizar prompts. Comienza con una versión básica y ajusta según los resultados:

Versión inicial:

response = client.responses.create(
    model="gpt-4.1",
    input="Escribe una descripción de producto para unos auriculares inalámbricos"
)

Versión refinada:

response = client.responses.create(
    model="gpt-4.1",
    input="""Escribe una descripción comercial para auriculares inalámbricos dirigida a profesionales que trabajan desde casa.

Características del producto:
- Cancelación de ruido activa
- 30 horas de batería
- Micrófono integrado
- Conexión Bluetooth 5.0

Requisitos:
- Máximo 150 palabras
- Enfoque en beneficios profesionales
- Tono persuasivo pero informativo
- Incluir llamada a la acción"""
)

La especificidad en los prompts reduce la ambigüedad y mejora la consistencia de las respuestas. Cuando trabajamos con la API Responses, cada detalle en el input se traduce en mayor precisión en el output_text.

Manejo de variables en prompts

Para aplicaciones dinámicas, es esencial parametrizar los prompts manteniendo su efectividad:

def generar_resumen_producto(nombre_producto, caracteristicas, publico_objetivo):
    prompt = f"""Crea un resumen comercial para {nombre_producto}.

Características principales:
{chr(10).join(f'- {caracteristica}' for caracteristica in caracteristicas)}

Público objetivo: {publico_objetivo}

Requisitos del resumen:
- Entre 80-120 palabras
- Destacar 3 beneficios clave
- Incluir propuesta de valor única
- Tono apropiado para el público objetivo

Resumen:"""
    
    response = client.responses.create(
        model="gpt-4.1",
        input=prompt
    )
    
    return response.output_text

# Uso práctico
caracteristicas = [
    "Resistente al agua IP68",
    "Pantalla OLED de alta resolución",
    "Batería de 7 días de duración"
]

resumen = generar_resumen_producto(
    "SmartWatch Pro",
    caracteristicas,
    "deportistas y personas activas"
)

Esta aproximación modular permite reutilizar la estructura del prompt mientras adaptamos el contenido específico, manteniendo la calidad y consistencia en las respuestas generadas por la API Responses.

Aprendizajes de esta lección

  • Comprender qué es el prompt engineering y su importancia en la calidad de las respuestas.
  • Aprender las técnicas básicas: zero-shot, few-shot y chain of thought.
  • Saber estructurar prompts claros y efectivos con contexto, instrucciones y formato de salida.
  • Aplicar refinamiento iterativo para mejorar la precisión y utilidad de los prompts.
  • Manejar variables y parametrización para crear prompts dinámicos y reutilizables.

Completa OpenAI y certifícate

Únete a nuestra plataforma y accede a miles de tutoriales, ejercicios prácticos, proyectos reales y nuestro asistente de IA personalizado para acelerar tu aprendizaje.

Asistente IA

Resuelve dudas al instante

Ejercicios

Practica con proyectos reales

Certificados

Valida tus conocimientos

Más de 25.000 desarrolladores ya se han certificado con CertiDevs

⭐⭐⭐⭐⭐
4.9/5 valoración