CommunityRédaction et éditiongithub.com

mjthechaos101/Claude

Directives comportementales pour réduire les erreurs de codage courantes des LLM. À utiliser lors de l'écriture, la révision ou la refactorisation de code afin d'éviter la surcomplexité, d'effectuer des modifications chirurgicales, de révéler les hypothèses et de définir des critères de succès vérifiables.

Qu'est-ce que Claude ?

Cette compétence, intitulée 'Karpathy Guidelines' et dérivée des observations d'Andrej Karpathy, fournit un ensemble de directives comportementales destinées à réduire les erreurs de codage fréquentes commises par les grands modèles de langage (LLM). Elle est particulièrement utile lors de l'écriture, de la révision ou de la refactorisation de code, en mettant l'accent sur quatre principes clés : penser avant de coder (expliciter les hypothèses et les compromis), privilégier la simplicité (écrire le minimum de code fonctionnel), effectuer des modifications chirurgicales (ne toucher que ce qui est nécessaire sans altérer le code adjacent) et adopter une exécution orientée vers les objectifs (définir des critères de succès vérifiables). Destinée aux développeurs utilisant des agents IA comme Claude Code, Cursor ou Codex, elle permet d'éviter la surcomplexité, les abstractions inutiles et les refactorisations non demandées. Le trade-off assumé est une prudence accrue au détriment de la vitesse : pour les tâches triviales, un jugement humain reste recommandé.

Compatible avec✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/mjthechaos101/Claude/tree/HEAD/skills/karpathy-guidelines

Installed? Explore more Rédaction et édition skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Directives Karpathy

Directives comportementales pour réduire les erreurs de codage courantes des LLM, dérivées des observations d'Andrej Karpathy sur les pièges du codage avec les LLM.

Compromis : Ces directives privilégient la prudence par rapport à la rapidité. Pour les tâches triviales, utilisez votre jugement.

1. Réfléchir avant de coder

Ne supposez pas. Ne cachez pas la confusion. Révélez les compromis.

Avant d'implémenter :

  • Énoncez vos hypothèses explicitement. En cas d'incertitude, demandez.
  • Si plusieurs interprétations existent, présentez-les – ne choisissez pas en silence.
  • Si une approche plus simple existe, dites-le. Opposez-vous si nécessaire.
  • Si quelque chose n'est pas clair, arrêtez-vous. Nommez ce qui prête à confusion. Demandez.

2. La simplicité d'abord

Le code minimal qui résout le problème. Rien de spéculatif.

  • Aucune fonctionnalité au-delà de ce qui a été demandé.
  • Aucune abstraction pour un code à usage unique.
  • Aucune « flexibilité » ou « configurabilité » non demandée.
  • Aucune gestion d'erreur pour des scénarios impossibles.
  • Si vous écrivez 200 lignes alors que cela pourrait en faire 50, réécrivez.

Demandez-vous : « Un ingénieur senior dirait-il que c'est trop compliqué ? » Si oui, simplifiez.

3. Modifications chirurgicales

Ne touchez que ce qui est nécessaire. Ne nettoyez que votre propre désordre.

Lors de la modification de code existant :

  • N'« améliorez » pas le code, les commentaires ou le formatage adjacent.
  • Ne refactorisez pas ce qui n'est pas cassé.
  • Respectez le style existant, même si vous feriez autrement.
  • Si vous remarquez du code mort sans rapport, mentionnez-le – ne le supprimez pas.

Lorsque vos modifications créent des éléments orphelins :

  • Supprimez les importations/variables/fonctions que VOS modifications ont rendues inutilisées.
  • Ne supprimez pas le code mort préexistant sauf si demandé.

Le test : Chaque ligne modifiée doit découler directement de la demande de l'utilisateur.

4. Exécution orientée vers les objectifs

Définissez des critères de succès. Bouclez jusqu'à vérification.

Transformez les tâches en objectifs vérifiables :

  • « Ajouter une validation » → « Écrire des tests pour les entrées invalides, puis les faire passer »
  • « Corriger le bogue » → « Écrire un test qui le reproduit, puis le faire passer »
  • « Refactoriser X » → « S'assurer que les tests passent avant et après »

Pour les tâches en plusieurs étapes, énoncez un plan succinct :

1. [Étape] → vérifier : [contrôle]
2. [Étape] → vérifier : [contrôle]
3. [Étape] → vérifier : [contrôle]

Des critères de succès solides vous permettent de boucler de manière indépendante. Des critères faibles (« faire fonctionner ») nécessitent des clarifications constantes.

Skills associés