Menu

Ingeniería de prompts: qué es y cómo aprenderla

La ingeniería de prompts es la práctica de escribir y probar las instrucciones que le das a un modelo de IA para que produzca el resultado que necesitas. Esta guía explica por qué funciona y ordena todas las técnicas clave.

Puedes editar cada prompt de esta página y abrirlo después en ChatGPT, Claude u otra app de IA.

La ingeniería de prompts (prompt engineering) es la práctica de escribir, probar y pulir las instrucciones que le das a un modelo de IA para que produzca el resultado que necesitas de forma fiable. Abarca lo que pones en un prompt (la tarea, el contexto, los ejemplos, la entrada) y cómo lo organizas (orden, formato, separadores). El término suena técnico, pero casi todo es escribir con cuidado y revisar los resultados.

Esta página es el índice de la guía de ingeniería de prompts de Coddy. Explica por qué funciona la práctica, relaciona cada técnica clave con la página que la enseña y muestra la diferencia entre un prompt improvisado y uno trabajado.

Por qué funciona la ingeniería de prompts

Un modelo de lenguaje genera texto prediciendo lo que viene después, un fragmento pequeño a la vez, a partir de todo lo que tiene delante. No tiene acceso a tus intenciones, a tu proyecto ni a tus chats anteriores a menos que ese texto esté en su entrada. Así que el prompt no es una petición a una mente que ya te entiende; es toda la situación a la que el modelo responde.

Eso tiene una consecuencia directa. Cada pregunta que el prompt deja abierta, el modelo suele resolverla con la opción más típica: el lenguaje más común, la extensión más común, el público más común. A veces la opción típica es la que querías. Cuando no lo es, la solución es cerrar esa pregunta en el prompt. Un buen prompt reduce el abanico de respuestas posibles hasta que casi todo lo que queda es útil.

Otros dos hechos marcan el oficio. Las respuestas se generan con muestreo, así que el mismo prompt puede dar respuestas distintas en ejecuciones distintas; un prompt solo es bueno si funciona la mayoría de las veces, no una. Y el modelo trata todo el texto del prompt como potencialmente significativo, así que un correo pegado o una frase suelta pueden leerse como una instrucción a menos que los marques claramente como material.

Un prompt improvisado frente a uno trabajado

Las dos pestañas piden lo mismo: clasificar reseñas de clientes en positivas y negativas. Compara lo que recibe cada una.

¿Estas reseñas son positivas o negativas? 1. La app es rápida, pero hoy me cerró la sesión dos veces. 2. Justo lo que necesitaba para registrar mis carreras. 3. Soporte nunca respondió a mi correo.
Try it
Example replyReplies vary between models and runs.

Aquí tienes un desglose:

  1. Mixta. Al usuario le gusta la velocidad, pero le molesta que se le cierre la sesión.
  2. Positiva. La app cubre su necesidad de registrar carreras.
  3. Negativa. El usuario está descontento porque soporte no respondió.

En general, las opiniones son variadas: una positiva, una negativa y una mixta.

La respuesta improvisada es razonable para que la lea una persona, pero un programa no puede usarla: las etiquetas están mezcladas con explicaciones, apareció una tercera categoría que la pregunta no ofrecía y se añadió un resumen al final. El prompt trabajado define cada etiqueta, fija la forma de la salida con un ejemplo y envuelve las reseñas en etiquetas para que sea menos probable confundirlas con instrucciones. Ejecutado sobre mil reseñas, da una salida que un programa puede leer con mucha más consistencia, y cuando necesitas una garantía, las funciones de salida estructurada de la API y un paso de validación en tu código cierran el resto de la brecha.

Las técnicas clave

Cada técnica de abajo cierra un tipo distinto de brecha entre lo que querías decir y lo que recibió el modelo. La mayoría de los prompts reales combinan varias.

