34 points par GN⁺ 2025-03-13 | 8 commentaires | Partager sur WhatsApp
  • Il existe des affirmations exagérées sur les outils de codage IA
    • Certains disent qu’on peut créer un SaaS en 3 jours, d’autres que c’est totalement inutile → dans les deux cas, c’est probablement exagéré
  • Cursor a complètement changé ma façon de coder, mais il a encore des problèmes
  • Je souhaite partager ce que j’ai appris en gardant un point de vue sceptique sur les outils de codage IA

Configurer CursorRules

  • Sans fichier .cursorrules, il y a de fortes chances de perdre du temps
    • Aujourd’hui, cela a été remplacé par un fichier .mdcCMD + Shift + PNew Cursor Rule pour le créer
    • Environ 10 minutes pour le configurer → plusieurs heures gagnées ensuite
  • Définir des règles adaptées à votre stack technique
    • Choisir les règles les plus adaptées dans la collection Cursor Rules
    • Commencer avec un minimum de règles et les étendre progressivement → trop de règles peuvent nuire aux performances
  • Ajouter les problèmes récurrents dans les règles pour les résoudre
    • Si un problème revient souvent, l’ajouter aux règles pour que l’IA le corrige automatiquement
    • Exemple : problème de nullish coalescing (??) en JS → résolu après ajout dans les règles
  • Ajouter des explications sur le projet et la structure du code
    • Indiquer en haut du fichier une description du projet et la structure du code
    • Si vous avez une structure de fichiers particulière ou une façon spécifique d’écrire le code, il faut le préciser clairement

Obtenir les meilleurs résultats

  • Le point clé pour améliorer la qualité des sorties est de fournir du contexte
    • S’il existe une fonction nécessaire ou une procédure similaire, l’indiquer à l’IA à l’avance
    • Il n’est pas nécessaire de donner le nom exact de la fonction → le but est de faciliter la tâche de codage
  • Fournir des exemples
    • Donner des indices comme see @schedule.ts @utils.ts @ScheduleHeader.tsx
    • Cela permet de se référer à du code écrit de manière similaire
  • L’IA a été entraînée sur du code aléatoire
    • Les exigences spécifiques à un projet doivent être exprimées clairement pour améliorer les résultats

Série de conseils rapides

  • Composer (désormais renommé Agent) → adapté aux modifications simples et à faible impact
  • Chat (Ask) → adapté à la plupart des autres tâches
    • Appliquer les modifications manuellement → meilleure compréhension du code et corrections plus précises
  • Ne pas faire une confiance aveugle au code
    • Il faut relire et corriger le code généré par l’IA
  • Refactoriser régulièrement à la main le code critique
    • Repérer et corriger les écarts dans le code → cela peut ensuite améliorer la qualité du code produit par l’IA
  • Poser des questions comme « Est-ce vraiment la meilleure méthode ? » ou « As-tu envisagé une autre approche ? »
  • Savoir repérer les cas où une résolution manuelle est préférable
  • Attention lors de la correction de bugs
    • En dehors des bugs mineurs, l’IA a du mal à corriger correctement
    • Elle peut endommager fortement le code
  • Pour les tâches importantes, pousser d’abord l’IA à poser des questions
    • Demander « As-tu complètement compris ? » avant de commencer à écrire le code

Conclusion

  • Les avantages du codage avec l’IA
    • On peut écrire du code même quand le cerveau est fatigué
    • Elle peut résoudre des problèmes normalement difficiles à traiter
  • Les limites du codage avec l’IA
    • Elle peut dire « Oui, maintenant j’ai compris le problème » et finalement aggraver la situation
    • Il est important d’apprendre à bien utiliser l’IA → elle ne va pas disparaître, il faut donc bien s’en servir comme outil
  • Prudence pour les développeurs juniors : l’usage de l’IA peut affaiblir les compétences en programmation
  • Les performances de l’IA varient fortement selon le sujet traité et la stack technique
    → si les performances de l’IA restent mauvaises, ce n’est probablement pas votre faute

8 commentaires

 
colus001 2025-03-14

Je recommande aussi le site web https://cursor.directory/ pour les règles Cursor.

 
kipsong133 2025-03-14

J’ai vraiment souvent vu l’affirmation selon laquelle l’usage de l’IA ferait régresser les compétences des développeurs juniors, donc ce serait intéressant s’il existait des articles à ce sujet pour voir si c’est vraiment le cas.
J’ai très bien lu cet excellent article :)

 
tominam2 2025-03-16

Pour moi, ça ressemble au discours selon lequel utiliser les raccourcis sur smartphone ferait baisser la mémoire.
Le coding, ce n’est pas la capacité à ne pas oublier et à retenir des choses évidentes, non ?

 
kipsong133 2025-03-16

Je suis d’accord aussi. Mémoriser les interfaces d’un framework, ce n’est pas ça, être un bon développeur.

 
seoseonyu 2025-03-14

Cursor, c’est très bien, mais... dans mon cas, comme je travaille sur plusieurs appareils,
j’ai trouvé dommage qu’il n’y ait pas de fonction de synchronisation des paramètres.

Il paraît qu’il existe une astuce consistant à créer des liens symboliques vers les extensions ou les fichiers de configuration directement depuis un lecteur réseau pour les synchroniser,
mais comme sur VSCode il suffit d’un clic pour synchroniser, devoir passer par ce genre de procédure est assez pénible.

 
pcj9024 2025-03-13

