Inteligencia artificial

Programar con ayuda de la IA sin dejar de aprender

Qué pueden hacer los asistentes de programación, qué revisar siempre y cómo usarlos para aprender más rápido.

Los asistentes de IA para programar están integrados en los editores de código y en los chatbots generales. Pueden completar líneas mientras escribes, explicar un error, proponer una función entera o, en modo agente, recorrer un proyecto, hacer cambios en varios archivos y ejecutar las pruebas. Son una herramienta potentísima, pero tienen un riesgo especial cuando estás aprendiendo: que el código funcione sin que entiendas por qué.

Las formas de ayuda de un asistente de programación.Sugerencias (completa mientras escribes) / Chat (preguntas sobre tu código) / Agente (planifica, cambia y comprueba) / Revisión (resume y sugiere mejoras)Un asistente de códigoSugerenciascompleta mientras escribesChatpreguntas sobre tu códigoAgenteplanifica, cambia y compruebaRevisiónresume y sugiere mejoras
Las formas de ayuda de un asistente de programación.

Qué pueden hacer

La documentación de GitHub Copilot describe varias formas de ayuda que hoy ofrecen también otros asistentes:

  • Sugerencias en línea mientras escribes, desde una línea hasta una función completa.
  • Chat: preguntas en lenguaje normal sobre tu código («¿qué hace esta función?», «¿por qué falla?»).
  • Modo agente: describes un objetivo y el asistente investiga el proyecto, propone un plan, hace los cambios y comprueba el resultado. Como resume la documentación de VS Code: tú describes el resultado, revisas los cambios y verificas que funciona.
  • Revisión de cambios: resúmenes y sugerencias de mejora sobre lo que has modificado.

Copilot tiene un plan gratuito con funciones básicas, y GitHub ofrece acceso gratuito a funciones de pago a estudiantes y profesores que cumplan los requisitos. Hay alternativas: otros editores con IA integrada, extensiones de distintos proveedores y los chatbots generales, que también programan.

Monitor con gráficas en un escritorio con plantas
Foto: Serpstat · dominio público (CC0) · vía StockSnap

Lo que hacen bien

  • Explicar código ajeno, mensajes de error y conceptos («explícame qué es una promesa en JavaScript con un ejemplo»).
  • Escribir el código repetitivo que ya sabrías hacer: plantillas, conversiones de formato, pruebas sencillas.
  • Proponer alternativas y revisar tu código buscando fallos.
  • Traducir entre lenguajes o actualizar código antiguo.
Los riesgos que tienes que vigilar.No: Código que parece correcto y no lo es. No: Fallos de seguridad. No: Paquetes que no existen. No: Instrucciones ocultas en archivos y websRevisa siempreCódigo que parece correcto y no lo esFallos de seguridadPaquetes que no existenInstrucciones ocultas en archivos y webs
Los riesgos que tienes que vigilar.

Los riesgos que tienes que vigilar

  • Código que parece correcto y no lo es: puede usar funciones que no existen, versiones antiguas de una biblioteca o fallar en casos límite. Igual que con los textos, la IA se inventa cosas.
  • Fallos de seguridad: consultas SQL sin parámetros, innerHTML con datos del usuario, contraseñas en el código. Repasa seguridad al programar para reconocerlos.
  • Paquetes inventados: si sugiere instalar una biblioteca, comprueba en el registro oficial (PyPI, npm) que existe y es la que crees. Un nombre inventado o mal escrito puede coincidir con un paquete malicioso que alguien ha publicado precisamente esperando ese error.
  • Tus datos y los de tu empresa: el código que envías al asistente sale de tu equipo. No pegues claves, contraseñas ni código confidencial sin saber cómo lo trata el servicio y sin permiso de quien lo posee.
  • Instrucciones ocultas: en modo agente, el asistente lee archivos y páginas web que pueden contener órdenes maliciosas (prompt injection, el primer riesgo de la lista de OWASP para aplicaciones con modelos de lenguaje). Revisa los comandos que propone ejecutar antes de aceptarlos.
Portátil con código en la pantalla
Foto: Christina Morillo · dominio público (CC0) · vía StockSnap

Cómo usarla para aprender (y no solo para copiar)

  1. Intenta primero tú. Pide ayuda cuando te atasques, no antes.
  2. Pide explicaciones, no solo soluciones: «no me des el código, dame una pista» o «explícame línea a línea lo que has escrito».
  3. No aceptes código que no entiendas. Si no podrías explicarlo en voz alta, pregunta hasta que puedas.
  4. Escribe tú las pruebas o al menos piensa qué casos deben funcionar, y compruébalos.
  5. Trabaja con Git: haz un commit antes de dejar que un agente toque tu proyecto, para poder deshacer todo si no te convence.
  6. Sigue las normas de clase: muchos centros prohíben la IA en exámenes y prácticas evaluables o piden indicar cuándo la has usado. Entregar como propio código que no entiendes se nota en cuanto te preguntan por él.
Usar la IA para aprender, no solo para copiar.1. Intenta primero tú 2. Pide pistas y explicaciones 3. No aceptes lo que no entiendas 4. Haz un commit antes de usar un agente 5. Sigue las normas de clase1Intenta primero tú2Pide pistas y explicaciones3No aceptes lo que no entiendas4Haz un commit antes de usar unagente5Sigue las normas de clase
Usar la IA para aprender, no solo para copiar.

En resumen

Un buen asistente de IA es como un compañero que sabe mucho y escribe muy rápido, pero que a veces se equivoca con total seguridad. Úsalo para ir más rápido en lo que ya entiendes y para entender antes lo que todavía no sabes. Lo que llegue a tu proyecto, revísalo como si lo hubiera escrito otra persona: porque lo ha escrito otra «persona». Y cuando algo falle, la guía de leer errores y depurar sigue siendo tu mejor herramienta.