TécnicaQué haceÚsala cuando
Prompting zero-shotDa una instrucción sin ejemplosLa tarea es común y está bien descrita
Prompting few-shotMuestra unos cuantos ejemplos de entrada y salidaEl formato o el criterio es más fácil de mostrar que de describir
Cadena de pensamientoPide el razonamiento antes de la respuestaEl problema tiene varios pasos, como matemáticas o lógica
Prompting de rolDefine con qué voz y qué criterio responderImportan el público y el nivel
Salida estructuradaFija la respuesta en JSON, una tabla o una plantillaUn programa o una hoja de cálculo lee el resultado
Delimitadores y etiquetas XMLSepara las instrucciones del material pegadoEl prompt contiene documentos, código o texto de usuarios
Plantillas de promptsConvierte un buen prompt en uno con huecosRepites el mismo tipo de petición
Encadenamiento de promptsDivide un trabajo en pasos que se alimentan entre síUn solo prompt intenta hacer demasiado
AutoconsistenciaGenera varias respuestas y se queda con la mayoríaUna sola línea de razonamiento no es fiable
Árbol de pensamientoExplora y puntúa varias líneas de razonamientoEl problema requiere planificar o buscar
ReActAlterna razonamiento y llamadas a herramientasEl modelo tiene que consultar datos o realizar acciones
MetapromptingHace que el modelo escriba o mejore un promptNo sabes cómo formular un prompt
Ingeniería de contextoDiseña todo lo que ve el modelo, no solo la instrucciónConstruyes una app o un agente alrededor de un modelo

Si estás empezando, arranca con las partes de un prompt en cómo escribir un prompt, y luego sigue con el prompting few-shot y la salida estructurada. Esas tres cubren la mayoría de los problemas del día a día.

Un prompt pensado para un programa

Los prompts que se integran en software se ejecutan miles de veces con entradas que nadie ha visto todavía, así que explicitan más cosas que un mensaje de chat. El de abajo escribe mensajes de commit a partir de un diff de código. Desactiva partes para ver de qué protege cada una: sin los ejemplos el estilo se desvía, y sin las restricciones el modelo puede usar tipos que tu equipo no usa, como perf o style.

