Ingeniería de prompts para Ollama
Qué cubre este artículo
- Qué es la ingeniería de prompts y por qué importa.
- Técnicas fundamentales como roles, contexto y ejemplos.
- Cómo estructurar tareas complejas.
- Métodos como Chain-of-Thought y Few-Shot.
- Errores comunes y cómo evitarlos.
Introducción: ingeniería de prompts para Ollama
La ingeniería de prompts es el arte de guiar los modelos hacia mejores respuestas mediante la formulación correcta de las tareas. A diferencia de los modelos más grandes, los modelos de lenguaje pequeños se benefician especialmente de prompts claros y precisos cuando corren en hardware local. Quien escribe buenos prompts consigue extraer más de un modelo 7B que otros de un 13B, sin necesidad de hardware superior.
Este artículo expone las técnicas y patrones principales para interactuar efectivamente con modelos de Ollama.
Términos clave
- Prompt: entrada que se envía a un modelo de lenguaje.
- System prompt: instrucción de fondo que controla el comportamiento.
- User prompt: pregunta o tarea actual.
- Context: información adicional en el prompt.
- Few-Shot: ejemplos de entradas y salidas deseadas.
- Zero-Shot: sin ejemplos, solo la tarea.
- Chain-of-Thought: el modelo debe pensar paso a paso.
- Output format: estructura deseada de la respuesta.
Reglas fundamentales
- Los prompts deben ser claros y precisos.
- Describe el rol del modelo.
- Especifica el tono y estilo deseados.
- Proporciona instrucciones concretas para la salida.
- Divide las tareas complejas en pasos pequeños.
- Incluye ejemplos cuando el formato es importante.
- Evita mezclar demasiadas instrucciones diferentes.
Asignar un rol
Un rol claramente definido mejora la calidad de las respuestas.
Eres un desarrollador Python experimentado. Explica conceptos de forma breve con ejemplos prácticos.
Más ejemplos:
- Consultor experto en IA.
- Redactora creativa.
- Traductor de textos técnicos.
- Analista de seguridad.
- Profesor para principiantes.
Proporcionar contexto
Cuanta más información relevante incluyas en el contexto, más precisa puede ser la respuesta del modelo.
Contexto: Ejecuto Ollama en un Ryzen 9 con RTX 4070 Ti y 64 GB de RAM.
Pregunta: ¿Qué modelos 13B funcionan sin problemas en este hardware?
Especificar el formato de salida
Proporciona la respuesta en tres puntos y al final un resumen en una sola frase.
Incluir ejemplos
Few-Shot
Escribe descripciones cortas de productos.
Ejemplo 1:
Producto: Teclado mecánico
Descripción: Teclado mecánico robusto con switches precisos y construcción duradera.
Ejemplo 2:
Producto: Monitor 4K
Descripción: Monitor grande 4K con imagen nítida y alta fidelidad de color para trabajo productivo.
Producto: Estación de trabajo de IA local
Descripción:
El modelo reconoce el patrón y lo continúa.
Chain-of-Thought
Para tareas complejas:
Resuelve la tarea paso a paso y explica brevemente cada etapa intermedia.
Esto obliga al modelo a exponer los pasos intermedios en lugar de entregar directamente un resultado final. Reduce errores.
Ejemplos negativos
Si el modelo no debe hacer algo, exclúyelo explícitamente:
Explica la cuantización sin jerga técnica. Evita fórmulas matemáticas.
Iterar y probar
Un buen prompt surge de la experimentación:
- Escribe una versión inicial.
- Revisa la respuesta.
- Refina las instrucciones.
- Añade o elimina ejemplos.
- Ajusta la temperatura.
- Modifica el system prompt.
Técnicas especiales
Self-Consistency
Plantea una pregunta varias veces y selecciona la respuesta más frecuente. Aumenta la confiabilidad.
ReAct
Pensamiento y acción alternados: el modelo piensa, actúa, observa y deduce. Excelente para agentes y uso de herramientas.
Tree-of-Thoughts
Desarrolla y evalúa múltiples caminos de solución en lugar de seguir una única ruta.
Cambio de perspectiva
Para temas creativos o controversiales, pide al modelo que adopte diferentes puntos de vista.
Prompt para RAG
Responde la pregunta usando únicamente el siguiente contexto. Si la respuesta no está en el contexto, indica que no hay información disponible.
Contexto: {context}
Pregunta: {question}
Prompt para programación
Eres un desarrollador de software experimentado. Escribe código Python limpio y comentado para la siguiente función. Explica brevemente qué hace el código.
Tarea: Una función que ordena una lista de números y devuelve los n valores más grandes.
Prompt para resúmenes
Resume el siguiente texto en tres a cinco puntos. Conserva los hechos más importantes.
Texto: {text}
Errores típicos
- Demasiado vago: el modelo tiene margen de interpretación.
- Introducción muy larga: la información importante se pierde en el contexto.
- Instrucciones contradictorias: el modelo no puede hacer ambas cosas simultáneamente.
- Ejemplos faltantes: el modelo entrega un formato incorrecto.
- Temperatura demasiado alta: las tareas creativas se vuelven incontrolables.
- Contexto sobrecargado: no toda la información es relevante.
- Sin iteración: el prompt nunca mejora.
Consejos para modelos locales
- Los modelos locales suelen ser más pequeños, por lo que requieren instrucciones particularmente precisas.
- Los system prompts tienen gran influencia en la salida.
- Mantén la temperatura baja cuando la consistencia es importante.
- Sé muy explícito con los requisitos de formato.
- Divide las tareas complejas en varios prompts.
Enlaces y recursos adicionales
- BotServ.de Ollama para programación
- BotServ.de Ollama Modelfiles
- BotServ.de RAG con Ollama
- BotServ.de Evaluación de Ollama
Preguntas frecuentes: ingeniería de prompts
¿Necesito prompts largos? No necesariamente. Claro y preciso es mejor que largo.
¿Qué es mejor: system prompt o user prompt? Ambos tienen roles diferentes. Los system prompts controlan el comportamiento, los user prompts entregan la tarea.
¿Cómo encuentro buenos prompts? Prueba, itera y recopila ejemplos.
¿Cuál es una buena temperatura? 0.1 a 0.3 para tareas precisas, 0.7 a 0.9 para creativas.
¿Ayudan realmente los ejemplos? Sí, especialmente para formatos de salida específicos.
Fuentes y lecturas adicionales
- Prompt Engineering Guide: https://www.promptingguide.ai/
- Learn Prompting: https://learnprompting.org/
- OpenAI Best Practices: https://platform.openai.com/docs/guides/prompt-engineering
Resumen: ingeniería de prompts para Ollama
La ingeniería de prompts es la forma más rápida de obtener mejores resultados de los modelos de Ollama. Roles claros, contexto preciso, especificaciones de salida y ejemplos llevan a respuestas significativamente mejores. Técnicas como Chain-of-Thought, Few-Shot y ejemplos negativos ayudan con tareas complejas. Quien prueba e itera sus prompts de manera sistemática descubre rápidamente patrones que funcionan también con modelos locales más pequeños.


