
From Vibe Coder to AI Engineer: The Complete Roadmap
AI Summary
**Introduction et Objectif de la Session**
Leon van Sale, un ingénieur logiciel chevronné avec près de 20 ans d'expérience, partage sa feuille de route pour transformer les codeurs "au feeling" en ingénieurs IA réfléchis. Il s'adresse aussi bien aux débutants qu'aux développeurs expérimentés cherchant à optimiser leur utilisation des agents de codage. Sa mission est de combler le fossé entre les codeurs qui se fient aveuglément aux IA et les ingénieurs sceptiques réticents à adopter ces outils. L'objectif est de former des ingénieurs IA capables de comprendre la pile technologique sous-jacente, de collaborer avec plusieurs agents et de garantir des flux de travail robustes pour un code performant, évolutif et sécurisé.
**Les Deux Extrêmes du Spectre : Codeurs "au Feeling" vs. Ingénieurs Sceptiques**
Le discours identifie deux catégories de développeurs. D'une part, les "codeurs au feeling" qui délèguent entièrement la création, le déploiement et la maintenance du code aux agents IA sans se soucier de la technologie sous-jacente. D'autre part, les ingénieurs sceptiques, qui malgré l'omniprésence de l'IA générative, restent méfiants, craignant la perte d'emploi, la dégradation du code ou le manque de fiabilité des agents. Leon van Sale vise à rapprocher ces deux groupes vers un juste milieu, définissant ainsi le rôle de l'ingénieur IA.
**La Responsabilité de l'Ingénieur IA : Au-delà de la Simple Création**
L'ingénieur IA ne se contente pas de demander à un agent de créer une application. Il comprend la pile technologique, interagit avec plusieurs agents et met en place des flux de travail fiables. La session souligne l'importance capitale de la responsabilité. Si un agent crée une application qui finit par compromettre les données des utilisateurs à cause d'une faille de sécurité, la responsabilité incombe au développeur qui a initié la création. L'agent n'est qu'un outil, un développeur sous-traitant, et il est de la responsabilité du développeur de s'assurer de la sécurité et de la fiabilité du code et de la pile technologique choisie.
**Première Étape : Apprendre de l'Agent de Codage**
L'agent de codage est présenté comme un enseignant patient. Il est crucial de lui poser des questions pour comprendre le fonctionnement d'une application à un niveau adapté à son expérience. Pour les non-techniciens, une explication simple est recommandée, tandis que les ingénieurs peuvent demander des détails techniques. L'exemple d'Hermes Agent, un outil populaire avec de nombreuses étoiles sur GitHub, illustre ce point : il est conseillé de demander à l'agent de cloner un dépôt, d'en expliquer le fonctionnement et d'identifier la pile technologique utilisée (front-end, back-end, authentification, paiement, etc.).
**La Prise de Notes et la Création d'une Base de Connaissances**
Il est essentiel de ne pas laisser ces informations s'évaporer. La prise de notes sur la pile technologique, les bases de données, les frameworks et autres composants permet de construire une base de connaissances personnelle. Cette base servira de "briques" pour les futurs projets.
**Deuxième Étape : Construire et Expérimenter**
L'acquisition d'expérience avec les agents de codage passe par la construction de nombreux projets. En s'appuyant sur la pile technologique identifiée dans la première étape, il est recommandé de demander à l'agent de recréer une application similaire en utilisant ces composants. L'idée n'est pas de copier, mais de comprendre et d'adapter. Créer des applications pour des amis, la famille ou des commerces locaux offre également une expérience précieuse.
**L'Importance de GitHub**
Publier ses projets sur GitHub est crucial pour plusieurs raisons : sauvegarde distante, partage du code avec d'autres, et comme argument lors d'entretiens d'embauche. GitHub permet de rendre les dépôts privés ou publics, offrant la possibilité de recevoir des retours précieux et même des contributions.
**Troisième Étape : Systèmes Réutilisables - Les Compétences des Agents**
Les "compétences" d'agents sont des prompts réutilisables qui automatisent des tâches répétitives. Par exemple, pour chaque nouveau projet web, des instructions similaires sont souvent données à l'agent concernant la pile technologique, la base de données, le front-end, l'ORM, et le système d'authentification. Créer une compétence comme "start an app" permet de fournir ces instructions une seule fois.
Le fichier de compétence définit les règles à suivre, comme demander les besoins de l'application, installer les éléments nécessaires de la pile technologique, et se référer à des fichiers spécifiques (par exemple, AI.md pour les fonctionnalités IA, ou Better Auth pour l'authentification). Des compétences peuvent également être créées pour la révision d'applications (sécurité, dérives, SEO).
**L'Ingénierie de Prompt Humaine : Ne Pas Copier, Mais Comprendre et Créer**
Leon van Sale insiste sur le fait que le prompting est une compétence humaine à développer. Il déconseille de simplement copier les compétences des autres sans comprendre leur fonctionnement. Il faut analyser les prompts, identifier les mots-clés et les formulations efficaces, puis les adapter pour créer ses propres compétences.
**Organisation des Compétences : Un Répertoire GitHub Personnel**
Il est recommandé de créer un répertoire GitHub personnel (par exemple, `/skills`) pour stocker toutes les compétences développées. Cela permet d'y accéder depuis n'importe quelle machine et de partager ces compétences avec une équipe, assurant ainsi la cohérence des résultats obtenus avec les agents.
**Quatrième Étape : Utilisation des Fichiers de Mémoire**
Les fichiers de mémoire (agents.md) définissent des règles et des limites globales pour un projet. Ils permettent de guider le comportement de l'agent. Les exemples donnés incluent : demander des réponses concises, favoriser le mode planification avec des questions de clarification, utiliser des sous-agents pour des recherches approfondies, définir des règles pour les modifications de schéma de base de données, et forcer l'agent à tester son code. Il est également possible d'imposer un système de design en référençant un fichier design.md.
**Cinquième Étape : Flux de Travail d'Équipe et Gestion de Projet avec GitHub**
Pour les projets plus importants, une approche de flux de travail d'équipe est essentielle, même si l'équipe est composée d'agents IA.
* **Dépôts GitHub :** Toujours avoir un dépôt GitHub configuré pour chaque projet.
* **Tickets GitHub :** Utiliser les tickets GitHub pour représenter des unités de travail logiques (corrections de bugs, nouvelles fonctionnalités). Cela centralise le travail à accomplir et permet de suivre l'avancement.
* **Automatisation des Tâches :** Demander à l'agent de traiter les tickets en attente, d'implémenter les changements, et d'ajouter des commentaires ou des preuves de test sur le ticket.
* **Visualisation de la Progression :** Le système permet de visualiser l'état d'avancement du travail via les tickets et les pull requests.
**Branches et Arbres de Travail (Worktrees) : Une Gestion par l'Agent**
La gestion des branches et des arbres de travail, souvent intimidante, est principalement déléguée à l'agent. L'idée est de ne pas travailler directement sur la branche principale (main) pour éviter d'impacter les utilisateurs finaux. Les arbres de travail créent des copies isolées du code pour effectuer des modifications, qui ne sont fusionnées dans la branche principale qu'après validation. Plusieurs arbres de travail peuvent être utilisés en parallèle pour différents changements.
**Respect du Pipeline CI/CD : Tests Automatisés et Revues**
Le respect du pipeline CI/CD (intégration continue / déploiement continu) est fondamental.
* **Tests de Régression :** Mettre en place des scripts de tests automatisés (unitaires, de bout en bout) pour vérifier que les modifications n'introduisent pas de bugs. Ces tests s'exécutent automatiquement lors de la création de pull requests.
* **Revues de Code et de Sécurité :** Demander à l'agent d'effectuer des revues de code et des audits de sécurité avant de fusionner les modifications. L'utilisation de différents modèles (par exemple, GPT-6 pour relire le code généré par Claude) peut être envisagée pour éviter les biais.
* **Documentation des Audits :** Inclure les conclusions des audits de sécurité et des revues de code dans les tickets GitHub ou les pull requests pour prouver les efforts de sécurisation.
**Sixième Étape : Travailler avec Plusieurs Agents Simultanément**
Le système de tickets permet de faire travailler plusieurs agents sur différents problèmes en parallèle. L'ingénieur IA doit gérer ces agents, assigner les tâches et examiner les pull requests.
**Automatisation Proactive : Surveillance et Création de Tickets**
Les agents peuvent surveiller proactivement le système pour détecter des failles de sécurité, des problèmes de design ou du code obsolète. S'ils identifient des lacunes, ils créent automatiquement des tickets GitHub pour signaler ces problèmes.
**Septième Étape : Les Usines Logicielles (Software Factories)**
Les usines logicielles permettent d'automatiser davantage le processus. Au lieu d'assigner manuellement les tickets aux agents, le système classe et assigne automatiquement les tickets à des agents spécifiques au sein d'un "essaim" d'agents. Les agents fonctionnent dans des environnements isolés (machines virtuelles dans le cloud), garantissant la sécurité et la scalabilité.
**Huitième Étape : Environnements Personnalisés et Ingénierie de Harnais (Harness Engineering)**
* **Environnements Personnalisés :** Créer des environnements de développement personnalisés pour imposer des politiques organisationnelles ou offrir des fonctions spécifiques aux agents. Des outils comme le Pi Agent SDK ou l'environnement Deep Seek existent, mais il est possible de construire son propre outil (comme "Small" présenté par l'orateur, optimisé pour les modèles open source locaux).
* **Ingénierie de Harnais :** Configurer l'environnement d'un agent, en décidant des outils auxquels il a accès, s'il doit prendre en charge des fichiers de mémoire, ou s'il doit appliquer des politiques d'entreprise (par exemple, identifier les informations personnelles identifiables avant d'envoyer des prompts).
**Conclusion : L'Avenir du Codage Génératif**
L'orateur présente un projet open source appelé "Cube Farm" qui visualise une usine logicielle en 3D, où les agents travaillent sur des tâches réelles, interagissent avec des tableaux Kanban et gèrent des issues GitHub. Il suggère que cela pourrait être l'avenir du codage génératif.
**Ressources Supplémentaires**
* Un cours gratuit appelé "RAMP framework" enseigne un workflow simple et reproductible pour tout agent de codage.
* La chaîne YouTube de l'orateur, Cognitive AI (préparation des entreprises à l'IA), et sa communauté payante "Gentics Labs" (analyses approfondies, cours exclusifs).