Site icon Blog ARC Optimizer

Les 6 meilleures choses que j’ai apprises en développement avec l’IA

Les 6 meilleures choses que j’ai apprises en développement avec l’IA


Dans cet article, je vais discuter de certaines choses que j’ai apprises en développement avec l’IA et les expliquer de mon point de vue, et comment obtenir les meilleurs résultats en l’utilisant.

Mais d’abord, permettez-moi de partager avec vous comment j’ai habituellement développé des logiciels avant Internet, Google et AI assistants.

Le début

Avant que Internet n’existe, les développeurs ont partagé leur code source via des disquettes. Une quantité importante de code a été partagée entre les professeurs et les étudiants universitaires par le biais d’échanges de médias physiques et de réseaux académiques.

La documentation et les exemples de code ont été obtenus via des livres, et vous avez dû taper manuellement le code source et l’adapter à vos besoins spécifiques. Ce processus était long et sujette aux erreurs, mais c’était le seul moyen d’accéder aux ressources de programmation.

Parfois, il faudrait des siècles pour créer une certaine fonctionnalité parce que vous n’aviez pas la documentation appropriée pour ce langage de programmation. Trouver des références complètes était un défi qui pouvait bloquer le développement pendant des semaines.

L’ère de la documentation physique

Un exemple classique dont je me souviens est Visual Basic 6.0, qui est venu avec plusieurs livres et de longues explications de style Microsoft, semblables à ce que nous voyons aujourd’hui https://learn.microsoft.com. Ces manuels physiques étaient des références essentielles que les développeurs ont gardées près de leurs postes de travail.

La courbe d’apprentissage était raide et la maîtrise d’un langage de programmation a nécessité des investissements importants dans des livres physiques, des magazines et des cours de formation parfois coûteux. Le partage des connaissances signifiait des pages de photocopie ou des extraits de code transcrits manuellement.

La révolution Internet

Ensuite, Internet est arrivé, et il est devenu beaucoup plus facile de «récolter» le code source à partir des sites de programmation. Des composants de haute qualité avec un excellent code source ont été facilement trouvés sur des sites tels que http://www.vbaccelerator.com/ et https://www.codeproject.com/.

Le défi actuel

Le problème central est qu’il est actuellement humainement impossible pour quelqu’un de maîtriser 100% d’un langage ou d’un cadre de programmation, englobant à la fois la pile complète du backend et du frontend, compte tenu de la version constante des innovations.

Le rythme rapide de l’avancement technologique signifie qu’au moment où vous maîtrisez une technologie, plusieurs nouveaux ont émergé. Cela crée un défi d’apprentissage continu qui peut être écrasant pour les développeurs qui essaient de rester à jour.

L’ère AI

À ce stade, nous atteignons le domaine de l’IA. Cela a apporté une possibilité qui n’existait pas auparavant: nous aider à créer du code source dans n’importe quelle langue. L’IA a démocré la programmation en mettant une assistance au niveau des experts à la disposition des développeurs à tous les niveaux de compétence.

Comme tout outil puissant, l’IA nécessite une compréhension, un respect et une application appropriée pour être véritablement bénéfique.

Source Genesys

Les efforts précédant l’avènement de l’IA générative étaient nettement plus importants. Les mêmes tâches qui exigeaient une semaine de développement sont désormais achevées en quelques heures seulement. Les ajustements du frontend et la création de composants, qui nécessitaient souvent un changement de développement complet, selon la complexité, sont désormais achevés en quelques minutes.

Le MVP des migrations que j’ai effectué récemment a été achevé en un temps record, migrant à la fois la base de données et le code source hérité. L’IA avait agi comme si j’avais un développeur supplémentaire sur le frontend et un autre sur le backend.

Cependant, je dois être honnête: l’IA qui m’a le plus aidé est le mien, que je développe depuis 2000, maintenant connu sous le nom de Source Genesys. Il fournit du code backend dans .NET 9 et Frontend Code dans React Next.js, mais il continue d’évoluer et de affiner.

