GoSuda

Méthodologie de développement AI Native

By gosunuts
views ...

L'IA et les développeurs

La perspective des développeurs sur l'IA est complexe. L'IA a permis des augmentations sans précédent de la productivité et de l'acquisition de connaissances, mais en même temps, le rôle du développeur est en train de changer fondamentalement. Certains prédisent que l'IA évoluera vers une AGI et remplacera la majorité des développeurs, tandis que d'autres déprécient l'IA comme un outil surestimé et affirment que la valeur intrinsèque des développeurs reste inchangée. Ces attitudes, bien qu'apparemment opposées, sont étonnamment similaires dans la mesure où elles jugent l'IA à l'aune d'une mentalité existante.

Cependant, le point important ici n'est pas de juger ou d'évaluer l'IA. Le véritable enjeu est de savoir comment la mentalité de développement doit changer en présence de l'IA, et comment les rôles des développeurs et des organisations doivent être restructurés pour s'adapter à ce changement. À cette fin, nous avons systématisé la méthodologie de développement de l'IA par l'analyse en 3 étapes ci-dessous.

Développement dépendant de l'IA

Le développement dépendant de l'IA est une étape où l'IA est considérée comme le sujet du jugement et ses résultats sont acceptés sans critique. À cette étape, le développeur perçoit l'IA comme une entité qui organise et implémente ses idées, et l'accepte même comme un substitut auquel il peut déléguer le jugement et la responsabilité.

Cette approche semble, en apparence, augmenter considérablement la productivité. Cependant, en réalité, du code inexplicable et irresponsable s'accumule rapidement. Lorsque des problèmes surviennent avec un tel code, personne ne peut juger avec certitude pourquoi cette structure a été adoptée ou quel choix était le bon.

À cette étape, l'IA ne produit que des résultats peu fiables, et le développeur se contente de consommer ces résultats. En conséquence, l'IA et le développeur sont tous deux utilisés de manière exhaustive, et aucune compétence réelle n'est accumulée.

Développement utilisant l'IA

Le développement utilisant l'IA est une étape observée chez les développeurs plus expérimentés. À cette étape, le développeur perçoit l'IA non pas comme un substitut au jugement, mais comme un outil puissant qui augmente la productivité. Le développeur à cette étape reste le sujet de la conception et du jugement final, et délègue à l'IA des tâches répétitives et coûteuses telles que la génération de code, le refactoring, le débogage et la synthèse de documents. Cette approche réduit considérablement la proportion des tâches répétitives du développeur et peut augmenter considérablement la productivité tout en maintenant la fiabilité.

Cependant, cette approche présente une limite structurelle : le contexte de conception et le jugement ne sont pas cycliques. Étant donné que l'orientation du développement et le processus de jugement restent confinés à la réflexion individuelle du développeur et ne sont pas partagés avec l'IA, l'IA ne peut pas accumuler les changements et la croissance du développeur. En conséquence, le contexte de conception et la capacité de jugement sont isolés chez le développeur.

De ce fait, un cycle d'apprentissage entre le développeur et l'IA ne se forme pas, et la capacité d'utilisation de l'IA ne s'étend pas au-delà des compétences existantes du développeur. La croissance est attribuée à l'individu, et l'écart de compétences entre les développeurs s'élargit avec le temps. De plus, ces compétences révèlent la limite qu'elles sont difficiles à accumuler ou à reproduire au niveau de l'organisation.

Développement natif de l'IA

Le développement natif de l'IA va au-delà de la confiance ou de l'utilisation de l'IA comme outil ; il intègre l'IA dans la structure de développement et le processus de jugement, et signifie une structure où l'IA et les humains interagissent et grandissent mutuellement. À cette étape, l'IA fonctionne comme un membre interactif qui partage le jugement et le contexte du développeur.

Le cœur de cette structure est que l'IA et le développeur fonctionnent en un cycle bidirectionnel, et non unidirectionnel. Le développeur partage continuellement l'intention de la conception et la base du jugement avec l'IA, et l'IA, à travers cela, accumule la pensée du développeur et le contexte de l'organisation. En conséquence, l'IA évolue au-delà d'un simple outil de traitement des requêtes, proposant des options personnalisées pour l'organisation et assistant et corrigeant le jugement du développeur.

Le développement natif de l'IA ne dépend pas de la compétence ou de l'astuce d'un individu spécifique. Si le contexte de l'IA est maintenu même si les membres changent, des questions avec des perspectives similaires peuvent être posées sur le même problème, et de meilleures décisions peuvent être prises sur la base des choix passés et de leurs raisons. La capacité de développement n'est pas attribuée à l'individu, mais s'accumule et devient reproductible pour l'ensemble de l'organisation.

En fin de compte, ce que vise le développement natif de l'IA n'est pas une architecture ou une méthodologie de développement spécifique, mais le processus de développement lui-même où le jugement et l'apprentissage de l'IA et de l'humain sont continuellement renforcés. Dans cette structure, le développeur et l'IA ne se remplacent pas. Au lieu de cela, ils partagent le même espace problématique et évoluent vers une relation où ils créent ensemble de meilleurs jugements et des structures plus robustes.