Tutorial

Gestire la finestra di contesto

Gestisci la finestra di contesto di Bob per preservare la memoria, controllare i costi e mantenere la qualità dell'output.

Ogni task (conversazione) nel pannello chat ha una finestra di contesto. La finestra di contesto è il limite di token per ciò che Bob può mantenere in memoria nella sessione corrente. Il contesto include istruzioni di sistema, schemi degli strumenti, le tue regole e skills, e la trascrizione completa.

In questo tutorial aprirai la finestra di contesto, imparerai cosa carica Bob prima che tu inizi il lavoro reale e capirai quando creare una nuova finestra di contesto.

Alla fine di questo tutorial imparerai a fare quanto segue:

  1. Identificare ogni categoria della finestra di contesto e cosa Bob carica al suo interno.
  2. Misurare l'overhead di base del contesto in Galaxium Travels.
  3. Osservare come Messages cresce dopo un prompt sul repository mentre le categorie fisse restano stabili.
  4. Avviare un nuovo task per reimpostare la finestra di contesto mantenendo il task precedente nella cronologia.

Come è organizzato questo tutorial

PassoSezioneCosa fai
1Preparare il laboratorioApri Galaxium Travels e il pannello chat
2Leggere la ripartizione della finestra di contestoInvia un prompt minimo, poi controlla una nuova ripartizione (~8.5k)
3Far crescere Messages con un promptElenca i file, poi verifica che Messages salga a ~4.2k (12.1k in totale)
4Creare una nuova finestra di contestoFai clic su + (Nuovo task), poi verifica che l'indicatore si reimposti

Familiarizza con i seguenti termini:

  • Task: Un thread di conversazione con la sua finestra di contesto. Avvii una nuova finestra di contesto con + (Nuovo task). Qui si trovano i tuoi prompt, le risposte di Bob e i pulsanti di approvazione.
  • Ripartizione della finestra di contesto: Fai clic sull'indicatore di utilizzo dei token in alto a destra nel pannello chat per vedere dove vanno i token.

I totali variano in base ai server MCP, alle regole, alle skills e a quanto Bob legge. Le cifre seguenti provengono da Galaxium Travels con una finestra di 270.0k. Le categorie fisse dovrebbero essere vicine a questi valori. Messages dipende da ciò che chiedi a Bob di fare.

Prerequisiti

Per completare questo tutorial, ti serve quanto segue:

Perché la gestione del contesto è importante

Costo dei token

I token sono l'unità di consumo di Bob, misurata in Bob coins. Conversazioni più lunghe e letture di file più grandi consumano più token. Mantenere le conversazioni focalizzate riduce il costo.

Ogni prompt invia di nuovo tutto il contesto attivo. Questo include overhead fisso che tu non hai mai digitato. Anche una domanda di una sola riga include comunque definizioni degli strumenti, regole e tutto il resto che Bob carica per impostazione predefinita.

Il riassunto perde informazioni

Quando Bob raggiunge il suo limite di token, Bob condensa i contenuti meno recenti per continuare a lavorare, perdendo dettagli. Puoi perdere casi limite, ragionamento intermedio e vincoli che avevi indicato molti prompt prima.

Se hai ancora bisogno dei dettagli del contenuto, avvia un nuovo task prima che Bob li riassuma.

La qualità peggiora prima del limite

Bob attualmente usa una finestra di 270.0k token. Controlla il tuo indicatore di utilizzo dei token per vedere il limite esatto. La qualità spesso peggiora prima di raggiungerlo. Man mano che Messages cresce, le risposte diventano meno affidabili.

Preparare il laboratorio

  1. Clona il repository Galaxium Travels.

    git clone -b bob-learning-path-branch https://github.com/IBM/galaxium-travels
  2. Fai clic su File e poi su Open Folder.

  3. Vai nella directory galaxium-travels che hai clonato e aprila.

  4. Apri l'interfaccia chat di Bob facendo clic sull'icona Bob accanto alla barra di navigazione, oppure usa la scorciatoia Option + Command + B (macOS) o Ctrl + Alt + B (Windows).

  5. Nel campo di input della chat, esegui /init. Bob analizza il repository e crea un file AGENTS.md con le regole del progetto. Fai clic su Approve todo tools for task se richiesto.

    Attendi che Bob segnali di aver terminato. Questo AGENTS.md è ciò che poi appare come riga Rules nella ripartizione della finestra di contesto, quindi il repository ne ha bisogno prima che tu misuri una baseline.

Leggere la ripartizione della finestra di contesto

Ottieni una baseline nuova, poi leggi la ripartizione.

  1. Fai clic su + nella parte superiore del pannello chat per avviare un nuovo task.

  2. Invia un prompt minimo per usare pochi token:

    Rispondi solo con un rapido ciao.

    Attendi la risposta di Bob.

  3. Fai clic sull'indicatore di utilizzo dei token in alto a destra nel pannello chat per vedere la ripartizione.