L’idée de Source Genesys a existé depuis la fin de l’ère Clipper, lorsque j’ai développé un système MRP II en 1994/1995, où le code source pour chaque unité de fabrication a été créé en fonction de celui pour lequel il serait déployé. En 1995, j’ai commencé à travailler avec Visual Basic et j’ai continué à le développer et à faire évoluer jusqu’en 2010. J’ai développé plus de 200 composantes dans ActiveX.

À partir de 2011, j’ai commencé à travailler et à me concentrer sur le développement C #. Mais c’est en 2025 que je suis revenu à pleine force pour mettre à jour l’outil qui a généré le code C # pour Advocati.net dans .net 4.x.

Et c’est grâce à l’aide d’une IA générative que j’ai pu mettre cinq projets de migration dans le développement presque simultanément. Parce que je développe et évolue simultanément l’outil, j’effecte les migrations.

Les 6 principales choses à savoir sur le développement de l’IA

Avec ce contexte historique à l’esprit, je vais maintenant énumérer mes six découvertes en utilisant l’IA pour le développement au cours des deux dernières années, en travaillant avec Chatgpt, Gemini, Claude AI et Github Copilot. Entre janvier et juillet 2025, j’ai déjà terminé cinq migrations de systèmes héritées de VB6 / Access et ASP.NET C # à .NET 9, en utilisant React et Next.js avec Microsoft SQL Server.

Au cours de cette période, j’ai systématiquement utilisé l’assistance de l’IA pour réaliser des projets et répondre aux exigences, affiner continuellement mes invites à mesure que les systèmes d’IA eux-mêmes ont évolué.

Alors, voici ma liste des leçons apprises:

1. Ai fait souvent des erreurs, mais vous pouvez le montrer le bon chemin

Plus vos antécédents dans les technologies et la compréhension de la façon dont les choses fonctionnent au niveau technique, plus il vous sera facile de comprendre les résultats générés par l’IA.

Souvent, l’invite génère un très bon code, mais certaines propriétés ou fonction présentent un défaut ou quelque chose obsolète. C’est là que l’action humaine entre en jeu, identifiant ce qui ne va pas et la corriger.

Parfois, vous pouvez demander à l’IA d’évoluer votre code source à partir d’une autre approche car le code généré ne répond pas efficacement aux exigences. De cette façon, vous êtes le guide.

Avec des agents d’IA, tels que GitHub Copilot (option d’agent), le niveau de solution peut être plus réaliste, mais il peut également générer d’autres problèmes, y compris un code trop complexe avec de nombreuses dépendances.

Avant de demander à l’agent de modifier votre code, je vous recommande de faire en sorte qu’un GIT s’engage à réintégrer les modifications s’il présente plus de problèmes que de solutions.

De temps en temps, vous devez démarrer une nouvelle session pour publier l’ancien contexte, ce qui aide l’IA analyser le problème sous un angle différent.

2. Construisez des squelettes et demandez à l’IA de les compléter

Lors de la création de quelque chose de nouveau, comme un nouveau composant ou une nouvelle fonction / méthode, vous pouvez demander à l’IA de vous aider. Mais il fera les choses à sa manière, surtout si votre invite n’est pas complète et détaillée.

J’ai remarqué que si vous voulez créer quelque chose de plus robuste, il est préférable de créer un squelette – une version de base de ce que vous voulez – puis de demander à l’IA de faire une version en utilisant des principes solides et / ou du code propre. De cette façon, vous obtenez un résultat plus satisfaisant. J’ai également appris à diviser les problèmes en petites parties et à demander à l’IA de travailler sur un problème spécifique en commençant une nouvelle session pour chacun.

Faites des «maquettes» fonctionnelles de ce que vous avez comme objectifs et injectez des améliorations et des améliorations pièce par pièce.

L’IA ne voit pas le résultat comme nous le faisons visuellement et logiquement, donc si vous pouvez ajouter des captures d’écran de ce que vous voulez ou améliorer le résultat, il se guidera et améliorera le code généré.

3. Ne demandez pas tout prêt prêt à l’emploi

Les demandes larges et génériques ne sont pas un costume fort de l’IA. Vous ne pouvez pas demander: « Faites un système complet, simple, beau et évolutif. » Vous devez construire votre projet en segments. Assemblez l’idée avec les exigences et divisez pour conquérir.

