Tutoriels

Gérer la fenêtre de contexte

Gère la fenêtre de contexte de Bob pour préserver la mémoire, contrôler le coût et maintenir la qualité de sortie.

Chaque tâche (conversation) dans le panneau de chat a une fenêtre de contexte. La fenêtre de contexte est la limite de tokens de ce que Bob peut garder en mémoire pour la session en cours. Le contexte inclut les instructions système, les schémas d’outils, tes règles et skills, ainsi que la transcription complète.

Dans ce tutoriel, tu ouvres la fenêtre de contexte, tu apprends ce que Bob charge avant que tu commences le vrai travail, et tu apprends quand créer une nouvelle fenêtre de contexte.

À la fin de ce tutoriel, tu apprendras à faire les choses suivantes :

  1. Identifier chaque catégorie de la fenêtre de contexte et ce que Bob y charge.
  2. Mesurer la surcharge de contexte de base sur Galaxium Travels.
  3. Observer comment Messages augmente après un prompt sur le repository pendant que les catégories fixes restent stables.
  4. Démarrer une nouvelle tâche pour réinitialiser la fenêtre de contexte tout en gardant la tâche précédente dans l’historique.

Organisation de ce tutoriel

ÉtapeSectionCe que tu fais
1Préparer le laboOuvrir Galaxium Travels et le panneau de chat
2Lire la répartition de la fenêtre de contexteEnvoyer un prompt minimal, puis examiner une nouvelle répartition (~8.5k)
3Faire grandir Messages avec un promptLister les fichiers, puis vérifier que Messages monte à ~4.2k (12.1k au total)
4Créer une nouvelle fenêtre de contexteCliquer sur + (Nouvelle tâche), puis vérifier que l’indicateur se réinitialise

Familiarise-toi avec les termes suivants :

  • Tâche : Un fil de conversation avec sa propre fenêtre de contexte. Tu démarres une nouvelle fenêtre de contexte avec + (Nouvelle tâche). Tes prompts, les réponses de Bob et les boutons d’approbation se trouvent ici.
  • Répartition de la fenêtre de contexte : Clique sur l’indicateur d’utilisation des tokens en haut à droite du panneau de chat pour voir où vont les tokens.

Les totaux varient selon les serveurs MCP, les règles, les skills et la quantité de contenu que Bob lit. Les chiffres suivants viennent de Galaxium Travels avec une fenêtre de 270.0k. Les catégories fixes devraient être proches de ces valeurs. Messages dépend de ce que tu demandes à Bob de faire.

Prérequis

Pour suivre ce tutoriel, tu as besoin des éléments suivants :

Pourquoi la gestion du contexte est importante

Coût des tokens

Les tokens sont l’unité de consommation de Bob, mesurée en Bob coins. Les conversations plus longues et les lectures de fichiers plus volumineuses consomment plus de tokens. Des conversations ciblées réduisent le coût.

Chaque prompt renvoie tout le contexte actif. Cela inclut une surcharge fixe que tu n’as jamais tapée. Même une question sur une seule ligne transporte quand même les définitions d’outils, les règles et tout ce que Bob charge par défaut.

Le résumé fait perdre des informations

Quand Bob atteint sa limite de tokens, Bob condense le contenu plus ancien pour continuer à travailler, ce qui fait perdre des détails. Tu peux perdre des cas limites, du raisonnement intermédiaire et des contraintes que tu as données plusieurs prompts plus tôt.

Si tu as encore besoin des détails du contenu, démarre une nouvelle tâche avant que Bob ne les résume.

La qualité baisse avant la limite

Bob utilise actuellement une fenêtre de 270.0k tokens. Vérifie ton propre indicateur d’utilisation des tokens pour connaître la limite exacte. La qualité baisse souvent avant que tu l’atteignes. À mesure que Messages augmente, les réponses deviennent moins fiables.

Préparer le labo

  1. Clone le repository Galaxium Travels.

    git clone -b bob-learning-path-branch https://github.com/IBM/galaxium-travels
  2. Clique sur File, puis sur Open Folder.

  3. Va dans le répertoire galaxium-travels que tu as cloné et ouvre-le.

  4. Ouvre l’interface de chat Bob en cliquant sur l’icône Bob à côté de la barre de navigation, ou utilise le raccourci Option + Command + B (macOS) ou Ctrl + Alt + B (Windows).

  5. Dans le champ de saisie du chat, exécute /init. Bob analyse le repository et crée un fichier AGENTS.md avec les règles du projet. Clique sur Approve todo tools for task si on te le demande.

    Attends que Bob indique qu’il a terminé. Ce fichier AGENTS.md est ce qui apparaît ensuite comme la ligne Rules dans la répartition de la fenêtre de contexte, donc le repository en a besoin avant que tu mesures une base.

Lire la répartition de la fenêtre de contexte

Obtiens une nouvelle base, puis lis la répartition.

  1. Clique sur + en haut du panneau de chat pour démarrer une nouvelle tâche.

  2. Envoie un prompt minimal pour utiliser peu de tokens :

    Réponds juste rapidement bonjour.

    Attends la réponse de Bob.

  3. Clique sur l’indicateur d’utilisation des tokens en haut à droite du panneau de chat pour voir la répartition.

