KUANTYKtodo

El hábito que no puedes delegar

·tecnología

A ver, vamos a usar el término IA a partir de ahora para referirnos a la inteligencia artificial, dicho esto, también digo que no soy ningún escritor, puede haber incoherencias o errores narrativos, así que trataré de explicarme lo más cerca posible de lo que tengo en la cabeza.

La IA ha venido a cambiar las reglas del juego, nos guste o no, y mi consejo es aprovecharla mientras dure, igual dura más de lo que predicen algunos, ojalá, igual te digo que si solo se usara para programar, no hubiese tanto miedo al futuro, yo lo firmaría, y creo que sería mucho más fácil de mantener si solo se usara para programar, pero bueno todo debe ser rentable y supongo que los programadores no somos una masa suficientemente grande como para suplir los costes de la IA y generar ganancias.

Dicho esto, programar con IA también tiene sus desventajas a largo plazo, si solo programas con IA, y no haces nada ya a mano, puede que poco a poco pierdas la capacidad de programar como antes, a mano, artesanalmente, que igual no preocupa, igual la IA vino para quedarse y los programadores pasamos a un rol más de análisis y pruebas, pero igual, y por si acaso, no deberíamos dejar de lado la programación a mano, porque cabe la posibilidad de que un día ya no tengamos IA. Aprovechemos esta etapa para aprender del código hecho con IA y mejorar nuestras habilidades como programadores, ya que no podemos negar que la IA programa y programa bien.

La IA programa, y programa bien

Igual en el momento en que lees este artículo ya hay otros patrones, hoy en día el más popular es la programación con agentes, y la utilizo a diario. No podemos negar la calidad y capacidad de la IA para programar, y lo agradezco. La productividad de los programadores se ha elevado y la IA ha pasado a ser parte casi imprescindible de las empresas tecnológicas de cualquier tamaño, y da gusto vivir esta era privilegiada para los programadores.

Seamos honestos, por mucho que se critique, la IA programa muy bien, más allá del modelo y las reglas, en general el código generado con IA puede tener el nivel del mejor programador del mundo, sin duda, lo que pasa como todo, es el humano el problema siempre, y siempre lo será, el código se revisa, y somos vagos y no lo hacemos.

La IA no deja de ser otro programa que estamos usando y puede cometer errores, el mayor error es pensar que la IA no se equivoca, claro lo que pasa es que la tasa de fallos es muy baja y es lo que se persigue con modelos cada vez más potentes, de hecho, a fecha de este artículo puedo decir que ya tenemos modelos con margen casi cero de error, como digo, el error está en la mayoría de los casos en no saber cómo pedirle las cosas a la IA.

El músculo se atrofia sin avisar

Todo viene con un precio, aparte del que pagas por la IA, en este caso es que inevitablemente cuando dejamos de hacer algo por mucho tiempo vamos perdiendo la capacidad de hacerlo, se nos va degradando la habilidad, y esto es con todo, no solo con la programación. Entonces lo peor es que no nos damos cuenta hasta que debemos hacer esa actividad de nuevo, cinco años después.

Entonces viene la otra parte, que olvides la sintaxis de un lenguaje o los componentes de un marco de trabajo no es el problema, eso se refresca rápido, en un día vuelves a ello leyendo una documentación, el problema real es el criterio, la toma de decisiones, eso no se recupera leyendo una documentación, el decidir qué hacer y cuándo hacerlo, elegir la línea de código adecuada en cada momento, eso no es algo que se recupere rápido.

Igual no es preocupante, igual la IA llegó para quedarse y nuestro rol como programadores pasa a ser más de análisis y pruebas, pero al menos yo no quiero que si la IA un día no está me toque volver a aprender a programar. Debemos seguir en contacto con el código, mirar al menos lo que hace la IA, cuestionar todo, pensar si lo hubiéramos hecho igual nosotros, aplaudir y aprender si el camino de la IA no se nos hubiera ocurrido, eso también nos hará mejores programadores.

El día que no esté

Yo realmente no tengo la seguridad de que tendremos siempre IA, ojalá me equivoque, y este es el punto de todo el artículo, si tuviera la certeza de que siempre vamos a tenerla, no haría este artículo, no tiene sentido. La IA es muy costosa, no está dando ganancias reales a casi ninguna empresa que la provee, entonces la posibilidad de que un día no la tengamos siempre estará sobre la mesa.

La otra variante que no descarto es comprar una computadora potente como para correr modelos locales, que creo que para programar son más que suficientes, pero no todo el mundo podrá darse ese lujo y montar un servidor en algún proveedor en línea corriendo una IA pues es muy costoso.

La otra variante es que programemos, como siempre, como antes de la IA, que igual buscábamos en Internet en plataformas y foros de programadores, al final seguimos apoyándonos en recursos externos para programar, la diferencia es que ahora ya lo tenemos integrado en nuestro IDE y antes teníamos que pensar en dónde poner cada pieza del rompecabezas que estuviéramos haciendo, leer documentaciones, integrar, decidir. Si la IA desaparece hoy, ¿cuánto tiempo crees que tardarías en volver a ser el que eras?

Dónde trazo la raya

No te voy a mentir, yo también me dejo llevar y paso días sin ver el código que voy haciendo, y este artículo es una autocrítica y, a la vez, un aviso para que no hagas lo mismo que yo. Debemos ser más desconfiados del código que nos hace la IA, solo con eso tenemos gran parte del trabajo, pues la desconfianza nos hará ir al código y ver, auditar, detectar sobreingeniería, caminos largos, y al mismo tiempo nos refresca lo que sabemos y no queremos perder.

Mi recomendación, que es para mí también, es esa, desconfía, comenta con colegas, ese debate mantiene las capacidades y el criterio frescos. Trata de tomar tú las decisiones importantes de comportamiento, que la IA solo haga lo que tú quieres, cómo lo quieres. Arma el algoritmo de la funcionalidad en tu cabeza, entrena el criterio.

La IA debe decidir el cómo, pero tú debes decidir el qué. Haz una secuencia de qué quieres hacer, qué quieres lograr, detalla bien el comportamiento esperado, tu criterio es el que te va a diferenciar de la IA, cuando tengas todo en tu cabeza entonces le escribes a la IA y que ella solo decida si usar un IF o un SWITCH. Si tu algoritmo lleva una parte en la que debes ordenar una lista de menor a mayor, tu valor y criterio está en darte cuenta de que necesitas ese paso, no malgastes tu tiempo en programar esa lista, ahí es donde entra la IA.