- En desarrollo de software, el Bus Factor es un concepto que indica cuántas personas deben poseer cierto conocimiento para que el proyecto pueda mantenerse; antes, el peor caso era 1
- Sin embargo, desde la publicación de ChatGPT (30 de noviembre de 2022), a medida que la IA generativa fue adoptada masivamente, muchas personas dejaron de preservar el conocimiento por sí mismas y comenzaron a depender de la IA, creando en la práctica una situación de bus factor 0
- En el trabajo de programación, cada vez más desarrolladores usan tal cual el código y las funcionalidades generadas por LLM, renuncian al esfuerzo de entender la base de código y pasan al “vibe coding”
- Como resultado, al corregir bugs, aplicar parches de seguridad o ampliar funcionalidades, pueden enfrentarse a una situación en la que nadie sabe por qué el código fue escrito de esa manera
- Esto plantea riesgos graves para la confiabilidad y la seguridad del software, y existe una limitación fundamental hasta que llegue el día en que la IA genere código perfecto de forma perfecta
El concepto y la historia del bus factor
- El bus factor es un concepto que expresa numéricamente entre cuántas personas se comparte cierto conocimiento
- Ejemplo: si 3 personas saben cómo restaurar un respaldo de base de datos, el bus factor de esa función es 3
- Tradicionalmente, el peor valor era 1; si una persona perdía ese conocimiento, el proyecto no podía mantenerse
- La humanidad ha difundido ese conocimiento para superar esto mediante documentación, enseñanza, transferencia de conocimiento, seminarios, escuelas y muchos otros métodos
- Esto ha llevado a intentos sistemáticos de transmitir y preservar el conocimiento, invirtiendo enormes recursos humanos y tiempo
La adopción de la IA y el bus factor 0
- Con el lanzamiento de ChatGPT en noviembre de 2022, se abrió la era “AI First”
- En el proceso de generar código y funcionalidades, la IA ha excluido a muchas personas como sujetos de preservación del conocimiento, y estas comenzaron a depender de lo generado por la IA, reduciendo drásticamente su comprensión del proyecto
- Como resultado, aparece una situación en la que ya no hay nadie que posea el conocimiento, es decir, un escenario de bus factor 0
- Los programadores muestran una tendencia a no escribir ni comprender por sí mismos el código y las funcionalidades, sino a delegarlo por completo en la IA
- En este proceso, los desarrolladores evitan comprender la base de código y documentarla, y pasan a un patrón de simplemente volver a pedirle explicaciones a la IA
Problemas de programar con LLM
- Incluso dejando de lado los problemas de calidad del código, el punto clave es que leer y mantener código es intrínsecamente más difícil que escribirlo
- Antes, al menos un mentor o la documentación brindaban una ayuda mínima, pero en un entorno dependiente de la IA incluso esa red de seguridad desaparece
- En el desarrollo basado en LLM, el proceso de generación de código no queda registrado y ni siquiera la propia IA recuerda el contexto del código que generó
- Al final, los desarrolladores quedan en la situación de tener que analizar y modificar código escrito por la IA pero con un contexto poco claro
- Esto provoca un estado en el que nadie puede conocer la intención ni la estructura del código al resolver bugs, parchear vulnerabilidades de seguridad o actualizar dependencias
Riesgos desde la perspectiva del usuario
- No solo los desarrolladores, también los usuarios quedan expuestos al riesgo
- El software al que se suben documentos personales, información de tarjetas de crédito, fotos privadas o pensamientos íntimos podría haber sido creado con código cuyo propósito y estructura interna nadie conoce
- Esto implica riesgos graves en términos de protección de datos y confiabilidad, y genera dudas sobre la estabilidad del servicio
Conclusión
- El vibe coding que provoca un bus factor 0 es un enfoque fundamentalmente defectuoso
- Esta es una limitación inevitable mientras la IA no pueda generar código 100% correcto a partir de prompts 100% correctos
- Por lo tanto, en la situación actual, además del uso de la IA, no se puede pasar por alto la importancia de la preservación del conocimiento y la comprensión del código, y es indispensable mantener sistemas de gestión del conocimiento y documentación
Aún no hay comentarios.