Passer au contenu principal
Si vous lisez ceci, vous connaissez probablement déjà certains cas d’usage et limites des LLM. Plus le prompt et le contexte fournis au modèle d’IA sont précis, meilleurs seront les résultats. De même avec Windsurf, il existe des bonnes pratiques pour rédiger des prompts plus efficaces afin de tirer le meilleur parti de l’outil et d’obtenir le code de la meilleure qualité possible pour accélérer vos flux de travail.
Pour les tâches plus complexes pouvant nécessiter de @‑mentionner des blocs de code spécifiques, utilisez le Chat plutôt que Command.

Composants d’une invite de haute qualité

  • Objectif ou résultat clair
    • Que demandez-vous au modèle d’IA de produire ?
    • Demandez-vous au modèle d’IA un plan ? Du nouveau code ? S’agit-il d’un refactor ?
  • Tout le contexte pertinent pour réaliser la/les tâche(s)
    • Avez-vous correctement utilisé les @‑mentions pour vous assurer que le bon contexte est inclus ?
    • Existe-t-il un contexte spécifique au client qui pourrait ne pas être clair pour Windsurf ?
  • Contraintes nécessaires
    • Y a-t-il des frameworks, bibliothèques ou langages spécifiques qui doivent être utilisés ?
    • Y a-t-il des contraintes de complexité en temps ou en espace ?
    • Y a-t-il des considérations de sécurité ?

Exemples

Exemple n° 1 :
  • Mauvais : Écrire des tests unitaires pour tous les cas de test d’un objet Order Book.
  • Bon : En utilisant @class:unit-testing-module, écrire des tests unitaires pour @func:src-order-book-add vérifiant les exceptions levées lorsque le prix est au-dessus ou en dessous du stop loss.
Exemple n° 2 :
  • Mauvais : Refactoriser rawDataTransform.
  • Bon : Refactoriser @func:rawDataTransform en transformant la boucle while en boucle for et en utilisant la même structure de données en sortie que @func:otherDataTransformer.
Exemple n° 3 :
  • Mauvais : Créer un nouveau Button pour le formulaire de contact.
  • Bon : Créer un nouveau composant Button pour @class:ContactForm en utilisant le guide de style de @repo:frontend-components avec le libellé « Continuer ».