Hay varios aspectos de la inteligencia artificial que me molestan o a los que me cuestan adaptarme. Hay gente que se sorprende que aún no la uso a full para desarrollar (la utilizo parcialmente) pero es la misma gente que pone cara de sorpresa cuando se enteran que no uso un IDE (uso vim y esta gente nunca se preguntó sobre mi productividad real). Y para ser honesto me está llevando más tiempo que al resto. Hay gente que está adoptando su uso en forma muy rápida.
Pero esa velocidad en la adopción va de la mano en que mucha gente no está comprendiendo el código que están generando. Hacen cambios y los suben a producción de odoo.sh sin entender lo que hacen, solo se aseguran de tener el backup a mano. Y ahí está el riesgo. Días atrás Dries Buytaert (el creador de Drupal y un programador con las dotes de comunicación de las que carece Fabien -no las necesita por lo cierto, pero la comunidad sí) hizo un post titulado "Never submit code you do not understand".
En este post tiene un muy buen parrafo donde explica el problema. En ese post indica (solo traduzco al español lo que indica el post) que en Open Source todo el código necesita comprendido y revisado antes de ser submitido. Esa responsabilidad corresponde tanto a los contribuidores como a los mantenedores. La inteligencia artificial cambia como el código es escrito, pero no cambia esa responsabilidad. De hecho, hace que sea más facil de olvidar.
En Odoo ese problema se da con el hecho que tenemos muchos clientes (muchos con un background que va desde haber hecho la escuela técnica a haber estudiado computación en la universidad, a los que se suman los entusiastas que leían la Revista Lupin cuando eran adolescentes) que están acostumbrados a modificar el código utilizando Odoo Studio y ahora con Claude se animan a desarrollar sus propios módulos.
Lo cual está muy bien, eso hace que tengamos más implementaciones dando vueltas. Tengo dos clientes que por su cuenta pusieron en marcha Mercadolibre con la ayuda de IA; algo que no podrían haber hecho un par de años atrás. Es algo bueno, solo tengo que acostumbrarme al hecho que no podemos controlar todo. A la larga vamos a tener más implementaciones de Odoo dando vueltas con más implementaciones. Y vamos a tener tiempo para dedicarle a temas más divertidos, en lugar de lidiar con temas aburridos como el formato de los remitos preimpresos o "el impuesto a los corazones rotos" que impuso el intendente de Huinca Renanco (elijo esta noble ciudad de manera arbitraria, tambien podría haber elegido Calamuchita. Nunca Buenos Aires, sabemos que nuestros impuestos van a los temas que realmente le preocupan al vecino).
Pero tenemos un riesgo. Si no comprendemos el código corremos riesgos con nuestras instalaciones que antes no corríamos (al fin y al cabo se están haciendo cosas que no se comprenden). Y muchas veces terminan ocurriendo errores involuntarios, como por ejemplo cientos de facturas generadas de manera automática y validadas por AFIP (le sucedió a un cliente con un error que cometieron en el módulo de contratos). Mi punto es, van a ocurrir errores involuntarios generados por la inteligencia artificial que van a necesitar bomberos de verdad para arreglarlos.
Y el primer paso para mitigar este riesgo es, mejorar los backups. En odoo.sh no podemos hacer mucho al respecto; pero tenemos muchas implementaciones que son community y ahí si debemos tener una medida de seguridad.
El otro punto es someter los cambios que pasan a producción por alguien con seniority y que revise lo que se hace. No digo que se lo haga con tiempo, pero si con regularidad y de vuelta. Por alguien con seniority. El hecho que tengamos IA no significa que nos tengamos que deshacer de nuestra responsabilidad de entender nuestro trabajo, nos obliga a ser mejores en lo que hacemos (hay un excelente capítulo del podcast Cautionary Tales del economista Tim Harford, titulado "Flying too high" en el que hablan de la paradoja de la automatización y de los riesgos de depender en demasía de herramientas automáticas). Entonces vamos a necesitar en algún punto establecer mecanismos de control en lo que hacemos. En este caso es agregar la revisión de código con el ánimo no solo de detectar riesgos, sino además de comprender y aprender más lo que se está haciendo. Ya que de vuelta, la inteligencia artificial no nos quita la responsabilidad de aprender, nos tiene que hacer mejores en nuestro trabajo.