Mensaje de commit a partir de un diff
Fill in
Parts
Escribes mensajes de commit de git para un equipo que sigue el formato Conventional Commits.
Escribe un mensaje de commit para el diff de abajo.
feat(cart): añade selector de cantidad a los productos del carrito fix(api): devuelve 404 en lugar de 500 para un id de usuario desconocido
Primera línea: tipo(ámbito): resumen, como máximo 60 caracteres, en modo imperativo. Luego una línea en blanco y hasta tres viñetas que expliquen por qué se hizo el cambio.
Usa solo estos tipos: feat, fix, refactor, docs, test, chore. Si el diff mezcla cambios que no tienen relación, dilo en lugar de escribir un mensaje.
function validatePassword(password) { - if (password.length > 8) { + if (password.length >= 8) { return null; } return 'Password must be at least 8 characters'; }
Try it
Example replyReplies vary between models and runs.
fix(auth): acepta contraseñas de exactamente 8 caracteres

- La comprobación usaba > 8, así que se rechazaba una contraseña de 8 caracteres
- La regla ahora coincide con el mensaje de error, que dice "at least 8"

Cómo aprender ingeniería de prompts

Se aprende ejecutando prompts y mirando con atención lo que devuelven. Un camino práctico:

  1. Aprende las partes de un prompt. Tarea, contexto, entrada, formato y restricciones. La mayoría de los fallos se deben a que falta alguna.
  2. Elige una tarea real que repitas, como resumir tickets, explicar errores o redactar correos, y escribe un prompt para ella.
  3. Reúne de cinco a diez entradas de prueba, incluidas las incómodas: una entrada vacía, una muy larga, una en otro idioma.
  4. Cambia una sola cosa a la vez y vuelve a ejecutar todas las entradas. Si cambias tres cosas y la salida mejora, no sabrás cuál ayudó. Iterar sobre prompts cubre este ciclo en detalle.
  5. Añade técnicas cuando un fallo concreto las pida. Ejemplos cuando el formato se desvía, razonamiento paso a paso cuando las respuestas de varios pasos salen mal, delimitadores cuando el texto pegado se cuela en las instrucciones.

Los principales proveedores de modelos también publican guías de prompting para sus propios modelos, y vale la pena leerlas, porque cada una describe a qué responde mejor esa familia de modelos.

¿La ingeniería de prompts es un trabajo?

Algunas empresas han contratado el puesto de "prompt engineer", sobre todo cuando los modelos de chat empezaron a estar al alcance de todos. Lo más habitual es que la habilidad forme parte de otro trabajo. Los desarrolladores escriben prompts para las funciones de IA que construyen, los equipos de soporte los escriben para asistentes que atienden a clientes, y analistas y redactores los usan a diario.

En los equipos que construyen productos de IA, el trabajo se ha ampliado. Elegir qué entra en la entrada del modelo (documentos recuperados, resultados de herramientas, historial de la conversación, memoria) importa tanto como la redacción de la instrucción, y ese trabajo más amplio suele llamarse ingeniería de contexto. Medir si un prompt funciona con muchas entradas, lo que se suele llamar evaluación, es la otra mitad.

Qué cambia con los modelos nuevos

La primera ingeniería de prompts dependía de trucos: frases mágicas, personajes elaborados, repetir una instrucción varias veces. Los modelos actuales siguen mucho mejor las instrucciones sencillas, y los modelos de razonamiento ya resuelven el problema internamente antes de responder, así que pedirles que piensen paso a paso aporta menos que antes.

Lo que no ha cambiado es la parte que nunca fue un truco. El modelo sigue sin poder conocer a tu público, tus datos, tus restricciones ni cómo es un buen resultado a menos que se lo digas. Especificar con claridad es la habilidad que perdura, y es a la que esta guía dedica la mayoría de sus páginas.

Preguntas frecuentes

¿Qué es la ingeniería de prompts en palabras simples?

La ingeniería de prompts consiste en escribir las instrucciones para un modelo de IA con el cuidado suficiente para que te dé la respuesta que necesitas, y luego probarlas y ajustarlas hasta que lo haga de forma fiable. Abarca qué le dices al modelo (la tarea, el contexto y los ejemplos) y cómo lo organizas (orden, formato y separadores).

¿Puedo aprender ingeniería de prompts sin saber programar?

Sí. Las habilidades básicas, plantear la tarea con claridad, aportar contexto, dar ejemplos y especificar el formato de salida, funcionan todas en una app de chat. Programar se vuelve útil cuando quieres ejecutar un prompt muchas veces, probarlo con un conjunto de entradas o pasar la salida a un programa.

¿Cuánto se tarda en aprender ingeniería de prompts?

Lo básico se aprende en una tarde: las partes de un buen prompt y un puñado de técnicas como los ejemplos few-shot y la salida estructurada. Conseguir resultados fiables en una tarea real lleva más tiempo, porque sale de probar tu prompt con muchas entradas y corregir los casos en los que falla.

¿La ingeniería de prompts es un trabajo real?

Algunas empresas han contratado puestos como "prompt engineer" o ingeniero de prompts, pero lo más habitual es que la habilidad forme parte de otro rol: desarrolladores que crean funciones de IA, redactores, analistas y equipos de soporte. En los equipos que construyen productos de IA se solapa con la evaluación y con el diseño de todo lo que ve el modelo, que hoy suele llamarse ingeniería de contexto.

¿Sigue siendo útil la ingeniería de prompts con los modelos más nuevos?

Los modelos nuevos necesitan menos trucos. Siguen mejor las instrucciones sencillas, y los modelos de razonamiento resuelven problemas sin que les digas que piensen paso a paso. Lo que sigue siendo útil es la parte que nunca fue un truco: plantear la tarea, darle al modelo los datos que no puede saber y definir cómo es una buena respuesta.

Coddy programming languages illustration

Aprende a programar con Coddy

COMENZAR