Desarrollar PruneOps con IA (y la frustración que conlleva)
Desde que empecé el proyecto de PruneOps, todo el código lo he escrito con IA. Como todo el mundo, he probado algunos modelos y clientes distintos, no entraremos en eso (ni tampoco en el consumo de tokens y sus precios), cada uno tiene su opinión y preferencia al respecto. Pero lo que sí que he encontrado es que todos los LLM hacen lo mismo: generan. No importa que tengas funciones genéricas, abstracciones de clases o cualquier otra cosa: siempre generan código nuevo desde cero, ignorando todo eso.
Al principio no era un problema, empezaba a generar y yo seguía adelante, pero a medida que vas creciendo ves que eso no es sostenible. He dedicado (y dedico) días enteros a hacer refactors para estandarizar código, obligar a crear y utilizar funciones genéricas, y no por vicio ni por quedar bien, sino porque después es imposible cambiar las cosas: tienes mil sitios distintos que revisar y siempre se te escapa alguno.
Un ejemplo: en un momento dado tenía decenas de templates para las páginas de auditoría de la plataforma, cada una con su tabla independiente. Después de un buen esfuerzo, todas las páginas de auditoría comparten ahora un mismo template (y las de overview, otro) y toda la información llega y se muestra en el mismo formato.
También me he dado cuenta de que necesito hacer tareas pequeñas, para poder controlar al detalle los cambios. Puede que no sea la mejor manera, seguro que hay gente que sabe mucho más, pero en el fondo soy un administrador de sistemas que juega a programar en su tiempo libre.
Aun así, no pienso volver atrás: el balance sigue siendo positivo. Me lo estoy pasando muy bien y espero poder sacarle algún provecho.
Si quieres ver lo que va saliendo de esta relación tan intensa, en el blog de PruneOps escribo sobre FinOps, costos cloud y gestión de infraestructura cloud:
- Blog: pruneops.run/blog