Une demande très large peut générer du code trop complexe. Même si vous voulez du code complexe, vous voulez sentir que vous êtes en commande, transformant les exigences en solutions présentables et évolutives faciles à maintenir en utilisant une logique cohérente.

4. Structure invite avec précision et contraintes techniques

Les invites spécifiques et bien définies produisent systématiquement du code de meilleure qualité que les demandes vagues. Au lieu de demander «Créer une interface utilisateur», spécifiez: «Créez un composant React TypeScript avec validation de formulaire à l’aide de la forme react-hook, y compris des champs e-mail / mot de passe avec affichage d’erreur en temps réel.»

La clé est de fournir un contexte, des contraintes et des résultats attendus. Les modèles d’IA fonctionnent mieux avec une entrée structurée qui définit la portée, la pile technologique et les modèles architecturaux.

5. Tire en œuvre les domaines de connaissances spécialisés de l’IA

L’IA a accès à des informations aussi complètes en tant que spécialiste dans tout domaine de connaissances. C’est bien car il partage les connaissances de divers domaines de la connaissance humaine. Bien sûr, cela fait des erreurs, mais votre travail consiste à valider les résultats qu’il produit.

D’après mon expérience, j’ai fréquemment travaillé avec des techniciens qui sont extrêmement bien informés sur un domaine spécifique de logiciels. Avec l’avènement de l’IA génératrice, il est facile de clarifier les données techniques, son utilisation, ses variations, ses limites et ses règles, suffisamment pour préparer votre structure. Et puis, au moment de la validation, un professionnel humain d’une zone spécifique peut réfuter ou confirmer ces données. Vous êtes donc déjà à mi-chemin, prêt pour un humain pour polir et utiliser leur expertise pour terminer le projet.

Dans un monde où nous rencontrons un nouveau cadre chaque jour ou devons travailler avec une nouvelle langue que nous n’avons pas maîtrisée, la connaissance de l’IA sur divers sujets en fait un allié précieux. Mais cela dépend toujours de nous de comprendre techniquement ce que nous recherchons et de demander les bonnes invites pour atteindre le bon résultat final.

6. Le contexte est tout – les affaires et techniques

Plus nous fournissons de contexte, meilleur sera le résultat.

Mais nous devons comprendre le contexte de notre objectif. Lorsque nous développons des logiciels pour les domaines que nous n’avons pas maîtrisés, le contexte nous est transmis au fil du temps grâce à nos interactions avec des professionnels qui effectuent leur travail quotidien. Cela m’est arrivé lors du développement de systèmes industriels, juridiques et médicaux.

L’une des difficultés de l’IA est de comprendre le contexte. Cela s’applique à la fois aux connaissances du domaine commercial et à l’architecture technique.

Dans un contexte commercial, nous pourrions avoir besoin d’une règle: pour sélectionner l’état d’une réunion, une option gratuite ne devrait être disponible que pour 20 jours après la dernière.

Dans un contexte technique, l’IA peut être extrêmement spécialisée. Les IA commerciaux vous obligent à expliquer manuellement les relations de base de données, tandis que des outils spécialisés comme les gènes source comprennent automatiquement les relations de schéma et génèrent des validations appropriées. Source Genesys a reçu le contexte nécessaire pour créer ces compréhensions.

Conclusion

L’interaction humaine reste la base fondamentale pour valider et corriger les résultats générés par l’IA, vérifiant que le produit final répond aux normes souhaitées. Avec l’avancement continu de la technologie, l’IA est de plus en plus intégrée dans notre vie quotidienne, transformant la façon dont nous produisons et collaborons.

Comprendre son fonctionnement nous permet d’utiliser ses capacités stratégiquement et d’obtenir des résultats exceptionnels. Cette transformation des médias physiques aux ressources Internet à l’assistance IA représente l’un des changements les plus dramatiques dans la façon dont nous abordons le développement de logiciels, offrant des possibilités sans précédent d’innovation et de productivité.


Vous voulez une entrée d’un autre développeur? Lire: Comment j’utilise l’IA (comme sceptique de l’IA)




Source link
Quitter la version mobile