Aller au contenu principal

Spécifier le contexte

Le contexte fait la différence

La qualité des réponses de grok-code-fast-1 dépend directement de la qualité du contexte que vous lui fournissez. Un prompt vague donne une réponse générique. Un prompt avec le bon contexte donne une réponse applicable immédiatement à votre code.

Le problème des prompts sans contexte

Prenons un exemple concret. Vous demandez :

“Améliore la gestion d’erreurs”

Le modèle ne sait pas :

  • Dans quel fichier travailler
  • Quel type d’erreurs vous gérez
  • Quels sont vos codes d’erreur existants
  • Quelle est la structure de votre projet
  • Quelles dépendances vous utilisez

Il va produire une réponse générique avec des try/catch standard, qui ne correspondra probablement pas à votre architecture.

Comment bien spécifier le contexte

Mentionner les fichiers concernés

Les éditeurs comme Cline et Cursor permettent de référencer des fichiers avec @. Utilisez cette fonctionnalité systématiquement :

“Mes codes d’erreur sont définis dans @errors.ts, utilise-les comme référence pour ajouter une gestion d’erreurs appropriée dans @sql.ts où je fais des requêtes”

Le modèle voit maintenant les fichiers concrets, comprend vos conventions, et produit du code cohérent avec votre codebase.

Décrire la structure du projet

Quand vous travaillez sur un nouveau projet ou une partie du code que le modèle ne connaît pas encore, décrivez brièvement la structure :

“Le projet utilise Express avec TypeScript. Les routes sont dans src/routes/, les services dans src/services/, et les types dans src/types/. Je travaille sur le service d’authentification.”

Préciser les dépendances

Si votre code utilise des bibliothèques spécifiques, mentionnez-les :

“J’utilise Zod pour la validation, Drizzle pour l’ORM, et Pino pour le logging. Ajoute de la validation sur le schéma d’entrée de @api/users.ts”

Exclure le non-pertinent

Aussi important que d’inclure le bon contexte : exclure ce qui n’est pas pertinent. Si vous référencez 15 fichiers pour une modification simple, le modèle risque de se perdre. Concentrez-vous sur les fichiers directement impliqués.

Exemples avant/après

Génération de tests

Sans contexte : “Écris des tests pour ma fonction de validation”

Avec contexte : “Écris des tests Vitest pour la fonction validateUser dans @src/validators/user.ts. Les fixtures de test sont dans @tests/fixtures/users.json. Utilise le même pattern que @tests/validators/product.test.ts”

Refactoring

Sans contexte : “Refactorise ce code pour qu’il soit plus propre”

Avec contexte : “Extrais la logique de retry dans @src/api/client.ts (lignes 45-78) dans un helper réutilisable dans @src/utils/retry.ts. Les autres clients API dans @src/api/ devront pouvoir l’utiliser aussi”

Points clés à retenir

  • Toujours référencer les fichiers concernés avec @
  • Décrire la structure du projet quand c’est nécessaire
  • Mentionner les dépendances et conventions utilisées
  • Exclure les informations non pertinentes pour éviter le bruit
  • Plus le contexte est précis, plus la réponse est applicable directement