¿Cómo Mejorar las Respuestas de IA con Prompts de Ejemplo Único y Colocación de Contexto?
Un buen ejemplo vale más que un párrafo de instrucciones: cómo el one-shot prompting y la colocación del contexto arreglan las respuestas vagas de la IA. →
Óscar Gallego
Desarrollador Web
En este artículo
La mayoría de las respuestas vagas de la IA no son un problema del modelo. Son un problema de la entrada.
Dos técnicas arreglan una parte sorprendente de ellas: el one-shot prompting (darle al modelo un único buen ejemplo) y la colocación del contexto (poner la información crítica donde el modelo de verdad mira). Sin frameworks, sin fine-tuning. Funcionan con cualquier LLM, hoy.
Un buen ejemplo vale más que un párrafo de instrucciones
One-shot prompting significa exactamente lo que parece: incluyes un solo ejemplo de calidad en el prompt y dejas que el modelo generalice a partir de él.
Piensa en pair programming con un compañero. No le pasas una especificación de “cómo formateamos aquí”. Le dices: mira cómo hicimos esto la última vez, ahora haz lo nuevo igual.
Es eficiente porque te ahorras enumerar casos extremos. Y es más fiable que un prompt zero-shot (sin ejemplo) porque el modelo recibe un patrón concreto que copiar en vez de una descripción que interpretar. Las instrucciones le dicen al modelo qué quieres; un ejemplo se lo enseña. Para cualquier cosa que dependa de formato, tono o una transformación concreta, ese par entrada-salida es el ancla que evita que el modelo improvise.
Análisis de sentimiento: enseña el formato una vez
Supón que quieres clasificar reseñas de clientes como positivas, negativas o neutras. Un solo ejemplo enseña la tarea entera.
Prompt:
Eres un experto en análisis de sentimiento. Clasifica la siguiente reseña de cliente en una de tres categorías: “Positiva”, “Negativa” o “Neutra”.
Ejemplo: Reseña: “El producto llegó rápidamente, pero el embalaje estaba dañado. El artículo en sí funciona perfectamente.” Sentimiento: “Neutra”
Ahora, clasifica el sentimiento de esta reseña:
Reseña a Clasificar: “¡Esta actualización de software es terrible! Rompió la mitad de mis funciones y ahora es increíblemente lenta.”
El ejemplo hace el trabajo pesado, así que elígelo bien
- Elígelo con cuidado: marca el patrón de todo lo que viene después.
- Que sea representativo. Un caso extremo como único ejemplo le enseña al modelo el caso extremo.
- Incluye todos los elementos que quieres en la salida.
- Añade instrucciones explícitas donde el ejemplo solo se quede ambiguo.
- No lo compliques. El modelo generaliza el patrón.
Refactorización de código: el patrón es el prompt
Aquí tienes un prompt one-shot que refactoriza JavaScript de cadenas de promesas a async/await.
Prompt:
Eres un desarrollador experto en JavaScript. Refactoriza la siguiente función para usar la sintaxis
async/awaitmanteniendo la lógica idéntica.Ejemplo: Código Original:
function fetchData(url) { return fetch(url) .then((response) => { if (!response.ok) { throw new Error("La respuesta de la red no fue correcta"); } return response.json(); }) .then((data) => { console.log("Datos recibidos:", data); return data; }) .catch((error) => { console.error("Error en fetch:", error); throw error; }); }Código Refactorizado:
async function fetchData(url) { try { const response = await fetch(url); if (!response.ok) { throw new Error("La respuesta de la red no fue correcta"); } const data = await response.json(); console.log("Datos recibidos:", data); return data; } catch (error) { console.error("Error en fetch:", error); throw error; } }Ahora, refactoriza esta función:
Función a Refactorizar:
function getUser(id) { return database.findUser(id).then((user) => { return getPermissions(user.role).then((permissions) => { user.permissions = permissions; return user; }); }); }
Extracción de datos: un ejemplo, salida parseable siempre
Aquí es donde el one-shot se gana el sueldo. Enséñale al modelo el texto de entrada y el JSON exacto que quieres de vuelta, y conviertes texto sin estructura en algo que tu código puede parsear sin ceremonia.
La consistencia es el premio entero. Cuando la salida siempre tiene la misma forma, encaja directa en bases de datos, herramientas de análisis o el pipeline que tengas montado, sin un cementerio de regex entre el modelo y tu código.
Prompt:
Eres un especialista en extracción de datos. Tu tarea es extraer información específica del mensaje de un usuario y formatearla como un objeto JSON.
EJEMPLO: Texto: “Hola, me gustaría reservar un vuelo para dos adultos desde Nueva York (JFK) a Los Ángeles (LAX) el 25 de diciembre de 2025. Preferiría un vuelo por la mañana con Delta.”
Salida JSON:
{ "intent": "reservar_vuelo", "pasajeros": { "adultos": 2, "niños": 0 }, "origen": { "ciudad": "Nueva York", "codigo_aeropuerto": "JFK" }, "destino": { "ciudad": "Los Ángeles", "codigo_aeropuerto": "LAX" }, "fecha": "2025-12-25", "preferencias": { "hora_del_dia": "mañana", "aerolinea": "Delta" } }
TU TAREA: Extrae la información relevante del siguiente texto y formatéala como un objeto JSON, siguiendo la estructura del ejemplo.
Texto a Procesar: “Hola, ¿puedes encontrarme un hotel en el centro de Austin para 3 noches, con check-in el 10 de marzo de 2026? Necesito una habitación con una cama king-size y Wi-Fi gratis.”
Tu modelo ignora el medio de tu prompt
Las ventanas de contexto no paran de crecer, y el marketing sugiere que puedes tirarles cualquier cosa y el modelo se aclarará. La investigación dice otra cosa. “Lost in the Middle: How Language Models Use Long Contexts” encontró que los modelos rinden mejor cuando la información crítica está al principio o al final de la ventana de contexto.
La parte incómoda del estudio: cuando la información importante estaba enterrada en medio de un contexto largo, el rendimiento no solo bajaba. En algunos casos el modelo rendía peor que sin ningún contexto. Más contexto, peor respuesta.
Piensa en eso antes de celebrar el próximo anuncio del millón de tokens. Una ventana más grande hace más fácil ahogar la única instrucción que importa entre páginas de relleno. Si construyes sobre LLMs, sobre todo pipelines RAG que inyectan documentos recuperados directamente en el prompt, este es el modo de fallo contra el que diseñar, porque el modelo actuará encantado sobre todo menos sobre el detalle que te importaba.
Una restricción enterrada a mitad de documento se pierde en silencio
Imagina que tienes que resumir un documento largo con una restricción muy concreta: el resumen debe incluir un dato específico (un código de producto, una fecha clave, el nombre de alguien) que quizá aparece exactamente una vez, en mitad del texto.
Pon la restricción (“Incluir el código de producto XYZ123 en el resumen”) en medio de un documento muy largo y el modelo puede pasarla de largo, entregándote un resumen sin el único detalle que necesitabas.
Para que la respete, colócala al principio o al final del prompt, claramente separada del documento.
Prompt:
RESTRICCIÓN IMPORTANTE: Tu resumen DEBE incluir el código de producto “PROD-789”.
Resume el siguiente documento en 3-4 oraciones, centrándote en las características y beneficios clave.
[Contenido del Documento Largo Aquí, donde “PROD-789” podría mencionarse una vez en el medio]
Alternativamente, podrías colocar la restricción al final:
Resume el siguiente documento en 3-4 oraciones, centrándote en las características y beneficios clave.
[Contenido del Documento Largo Aquí]
RESTRICCIÓN IMPORTANTE: Asegúrate de que el resumen mencione el código de producto “PROD-789”.
Dónde va cada cosa
- Empieza de cero cuando puedas: un chat nuevo es un contexto enfocado.
- Pon al principio las instrucciones, datos o preguntas críticas.
- ¿Llega información nueva e importante? Añádela al final. No la insertes en el medio.
- El medio es para lo suplementario, lo que el modelo puede permitirse hojear.
La próxima vez que una respuesta vuelva vaga, no busques un modelo más grande. Audita el prompt primero: ¿lleva un ejemplo, y la instrucción crítica está en un borde o ahogándose en el medio? Esas dos comprobaciones arreglan la mayoría de las respuestas de las que ibas a quejarte.
Lectura relacionada: cuando tus prompts se porten bien, el siguiente escalón es no escribirlos: deja de promptear a tu agente, escribe loops.
P.D. ¿Tienes un prompt que no obedece lo pongas donde lo pongas? Enséñamelo en Twitter/X.


