Educando con Inteligencia Artificial: Oportunidades y Dilemas

Las nuevas fuentes de ideas
Las nuevas fuentes de ideas.

Como parte del proceso de mejora continua que llevamos adelante en SODEP y en nuestra querida casa de estudios, la Facultad de Ciencias y Tecnología UC-Asunción, y apoyándome en mi rol de educador en ambas instituciones, decidimos modernizar nuestro trabajo incorporando asistentes en varias etapas del proceso de desarrollo de manera sistemática.

Producto de esta iniciativa nació una charla "Acelerando el desarrollo de software con prompt engineering" para el congreso JIT/CITA 2024.

Ahí realicé una demo práctica de cómo asistentes de IA (específicamente chatGPT y Github Copilot), ayudaban a construir en minutos una demo de una aplicación para Android hecha en Flutter.

Por un lado tenemos el resultado en sí, sorprendente de lograr en menos de 20 minutos, por más experto que uno sea en un lenguaje para generar interfaces gráficas. Por otro lado, quiero compartir la sección de preguntas que dio lugar a un debate muy interesante:

Persona 1: Mi pregunta es sobre lo que decías de dar las instrucciones de forma incremental para que el asistente no se cuelgue. Anteriormente, cuando buscábamos en internet, hacer preguntas en inglés daba mejores resultados. ¿Eso importa en el prompt engineering?

Respuesta: Sí, importa, porque finalmente la traducción llega (casi siempre) al modelo en inglés. Si hacés la misma pregunta en castellano o inglés, puede que te responda directamente en inglés, aunque la pregunta fuera en castellano. Al traducir un texto varias veces, el significado se altera. Aunque no soy un experto escribiendo en inglés, en español también funciona muy bien y es muy probable que la traducción del asistente sea mejor que mi inglés escrito.

Persona 2: Supongamos que queremos construir un sistema más sofisticado, pasando la etapa de análisis, diseño, y nos vamos a la fase de codificación. ¿Habrá alguna instancia donde estos asistentes o agentes puedan ayudarnos a construir todo de una vez, pero de una manera menos incremental, como mencionaste?

Respuesta: Sí, ya hay modelos en prueba para esto. Copilot tiene una versión beta se llama Copilot Workspace. En ChatGPT, existe ChatGPT with Canvas, aunque aún está en beta. Estos modelos te ayudarán desde el análisis, proponiendo diseños de arquitectura, y si ya hay aplicaciones similares construidas, te las sugerirán como base. Esto es lo que se veía en videos de los asistentes IA hace dos años, pero uno intentaba probarlos y eran inusables debido a los constantes errores en las herramientas. Hace unos pocos meses (sep/2024) cuando volvimos a probar, las herramientas se han vuelto muchísimo más útiles. Estamos a unos años, quizás dos o tres, de ver asistentes que acompañen a los equipos de desarrollo desde el análisis hasta la implementación.

Persona 3: Con cada mejora de esta tecnología, cada vez dependemos más de ella. Como estudiantes y futuros profesionales, ¿cómo podemos balancear el impulso de productividad que nos brinda esta herramienta con el aprendizaje profundo que obtenemos al hacer las cosas por nuestra cuenta? Queremos evitar convertirnos en "expert beginners", personas que pueden hacer cosas complejas sin entender realmente el trasfondo.

Respuesta: Lo más importante es la experiencia de programar. No hay asistente, herramienta o curso intensivo que pueda suplir la experiencia práctica. La experiencia es la que te permite entender verdaderamente los problemas y las soluciones. Cuántas veces nuestra mamá nos dice: "Te va a pasar tal cosa si estás mojado, si no te abrigas bien", y hasta que no lo sufrimos, no lo entendemos. Esa es la experiencia.

La IA es una herramienta que no reemplaza la experiencia. Es un facilitador que acorta ciertas tareas. Les puedo asegurar que dentro de un tiempo, veremos aplicaciones totalmente generadas por IA y tendrán sus 15 minutos de fama, hasta que alguien salga lastimado o termine preso por no haber revisado adecuadamente el código generado. Porque si no tenés la experiencia para mirar el código con ojos críticos y auditar para que no cause algún daño, sin duda habrá problemas.

La experiencia de trabajar en un equipo de desarrollo, de participar en proyectos grandes, de leer libros completos es fundamental. Leer un libro entero es muy diferente a leer un resumen o pedirle a ChatGPT que lo resuma. La forma en que un autor construye su redacción, cómo te sumerge en el contexto, es una experiencia totalmente diferente al aprendizaje que sacarías de un resumen generado por IA. La experiencia de leer y conectar lo que aprendés con tus propias experiencias es invaluable.

Créditos: https://commons.wikimedia.org/wiki/File:2023-06-11_Bookworm_by-David-Revoy.jpg

Entonces, sí, el aprendizaje profundo que uno saca al hacer las cosas por cuenta propia sigue siendo mucho más importante que cualquier herramienta a la que puedan acceder que les acorte ciertos caminos.

Persona 4: En la programación tradicional, podés licenciar los códigos de diferentes maneras, público o propietario. En el caso de la IA, ¿cómo queda licenciado el código generado? ¿Podría considerarse código propietario o en qué dominio legal cae?

Respuesta: De hecho, ya hubo problemas legales con ChatGPT y las editoriales, ya que ChatGPT no citaba sus fuentes y a veces reproducía textos de autores sin reconocimiento. Open AI ha tenido problemas legales por esto. Con los asistentes de código, en teoría, solo deberían ofrecer código que pueda ser compartido, pero hay un área gris con ejemplos de sitios como Stack Overflow, donde no siempre se especifica una licencia. Sugiero a mis alumnos que den crédito cuando utilizan estos asistentes. Además, hay que considerar los contratos de confidencialidad con clientes. Esto plantea nuevos problemas legales con las nuevas herramientas. Las IAs generativas pueden construir código basado en lo que han aprendido, no necesariamente copiando directamente de un repositorio.

Fin de la sesión de preguntas y respuestas.

Redactando este post, tuve la asistencia de:

  • Machine Learning de Youtube/Google que generó el transcript de mi charla y me permitió editarla.
  • Grok 2 (de xAI) que sugirió títulos analizando el texto y mi historial de tweets; y me ayudó con la imagen para el post.
  • chatGPT (GPT-4o) que también sugirió títulos y correcciones menores de la ortografía y gramática; manteniendo prácticamente el mismo contenido que generamos durante la charla en JIT/CITA 2024.

Un post de esta misma longitud, me hubiera tomado al menos el triple de tiempo si no hubiese tenido los asistentes disponibles.

Este ejercicio y charla mostraron cómo la IA puede acelerar procesos complejos, pero también planteó preguntas sobre ética, coherencia y honestidad en su uso, especialmente en la licencia de código o dar el crédito de lo que uno produce siendo asistido. Este post no solo resalta las capacidades de la IA en desarrollo, sino que invita a reflexionar sobre su integración ética en nuestra práctica profesional. En SODEP y la Universidad, desde el inicio, hemos priorizado estos valores y seguiremos haciéndolo, independientemente de las herramientas que usemos.
Más allá de lo que la IA puede hacer, la clave está en cómo decidimos utilizarla.