GoSuda

Metodología de Desarrollo AI-Native

By gosunuts
views ...

La IA y los desarrolladores

La perspectiva de los desarrolladores hacia la IA es compleja. Si bien la IA ha permitido un aumento sin precedentes en la productividad y la adquisición de información, simultáneamente está transformando fundamentalmente el rol del desarrollador. Algunos predicen que la IA evolucionará hasta convertirse en AGI y reemplazará a la mayoría de los desarrolladores, mientras que otros la menosprecian como una herramienta sobrevalorada, afirmando que el valor intrínseco de los desarrolladores permanece inalterado. Aunque estas actitudes parecen opuestas, sorprendentemente se asemejan en su tendencia a juzgar la IA con los parámetros de los paradigmas de pensamiento existentes.

Sin embargo, lo crucial aquí no es juzgar o evaluar la IA. El verdadero núcleo radica en cómo debe cambiar la mentalidad de desarrollo en un contexto donde la IA es un prerrequisito, y cómo deben reestructurarse los roles de los desarrolladores y las organizaciones para adaptarse a esta transformación. Con este fin, hemos sistematizado la metodología de desarrollo de IA a través del siguiente análisis de 3 etapas.

Desarrollo dependiente de la IA

El desarrollo dependiente de la IA es una etapa en la que la IA se establece como el sujeto de juicio y sus resultados se aceptan acríticamente. En esta etapa, el desarrollador percibe la IA como una entidad que organiza e implementa sus ideas, e incluso la acepta como un sustituto al que se le pueden delegar el juicio y la responsabilidad.

Este enfoque parece, superficialmente, aumentar drásticamente la productividad. Sin embargo, en realidad, se acumula rápidamente código inexplicable e irresponsable. Cuando surgen problemas con el código así generado, nadie puede emitir un juicio seguro sobre por qué se adoptó esa estructura o qué elección fue la correcta.

En esta etapa, la IA solo produce resultados poco confiables, y el desarrollador se limita a consumir esos resultados. En consecuencia, tanto la IA como el desarrollador se utilizan de manera ineficiente, sin que se acumule ninguna capacidad real.

Desarrollo con uso de IA

El desarrollo con uso de IA es una etapa que se observa en desarrolladores más hábiles. En esta etapa, el desarrollador percibe la IA no como un sustituto del juicio, sino como una herramienta poderosa que aumenta la productividad. El desarrollador en esta etapa sigue siendo el sujeto del diseño y del juicio final, delegando a la IA tareas repetitivas y costosas como la generación de código, el refactoring, la depuración y el resumen de documentos. Este enfoque reduce significativamente la proporción de tareas repetitivas del desarrollador y puede aumentar drásticamente la productividad manteniendo la confiabilidad.

Sin embargo, este enfoque presenta una limitación estructural: el contexto de diseño y el juicio no se retroalimentan. Dado que la dirección del desarrollo y el proceso de juicio permanecen confinados a la reflexión individual del desarrollador y no se comparten con la IA, esta no acumula los cambios ni el crecimiento del desarrollador. Como resultado, el contexto de diseño y la capacidad de juicio quedan aislados en el desarrollador.

Debido a esto, no se forma un ciclo de aprendizaje entre el desarrollador y la IA, y la capacidad de utilizar la IA no se expande más allá de las competencias existentes del desarrollador. El crecimiento se atribuye al individuo, y con el tiempo, la brecha de competencias entre los desarrolladores se amplía. Además, estas competencias revelan la limitación de que son difíciles de acumular o reproducir a nivel organizacional.

Desarrollo nativo de IA

El desarrollo nativo de IA trasciende la etapa de confiar o utilizar la IA como una herramienta, y significa una estructura en la que la IA se incorpora a la estructura de desarrollo y al proceso de juicio, y en la que la IA y los seres humanos interactúan y crecen mutuamente. En esta etapa, la IA funciona como un componente interactivo que comparte el juicio y el contexto con el desarrollador.

El núcleo de esta estructura es que la IA y el desarrollador interactúan de manera bidireccional, no unidireccional. El desarrollador comparte continuamente la intención del diseño y la base del juicio con la IA, y la IA, a través de esto, acumula el pensamiento del desarrollador y el contexto de la organización. Como resultado, la IA evoluciona de ser una simple herramienta que procesa solicitudes a sugerir opciones personalizadas para la organización y a asistir y corregir el juicio del desarrollador.

El desarrollo nativo de IA no depende de la habilidad o el truco de un individuo específico. Si el contexto de la IA se mantiene incluso si los miembros cambian, se pueden hacer preguntas desde perspectivas similares sobre el mismo problema y se pueden tomar mejores decisiones basándose en elecciones pasadas y sus razones. La capacidad de desarrollo no se atribuye al individuo, sino que se acumula y se vuelve reproducible en toda la organización.

En última instancia, lo que busca el desarrollo nativo de IA no es una arquitectura o una metodología de desarrollo específica, sino el proceso de desarrollo en sí, donde el juicio y el aprendizaje de la IA y los humanos se refuerzan continuamente. Dentro de esta estructura, el desarrollador y la IA no se reemplazan mutuamente. En cambio, evolucionan hacia una relación en la que comparten el mismo espacio problemático y, juntos, crean mejores juicios y estructuras más robustas.