Programando con IA
Hoy estaba probando un agente de IA para programar dentro de una VM. Parece que hay un bug en el cli que hizo que me rindiera, al menos por ahora: "que arreglen el bug y continúo otro día".
¿Ya no soy lo suficientemente capaz de hacer lo que quería hacer por mi propia cuenta? En realidad sí, podría tratar, pero me tomaría más tiempo. Me tomaría un tiempo que creo que podría aprovechar en otras cosas. Paradójicamente, en una tarea anterior el agente me ayudó a desarrollar algunas cosas en la que tenía escasa experiencia y el trabajo algo manual lo hice yo, a la antigua. Parte del disfrute de programar es solucionar problemas, usar tu intelecto, tu creatividad. Lo que hizo la IA por mí en el caso que comento no era de ese tipo, sino uno de ir a la documentación y bucear hasta encontrar partes que me sirvieran y construir lo que necesito. Eso es también manual pero uno menos activo. El trabajo que yo sí hice manualmente era más activo, buscaba los archivos, importaba módulos, buscaba la línea más adecuada para agregar nuevas instrucciones. y demás. Algunos autores enfatizan que nuestro trabajo es artesanal, y este trabajo se disfruta así, entras en estado de flow, las horas pasan y no lo sientes. Con el facilismo que nos puede proveer la IA perdemos esto, podemos perder ese gusto que de vez en cuando se disfruta, siempre en su debida dosis. Se dice también que el código que los agentes nos ofrece es el de un programador promedio. Tiene sentido si es que no hay distinción entre código útil y código basura. En la IA como muchas cosas en la vida, si le das basura, te da basura. Por eso es necesario el control humano: al final los responsables somos nosotros. Para evitar la mediocridad podemos hacer una investigación a fondo para estar seguros, ahí viene un uso responsable de la IA, que ella bucee y nos traiga lo que queremos, con las respectivas referencias bibliográficas por su supuesto. Con esto aprendemos y verificamos si la IA hizo bien o lo podemos mejorar.
Hay mucho que hablar sobre la IA en la programación, y ya se ha hablado bastante durante los años pasados, desde los primigenios autocompletadores de código hasta el burdo vibe coding que puede traernos algo interesante. Visto desde la perspectiva de una persona común o un empresario, el producto digital generado por IA puede cumplir sus mínimos criterios, pero desde el lado del código la historia posiblemente sea otra, lo más probable es que sea algo no muy mantenible, y sin un buen control, ese producto digital posiblemente sea desechado. El código humano tiene sesgos que pueden hacer que el código sea más complejo de lo debido. Con el vibe coding seguramente estos sesgos están siendo mantenidos, difundidos y reforzados. Para esto alguien técnico debe dar las guías necesarias, esto es algo muy sabido, espero yo. Se ha dicho por ahí también que llegará el día en que dejemos de programar. Que ese lenguaje de programación será el natural. Por ahora, enfoquémonos en usar la IA como ingenieros de software, que la IA nos ayude a detectar errores, prever bugs, mejorar la mantenibilidad del código, ayudarnos a reducir tiempos de investigación, etc. "With great power comes great responsibility."