J’utilise peu Cmd+K dans vscode parce que je l’ai remplacé par Cmd+R, mais on ne voit passer que des témoignages sur les gains de productivité… pff, il faudrait peut-être que je migre.

 
bungker 2025-03-14

J’ai abandonné VS Code après l’avoir utilisé pendant 5 ans, et c’est vraiment bien.

 
GN⁺ 2025-03-13
Avis Hacker News
  • La direction de l’ingénierie de l’entreprise pousse fortement Cursor. C’est bien pour traiter de petits tickets et améliorer le produit, mais ce n’est pas adapté aux tâches lourdes

    • Le fait de dépendre de Cursor affaiblit les capacités de raisonnement et de codage des ingénieurs juniors
    • Personnellement, j’ai de fortes inquiétudes quant au conflit d’intérêts lié au fait que Cursor décide quels fichiers ajouter au contexte et facture en fonction de leur taille
    • Comme beaucoup de produits, c’est peu cher au début, mais une fois qu’on en devient dépendant, cela finit par coûter cher
  • Le modèle économique actuel de Cursor crée un conflit fondamental entre les utilisateurs et la santé financière de l’entreprise

    • Ces problèmes apparaissent alors que les fournisseurs de LLM cherchent à monter en échelle via le calcul en temps de raisonnement
    • Cursor essaie en particulier de réduire les coûts d’inférence, notamment via l’élagage du contexte
    • Quand on « attache » un fichier à la conversation, Cursor n’inclut plus le code de ce fichier dans le prompt
    • À la place, il exécute des appels de fonction pour ouvrir le fichier et lire des portions du code jusqu’à ce que le modèle estime avoir assez d’informations
    • Mais si l’on limite le raisonnement au prompt initial, le modèle raisonne uniquement à partir du prompt lui-même sans accéder aux fichiers attachés
    • Exécuter des appels de fonction après le raisonnement pour aller chercher plus de contexte vide complètement de son sens la notion même de « réflexion »
    • Cela pousse le modèle à produire des plans incohérents et des modifications spéculatives, ce qui explique le comportement étrange de surcorrection de Claude
    • Cursor a tout intérêt à minimiser l’effort de raisonnement de o3-mini et Claude 3.7 afin de réduire la charge serveur
  • Cursor est salué comme l’une des plus grandes histoires de croissance du SaaS, mais son modèle d’usage illimité à 20 $/mois les met dans une mauvaise situation

  • Chaque utilisateur doit tenir compte de son langage et de sa stack. Il est fort probable que Cursor ne fonctionne pas de la même manière pour tous les langages

    • Je travaille sur un monorepo Next.js/Typescript/Solidity avec plusieurs applications et packages, et il peut gérer presque tout
    • Je l’utilise depuis environ un mois et j’ai l’impression de pouvoir en tirer encore davantage
  • Après avoir utilisé Cursor pendant un mois, puis avoir eu une coupure Internet, j’ai réalisé que je commençais à oublier comment écrire correctement du code

  • L’UX de ces outils est surtout limitée par leur capacité à construire le contexte complet de ce que l’utilisateur veut faire

    • J’ai récemment essayé aider, et l’expérience a été assez frustrante
    • Il me demandait sans cesse « d’ajouter » des fichiers du répertoire, sans pouvoir les ajouter lui-même
    • Il ne détectait pas les modifications manuelles de fichiers, générait des commits avec du code cassé, etc.
    • Il semble plus important de fournir à l’IA l’ensemble du contexte que d’avoir un meilleur modèle
    • Les grandes fenêtres de contexte coûtent cher, donc beaucoup d’outils essaient constamment d’économiser
    • À long terme, ne pas faire ces économies a plus de valeur
    • Charger l’ensemble du projet peut coûter 2 à 3 dollars par question, mais si le coût baisse d’un facteur 20, cela ne me dérangera pas
  • Les grands modèles prennent en charge d’énormes fenêtres de contexte de plusieurs millions, voire dizaines de millions de tokens, avec un coût comparable au prix d’une petite voiture et une forte consommation d’énergie

    • Nvidia s’enrichit grâce aux marges élevées sur les GPU. Avec le temps, les prix baisseront
    • Je suis optimiste sur le fait que beaucoup de choses vont s’améliorer rapidement
  • Cursor est utile pour le prototypage et le développement de MVP, mais il rencontre des difficultés à mesure que la base de code grossit

    • Dès que les fichiers deviennent volumineux ou nombreux, la fenêtre de contexte se remplit et des problèmes de cohérence apparaissent
    • On peut obtenir de meilleurs résultats en sélectionnant manuellement les fichiers ou extraits pertinents, mais à ce stade, ce n’est plus très différent d’utiliser une interface web
  • En faisant la synthèse des avis d’autres commentateurs, j’ai l’impression qu’utiliser Cursor est une mauvaise idée

    • C’est un SaaS closed source dont la qualité de service peut varier d’un jour à l’autre
    • Je n’ai pas trouvé de moyen d’empêcher l’envoi en clair des fichiers .env
  • J’ai été déconcerté en lisant le conseil « apprenez quand résoudre les problèmes à la main »

    • C’est aussi creux que de dire à un investisseur « achetez bas, vendez haut »
  • J’ai essayé Cursor quelques fois, mais j’ai toujours les mêmes reproches

    • Pourquoi avoir forké VS Code, alors qu’ils auraient pu en faire une extension comme Copilot
    • Certaines extensions VS Code ne fonctionnent pas, il faut refaire tous les réglages et rajouter l’espace de travail
    • Les avantages obtenus par rapport à Copilot ne sont pas si importants