Tema 3 · Prompting Base

3. Anatomía de un Prompt Profesional: El Framework C.L.E.A.R.

Estructura prompts técnicos de alta precisión definiendo Contexto, Límite, Especificación, Acción y Respuesta estructurada.

La Diferencia entre un Prompt Vago y un Prompt de Ingeniería

La calidad del código que devuelve un LLM es directamente proporcional a la calidad de la especificación técnica que le proporcionas. Si pides: "hazme una función de login", el modelo adivinará tecnologías obsoletas, patrones inseguros o librerías que no usas en tu proyecto.

En la ingeniería de software profesional asistida por IA, utilizamos el Framework C.L.E.A.R. para redactar prompts inequívocos:

Pilar C.L.E.A.R. Propósito en el Prompt Ejemplo Práctico
C - Contexto Define el entorno tecnológico, versiones y arquitectura. "Trabajo en una aplicación PHP 8.3 con arquitectura MVC pura y base de datos MySQL."
L - Límites Restricciones estrictas de lo que NO se debe hacer. "No uses frameworks como Laravel. Prohibido usar `md5()` o `sha1()`. No agregues librerías externas."
E - Especificación Entradas exactas, salidas y casos de borde requeridos. "La función recibe `string $email` y `string $plainPassword`. Devuelve `?User` o lanza `AuthException`."
A - Acción La tarea técnica concreta requerida. "Implementa el método `authenticate()` usando PDO con sentencias preparadas y `password_verify()`."
R - Respuesta El formato exacto en el que deseas la salida. "Devuelve únicamente el bloque de la clase con tipos estrictos y comentarios PHPDoc, sin texto introductorio."

⚡ Comparativa: Prompt Ingenuo vs Prompt Profesional C.L.E.A.R.

Observa cómo un prompt estructurado elimina cualquier ambigüedad y produce código listo para producción en el primer intento.

comparativa-prompts.md
Solo lectura
# COMPARATIVA DE PROMPTS EN EL DESARROLLO WEB

## ❌ Prompt Ingenuo (Genera código genérico, inseguro o desalineado)
"Hazme un script en javascript para subir fotos al servidor y guardarlas en la base de datos."

---

## ✔ Prompt de Ingeniería C.L.E.A.R. (Genera código preciso y seguro)

### Contexto:
Estamos desarrollando una plataforma educativa en JavaScript vanilla ES2022 en el frontend y un backend con Node.js v20 (Express.js).

### Límites y Restricciones:
- No utilices jQuery ni librerías pesadas en el frontend.
- Tamaño máximo de archivo: 2 MB.
- Formatos permitidos exclusivamente: image/jpeg, image/png, image/webp.
- En el frontend, valida el tipo MIME antes de enviar la petición con fetch().

### Especificación:
- Crea una función `uploadProfilePicture(file: File): Promise<{ success: boolean, url?: string, error?: string }>`
- Debe mostrar el progreso porcentual utilizando XMLHttpRequest o ReadableStream.
- Si el archivo excede los 2 MB o no es imagen, debe rechazar la promesa con un mensaje descriptivo sin consumir ancho de banda.

### Formato de Respuesta:
Entrega el código de la función en JavaScript moderno tipado con JSDoc y un ejemplo de uso con un input `<input type="file" id="avatarInput">`.
🧠
Mini-Quiz de Retención
Comprueba tu comprensión antes de pasar a la siguiente lección
1 Pregunta
Pregunta 1
En el Framework C.L.E.A.R. de prompt engineering, ¿por qué es tan importante definir los "Límites" (L)?
🦉
¿Tienes dudas con este tema?
Sócrates AI puede darte analogías y explicarte este código paso a paso.

🚀 ¿Quieres dominar IA como Copiloto: Aprendizaje & Desarrollo Web y crear proyectos reales?

Aprende arquitectura limpia, desarrollo web moderno, buenas prácticas y despliegue en producción con nuestro Bootcamp Fullstack Developer con mentorías en vivo.

🏛️ Autoría y Propiedad Intelectual: Obra educativa original de David Amador para Kilopolis Academia (Solucionáticos), estructurada sobre las especificaciones y estándares abiertos del W3C, el estándar vivo de WHATWG y la documentación oficial de código abierto. © Todos los derechos reservados.