Técnicas de prompting para proyectos de software
El prompting consiste en diseñar e introducir indicaciones o instrucciones específicas para que un sistema de inteligencia artificial (IA), normalmente modelos de lenguaje como ChatGPT o Copilot, genere resultados adaptados a necesidades concretas del desarrollo de software. El dominio de estas técnicas es crucial para obtener respuestas útiles, precisas y contextualizadas, optimizando procesos en áreas como codificación, pruebas, documentación y gestión ágil.
Principios clave del prompting en proyectos de software
- Claridad y especificidad: Un prompt efectivo debe ser claro, evitando ambigüedades y proporcionando todos los detalles relevantes (lenguaje de programación, estándar, contexto del negocio, tipo de documentación, etc.).
- Contextualización: Contextualizar el mensaje permite que la IA tenga suficiente información sobre el entorno del proyecto, restricciones, arquitecturas y alcance de la tarea.
- Iteración y refinamiento: Es común que la primera respuesta no sea completamente satisfactoria. Refinar el prompt, agregando detalles o ajustando la solicitud, incrementa la calidad de la interacción.
- Modularidad y tareas acotadas: Dividir instrucciones complejas en tareas más pequeñas puede aumentar la precisión de los resultados, especialmente en pruebas o generación de código modular.
Técnica CERTO
Una técnica muy recomendada para el desarrollo SW es utilizar la denominada técnica CERTO por las siglas de sus 5 componentes:
Dar información previa del entorno (librerías, frameworks, versiones, convenciones).
¿Quién te debe dar la respuesta? Indicar el rol que debe tomar la IA.
¿Qué razonamiento realiza la IA? (Lógica seguida, restricciones a considerar,…)
¿Qué tarea específica quieres? (incluir un verbo como "Crea", "Desarrolla", "Evalúa",…)
¿Cómo quieres los resultados? (Pedir la respuesta en un formato claro: JSON, tabla, bloques de código, pasos numerados)
Para que veamos un ejemplo de cada componente y poder crear un prompt completo, en la siguiente figura se muestra un caso de uso:
Prompt:
Estamos desarrollando una aplicación de e-commerce usando Python con Django. Actúa como un desarrollador de código senior de Python y corrige este fragmento aplicando buenas prácticas de PEP8. El código debe usar async/await y no callbacks. No uses var, usa let o const. Crea una función en Python llamada calcular_media que reciba una lista de números enteros, ignore los valores nulos y devuelva la media con dos decimales. Dame solo el código dentro de un bloque python sin explicaciones.