IA facilita proyectos personales, incluso para novatos

Fuentes: Building for an audience of one: starting and finishing side projects with AI

El artículo de Loris Bognanni explora cómo la inteligencia artificial (IA) puede facilitar la creación de proyectos personales, incluso para aquellos con poca experiencia en tecnologías específicas. El autor describe la creación de 'FastTab', un reemplazo personalizado para el selector de tareas de KDE Plasma, como un ejemplo práctico. El problema original era una lentitud en el selector de tareas, algo que afectaba a un nicho de usuarios (un 'público de uno') que aún utilizan X11 y KDE.

El proceso comenzó con una simple frustración y una conversación con Claude, un modelo de lenguaje. En lugar de intentar solucionar el problema directamente, el autor utilizó Claude para generar una especificación detallada del nuevo selector de tareas, dividiéndola en hitos manejables. Esto permitió crear un prototipo funcional en pocos días, a pesar de la falta de experiencia en Zig (el lenguaje de programación elegido) y en los detalles internos de X11. La clave fue iterar sobre la especificación, refinándola hasta que se comprendiera completamente. Se enfatiza la importancia de usar pseudocódigo en lugar de código real en la especificación inicial para evitar que el modelo de lenguaje se centre en detalles de implementación prematuros, y el uso de diagramas Mermaid para una mejor visualización.

Para mitigar los riesgos asociados con la ejecución de código generado por IA, el autor implementó varias precauciones: uso de control de versiones (Git) para revertir cambios, un área de preparación (staging area) para revisar los cambios antes de confirmarlos, y contenedores Docker personalizados (a través de 'contai') para aislar el entorno de desarrollo y evitar daños al sistema principal. También se le indicó al modelo de lenguaje que operaba dentro de un contenedor con limitaciones específicas.

El artículo también aborda los desafíos prácticos del uso de herramientas de IA para codificación, como el consumo de tokens (el costo de usar los modelos de lenguaje) y la necesidad de refactorizar el código generado para mejorar su modularidad y mantenibilidad. El autor destaca que, aunque la IA puede generar un código funcional, el conocimiento de programación sigue siendo esencial para comprender, depurar y mejorar el resultado. Finalmente, el autor reflexiona sobre el futuro de la IA en el desarrollo de software y la posibilidad de que los modelos de código abierto alcancen el nivel de los modelos comerciales.