10.c.1 - Prompts y técnicas de uso de IA

Objetivo

Aprender a utilizar herramientas de inteligencia artificial de forma eficaz en tareas de programación, redactando instrucciones claras, aportando contexto suficiente y verificando críticamente las respuestas obtenidas.

1. Contenidos

1.1 La importancia de preguntar bien

Una herramienta de inteligencia artificial no adivina exactamente lo que necesitamos. Genera una respuesta a partir de la información que recibe. Por eso, en programación, la calidad de la respuesta depende en gran medida de la calidad de la petición que hacemos.

Cuando pedimos ayuda a una IA para programar, no basta con decir "hazme el código" o "esto no funciona". Debemos explicar el problema, indicar el lenguaje utilizado, mostrar el código relevante y aclarar qué resultado esperamos.

Idea clave: La IA no sustituye al análisis del problema. Si el programador no sabe explicar qué necesita, la IA tendrá muchas más posibilidades de generar una solución incorrecta, incompleta o difícil de entender.

En un entorno profesional, preguntar bien a una IA se parece mucho a pedir ayuda a un compañero de equipo: cuanto mejor se explica el contexto, más fácil es recibir una respuesta útil.

1.2 ¿Qué es un buen prompt?

Un prompt es la instrucción que escribimos para pedir algo a una herramienta de IA. Un buen prompt de programación debe ser claro, concreto y verificable.

Un prompt útil suele incluir los siguientes elementos:

ElementoPregunta que respondeEjemplo
Rol¿Desde qué punto de vista debe responder?Actúa como profesor de Java de primer curso.
Contexto¿Qué situación debe conocer?Estoy aprendiendo bucles y no puedo usar arrays.
Objetivo¿Qué quiero conseguir?Quiero validar si una edad permite acceder a una aplicación.
Restricciones¿Qué límites debe respetar?No uses Scanner. Usa datos fijos en el código.
Entrada¿Qué información debe analizar?Este es mi código y este es el error.
Formato¿Cómo quiero la respuesta?Explícalo en tres pasos y luego muestra el código corregido.

Cuantos más elementos relevantes incluya el prompt, más posibilidades habrá de obtener una respuesta adaptada a la tarea.

Atención: Un prompt largo no siempre es mejor. Debe incluir información útil, no ruido. La clave está en aportar contexto relevante.

1.3 Prompts malos y prompts buenos

La diferencia entre un prompt poco útil y uno bien planteado puede cambiar completamente la respuesta de la IA.

Ejemplo 1: pedir código

Prompt poco útil:


Haz un programa de notas.
				

Este prompt es demasiado ambiguo. No indica lenguaje, nivel, requisitos, datos de entrada ni salida esperada.

Prompt mejorado:


Estoy aprendiendo Java en primer curso de Desarrollo de Aplicaciones.
Crea un programa sencillo llamado CalcularNotaFinal.

Requisitos:
- Usa datos fijos en el código, sin Scanner.
- Utiliza variables de tipo Double.
- Calcula la media de tres notas.
- Muestra si el alumno está aprobado o suspenso.
- Explica el código después del ejemplo.
				

Ejemplo 2: pedir ayuda con un error

Prompt poco útil:


Me da error. ¿Qué hago?
				

Prompt mejorado:


Estoy programando en Java. Este código debería mostrar los números del 1 al 5,
pero no termina nunca.

Código:
while (contador <= 5) {
	System.out.println(contador);
}

Explícame:
1. Por qué se produce el error.
2. Cómo corregirlo.
3. Qué tipo de error es.
				

Conclusión: Para depurar código con IA, el mensaje de error completo y el fragmento de código relacionado son casi siempre más importantes que una descripción general del problema.

1.4 Técnica 1: pedir explicación paso a paso

Una de las formas más útiles de usar la IA en programación es pedir que explique el razonamiento paso a paso. Esta técnica es especialmente útil cuando estamos aprendiendo un concepto nuevo o cuando un fragmento de código no resulta claro.

Ejemplo de prompt:


Explícame paso a paso qué hace este código Java.
Indica qué valor tiene cada variable en cada vuelta del bucle.

Integer suma = 0;

for (Integer i = 1; i <= 5; i = i + 1) {
	suma = suma + i;
}

System.out.println(suma);
				

Este tipo de petición ayuda a entender cómo evoluciona el programa y evita limitarse a copiar el resultado final.

Uso recomendado: Utiliza esta técnica cuando quieras comprender bucles, condicionales, métodos, clases o errores lógicos.

1.5 Técnica 2: pedir pistas, no soluciones completas

Si usamos la IA para resolver directamente todos los ejercicios, dejamos de practicar. Una alternativa más útil para aprender es pedir pistas progresivas.

Ejemplo de prompt:


