Introducción

Un prompt no es solo una pregunta que escribes en un chat. Es la única fuente de instrucción que le indica a un LLM qué hacer, cómo hacerlo y en qué formato responder. A diferencia del código tradicional, donde un compilador sigue reglas deterministas, un LLM interpreta tu prompt de forma probabilística: la calidad del resultado depende en gran medida de cuán claramente comuniques tu intención.

Claridad y Especificidad

Los prompts vagos producen resultados vagos. Una solicitud como "escribe algo sobre aplicaciones web" le da al modelo demasiada libertad y obtendrás una salida genérica y sin enfoque. Un prompt específico restringe al modelo y reduce la ambigüedad.

python
prompt_vague = "Tell me about web apps"
prompt_specific = "List the top 3 security risks of a Node.js REST API that uses JWT authentication, each with a one-sentence mitigation."

El segundo prompt funciona porque define el dominio (API REST en Node.js), delimita el tema (riesgos de seguridad con JWT), especifica la cantidad (los 3 principales) y exige una estructura (una oración de mitigación cada uno). Cuando eliminas la ambigüedad, eliminas las conjeturas del modelo.

Estructura y Asignación de Rol

Los LLM responden bien a prompts estructurados que asignan un rol, definen una tarea y establecen restricciones. Un patrón común es: Rol — Tarea — Contexto — Restricciones — Formato de Salida. Apilar estas capas en orden produce salidas más predecibles que una sola oración larga.

javascript
const structuredPrompt = `
Role: You are a senior backend engineer reviewing code.
Task: Review the following Express.js route handler for bugs.
Context: This endpoint handles payment webhooks from Stripe.
Constraints: Focus only on error handling and idempotency. Do not suggest new dependencies.
Output Format: Return a numbered list of issues, each with a code fix.
`;

La asignación de rol prepara al modelo con una perspectiva específica. Las restricciones filtran los consejos no deseados. El formato de salida moldea la respuesta para que puedas parsearla programáticamente; esto importa en flujos de trabajo de agentes donde la salida de una IA alimenta el siguiente paso.

diagrama de flujo que muestra la estructura de prompt Rol-Tarea-Contexto-Restricciones-Formato como un pipeline lineal que alimenta a un LLM

Cómo los LLM Interpretan las Instrucciones de Forma Diferente al Código

El código tradicional se ejecuta de arriba a abajo con reglas de sintaxis estrictas. Un LLM lee todo tu prompt como un bloque de lenguaje natural y predice la continuación más probable. Esto significa: el orden de las palabras importa, los ejemplos en tu prompt influyen fuertemente en el estilo de salida y colocar instrucciones clave al final de un prompt largo puede hacer que se "pierdan" por la deriva de atención.

python
# Bad: key instruction buried in the middle of noise
prompt_bad = "You can be creative. Try different tones. Oh and by the way, respond only in valid JSON."
# Good: key instruction placed last where attention is strongest
prompt_good = "You can be creative. Try different tones. Respond only in valid JSON."

La diferencia es sutil para un humano, pero significativa para el modelo. Por eso la ingeniería de prompts es una habilidad: aprendes a predecir cómo el modelo ponderará cada parte de tu entrada.

Ejemplo Práctico: De Casual a Listo para Producción

Imagina que estás construyendo un agente de IA que genera reglas de validación de formularios para una librería de formularios en React.

typescript
const casualPrompt = "Write validation for a login form.";
const productionPrompt = `
Task: Generate Yup validation schemas for a React login form.
Fields: email (required, valid format), password (required, min 8 chars, must contain 1 number).
Output: Return a single JavaScript code block exporting the schema object. No explanations.
`;

El prompt casual podría devolver prosa, HTML de ejemplo o un esquema a medio escribir. El prompt de producción devolverá exactamente un bloque de código parseable que puedes canalizar directamente a tu proceso de build.

Errores Comunes

Tres errores aparecen repetidamente en los prompts de principiantes. Primero, mezclar múltiples tareas no relacionadas en un solo prompt: sepáralas o el modelo priorizará una e ignorará las demás. Segundo, omitir el formato de salida: sin él, el modelo elige un formato y puede que no puedas parsear el resultado. Tercero, asumir que el modelo recuerda perfectamente el contexto de conversaciones anteriores en sesiones largas: repite las restricciones críticas en cada prompt nuevo.

Resumen

Los prompts efectivos son claros, específicos y estructurados. Asignan un rol, enuncian una tarea, proporcionan contexto, aplican restricciones y definen un formato de salida. Comprender cómo los LLM interpretan el lenguaje de forma probabilística, en lugar de ejecutarlo de manera determinista, es el cambio mental clave respecto a la programación tradicional. En la próxima lección, aplicaremos estas bases para construir flujos de trabajo de agentes multi-paso.

Punto de control de la lección

1. ¿Cuál es el riesgo principal de escribir un prompt vago como "Háblame sobre aplicaciones web"?

2. En la estructura Rol-Tarea-Contexto-Restricciones-Formato, ¿cuál es el propósito de la sección "Restricciones"?

3. ¿Por qué colocar una instrucción clave al final de un prompt largo mejora la fiabilidad?

4. ¿Cuál de las siguientes es una diferencia clave entre cómo el código y los LLM procesan las instrucciones?

5. En el ejemplo de validación del formulario de login, ¿por qué es importante especificar "Devuelve un único bloque de código JavaScript exportando el objeto del esquema. Sin explicaciones"?

6. ¿Cuál NO es uno de los tres errores comunes de principiantes mencionados en la lección?

7. ¿Cuál es la solución recomendada cuando la salida de un modelo mezcla prosa con código y es difícil de parsear programáticamente?