Mode de développement natif IA
Maîtrisez les paradigmes de développement de l’ère de l’IA, de TDD 2.0 à Agent-Driven Development, et faites de l’IA votre meilleur partenaire de développement.
Idée clé : la pensée native à l’IA
À l’ère de la programmation assistée par l’IA,Le mode développement nécessite une refonte. Les méthodes de développement traditionnelles doivent s’adapter aux capacités et aux caractéristiques de l’IA pour en tirer toute leur valeur. Ce chapitre présentera quatre modes de développement natifs de l’IA afin de vous aider à adopter une nouvelle manière de penser le développement.
TDD (Test-Driven Development) 2.0
Le TDD traditionnel suit un cycle rouge-vert-refactorisation, et l’ère de l’IA rend ce cycle plus rapide et plus intelligent.
Cas de test générés par IA (Given-When-Then)
Utilisez des cas de test au format BDD (Behavior-Driven Development) pour permettre à l’IA de mieux comprendre les exigences et de générer des tests.
- L’IA peut générer rapidement un grand nombre de cas de test, couvrant les cas limites
- Le format Given-When-Then permet à l’IA de mieux comprendre l’intention des tests
- Les cas de test sont la documentation, et l’IA peut générer du code d’implémentation à partir des tests
Mécanisme d’accélération par l’IA du cycle rouge-vert-refactorisation
Écrire des tests
L’IA génère des cas de test à partir des besoins, couvrant rapidement les fonctionnalités
Écrire l’implémentation
L’IA génère une implémentation minimale viable à partir des cas de test, afin de faire passer rapidement les tests
Optimiser le code
L'IA analyse la qualité du code, propose des suggestions de refactorisation et effectue des optimisations
En pratique : faire écrire d’abord les tests par l’IA, puis l’implémentation
DDD (Domain-Driven Design) with AI
La conception pilotée par le domaine exige une compréhension approfondie du domaine métier, et l’IA peut nous aider à mieux en extraire les connaissances.
Utiliser l’IA pour extraire un langage ubiquitaire
Le langage omniprésent est au cœur du DDD, et l’IA peut nous aider à extraire les termes du domaine à partir des documents métier.
- 1.Saisir des documents métier, des documents d’exigences et des user stories
- 2.L’IA analyse les documents et extrait les termes et concepts du domaine
- 3.L’IA identifie les synonymes et les relations entre les termes
- 4.Générer un dictionnaire linguistique unifié afin de garantir une terminologie cohérente au sein de l’équipe
Découpage assisté par l’IA des contextes bornés (Bounded Contexts)
Le contexte délimité est le concept le plus important du DDD, et l’IA peut aider à identifier et à délimiter les frontières du contexte.
- • L’IA analyse les domaines d’activité et identifie différents contextes métier
- • Identifier les dépendances entre les contextes
- • Identifier les modèles de cartographie du contexte (noyau partagé, client-fournisseur, etc.)
- • L’IA propose un schéma de découpage des frontières de contexte
- • Identifier les points d’intégration entre les contextes
- • Générer une carte de contexte
Stratégie de génération de code pour entité/objet valeur/racine d’agrégat
L’IA peut générer automatiquement la structure de code des entités, des objets valeur et des racines d’agrégat à partir du modèle de domaine.
L’IA identifie les objets métier dotés d’identifiants uniques et génère des classes d’entité et des attributs ID
L’IA identifie les types de valeurs immuables et génère des classes d’objets valeur ainsi que la logique de validation
L’IA identifie les frontières des agrégats et génère les classes de racine d’agrégat ainsi que les règles métier
ADD (Agent-Driven Development)
Agent-Driven Development est un nouveau paradigme de développement dans lequel plusieurs agents IA collaborent pour accomplir des tâches de développement.
Boucle Plan-Execute-Evaluate
Phase de planification
L’agent architecte analyse les besoins, élabore un plan de développement et découpe les tâches
Phase d’exécution
L'agent de codage génère le code à partir du plan, et l'agent de test génère les cas de test
Phase d’évaluation
L'agent de revue vérifie la qualité du code, propose des améliorations et optimise de manière itérative
Modèle de collaboration multi-agents
- • Analyser les besoins
- • Concevoir l’architecture
- • Élaborer un plan
- • Générer du code
- • Implémenter des fonctionnalités
- • Optimisation du code
- • Générer des tests
- • Exécuter les tests
- • Contrôle qualité
RAG-DD (RAG-Driven Development)
RAG-Driven Development utilise une base de connaissances privée pour renforcer les capacités de génération de code de l’IA, afin qu’elle génère du code à partir des connaissances et de l’expérience de l’équipe.
Génération de code basée sur une base de connaissances privée
Transformer les documents d’architecture de l’équipe, les modèles de conception, les meilleures pratiques et autres connaissances en base de connaissances afin que l’IA puisse s’y référer lors de la génération de code.
- Documents de conception d’architecture et modèles de conception
- Conventions de code et bonnes pratiques
- Expérience des projets passés et enseignements tirés
- La pile technique et la chaîne d’outils de l’équipe
La documentation d’architecture constitue le contexte
Utilisez les documents d’architecture comme contexte central du système RAG afin de garantir que le code généré est conforme à la conception de l’architecture.
- • Schémas d’architecture système et documents de choix techniques
- • Normes de conception d’API et documentation d’interface
- • Conception de base de données et modèles de données
- • Découpage des microservices et frontières des services
- • Normes de sécurité et modèle d’autorisations
- Le code généré est automatiquement conforme à la conception de l’architecture
- Réduire la dérive architecturale et les coûts de refactorisation
- Les nouveaux membres peuvent rapidement comprendre l’architecture et générer du code conforme aux normes
Résultats d’apprentissage
À la fin de ce chapitre, vous pourrez :
- 1Comprendre les idées fondamentales de TDD 2.0 et utiliser l’IA pour accélérer le développement piloté par les tests
- 2Comprendre le fonctionnement de DDD with AI et pouvoir utiliser l’IA pour aider à la modélisation du domaine
- 3Maîtriser le modèle de collaboration multi-agents de l’Agent-Driven Development
- 4Comprendre la valeur du RAG-Driven Development et être capable de construire une base de connaissances privée
- 5Être capable de choisir le mode de développement natif IA approprié en fonction des caractéristiques du projet