Tengo que crear un programa en Java que calcule el factorial de un número.
No me des la solución completa.
Dame solo tres pistas ordenadas, de menor a mayor ayuda.
				

Esta técnica permite avanzar cuando estamos bloqueados, pero mantiene el esfuerzo principal en el alumno.

Uso incorrectoUso formativo
Pedir el ejercicio completo y entregarlo sin entenderlo.Pedir una pista para superar un bloqueo concreto.
Copiar una solución que no sabemos explicar.Comparar nuestra solución con una propuesta alternativa.
Aceptar cualquier código generado.Probar, corregir y justificar el código final.

Regla práctica: Si la IA te da una solución completa, intenta reconstruirla después sin mirar. Si no puedes hacerlo, todavía no la has aprendido.

1.6 Técnica 3: pedir varias alternativas

En programación casi nunca existe una única solución válida. La IA puede ayudarnos a comparar diferentes formas de resolver un mismo problema.

Ejemplo de prompt:


Necesito validar si una contraseña tiene al menos 8 caracteres.
Propón dos soluciones en Java:
1. Una solución sencilla usando if.
2. Una solución organizada usando un método booleano.

Después compara ventajas e inconvenientes de cada una.
				

Comparar alternativas ayuda a desarrollar criterio técnico. No se trata solo de obtener código, sino de entender por qué una solución puede ser más adecuada que otra.

En un proyecto profesional: La solución más corta no siempre es la mejor. También importan la claridad, la mantenibilidad, las pruebas y la facilidad para que otro programador la entienda.

1.7 Técnica 4: pedir revisión crítica del código

La IA puede utilizarse como una primera revisión automática del código. Podemos pedirle que busque errores, nombres poco claros, repetición innecesaria o posibles mejoras.

Ejemplo de prompt:


Revisa este código Java como si fueras un profesor de primer curso.
No lo reescribas completo todavía.

Indica:
1. Errores de compilación, si los hay.
2. Errores lógicos.
3. Nombres de variables mejorables.
4. Una propuesta de mejora prioritaria.

Código:
[pegar aquí el código]
				

Esta técnica es útil antes de entregar una práctica, pero no sustituye la revisión personal ni las pruebas.

Precaución: La IA puede proponer cambios innecesarios o modificar el estilo del código sin motivo. Conviene pedir revisiones concretas y aceptar solo los cambios que se entienden.

1.8 Técnica 5: pedir ejemplos progresivos

Cuando un concepto resulta difícil, podemos pedir a la IA ejemplos organizados de menor a mayor dificultad.

Ejemplo de prompt:


Explícame los bucles for en Java con tres ejemplos progresivos:
1. Mostrar números del 1 al 5.
2. Calcular la suma del 1 al 100.
3. Recorrer una lista de nombres.

Después propón un ejercicio similar para practicar.
				

Los ejemplos progresivos ayudan a construir aprendizaje. Primero se entiende una versión simple, luego se añade dificultad y finalmente se aplica a un caso nuevo.

Uso recomendado: Esta técnica es especialmente útil para aprender estructuras de control, métodos, arrays, clases y manejo de errores.

1.9 Técnica 6: dividir problemas grandes en tareas pequeñas

Un error habitual es pedir a la IA que resuelva una aplicación completa de una sola vez. Esto suele producir respuestas largas, difíciles de revisar y con más probabilidad de errores.

Es mejor dividir el problema en tareas pequeñas:

  1. Definir requisitos.
  2. Diseñar las clases principales.
  3. Crear una primera función.
  4. Probar esa función.
  5. Corregir errores.
  6. Añadir la siguiente funcionalidad.

Ejemplo de prompt:


Quiero crear una aplicación sencilla para gestionar tareas.
No generes todo el proyecto todavía.
Ayúdame primero a definir las clases principales y sus responsabilidades.
El proyecto será en Java y lo estoy haciendo en primer curso.
				

Buena práctica: Trabaja con la IA igual que trabajarías en un proyecto real: pasos pequeños, pruebas frecuentes y revisión continua.

1.10 Técnica 7: pedir adaptación al nivel y a las normas del proyecto

La IA puede generar soluciones demasiado avanzadas para el nivel del alumnado o distintas al estilo trabajado en clase. Por eso es importante indicar el nivel y las normas que debe respetar.

Ejemplo de prompt:


Resuelve este ejercicio en Java con nivel de primer curso.
Restricciones:
- No uses arrays.
- No uses programación funcional.
- Usa nombres de variables en español.
- Utiliza tipos wrapper como Integer y Double.
- Añade comentarios solo donde sean necesarios.
				

Adaptar la respuesta al nivel permite que el código sea más comprensible y coherente con lo que se está aprendiendo.

Importante: Si una solución utiliza elementos que todavía no conoces, pide a la IA una versión más sencilla o una explicación antes de usarla.

