Concepts de base

Travailler avec de grands projets

Gère de grandes bases de code dans Bob IDE. Comprends l'optimisation de la fenêtre de contexte, la gestion des fichiers et les meilleures pratiques pour les projets à l'échelle de l'entreprise.

Comprendre les limites de contexte dans les grands projets

Bob utilise de grands modèles de langage qui ont une fenêtre de contexte limitée. C'est la quantité maximale de texte (mesurée en tokens) que Bob peut traiter à la fois. Si le contexte est trop grand, Bob peut ne pas être en mesure de comprendre votre demande ou de générer des réponses précises.

La fenêtre de contexte comprend :

  • Le prompt système (instructions pour Bob)
  • L'historique de conversation
  • Le contenu de tous les fichiers que vous mentionnez avec @
  • Le texte sélectionné envoyé au chat en utilisant Cmd + L (Mac) ou Ctrl + L (Windows/Linux)
  • La sortie de toutes les commandes ou outils que Bob utilise

Stratégies de gestion du contexte

  1. Soyez spécifique : Lors de la référence à des fichiers ou du code, utilisez des chemins de fichiers spécifiques et des noms de fonctions. Évitez les références vagues comme "le fichier principal".
  2. Utilisez efficacement les mentions de contexte : Utilisez @/chemin/vers/fichier.ts pour inclure des fichiers spécifiques. Utilisez @problems pour inclure les erreurs et avertissements actuels. Utilisez @ suivi d'un hash de commit pour référencer des commits Git spécifiques. Vous pouvez également surligner du texte dans votre éditeur et utiliser Cmd + L (Mac) ou Ctrl + L (Windows/Linux) pour l'envoyer directement au chat.
  3. Divisez les tâches : Décomposez les grandes tâches en sous-tâches plus petites et gérables. Cela aide à garder le contexte ciblé.
  4. Résumez si nécessaire : Si vous devez référencer une grande quantité de code, envisagez de résumer les parties pertinentes dans votre prompt au lieu d'inclure tout le code.
  5. Priorisez l'historique actuel : Bob condense automatiquement les messages plus anciens dans l'historique de conversation pour rester dans la fenêtre de contexte. Soyez conscient de cela et réintroduisez le contexte important si nécessaire.
  6. Configurez la gestion des fichiers volumineux : Ajustez le paramètre de gestion des fichiers volumineux pour contrôler comment Bob traite les fichiers qui dépassent un certain seuil de taille. Cela aide à gérer l'utilisation du contexte lors du travail avec de gros fichiers.
  7. Gérez l'utilisation des outils MCP : Vous pouvez désactiver et activer des outils spécifiques dans un service MCP pour n'utiliser que ce dont vous avez besoin, réduisant ainsi la consommation de contexte des définitions d'outils inutilisées.
  8. Utilisez des subagents ou des subtasks pour un travail isolé : Pour des pièces de travail importantes et autonomes, envisagez d'utiliser un subagent ou une subtask. Les deux s'exécutent dans leur propre fenêtre de contexte séparée, gardant la conversation principale légère. Voir Tools pour des détails sur spawn_subagent et start_subtask.
  9. Utilisez des outils de symboles au lieu de mentions de fichiers complets : Plutôt que de mentionner un fichier entier avec @, Bob peut utiliser des outils comme GetSymbolsOverview et FindSymbol pour naviguer directement vers la classe ou la fonction pertinente. Cela récupère uniquement ce qui est nécessaire et évite de charger le fichier complet dans le contexte.

Exemple : Refactoriser un gros fichier

Si vous devez refactoriser un gros fichier TypeScript (src/components/MyComponent.tsx), voici une approche efficace :

  1. Obtenir un aperçu initial :
    @/src/components/MyComponent.tsx Liste les fonctions et classes dans ce fichier.
  2. Cibler des fonctions spécifiques :
    @/src/components/MyComponent.tsx Refactorise la fonction `processData` pour utiliser `async/await` au lieu de Promises.
  3. Effectuer des modifications itératives : Effectuez de petites modifications incrémentielles et examinez et approuvez chaque étape.

En décomposant la tâche et en fournissant un contexte spécifique, vous pouvez travailler efficacement avec de gros fichiers dans les limites de la fenêtre de contexte.

Comment trouvez-vous ce sujet ?