Cómo Escribirle a ChatGPT: Guía Definitiva

Domina el arte del prompt engineering con nuestra guía completa, basada en la última investigación y mejores prácticas.

¿Qué es el Prompt Engineering?

El prompt engineering es el arte de diseñar las indicaciones (prompts) óptimas para guiar a un modelo de lenguaje (LLM) hacia respuestas de alta calidad. Dominar esta habilidad se ha vuelto esencial para aprovechar al máximo modelos como GPT-4, Claude o PaLM, ya sea en tareas individuales (redacción, resumen, clasificación, extracción de datos, reescritura, traducción, etc.) o al orquestar agentes conversacionales con instrucciones de sistema. A continuación, se presentan las mejores prácticas actualizadas a 2025 basadas en fuentes confiables (OpenAI, Anthropic, Google) y hallazgos recientes.

Plantilla Maestra para Prompts Profesionales

Un prompt bien estructurado facilita la comprensión del modelo y produce resultados más consistentes. Se recomienda emplear una plantilla con secciones claras, incluso utilizando marcadores o etiquetas para distinguir cada parte. Esto ayuda a que el modelo no confunda instrucciones, contexto o ejemplos. A continuación, presentamos una plantilla general reutilizable que puede adaptarse a distintos casos de uso:

<rol>

Defina aquí el rol/personalidad del modelo si es útil (opcional). Ej: 'Eres un analista de datos experto...'

<instrucciones>

Describa de forma **clara, específica y detallada** la tarea a realizar. Incluya el formato deseado de la respuesta (lista, párrafo, JSON, etc.), la extensión esperada, el estilo o tono, y cualquier criterio importante. Ej: 'Resume el texto en 3 viñetas concisas, en tono formal, destacando solo hechos clave.'

<contexto>

Proporcione cualquier **contexto o texto de entrada relevante** que el modelo deba utilizar. Separe claramente este contenido, por ejemplo con delimitadores como ```"""``` o etiquetas XML, para que el modelo diferencie las instrucciones del texto.

<ejemplos>

**Opcional:** Si aplica *few-shot prompting*, incluya **ejemplos** de entradas y salidas esperadas para guiar al modelo. Cada ejemplo debe seguir el formato deseado e ilustrar correctamente la tarea. Separe los ejemplos del resto del prompt con un marcador claro (p. ej. `##` entre ejemplos).

<salida>

**Opcional:** Si lo requiere, especifique aquí una plantilla de **formato de salida** esperado. Por ejemplo, puede mostrar campos o JSON vacío que el modelo deberá llenar, o tags XML como `<respuesta></respuesta>` para delimitar la respuesta.

Como se ve, esta plantilla utiliza marcadores <...> descriptivos (rol, instrucciones, contexto, etc.) a modo de comentario estructurado. En la práctica, puede usar placeholders o variables para partes dinámicas, lo que facilita reutilizar el prompt en múltiples llamadas. Por ejemplo, Anthropic sugiere notación de doble llave {{variable}} para el contenido variable. Un ejemplo simple de plantilla con variable sería: "Traduce este texto de inglés a español: {{text}}". Separar así las secciones garantiza que el modelo interprete correctamente qué parte es instrucción y qué parte es dato de entrada.

Buenas Prácticas Generales en Prompt Engineering

Comience con instrucciones claras y específicas

Formule claramente lo que desea evitando ambigüedades. Especifique el contexto, el resultado esperado, el formato y el estilo en la propia instrucción inicial. Un prompt vago produce respuestas vagas; en cambio, un prompt detallado guía al modelo con mayor precisión. Por ejemplo, en lugar de pedir 'Escribe sobre OpenAI', sería mejor 'Escribe un breve artículo (3 párrafos) sobre el impacto de OpenAI en la industria tecnológica, con un tono optimista y divulgativo'.

Ponga las instrucciones al principio y separe el contexto