1.11 Técnica iterativa: preguntar, revisar, corregir y volver a preguntar

Trabajar con IA no debería ser una única pregunta y una única respuesta. Lo normal es seguir un proceso iterativo parecido al desarrollo real de software.

  1. Preguntar: plantear una tarea concreta.
  2. Revisar: leer la respuesta y comprobar si cumple lo pedido.
  3. Probar: ejecutar el código o contrastar la explicación.
  4. Corregir: detectar errores o partes mejorables.
  5. Volver a preguntar: añadir nueva información o pedir ajustes.

Ejemplo de segunda pregunta después de probar:


He probado el código anterior con edad = 17 y edad = 18.
Funciona en esos casos, pero no valida edades negativas.
Modifica solo la condición necesaria y explica el cambio.
				

Idea profesional: La IA es más útil cuando forma parte de un ciclo de mejora, no cuando se usa como una máquina de copiar y pegar.

1.12 Cómo usar la IA para aprender sin copiar

El objetivo de utilizar IA en el módulo de Programación no es entregar ejercicios resueltos automáticamente, sino aprender a programar mejor. Para ello, debemos usarla como apoyo, no como sustituto del razonamiento.

Algunas prácticas recomendadas son:

  • Pedir explicaciones antes que soluciones completas.
  • Intentar resolver primero el ejercicio por cuenta propia.
  • Usar la IA para desbloquear una parte concreta.
  • Comparar la solución generada con la propia.
  • Probar el código con varios casos.
  • Reescribir el código con tus propias decisiones.
  • Ser capaz de defender oralmente qué hace cada parte.

Criterio de evaluación personal: Si puedes explicar el problema, justificar la solución y corregir un error en el código, estás usando la IA como herramienta de aprendizaje. Si solo puedes copiar la respuesta, estás dependiendo de ella.

2. Ejercicios

2.1 Mejora de prompts

Enunciado: Mejora los siguientes prompts para que sean útiles en una tarea de programación.

  1. Hazme una calculadora.
  2. Esto no va.
  3. Explícame los métodos.
  4. Corrige mi código.

Tareas:

  1. Indica qué información falta en cada prompt.
  2. Escribe una versión mejorada de cada uno.
  3. Añade al menos una restricción técnica en cada prompt.

2.2 Pistas en lugar de soluciones

Enunciado: Tienes que resolver este ejercicio: crear un programa que indique si un número fijo es par o impar.

Escribe un prompt para pedir ayuda a una IA cumpliendo estas condiciones:

  1. No debe darte la solución completa.
  2. Debe darte pistas progresivas.
  3. Debe usar nivel de primer curso.
  4. Debe mencionar Java.

2.3 Revisión crítica de código

Enunciado: Observa el siguiente código Java:


public class ValidarEdad {
	public static void main(String[] args) {
		Integer edad = -3;

		if (edad >= 18) {
			System.out.println("Acceso permitido");
		} else {
			System.out.println("Acceso denegado");
		}
	}
}
				

Tareas:

  1. Escribe un prompt para pedir a una IA que revise el código sin reescribirlo completo.
  2. Indica qué problema lógico debería detectar.
  3. Propón dos casos de prueba adicionales.

2.4 Comparación de alternativas

Enunciado: Necesitas calcular el precio final de un producto aplicando IVA.

Escribe un prompt para pedir a una IA dos soluciones distintas:

  1. Una solución directa dentro del método main.
  2. Una solución usando un método llamado calcularPrecioFinal.

El prompt debe pedir también una comparación entre ambas soluciones.

2.5 Trabajo iterativo con IA

Enunciado: Imagina que una IA te ha dado un código para calcular la media de tres notas, pero al probarlo descubres que no controla si alguna nota es menor que 0 o mayor que 10.

Tareas:

  1. Escribe una segunda pregunta para pedir una mejora concreta.
  2. Pide que la IA modifique solo lo necesario.
  3. Pide que explique por qué la validación es importante.

Reto: Diseña tu propio flujo de trabajo con IA

Elige una pequeña aplicación que puedas programar en Java, por ejemplo una calculadora de descuentos, un validador de contraseñas o un gestor simple de tareas.

Diseña un flujo de trabajo con IA formado por al menos cinco prompts:

  1. Un prompt para definir requisitos.
  2. Un prompt para pedir una primera propuesta de solución.
  3. Un prompt para pedir explicación del código.
  4. Un prompt para pedir revisión crítica.
  5. Un prompt para pedir casos de prueba.

Después, explica qué papel tiene el programador en cada paso y qué partes no deberían aceptarse sin revisión.

Entrega recomendada: Incluye los prompts, las respuestas más importantes de la IA, las decisiones que has tomado y una reflexión final sobre qué has aprendido.

3. Bibliografía