Ripartizione della finestra di contesto

Dopo questo scambio in Galaxium Travels, i tuoi numeri varieranno, ma vedrai valori vicini a questi:

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

Se Total used è molto diverso da 8.5k, controlla di aver avviato un task nuovo e di aver inviato solo quel prompt.

Tool definitions è di solito la categoria fissa più grande. I server MCP e gli schemi degli strumenti integrati si caricano anche se non li usi. Rules proviene da file di progetto come AGENTS.md. Skills può aumentare più tardi se Bob carica una skill durante il task.

  1. Leggi ogni categoria. La ripartizione mostra dove vanno i token:

    CategoriaChe cos'è
    System promptLe istruzioni principali di Bob per questa sessione
    Tool definitionsGli schemi degli strumenti integrati di Bob e degli strumenti MCP collegati
    RulesIstruzioni personalizzate dal tuo progetto e dalla tua modalità (custom rules, per esempio AGENTS.md)
    SkillsIstruzioni da qualsiasi skill che Bob ha caricato (la UI può mostrare un conteggio, per esempio Skills (1 loaded))
    MessagesI tuoi prompt, le risposte di Bob e l'attività degli strumenti nel task. Questa è la trascrizione conteggiata come token.

    In Estimated breakdown:

    • Reserved for model response: Token riservati così Bob può rispondere senza raggiungere subito il limite.
    • Available space: Token stimati ancora liberi prima che Bob debba condensare.

    In Galaxium, le categorie fisse (System prompt, Tool definitions, Rules, Skills) totalizzano circa 8k prima di iniziare un lavoro significativo. Paghi questo costo a ogni turno, anche se non l'hai mai digitato.

Far crescere Messages con un prompt

Resta nello stesso task. Invia un prompt che faccia crescere la trascrizione.

  1. Richiedi un elenco di file.

    Elenca tutti i file in questa directory.

    Approva le azioni di lettura se richiesto. Bob elenca i file nel repository.

  2. Confronta cosa è cambiato. Apri di nuovo la ripartizione. In Galaxium Travels, dovresti vedere valori vicini a questi:

    CategoriaTask nuovoDopo list-filesLavoro prolungato (riferimento)
    System prompt1.5k1.5k1.5k
    Tool definitions5.1k5.1k5.1k
    Rules830830830
    Skills4544541.2k (1 caricata)
    Messages5904.2k19.4k
    Total used8.5k (~3%)12.1k (~4%)28.0k (~10%)
    Available space241.5k237.9k222.0k

    Messages ora dovrebbe mostrare circa 4.2k. Se è molto più alto, Bob ha letto più file rispetto a questo esempio, il che va bene. Il punto è che Messages è cresciuto mentre le categorie fisse non sono cambiate.

    L'output dell'elenco e l'attività degli strumenti restano nella trascrizione. System prompt, Tool definitions, Rules e Skills restano stabili dopo un solo prompt list-files.

    La colonna più a destra proviene da una sessione Galaxium più lunga con più letture e prompt di follow-up. Skills può aumentare se Bob carica una skill (da 454 a 1.2k in quell'esempio). Nel tempo, Messages è di solito ciò che cresce più rapidamente.

    Un solo prompt list-files aggiunge circa 3.6k a Messages in Galaxium. L'overhead fisso resta vicino a 8k. Esplorare il repository usa rapidamente il contesto anche quando l'overhead non cambia.

Creare una nuova finestra di contesto

Avvia un nuovo task nello stesso progetto. Il vecchio task (conversazione) resta nella cronologia.

  1. Fai clic su + (Nuovo task) nella parte superiore del pannello chat.

    L'indicatore si reimposta. Messages torna a un numero piccolo. System prompt, Tool definitions, Rules e Skills si ricaricano tornando più o meno alla baseline.

  2. Il task che hai lasciato resta nell'elenco dei task e puoi tornarci in qualsiasi momento. Mantiene la sua trascrizione e il suo conteggio token. Bob non lo usa mentre lavori nel nuovo task.

    Avvia un nuovo task quando:

    • cambi argomento o obiettivo di lavoro.
    • Messages è abbastanza grande da influire su qualità o costo. In Galaxium, 19.4k in Messages è un segnale ragionevole per reimpostare.
    • hai finito la pianificazione e vuoi un task pulito per l'implementazione. Vedi Pianificare e implementare funzionalità complesse.

    Riflessione: Apri la ripartizione nel nuovo task. Quali categorie sono tornate alla baseline? Quali avrebbero continuato a crescere se fossi rimasto nel vecchio task?

Prossimi passi

In questo tutorial hai imparato a gestire la finestra di contesto in modo efficace. Hai letto la ripartizione, misurato la quantità di overhead fisso dei token, osservato l'aumento di Messages dopo un prompt list-files e reimpostato con + (Nuovo task).

Come valuti questo argomento?