【Informe de clase】 Desarrollo de Sistemas (3.º año), Semana 47
— Práctica de implementación de IA generativa: llamar de forma segura, mostrar de forma segura —
En la Semana 47, basándonos en el diseño que aprendimos la vez pasada, hicimos una implementación práctica que realmente llama a una API de IA generativa.
El tema fue claro.
No solo “puede llamar a la API”, sino “es seguro usarla”.
Esto se convirtió en el primer paso hacia una integración de IA controlada y responsable—una que no se queda solo en la conveniencia.
■ Introducción del profesor: “La IA no termina en la salida”
Sr. Tanaka: “El objetivo de hoy no es ‘mostrar tal cual el texto que devuelve la IA’.
Es ‘verificarlo, formatearlo y convertirlo en algo de lo que puedas hacerte responsable’.”
El profesor escribió estas tres etapas en la pizarra:
- Preparar la entrada (diseño del prompt)
- Verificar la salida (comprobaciones de formato/contenido)
- Controlar la visualización (consideraciones de UI y fallback)
■ Objetivos de hoy
- Llamar a una API de IA generativa desde código
- Ensamblar prompts en la capa de Service
- Restringir el formato de salida
- Implementar comportamiento de fallback ante salidas inesperadas
■ Práctica ①: Diseño seguro del prompt
Empezamos por controlar la entrada antes de enviarla a la IA.
Mejoras que implementamos
- Limitar la longitud de la entrada del usuario
- Filtrado simple de palabras de riesgo
- Especificar explícitamente el formato de salida
- Añadir restricciones como “No añadas hechos”
Ejemplo (concepto)
Eres una IA asistente para un sistema de biblioteca.
Resume el siguiente texto en 100 caracteres o menos.
No añadas ningún hecho.
La salida debe ser solo una oración.
Estudiante A: “Cuando las instrucciones son específicas, ¡la salida tiembla menos!”
■ Práctica ②: Implementar llamadas a la IA en la capa de Service
Siguiendo la estructura que diseñamos la vez pasada, creamos una clase cliente de IA y la llamamos desde la capa de Service.
UI
↓
SummaryService
↓
AiClient
↓
API de IA generativa
Imagen de aprendizaje (simplificada)
def summarize(self, text):
prompt = self.build_prompt(text)
result = self.ai_client.generate(prompt)
return self.validate_output(result)
Puntos clave:
- La UI no “conoce” directamente a la IA
- Las llamadas a la IA siempre pasan por la capa de Service
- La validación de salida ocurre en la capa de Service
Estudiante B: “Puedes tratar la IA como ‘una API externa más’.”
■ Práctica ③: Añadir validación de salida
Esta fue la parte más importante de hoy.
Comprobaciones que realizamos
- ¿Supera el límite de caracteres?
- ¿No está vacía?
- ¿Contiene palabras prohibidas?
- ¿Es una sola oración?
if len(result) > 120:
raise ValueError("La salida es demasiado larga")
Si la validación falla, nosotros:
- La reemplazamos por un mensaje fijo
- Mostramos “No es posible generar un resumen en este momento”
- Registramos los detalles para depuración
Estudiante C: “Lo importante es diseñar para no confiar en la salida de la IA.”
■ Práctica ④: Diseño de fallback
Implementamos un comportamiento alternativo por si la IA falla.
Ejemplos
- Devolver una plantilla fija
- Mostrar el comienzo del texto original
- Desactivar la función de IA y volver al modo normal
try:
summary = service.summarize(text)
except Exception:
summary = "No es posible generar un resumen en este momento."
Estudiante D: “Se siente más seguro cuando está diseñado para funcionar bien incluso sin ella.”
■ Práctica ⑤: Consideraciones de visualización en la UI
Por último, añadimos elementos de UI para indicar claramente que el contenido fue generado por IA.
Ejemplos:
- “Generado automáticamente por IA”
- Mostrarlo como texto pequeño y secundario
- Avisar sobre la posibilidad de errores
Profesor: “La transparencia genera confianza.”
■ Aprendizajes de toda la clase
- Usar IA generativa como una “función de asistencia útil”
- La capa de Service asume una gran responsabilidad
- La regla más importante es: no mostrar la salida tal cual
- El diseño de logs se vuelve aún más importante
■ Comentario final del profesor
“La integración de IA generativa trata menos de
‘habilidad técnica’ y más de ‘habilidad de diseño’.
Usar IA es fácil.
Pero construir un diseño que
se mantenga seguro con el tiempo es la verdadera capacidad.”
■ Tarea (para la próxima semana)
- Crear un diagrama de diseño de seguridad (entrada → IA → validación → visualización) para el caso de uso de IA de hoy
- Añadir tres reglas más de validación de salida
- Escribir un mensaje de notificación al usuario para cuando la IA devuelva contenido incorrecto
■ Avance de la próxima semana: ciclos de evaluación y mejora para IA generativa
La próxima semana evaluaremos salidas usando logs y ejecutaremos un ciclo de mejora (ajuste de prompts y validación más fuerte).
La Semana 47 fue un primer paso práctico para integrar IA generativa de forma “controlada”.
El alumnado está aprendiendo de manera constante a contener la IA dentro del diseño, en lugar de dejarse arrastrar por ella.
