1. Définir des attentes raisonnables (Set reasonable expectations)
- Point principal :
Il faut comprendre qu’un LLM est essentiellement un outil d’autocomplétion avancé, et qu’en dépendre entièrement peut entraîner des erreurs ou des résultats inexacts.
- Comment l’utiliser :
Il convient de l’utiliser comme un outil d’assistance qui complète ses compétences en programmation, sans en attendre trop, tout en gardant une attitude de vérification de ses erreurs.
2. Tenir compte de la date limite des données d’entraînement (Account for training cut-off dates)
- Point principal :
La fraîcheur des données sur lesquelles le modèle a été entraîné peut être limitée, il faut donc rester prudent vis-à-vis des bibliothèques récentes ou des évolutions technologiques.
- Comment l’utiliser :
Mieux vaut privilégier des bibliothèques dont la stabilité et l’usage général sont déjà établis, et, si une technologie récente est nécessaire, compenser en fournissant directement des exemples.
3. L’importance du contexte (Context is king)
- Point principal :
L’historique complet de la conversation (prompts et réponses) influence le résultat, d’où l’importance de bien gérer le contexte.
- Comment l’utiliser :
Pour les tâches complexes, inclure le code existant dans la conversation afin que le modèle puisse s’y référer, et réinitialiser dans une nouvelle conversation si nécessaire.
4. Demander plusieurs options (Ask them for options)
- Point principal :
Au début de la phase de recherche, demander au LLM plusieurs options d’implémentation et des exemples permet d’explorer les choix possibles.
- Comment l’utiliser :
Poser des questions comme « Quelles sont les options possibles ? » pour vérifier les possibilités techniques, puis préciser ensuite à partir de l’option retenue.
5. Donner des consignes précises (Tell them exactly what to do)
- Point principal :
Lors de l’écriture de code de production, il faut formuler des consignes détaillées et claires afin d’orienter le modèle vers l’implémentation exacte attendue.
- Comment l’utiliser :
Indiquer des éléments précis comme la signature des fonctions, les bibliothèques à utiliser ou la gestion des exceptions pour que le LLM produise du code conforme aux exigences.
6. Tester impérativement le code généré (You have to test what it writes!)
- Point principal :
Même si le code est écrit par un LLM, il faut absolument vérifier qu’il fonctionne réellement, à l’aide de tests automatisés et de validations manuelles.
- Comment l’utiliser :
Vérifier le bon fonctionnement du code généré avec un framework de test comme pytest.
7. Garder une interaction conversationnelle (Remember it’s a conversation)
- Point principal :
L’interaction avec un LLM n’est pas ponctuelle : c’est un processus de dialogue itératif qui permet d’améliorer le résultat.
- Comment l’utiliser :
Si le résultat initial est insuffisant, fournir des consignes ou des retours supplémentaires pour refactorer et améliorer le code.
8. Utiliser des outils capables d’exécuter le code (Use tools that can run the code for you)
- Point principal :
En utilisant un environnement sandbox exécutable ou des outils de développement intégrés, il est possible de faire tourner réellement le code écrit par le LLM.
- Comment l’utiliser :
Utiliser des outils comme ChatGPT Code Interpreter ou Claude Artifacts, qui fournissent un environnement d’exécution sûr, afin de valider le code en temps réel.
9. Apprendre avec le « vibe-coding » (Vibe-coding is a great way to learn)
- Point principal :
Cette approche consiste à apprendre à utiliser les LLM par des expérimentations libres et répétées, tout en mettant rapidement en œuvre différentes idées.
- Comment l’utiliser :
Commencer par des fonctionnalités simples, puis identifier progressivement les limites du LLM et améliorer son intuition de développement grâce à des essais itératifs.
10. Exemple détaillé avec Claude Code (A detailed example using Claude Code)
- Point principal :
Un exemple de projet concret montre comment Claude Code prend en compte des exigences précises pour exécuter une tâche.
- Comment l’utiliser :
S’inspirer du processus de prompts et de feedbacks étape par étape pour réaliser des tâches composées, comme générer un script Python et une page HTML.
11. La nécessité de l’intervention humaine (Be ready for the human to take over)
- Point principal :
Le code généré par un LLM peut contenir des erreurs ou des éléments inadaptés, donc la revue finale et les corrections doivent impérativement être faites par un humain.
- Comment l’utiliser :
Examiner directement les détails ou erreurs subtiles que le LLM peut manquer, puis les corriger pour obtenir un résultat de haute qualité.
12. Maximiser la vitesse de développement (The biggest advantage is speed of development)
- Point principal :
L’usage des LLM peut améliorer de façon spectaculaire la vitesse de prototypage et d’exécution des tâches répétitives.
- Comment l’utiliser :
Utiliser activement les LLM pour valider rapidement des idées initiales ou écrire du code simple afin de raccourcir le temps de développement.
13. Amplifier l’expertise existante (LLMs amplify existing expertise)
- Point principal :
Pour les développeurs déjà expérimentés, les LLM peuvent renforcer encore davantage leur expertise et leur productivité.
- Comment l’utiliser :
S’appuyer sur son expérience et ses connaissances pour donner des consignes claires au LLM et obtenir des résultats plus fins.
14. Fonction supplémentaire : répondre à des questions sur une codebase (Bonus: answering questions about codebases)
- Point principal :
Les LLM peuvent aussi être utiles pour répondre à des questions sur une codebase ou expliquer certaines parties du code.
- Comment l’utiliser :
Poser des questions sur la structure du code ou sur une fonctionnalité précise, et obtenir de l’aide pour produire des explications ou de la documentation associée.
1 commentaires
Le blog de cette personne est vraiment impressionnant. Merci.