Secciones modulares de prompts
Separe claramente el contexto, las instrucciones, las restricciones y el formato de salida.
Secciones modulares de prompts es una lección gratuita de AI Prompt Engineering en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de AI Prompt Engineering, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de AI Prompt Engineering incluye 4 lecciones en total.
El problema de los prompts monolíticos
Un prompt monolítico mete todo en un solo párrafo: el contexto, la tarea, las reglas, los ejemplos y el formato de salida aparecen mezclados. A medida que los prompts se vuelven más complejos, la estructura monolítica provoca:
- Que los modelos apliquen las reglas a las secciones equivocadas
- Dificultades para depurar qué parte causó un resultado incorrecto
- Cadenas de prompts imposibles de mantener
- Comportamiento incoherente entre versiones del modelo
Los prompts modulares resuelven todos estos problemas.
Las cinco secciones principales de un prompt
Un prompt bien estructurado tiene cinco secciones diferenciadas, cada una con un propósito claro:
- Contexto — Información de fondo que el modelo necesita para comprender la situación
- Tarea — Lo que debe hacer el modelo, expresado con claridad
- Restricciones — Reglas y límites de la respuesta
- Formato de salida — Estructura, extensión y esquema de la respuesta esperada
- Ejemplos — Demostraciones del comportamiento correcto
No todos los prompts necesitan las cinco. Utilice solo las que sean necesarias.
Sección de contexto
La sección de contexto proporciona información de fondo sin indicar al modelo qué debe hacer. Un buen contexto incluye:
- Quién es el usuario final
- Para qué plataforma o producto se utilizará
- Conocimientos relevantes del dominio
- Cualquier estado previo que el modelo deba conocer
context_section = '''
<context>
You are assisting a customer support agent at a B2B SaaS company.
The company sells project management software used by engineering teams.
Customers are typically CTOs, engineering managers, or senior developers.
The support agent is handling a live chat conversation with a customer.
</context>
'''
print(context_section)Sección de tarea
La sección de tarea indica exactamente qué debe producir el modelo. Debe ser específica, estar orientada a la acción y no incluir información de fondo innecesaria.
task_section = '''
<task>
Draft a response to the customer message below.
The response should:
1. Acknowledge the customer's issue
2. Provide a concrete next step
3. Set a realistic expectation for resolution time
</task>
<customer_message>
Our Gantt chart view stopped loading after the last update.
This is blocking our sprint planning session today.
</customer_message>
'''
print(task_section)Sección de restricciones
Las restricciones definen los límites de seguridad: lo que el modelo NO debe hacer y los límites explícitos que debe respetar.
constraints_section = '''
<constraints>
- Do not promise a fix by a specific date unless you are certain.
- Do not mention competitor products by name.
- Keep the response under 100 words.
- Use a professional but empathetic tone.
- Do not ask the customer for information already provided in their message.
</constraints>
'''
print(constraints_section)Sección de formato de salida
La sección de formato de salida indica al modelo exactamente cómo debe estructurar su respuesta: esquema JSON, encabezados Markdown, texto sin formato, listas numeradas, etc.
output_format_section = '''
<output_format>
Respond with a JSON object containing:
{
"subject": "string (email subject line)",
"body": "string (email body, plain text, under 150 words)",
"priority": "high | medium | low",
"escalate": true | false
}
Do not include any text outside the JSON object.
</output_format>
'''
print(output_format_section)Sección de ejemplos
Los ejemplos muestran al modelo un par correcto de entrada y salida. Coloque los ejemplos después de las restricciones para que el modelo vea las reglas antes de la demostración.
examples_section = '''
<examples>
<example>
<input>Customer: My invoices are not downloading.</input>
<output>{
"subject": "Invoice Download Issue",
"body": "Thank you for reaching out. We see the issue with invoice downloads and our team is investigating. We expect a fix within 2 hours. We will email you once resolved.",
"priority": "high",
"escalate": true
}</output>
</example>
</examples>
'''
print(examples_section)Ensamblaje de un prompt modular
El enfoque modular facilita el ensamblaje y la edición. Cada sección puede modificarse de forma independiente.
def build_support_prompt(customer_message):
context = '<context>B2B SaaS customer support for project management software.</context>'
task = f'<task>Draft a JSON response to this customer message.</task>\n<customer_message>{customer_message}</customer_message>'
constraints = '<constraints>Under 100 words. Professional tone. No competitor names.</constraints>'
output_fmt = '<output_format>Return JSON: {"subject": str, "body": str, "priority": str, "escalate": bool}</output_format>'
return '\n\n'.join([context, task, constraints, output_fmt])
message = 'The Gantt chart stopped loading after your last update.'
print(build_support_prompt(message))Ventajas para la depuración
Cuando un prompt modular produce un resultado incorrecto, puede aislar la sección problemática:
- ¿Se ejecutó la tarea equivocada? — Compruebe la sección de Tarea
- ¿Se infringió una regla? — Compruebe la sección de Restricciones
- ¿La estructura de salida es incorrecta? — Compruebe la sección de Formato de salida
- ¿La calidad es baja? — Compruebe la sección de Ejemplos o añada más contexto
Puede cambiar una sección cada vez y volver a probar sin reescribir todo el prompt.
Ventajas para el mantenimiento
Los prompts almacenados como objetos estructurados o funciones son mucho más fáciles de mantener que las cadenas literales largas:
- Actualice el contexto cuando cambie el producto sin modificar la lógica de la tarea
- Cambie el formato de salida de JSON a Markdown sin modificar las restricciones
- Pruebe con A/B distintos conjuntos de ejemplos mientras mantiene todo lo demás constante
- Controle de forma independiente las versiones de cada sección
class Prompt:
def __init__(self):
self.context = ''
self.task = ''
self.constraints = []
self.output_format = ''
self.examples = []
def build(self):
parts = []
if self.context:
parts.append(f'<context>\n{self.context}\n</context>')
if self.task:
parts.append(f'<task>\n{self.task}\n</task>')
if self.constraints:
c = '\n'.join(f'- {r}' for r in self.constraints)
parts.append(f'<constraints>\n{c}\n</constraints>')
if self.output_format:
parts.append(f'<output_format>\n{self.output_format}\n</output_format>')
return '\n\n'.join(parts)Cuándo omitir secciones
No todos los prompts necesitan las cinco secciones. Utilice esta guía:
- Omita Contexto cuando la tarea se explique por sí sola (por ejemplo, traducir esta oración)
- Omita Restricciones en tareas sencillas de extracción sin casos límite
- Omita Ejemplos cuando la tarea sea sencilla o el modelo ya la realice bien sin ejemplos
- Incluya siempre Tarea y Formato de salida: son las secciones mínimas viables
Especificar demasiado los prompts sencillos añade ruido sin aportar beneficios.
Comprobación rápida
Un prompt modular produce una estructura de salida incorrecta. ¿Qué sección debe comprobar primero?
Secciones modulares: ideas clave
Las secciones modulares de los prompts son la base de una ingeniería de prompts fácil de mantener y depurar:
- Cinco secciones principales: Contexto, Tarea, Restricciones, Formato de salida y Ejemplos
- Cada sección tiene una única responsabilidad; mezclarlas genera confusión
- La estructura modular permite depurar y realizar pruebas A/B sección por sección
- Almacene los prompts como objetos estructurados o funciones, no como cadenas sin formato
- Omita las secciones que no sean necesarias; especificar demasiado añade ruido
- Incluya siempre al menos Tarea y Formato de salida en todo prompt que no sea trivial
Aprende AI Prompt Engineering con un tutor de IA — gratis
Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.
- Cursos
- 53
- Lecciones
- 199
Preguntas frecuentes
¿La lección «Secciones modulares de prompts» es gratis?
Sí — el texto completo de «Secciones modulares de prompts» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de AI Prompt Engineering, actualiza a CoddyKit PRO. El curso de AI Prompt Engineering incluye 4 lecciones en total.
¿Qué aprenderé en «Secciones modulares de prompts»?
Separe claramente el contexto, las instrucciones, las restricciones y el formato de salida. Practicas AI Prompt Engineering con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar AI Prompt Engineering?
No se requiere experiencia previa. AI Prompt Engineering en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.
¿Cuánto tiempo toma la lección «Secciones modulares de prompts»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de AI Prompt Engineering?
Sí. Cada lección de AI Prompt Engineering incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Usar etiquetas XML como delimitadores
- Secciones modulares de prompts
- Patrón de prompt: encabezado-cuerpo-pie
- Buenas prácticas para organizar prompts