Répartition de la fenêtre de contexte

Après cet échange sur Galaxium Travels, tes chiffres varieront, mais tu verras des valeurs proches de celles-ci :

Tokens
Total used8.5k (~3 % plein)
System prompt1.5k
Tool definitions5.1k
Rules830
Skills454
Messages590
Reserved for model response20.0k
Available space241.5k

Si Total used est loin de 8.5k, vérifie que tu as démarré une nouvelle tâche et envoyé seulement ce prompt.

Tool definitions est généralement la plus grande catégorie fixe. Les serveurs MCP et les schémas d’outils intégrés se chargent même si tu ne les appelles pas. Rules vient de fichiers du projet comme AGENTS.md. Skills peut augmenter plus tard si Bob charge un skill pendant la tâche.

  1. Lis chaque catégorie. La répartition montre où vont les tokens :

    CatégorieCe que c’est
    System promptLes instructions de base de Bob pour cette session
    Tool definitionsLes schémas des outils intégrés de Bob et des outils MCP connectés
    RulesLes instructions personnalisées de ton projet et de ton mode (custom rules, par exemple AGENTS.md)
    SkillsLes instructions de tous les skills que Bob a chargés (l’UI peut afficher un nombre, par exemple Skills (1 loaded))
    MessagesTes prompts, les réponses de Bob et l’activité des outils dans la tâche. C’est la transcription comptée en tokens.

    Sous Estimated breakdown :

    • Reserved for model response: Des tokens réservés pour que Bob puisse répondre sans atteindre immédiatement la limite.
    • Available space: Une estimation des tokens encore libres avant que Bob doive condenser.

    Sur Galaxium, les catégories fixes (System prompt, Tool definitions, Rules, Skills) totalisent environ 8k avant tout vrai travail. Tu paies cela à chaque tour, même si tu ne l’as jamais tapé.

Faire grandir Messages avec un prompt

Reste dans la même tâche. Envoie un prompt qui remplit la transcription.

  1. Demande une liste de fichiers.

    Liste tous les fichiers de ce répertoire.

    Approuve les actions de lecture si on te le demande. Bob liste les fichiers du repository.

  2. Compare ce qui a changé. Ouvre à nouveau la répartition. Sur Galaxium Travels, tu devrais voir des valeurs proches de celles-ci :

    CatégorieNouvelle tâcheAprès list-filesTravail prolongé (référence)
    System prompt1.5k1.5k1.5k
    Tool definitions5.1k5.1k5.1k
    Rules830830830
    Skills4544541.2k (1 chargé)
    Messages5904.2k19.4k
    Total used8.5k (~3 %)12.1k (~4 %)28.0k (~10 %)
    Available space241.5k237.9k222.0k

    Messages devrait maintenant afficher environ 4.2k. Si c’est beaucoup plus élevé, Bob a lu plus de fichiers que dans cet exemple, ce qui est normal. L’idée est que Messages a augmenté alors que les catégories fixes n’ont pas bougé.

    La sortie de la liste et l’activité des outils restent dans la transcription. System prompt, Tool definitions, Rules et Skills restent stables après un seul prompt list-files.

    La colonne de droite vient d’une session Galaxium plus longue avec plus de lectures et de prompts de suivi. Skills peut augmenter si Bob charge un skill (de 454 à 1.2k dans cet exemple). Avec le temps, Messages est généralement ce qui augmente le plus vite.

    Un seul prompt list-files ajoute environ 3.6k à Messages sur Galaxium. La surcharge fixe reste proche de 8k. Explorer un repository consomme vite du contexte même quand la surcharge ne change pas.

Créer une nouvelle fenêtre de contexte

Démarre une nouvelle tâche dans le même projet. L’ancienne tâche (conversation) reste dans l’historique.

  1. Clique sur + (Nouvelle tâche) en haut du panneau de chat.

    L’indicateur se réinitialise. Messages redescend à une petite valeur. System prompt, Tool definitions, Rules et Skills se rechargent à peu près au niveau de base.

  2. La tâche que tu as quittée reste dans la liste des tâches, et tu peux y revenir à tout moment. Elle garde sa propre transcription et son propre nombre de tokens. Bob ne l’utilise pas pendant que tu travailles dans la nouvelle tâche.

    Démarre une nouvelle tâche quand :

    • tu changes de sujet ou d’objectif de travail.
    • Messages est assez grand pour nuire à la qualité ou au coût. Sur Galaxium, 19.4k dans Messages est un signal raisonnable pour réinitialiser.
    • tu as terminé la planification et tu veux une tâche propre pour l’implémentation. Voir Planifier et implémenter des fonctionnalités complexes.

    Réflexion : Ouvre la répartition dans la nouvelle tâche. Quelles catégories sont revenues au niveau de base ? Lesquelles auraient continué à augmenter si tu étais resté dans l’ancienne tâche ?

Prochaines étapes

Dans ce tutoriel, tu as appris à gérer efficacement la fenêtre de contexte. Tu as lu la répartition, mesuré la surcharge fixe de tokens, observé l’augmentation de Messages après un prompt list-files, puis réinitialisé avec + (Nouvelle tâche).

Comment trouvez-vous ce sujet ?