Indique primero qué debe hacer el modelo y luego provea los datos o texto necesario. Use delimitadores claros (p. ej. ###, """, etiquetas XML) para separar las instrucciones del contenido de entrada, especialmente en tareas como resumen o extracción. Esto ayuda a que el modelo no mezcle las instrucciones con el texto a procesar.

Proporcione contexto relevante

Si la tarea depende de cierta información o contexto, inclúyalo en el prompt. Un buen prompt enmarcará el problema: ¿De qué se trata? ¿Con qué datos o situación cuenta el modelo? Por ejemplo, antes de hacer una pregunta sobre un texto, presente ese texto bajo una sección <contexto> o indíquele 'Texto: ...'. Esto aumenta la pertinencia y exactitud de la respuesta.

Sea descriptivo sobre el formato y longitud deseada

Indique explícitamente cómo quiere la respuesta. Si espera una lista con viñetas, un cuadro en formato JSON, o cierta longitud, dígalo en el prompt. Ejemplo:'Devuelve solo los nombres en una lista con viñetas' o 'Responde en máximo 2 frases'. Cuanto más concreto sea en el formato, menos "adivinar" tendrá que hacer el modelo, lo que da salidas más consistentes.

Prefiera instrucciones positivas a negativas

En lugar de decir solamente lo que *no* debe hacer el modelo, indique lo que *sí* debe hacer. Las negativas absolutas pueden ser malinterpretadas o ignoradas. Por ejemplo, en vez de 'No uses un tono informal', indique 'Usa un tono profesional y formal (evita coloquialismos)'. Esto establece una guía clara sin dejar espacios ambiguos.

Mantenga un estilo simple y directo

No sobrecargue el prompt con verborrea innecesaria ni instrucciones contradictorias. Un prompt sencillo y enfocado suele rendir mejor. Use verbos de acción y lenguaje directo (p. ej. 'Resuelve...', 'Enumera...', 'Analiza...'). Elimine instrucciones vagas como 'hazlo bonito' o 'sé creativo' sin más contexto, ya que son imprecisas. Si desea creatividad, especifíquela mejor: 'propón una analogía creativa' en lugar de 'sé creativo'.

Divida tareas complejas en pasos

Si su solicitud es muy compleja, considere dividirla ya sea en sub-prompts secuenciales (encadenamiento) o internamente en la formulación. Puede pedirle al modelo que 'piense paso a paso' antes de responder. Por ejemplo: 'Primero analiza el problema y enumera posibles soluciones, luego proporciona la mejor solución con sus razones.' Google recomienda desglosar tareas complejas para obtener mejor calidad en cada parte. En un entorno multi-turno, también puede encadenar mensajes: primero obtener un plan o una lista, luego pedir detalles sobre un punto, etc., en lugar de todo de una vez.

Itere y refine el prompt

Considere el prompt engineering como un proceso iterativo. Si la primera respuesta no es óptima, ajuste la redacción, agregue más detalle o clarifique instrucciones, y pruebe de nuevo. Pequeños cambios (añadir una frase de contexto, ajustar el tono pedido, etc.) pueden producir mejoras notables. Documente versiones de sus prompts y compare resultados para ver qué fórmula funciona mejor.

Verifique con diferentes modelos

Un prompt bien diseñado debiera funcionar de forma robusta, pero siempre pruebe con el modelo objetivo deseado (GPT-4, Claude 2, etc.). Modelos diferentes (o versiones nuevas) pueden interpretar los prompts de modo distinto. Por ejemplo, un prompt que funciona en GPT-3 puede requerir ajustes en GPT-4 por sus capacidades de razonamiento más avanzadas. Al cambiar de modelo o cuando un proveedor lanza una actualización, re-valide sus prompts claves.

Técnicas Avanzadas y Hacks de Expertos

Además de las buenas prácticas generales, expertos de OpenAI, Anthropic, Google y la comunidad han desarrollado técnicas especiales (hacks) para casos de uso más difíciles. Estas técnicas pueden potenciar aún más la calidad de las respuestas:

Few-shot prompting (ejemplos en el prompt)

Consiste en proporcionar ejemplos de pregunta-respuesta dentro del prompt para que el modelo aprenda el patrón deseado. Por ejemplo, si quiere clasificar sentimientos, puede dar un par de ejemplos de texto y su clasificación *antes* de preguntar por el nuevo texto. OpenAI aconseja probar primero sin ejemplos (zero-shot), y si el resultado no es bueno, entonces agregar 1-3 ejemplos relevantes (one-shot/few-shot). Los ejemplos deben ser *representativos y variados*, mostrando exactamente el formato de salida esperado. Tenga cuidado de no dar demasiados ejemplos muy específicos, ya que podría ajustar en exceso la respuesta del modelo a esos casos (overfitting). Con 2-5 ejemplos suele bastar para mejorar la respuesta manteniendo generalidad.

Cadena de pensamiento (Chain-of-Thought)

Es una técnica donde se instruye al modelo a "pensar paso a paso" en lugar de dar directamente la respuesta. Esto puede hacerse de forma implícita (agregando la frase 'Reflexiona paso a paso...' o 'Let's think step by step' antes de la respuesta) o explícitamente pidiéndole que muestre su razonamiento. Varios estudios han demostrado que inducir una cadena de pensamiento mejora la capacidad de resolver problemas complejos o de múltiples pasos. Por ejemplo, Anthropic sugiere usar tags `<Thinking>` para que Claude primero escriba sus deducciones, y luego `<answer>` para la respuesta final. Esto permite incluso separar y ocultar el razonamiento interno si no se desea mostrar al usuario final. Nota: Para modelos muy avanzados de razonamiento (como GPT-4), a veces no es necesario indicarle esto, pues ya tienden a desglosar el problema internamente. Google recomienda usar CoT con prompts simples y no forzarlo si el modelo ya razona bien por sí mismo.

Estructurar el prompt con etiquetas (XML/JSON)

Estructurar tanto el prompt como la salida en formato tipo XML, JSON u otro esquema delimitado puede dar más control. Anthropic reporta que el uso de etiquetas como `<instructions>...</instructions>` para instrucciones, `<data>...</data>` para datos, `<example>...</example>` para ejemplos, etc., evita que el modelo mezcle roles. Asimismo, en la salida, pedir respuestas en, por ejemplo, formato JSON con campos específicos, o dentro de tags `<respuesta></respuesta>`, ayuda a extraer la información fácilmente y reduce la variabilidad en la presentación. Esta técnica combina bien con few-shot: puede proporcionar un ejemplo con el formato exacto deseado para que el modelo lo imite.

Asignar un rol o persona al modelo

Es útil iniciar el prompt definiendo quién es el modelo en el contexto de la tarea, lo cual actúa como una especie de system prompt inyectado. Por ejemplo: 'Eres el mejor redactor publicitario del mundo, especializado en un tono humorístico pero profesional...'. Esto aprovecha la capacidad del modelo de seguir un personaje o conjunto de conocimientos específico. En entornos de chat con mensajes de sistema, ubique estas instrucciones de rol en el mensaje del sistema para mantenerlas persistentes. Un rol bien definido puede llevar a respuestas más coherentes y adecuadas al dominio (el modelo actuará "como experto" en lugar de un generalista). Combine esto con instrucciones claras en el mensaje de usuario para resultados óptimos.

Prefijar o guiar la respuesta (prefill)

Otro hack es comenzar la respuesta por el modelo dentro del prompt para marcar tono o estructura. Por ejemplo, incluir al final del prompt una línea que simule el inicio de la respuesta: 'Asistente:[responde en tono formal]...'. Igualmente, puede proporcionar un esquema de respuesta vacío que el modelo deberá llenar, como una lista con viñetas ya iniciadas (- ) o títulos de secciones ya escritos para un informe. Este preformateo sirve como guía fuerte y reduce dudas sobre cómo empezar la respuesta.

Encadenamiento de prompts (agentes y multi-paso)

Para tareas complejas, considere un enfoque de agente donde el modelo trabaja en varios pasos en lugar de un solo prompt. Puede hacer que el modelo genere un plan primero, luego alimentar ese plan de vuelta con otra pregunta. Asimismo, si dispone de funcionalidad de herramientas (por ejemplo, mediante APIs que permiten al modelo buscar información, ejecutar cálculos, etc.), estructure el prompt para integrarlas. Un patrón conocido es ReAct, donde el modelo alterna razonamiento y acciones en el prompt para resolver problemas paso a paso. Para esto se diseñan prompts con secciones del tipo 'Pensamiento: ...', 'Acción: ...', controlando que el modelo siga el formato. Estos enfoques trascienden el prompt único y utilizan system prompts extensos para definir la forma de operar del agente, incluyendo posibles herramientas y cómo usarlas. Son útiles en productos donde se requiere que la IA actúe de forma autónoma siguiendo ciertas reglas.

Parámetros Sugeridos para LLMs

Aparte del contenido del prompt, los parámetros de configuración del modelo juegan un papel crucial en la calidad y estilo de la salida. Algunas recomendaciones generales:

Modelo

Use el modelo más capaz disponible para la tarea dentro de sus posibilidades. Los modelos más nuevos tienden a seguir instrucciones con mayor fidelidad y requieren menos retoques en el prompt. Nota: Modelos más potentes suelen ser más costosos y lentos, así que equilibre costo-beneficio según el caso.

Temperatura

Controla la aleatoriedad vs. determinismo en la generación. Una temperatura alta (~0.7–1.0) produce respuestas más creativas y variadas, útil para tareas de redacción original o lluvia de ideas. En cambio, una temperatura baja (~0–0.3) produce salidas más enfocadas y repetibles, ideal para tareas factuales, de extracción o cuando se necesita consistencia. OpenAI sugiere usar temperatura 0 para respuestas estrictamente precisas o basadas en datos ya que minimiza la invención de datos.

Longitud máxima (max_tokens)

Establece un límite superior de tokens en la respuesta. No garantiza que el modelo escriba hasta ese límite ni que se detenga antes si no lo alcanza, pero sirve para cortar respuestas demasiado largas. Póngalo lo suficientemente alto para no truncar contenido útil; luego, controle la longitud principalmente a través de instrucciones en el prompt (p. ej. 'no más de 200 palabras').

Stop sequences (secuencias de detención)

Son cadenas de texto en las cuales la generación se detendrá si aparecen. Por ejemplo, puede usar '\nUser:' como stop si quiere que el modelo pare antes de comenzar a simular al usuario en un entorno chat. Configure estas secuencias para evitar desbordes no deseados después de cumplida la respuesta.

Otros parámetros (frecuencia, top-p, etc.)

Dependiendo del modelo/API, hay otros ajustes. Top-p (nucleus sampling) es una alternativa o complemento a temperatura que limita el vocabulario al X% de probabilidad acumulada; suele usarse dejar uno fijo (por ejemplo, top_p=1) y jugar solo con temperatura, o viceversa. Frecuencia penalty y presence penalty (en OpenAI) evitan repeticiones excesivas otorgando penalizaciones si el modelo repite palabras o frases ya dichas. Un valor moderado en estas penalizaciones puede mejorar listados o evitar muletillas en la respuesta. En general, experimente con estos parámetros de uno en uno para ver su efecto, o consulte recomendaciones del proveedor para la tarea específica.

Formato de entrada/salida

Aunque no es un parámetro numérico, vale mencionar configurar adecuadamente el formato. Por ejemplo, en la API de OpenAI al usar Chat Completion, aproveche el campo `system message` para instrucciones globales (rol, estilo) y deje el `user message` para la solicitud específica. Algunos entornos permiten forzar formato de Markdown en la salida, lo cual es útil si quiere por ejemplo tablas o listas bien renderizadas. Si su producto digital requiere la respuesta en HTML, CSV u otro, indíquelo en el prompt y esté preparado para postprocesar mínimamente (ej. decodificar JSON). La clave es pedirle al modelo que produzca un formato fácil de integrar a su flujo (muchos prompt engineers piden 'Devuelve la respuesta solo como JSON válido con campos X, Y...' para ahorrarse trabajo de parsing).

Cómo Evitar Errores Comunes

Incluso siguiendo buenas prácticas, hay fallos típicos en la construcción de prompts. A continuación, algunos errores comunes y cómo evitarlos:

Ambigüedad

Un prompt ambiguo produce respuestas ambiguas. Evite términos generales o preguntas abiertas sin contexto suficiente. Solución: Especifique los detalles clave: quién, qué, cómo y con qué criterios debe responder el modelo. Por ejemplo, 'Resume el artículo' es ambiguo (¿qué longitud? ¿qué enfoque?), mejor 'Resume el siguiente artículo en 5 frases destacando los puntos más polémicos'.

Inconsistencia entre instrucciones y ejemplos

Si proporciona ejemplos (few-shot), asegúrese de que no contradigan las instrucciones ni entre sí. Todos deben seguir el formato y criterio deseado. Un error sería pedir 'respuestas breves' pero en los ejemplos mostrar párrafos largos. Solución: revise que los ejemplos modelen exactamente el resultado que pide. Si cambia las instrucciones, actualice los ejemplos para mantener coherencia.

Instrucciones negativas sin alternativa

Decir 'no hagas X' sin aclarar 'haz Y en su lugar' puede confundir al modelo. Por ejemplo: 'No des recomendaciones' podría llevar a que el modelo termine abruptamente o ignore la instrucción. Solución: reformule las reglas en positivo. En este caso: 'Limítate a exponer hechos sin incluir recomendaciones'. Así el modelo sabe qué hacer en lugar de solo qué evitar.

Underprompting (falta de detalle)

Ocurre cuando el prompt es demasiado escueto para la complejidad de la tarea. El modelo rellena los vacíos como puede, a veces mal. Solución: agregue la información ausente. Si la tarea requiere asumir un contexto (dominio, público objetivo, formato de salida), es mejor proporcionarlo que esperar que el modelo adivine. Por ejemplo, si desea un texto publicitario, especifique el público ('clientes jóvenes', 'ejecutivos B2B') para guiar el tono.

Overprompting o sobre-especificación extrema

Es lo opuesto: inundar al modelo con indicaciones, ejemplos y restricciones puede ser contraproducente. Prompts excesivamente largos o rígidos pueden estresar al modelo (lo llevan a esforzarse por cumplir todo al pie de la letra, a veces fallando en cosas básicas). También aumentan el costo en tokens. Solución: busque un balance. Incluya suficiente detalle, pero *solo lo necesario* para lograr la respuesta deseada. No sature con 10 ejemplos si con 2 es suficiente. No repita la misma instrucción en diferentes palabras. Evite datos irrelevantes que puedan distraer (el modelo podría usarlos accidentalmente). Un prompt debe ser completo pero conciso.

No tener en cuenta el modelo o idioma

Un prompt puede comportarse distinto en otro idioma o modelo. Solución: si va a usar el prompt en varios idiomas (por ejemplo, venderlo en un paquete bilingüe), pruébelo en cada idioma objetivo. Ajuste matices culturales o de vocabulario. Por ejemplo, ciertos tonos (humor, cortesía) se logran diferente en español que en inglés. Puede ser útil incluir en el prompt la instrucción de idioma explícita: 'Responde en español neutro'. Asimismo, adapte el prompt a las idiosincrasias del modelo; p. ej., modelos como GPT tienden a verbosidad, así que conviene pedir 'sé conciso', mientras que otros pueden requerir que se les anime a dar más detalle.

Ejemplos de Prompts Bien Diseñados

Ejemplo 1: Prompt de resumen (inglés)

Se le pide al modelo que haga un resumen ejecutivo en viñetas de un texto proporcionado, adoptando un rol específico.

Prompt:

<rol> You are **TechGPT**, an AI assistant expert in financial technology. Your job is to analyze texts and extract key insights for a business audience. </rol>
<instrucciones> **Task:** Read the article below and **provide a concise executive summary** in **3 bullet points**. Focus on the **most important facts and conclusions**, avoiding any irrelevant details. Use a **formal, informative tone** as this summary is for senior managers. </instrucciones>
<contexto> **Article:** """The fintech industry grew 200% in 2024... (aquí iría el texto completo del artículo)""" </contexto>
<salida> **Output Format:**
-Bullet 1: <summary point>  
-Bullet 2: <summary point>  
-Bullet 3: <summary point> </salida>

Why it works:

Este prompt inicia definiendo un *rol experto* (TechGPT) para orientar el estilo y conocimientos del modelo. Luego, en la sección de *instrucciones*, detalla la tarea ('executive summary'), el formato (3 bullet points), el enfoque (hechos y conclusiones clave) y el tono (formal para directivos), cumpliendo con la recomendación de ser específico sobre resultado y estilo. El *contexto* se proporciona delimitado claramente con `"""` para que el modelo sepa qué texto resumir. Finalmente, se muestra un *formato de salida esperado* con viñetas numeradas, que sirve de guía explícita. El modelo, al seguir este prompt, tenderá a entregar exactamente 3 viñetas bien enfocadas, gracias a la claridad y estructura del mensaje.

Ejemplo 2: Prompt de extracción de información (español)

Se le pide al modelo que extraiga datos clave de un contrato y responda en JSON.

Prompt:

<rol> Eres un asistente legal inteligente especializado en análisis de contratos empresariales. </rol>
<instrucciones> Extrae la **siguiente información** del contrato a continuación:
1.`partes` – Nombres de las partes involucradas.
2.`fecha_firma` – Fecha en que se firma el contrato.
3.`obligaciones_principales` – Lista breve de las obligaciones principales de cada parte.
4.`cláusulas_riesgos` – Cualquier cláusula que represente riesgos legales (resumen corto).
Devuelve **únicamente** la respuesta en formato **JSON**, utilizando esos campos exactos como claves. No incluyas explicación adicional. </instrucciones>
<contexto> **Contrato:**
"""CONTRATO DE SERVICIO 
Entre ACME S.A. (en adelante, "Proveedor") y Industrias XYZ S.L. (en adelante, "Cliente") 
Fecha: 5 de enero de 2025 
... [texto completo del contrato] ... 
Cláusula 7: Responsabilidad Limitada ...""" 
</contexto>

Why it works:

En este prompt en español, se especifica primero el *rol* (un asistente legal especializado) para darle al modelo un contexto de experto. Las instrucciones enumeran claramente qué datos extraer, usando una lista numerada que delimita cada elemento requerido. Esto reduce ambigüedad y segmenta la tarea compleja en sub-tareas claras. Se indica explícitamente el formato *JSON* deseado y que no añada nada más, cumpliendo con la práctica de *formato específico* y *lenguaje positivo* ('devuelve únicamente...') en lugar de solo decir 'no hagas...'. El *contexto* proporciona el texto del contrato entre triple comilla, para separar nítidamente el contenido legal de las instrucciones. Gracias a esta estructura, el modelo sabrá exactamente qué buscar en el contrato y cómo formatear la respuesta.

Conclusión

Siguiendo esta guía de mejores prácticas, es posible crear prompts altamente efectivos que actúan como activos de gran valor en productos digitales. La plantilla maestra proporcionada sirve como punto de partida flexible para diseñar prompts profesionales, mientras que las técnicas avanzadas (few-shot, chain-of-thought, roles, estructuración con etiquetas, etc.) permiten afinar la interacción con LLMs para obtener resultados premium. Finalmente, ajustar los parámetros del modelo y ser consciente de los errores comunes evitará contratiempos y asegurará que las indicaciones produzcan contenido coherente, preciso y adaptado a las necesidades específicas, ya sea en inglés, español o cualquier otro idioma. Con práctica e iteración, el prompt engineering se convierte en una herramienta poderosa para convertir las capacidades generales de un modelo en respuestas a la medida de nuestros objetivos.

¿Listo para Dominar el Prompt Engineering?

Nuestros Packs de Prompts Profesionales y el Bundle ofrecen prompts diseñados por expertos para impulsar tu productividad con IA.