Fundamentos

Guía de ingeniería de prompts: un método paso a paso

Una guía práctica de ingeniería de prompts. Siete pasos para pasar de una petición vaga a un prompt probado y listo para producción, con un ejemplo resuelto en cada paso.

Traducido del original en inglés. El código, los prompts y la salida de los modelos se mantienen en inglés.

Esta guía es un método, no una lista de consejos. Sigue los siete pasos en orden y obtendrás un prompt que declara su tarea, aporta el contexto adecuado, devuelve un formato predecible y se ha comprobado con entradas reales.

El ejemplo que seguiremos es un prompt que convierte los comentarios de los clientes en un informe de producto.

Paso 1: Escribe el objetivo en una frase

Empieza con una única frase en imperativo que nombre el resultado. Si no puedes escribirla, la tarea aún no está definida.

Classify each piece of customer feedback by product area and sentiment.

Empieza con un verbo: clasificar, resumir, extraer, redactar, comparar, revisar. Un prompt que solo describe material («aquí están nuestros datos de comentarios») obliga al modelo a adivinar qué quieres hacer con ellos.

Paso 2: Añade el contexto que le falta al modelo

Enumera lo que necesitaría saber un nuevo compañero competente: para quién es la salida, cuáles son las áreas de producto y qué cuenta como negativo.

The feedback comes from in-app surveys for a project management tool.
Product areas: Boards, Timeline, Reports, Integrations, Billing.
The report is read by product managers who decide what to fix next.

Incluye solo el contexto que cambia la respuesta. Los antecedentes que no afectan a la salida cuestan tokens y diluyen las instrucciones.

Paso 3: Enuncia los requisitos y las restricciones

Convierte las expectativas en una lista corta. Usa números cuando intervenga un tamaño y di qué hacer en los casos incómodos.

Requirements:
- Assign exactly one product area per item. Use "Other" if none fits.
- Sentiment is one of: positive, neutral, negative.
- Quote the phrase that justifies the sentiment, 12 words at most.
- If an item is not in English, classify it and add "language": "<code>".

Es preferible decir al modelo qué hacer antes que qué evitar. «Usa un lenguaje sencillo» funciona mejor que «no uses jerga», porque una prohibición nombra aquello que quieres eliminar y no da alternativa.

Paso 4: Define el formato de salida

Si un programa va a leer la respuesta, especifica el formato con exactitud. Si la va a leer una persona, especifica la estructura y la extensión.

Return a JSON array. Each element:
{"id": string, "area": string, "sentiment": string, "evidence": string}
Return only the JSON, with no commentary.

La ausencia de formato de salida es una de las razones más comunes de resultados inconsistentes. La guía de prompts de salida estructurada cubre los esquemas y la validación.

Paso 5: Separa las instrucciones de los datos

Coloca la entrada variable dentro de delimitadores para que el modelo no pueda confundirla con instrucciones. Esto también bloquea la forma más sencilla de inyección de prompt.

<feedback>
{{feedback_items}}
</feedback>

Paso 6: Añade ejemplos si la tarea los necesita

Si las reglas son fáciles de enunciar, prescinde de los ejemplos. Si la tarea depende del criterio, como qué cuenta como «neutral», muestra dos o tres pares de entrada y salida que cubran los casos límite. Consulta el prompting zero-shot, one-shot y few-shot para saber cómo elegirlos.

Paso 7: Prueba, mide y revisa

Ejecuta el prompt con entradas que representen el uso real, incluidas las incómodas: entrada vacía, entrada muy larga, idiomas mezclados y texto hostil. Anota lo que falla, cambia una cosa y vuelve a ejecutar. Este ciclo se trata en la optimización iterativa de prompts y en la evaluación de prompts.

Antes de probar con un modelo, elimina los problemas que no necesitan un modelo para encontrarse. El analizador de prompts de PromptFlowEngine comprueba si falta el objetivo, si hay redacción vaga, tamaños sin cuantificar, instrucciones en conflicto, un formato ausente y variables sin delimitar.

El prompt terminado

You are a product analyst.

## Task
Classify each piece of customer feedback by product area and sentiment.

## Context
The feedback comes from in-app surveys for a project management tool.
Product areas: Boards, Timeline, Reports, Integrations, Billing.
The report is read by product managers who decide what to fix next.

## Requirements
- Assign exactly one product area per item. Use "Other" if none fits.
- Sentiment is one of: positive, neutral, negative.
- Quote the phrase that justifies the sentiment, 12 words at most.

## Output format
Return a JSON array. Each element:
{"id": string, "area": string, "sentiment": string, "evidence": string}
Return only the JSON.

## Input
<feedback>
{{feedback_items}}
</feedback>

Una lista de comprobación para conservar

Pregunta Si la respuesta es no
¿La primera línea dice qué hacer? Añade un objetivo.
¿Tendría un nuevo compañero contexto suficiente? Añade audiencia, dominio y definiciones.
¿Los tamaños se dan como números? Sustituye «corto» y «unos pocos».
¿Está especificado el formato de salida? Añade un formato y una extensión.
¿La entrada está separada de las instrucciones? Envuelve las variables en etiquetas.
¿Se ha ejecutado con entradas difíciles? Crea un pequeño conjunto de pruebas.

Para puntos de partida ya preparados que superan estas comprobaciones, consulta las plantillas de prompts. Para los hábitos que hay detrás de los pasos, continúa con las buenas prácticas de ingeniería de prompts.

Ponlo en práctica

Pruébalo con la herramienta analizador de prompts

Encuentra ambigüedades, contexto faltante, conflictos y tokens desperdiciados en cualquier prompt. Es gratuito, determinista y no necesita cuenta.

Herramientas relacionadas de PromptFlowEngine

Más sobre fundamentos

Ver todas las guías de ingeniería de prompts