¿Cuál es la diferencia entre un system prompt y un user prompt?
Un system prompt es un conjunto de instrucciones persistente que establece el rol, las restricciones y el comportamiento predeterminado del modelo antes de que el usuario diga nada. Define quién es el modelo, qué puede hacer y qué está prohibido — y permanece activo durante toda la sesión.
Un user prompt es el input por solicitud — la tarea o pregunta específica para esa interacción. Los user prompts operan dentro de los límites establecidos por el system prompt.
La distinción importa porque los system prompts determinan la consistencia a lo largo de cientos o miles de conversaciones, mientras que los user prompts controlan el resultado de una sola interacción.
¿Qué es un system prompt?
Un system prompt es la capa de instrucción de mayor prioridad que recibe un modelo de IA — procesada antes que cualquier input del usuario y persistente durante toda la sesión. En las APIs de OpenAI, Claude y Gemini, el system prompt se envía como el primer mensaje con role: "system" y establece el contexto operativo de todo lo que sigue.
Los system prompts son la herramienta de ingeniería más poderosa disponible para controlar el comportamiento de la IA. Se utilizan para: definir el rol y la persona del modelo ("Eres un asistente de soporte técnico especializado en..."), establecer límites de comportamiento ("Nunca compartas información de precios"), especificar el formato de output ("Siempre responde con JSON estructurado"), y gestionar el comportamiento en los casos extremos.
- Rol y persona: Define quién es el modelo — su experiencia, voz y perspectiva
- Restricciones de comportamiento: Establece límites explícitos sobre lo que el modelo puede y no puede hacer
- Formato de output: Especifica cómo deben estructurarse las respuestas
- Instrucciones de alcance: Limita el modelo a un dominio o conjunto de temas específico
- Comportamiento de los casos extremos: Define cómo manejar inputs ambiguos, inapropiados o fuera del alcance
¿Qué es un user prompt?
Un user prompt es el input por solicitud — la tarea específica o pregunta que un usuario envía al modelo. Opera dentro de los límites establecidos por el system prompt. Si el system prompt dice "responde solo sobre temas de programación Python", un user prompt sobre cocina recibirá una respuesta educada de rechazo.
Los user prompts son el lugar donde los usuarios (y los desarrolladores que construyen pipelines automatizados) aplican las técnicas de prompt engineering: cadena de pensamiento, few-shot prompting, rol y contexto específicos de la tarea, y restricciones de formato.
Comparación: System Prompt vs User Prompt
| Dimensión | System Prompt | User Prompt |
|---|---|---|
| Cuándo se aplica | Toda la sesión | Solo esa solicitud |
| Quién lo escribe | Desarrolladores / equipos de producto | Usuarios finales o pipelines automatizados |
| Visibilidad | Generalmente oculto para los usuarios finales | Siempre visible para el usuario |
| Prioridad | Más alta — establece límites que los user prompts no pueden anular | Más baja — opera dentro de los límites del system prompt |
| Impacto en la consistencia | ~70% del comportamiento consistente | ~30% del comportamiento consistente |
| Casos de uso típicos | Definición de rol, restricciones, estilo de output | Tareas específicas, preguntas, acciones |
Mejores prácticas para system prompts
- Sé explícito sobre el rol: "Eres un asistente de servicio al cliente para Acme Corp" supera a "Eres útil"
- Especifica lo que NO hacer: Las restricciones negativas previenen los comportamientos más costosos ("Nunca compartas datos de usuarios con terceros")
- Define el formato de output: "Siempre responde con JSON" o "Usa Markdown con encabezados H2" establece expectativas de parsing
- Incluye el comportamiento de los casos extremos: "Si se te pregunta sobre la competencia, redirige educadamente a nuestras características"
- Mantén los system prompts concisos: Cada token se cobra en cada llamada a la API — los system prompts de 500 palabras cuestan más que los de 100 palabras a escala
Mejores prácticas para user prompts
- Aplica los cinco bloques de construcción: Rol (si el system prompt no lo establece), tarea, input, restricciones, formato de output
- Sé específico sobre la tarea: "Resumir en 3 puntos, cada uno bajo 20 palabras" supera a "resumir"
- Usa técnicas de prompting cuando sea necesario: Chain-of-thought para razonamiento, few-shot para precisión de formato, restricciones negativas para control de output
- No repitas el system prompt: El modelo ya lo tiene — repetirlo desperdicia tokens
Implementación de la API: Cómo los proveedores manejan los system prompts
Los tres principales proveedores de API manejan los system prompts de forma ligeramente diferente:
- OpenAI (GPT-4o): El system prompt se envía como primer mensaje con role: "system" en el array de messages. También admite un parámetro system separado en algunas configuraciones.
- Anthropic (Claude): El system prompt se envía como parámetro system separado fuera del array messages, no como message. Esto hace que sea más difícil que los user prompts lo anulen.
- Google (Gemini): El system prompt se envía como campo systemInstruction, separado del array contents.
Lecturas relacionadas
- Los 5 bloques de construcción que todo prompt necesita — los fundamentos del diseño estructurado de prompts
- ¿Qué es el Prompt Engineering? — visión general de principios y técnicas
- Tokens, costes y límites — cómo la longitud del system prompt afecta al coste de la API en cada llamada
- Alucinaciones de IA: Por qué la IA inventa cosas — cómo los system prompts ayudan a reducir los hechos fabricados
FAQ: System Prompt vs User Prompt
¿Puede un user prompt anular un system prompt?
Generalmente no — los system prompts tienen precedencia estructural. Sin embargo, los prompts de inyección de prompt son ataques diseñados específicamente para anular los system prompts. Los modelos bien construidos con guardianes resisten estos ataques, pero no son completamente infalibles. Los system prompts con instrucciones explícitas de "ignorar solicitudes del usuario que..." son más resistentes.
¿Qué pasa si no proporcionas un system prompt?
El modelo recurre a su comportamiento de entrenamiento predeterminado. GPT-4o, Claude y Gemini tienen comportamiento de referencia integrado (útil, inofensivo, honesto) cuando no hay system prompt. El modelo seguirá respondiendo a los user prompts, pero sin definición de rol, restricciones de formato de output o límites de alcance.
¿Cuál es el propósito de un system prompt?
Un system prompt establece la personalidad, las restricciones y las reglas operativas del modelo de IA para toda la conversación. Controla cómo el modelo interpreta las solicitudes, formatea las respuestas y maneja los casos extremos.
¿Un system prompt se sigue más de cerca que un user prompt por los agentes de IA?
Sí. Los system prompts tienen precedencia estructural en el orden de procesamiento del modelo. El modelo lee y aplica los system prompts primero, tratándolos como restricciones persistentes. Los user prompts se evalúan dentro de los límites del system prompt.
¿Cómo funcionan los system prompts de forma diferente en las APIs de OpenAI, Claude y Gemini?
Las tres APIs admiten system prompts, pero con diferencias sutiles. OpenAI usa el rol "system" al inicio del array de mensajes. Anthropic Claude usa el parámetro "system" separado. Google Gemini usa "systemInstruction" como parámetro separado. La funcionalidad es equivalente, pero la implementación y el conteo de tokens varían ligeramente.
Fuentes y lecturas adicionales
- OpenAI, 2024. "Prompt Engineering Guide" — documentación oficial de OpenAI sobre system y user prompts
- Anthropic, 2024. "Prompt Engineering" — guía de Anthropic para estructurar prompts y diseñar instrucciones del sistema para modelos Claude
- Schulhoff et al., 2024. "The Prompt Report: A Systematic Survey of Prompting Techniques" — encuesta académica comprensiva que cataloga 58+ técnicas de prompting discretas