Comment améliorer ses compétences en programmation avec l’IA
(news.ycombinator.com)- J’aimerais utiliser des outils de codage par IA pour réduire des tâches de conversion qui prenaient 1 à 2 heures à un simple niveau de revue en 15 à 20 minutes
- Mais, pour l’instant, la qualité du code produit par l’IA n’atteint même pas 90 % de celle du code écrit directement, donc cela ne semble pas vraiment utile en pratique
- Je voudrais donc savoir comment utiliser l’IA pour améliorer à la fois la productivité et la qualité du code
Recueil de conseils pratiques pour améliorer l’efficacité et la qualité de la programmation avec l’IA
1. Concentrer l’IA uniquement sur les tâches répétables
- L’IA est la plus efficace lorsqu’il s’agit de répéter plusieurs fois des tâches de forme similaire
- Une première fois, implémenter soi-même avec la meilleure qualité possible, puis utiliser cela comme exemple de référence
- Ensuite, confier à l’IA les tâches suivant le même modèle pour les traiter à grande échelle
- Pour les tâches qui exigent réflexion et jugement, le gain attendu chute fortement
2. Toujours commencer par un plan avant de coder
- Ne pas générer du code immédiatement, mais rédiger d’abord un plan de résolution
- À l’étape de planification, faire apparaître toutes les zones floues et toutes les questions
- Si le plan n’est pas satisfaisant, ne pas passer à l’étape d’exécution
- La qualité du résultat dépend moins du prompt que de la clarté du document de planification
3. Découper le travail en unités extrêmement petites
- Formuler les demandes à l’échelle d’un fichier, d’un composant ou de quelques fonctions
- Les requêtes comme « refactoriser l’ensemble » ou « améliorer de façon idiomatique » ont de fortes chances d’échouer
- La conception de la structure reste du ressort de l’humain, et seule l’implémentation répétitive est confiée à l’IA
4. Ne pas accumuler trop de contexte et le réinitialiser souvent
- Plus la conversation s’allonge, plus le respect des règles et la qualité chutent rapidement
- Une session ne doit traiter qu’une seule tâche
- Si l’orientation change, repartir dans une nouvelle session
- Pour les travaux de longue durée, conserver l’état dans un document (
plan.md, etc.) puis le réinjecter
5. Garder les documents de règles courts et mécaniques
- Maintenir
CLAUDE.md/AGENTS.mdentre 500 et 1000 tokens - Privilégier des règles concrètes et vérifiables plutôt que des consignes déclaratives
- Ne consigner au minimum que les erreurs fréquentes
- Pour le reste, s’appuyer sur le code et les vérifications automatiques
6. Utiliser les tests, le linter et le build comme boucle de feedback
- Au lieu de dire « fais-le bien », indiquer clairement les conditions de validation
- Fixer comme objectifs : tests réussis, build réussi, 0 erreur du linter
- Sans boucle de feedback, l’IA ne converge pas d’elle-même
- Des tests qui valident le comportement existant réduisent fortement la difficulté du refactoring
7. Ne pas corriger pendant l’exécution : revoir le plan puis relancer
- Si le résultat ne convient pas, éviter d’enchaîner les demandes de correction du code
- Modifier le document de planification, puis relancer dans une nouvelle session
- Si l’on change de direction en phase d’exécution, la qualité se dégrade rapidement
8. Faire apprendre le style à partir d’exemples
- Les consignes abstraites du type « bon code » n’ont presque aucun effet
- Fournir ensemble des exemples Before / After
- Présenter clairement les bons et les mauvais exemples
- Étendre les règles en s’appuyant sur les exemples
9. Ne pas renoncer à la compréhension et clarifier la frontière des responsabilités
- Le code généré par l’IA doit toujours être compris et relu par un humain
- Interdire son usage sans revue, sauf pour les prototypes et le code à faible risque
- Pour le code lié à la sécurité, à l’exploitation et à la maintenance de long terme, la compréhension est un prérequis de qualité
10. Vérifier d’abord si la tâche est adaptée à l’IA
- Les tâches sans réponse unique et avec une forte part de jugement esthétique ou structurel sont défavorables à l’IA
- Le refactoring UI, dont le résultat visuel est difficile à valider automatiquement, est particulièrement délicat
- Si nécessaire :
- Étape 1 : transformation mécanique visant à préserver le comportement
- Étape 2 : refactoring qualité réalisé par un humain
11. Partir d’une attente de « 10 % d’amélioration »
- Ne pas attendre du 10x dès le départ
- Une stratégie d’accumulation de petites améliorations est plus efficace à long terme
- L’essentiel est de ne pas renoncer à la conception ni aux critères de qualité
1 commentaires
Avis Hacker News
Boris de l’équipe Claude Code ici. Je partage quelques conseils
CLAUDE.md. Claude lit ce fichier automatiquementJ’espère que cela aidera
CLAUDE.mdles éléments que vous avez réorganisés manuellementCLAUDE.mdest bien configuréCLAUDE.mdfonctionne bien jusqu’à 4 ou 5 fois, puis il oublie les consignes. Par exemple, même si on lui demande de m’appeler « Mr. bcherny », il l’oublie vite.clinerules, mais j’aimerais comprendre la différence avecCLAUDE.mdCLAUDE.md, c’est @import. En mettant @ devant un nom de fichier, on peut forcer son inclusion dans le contexte. En revanche, en abuser devient inefficaceUtiliser la saisie vocale permet au modèle de mieux comprendre l’intention. Je dicte des prompts d’environ 500 mots. La pensée s’enchaîne plus naturellement en parlant qu’en tapant.
Si on dit « fais un plan et pose des questions s’il y en a », Claude pose réellement des questions. Lui demander d’imiter le style du code existant est aussi efficace
Il faut inclure une condition de boucle (loop condition) dans le prompt. Par exemple : « répète jusqu’à ce que
yarn testpasse ».Un LLM reste au fond un agent qui exécute des outils en boucle, donc il faut le traiter ainsi
Référence : Prompting the Agent Loop
Je recommande ma configuration nori-profiles.
Après 4 mois d’expérimentation, les performances de Claude Code se sont nettement améliorées.
Article lié : Averaging 10 PRs a Day with Claude
Dans mon entreprise, nous gérons une grande base de code en Golang. J’ai essayé plusieurs outils comme Cursor, Claude Code, Gemini CLI, etc., mais la plupart sont débordés par le volume de code.
En revanche, aider était bien plus facile à contrôler et plus précis. L’ajout de fichiers est manuel, mais c’est correct presque à 100 %.
Avec les derniers Claude Sonnet ou Gemini 2.5 Pro, c’est ce qu’il y a de plus précis
Quand je travaille avec Cursor, je commence par faire refactorer une route pour lui faire générer un fichier de règles. Ensuite, sur les autres routes, il suffit de dire « refactor »
Il vaut mieux garder en tête l’espace de contexte restant et, si nécessaire, faire un context clear assez tôt
Il est important de voir l’agent comme un coéquipier. Il faut observer les forces et les faiblesses de chacun et ajuster la manière de collaborer.
Je concentre la puissance de l’agent sur les problèmes vérifiables ou le code expérimental.
Je ne connais pas bien Svelte, mais il semble judicieux d’orienter la réécriture via des tests jetables en style TDD.
Parfois, le mieux est d’abandonner un ancien mauvais contexte et de repartir de zéro dans un nouveau workspace
Je vois les LLM comme un moteur de recherche (searcher). Si l’on pose des questions petites et concrètes, la recherche est plus facile, et plus on s’éloigne des données d’entraînement, plus le risque d’erreur augmente.
Pour un nouveau projet, un prompt one-shot peut aussi suffire
Mon toolkit Claude Code favori est superpowers
Je l’utilise depuis deux semaines et cela n’a presque jamais échoué
Mes principes de programmation avec l’IA sont simples
L’essentiel, c’est « Less is more ». Plus la fenêtre de contexte est fraîche, mieux c’est, et 500 à 750 mots est l’idéal. Chaque étape doit être vérifiable
Pour les tâches liées à Java, Claude change constamment de direction ou fait des propositions contradictoires. J’ai l’impression que ChatGPT est bien meilleur
Si vous voulez du code idiomatique, il faut d’abord définir en détail le style que vous attendez. Je découpe de petits exemples bons/mauvais, puis je les donne au mode Plan d’Opus 4.5 pour élaborer un plan avant exécution. Si ce n’est pas parfait du premier coup, je modifie le document de plan et je réessaie. Essayer de le guider dans le moindre détail comme un développeur junior est au contraire inefficace