Lucrați o oră la o sarcină, iar agentul propune din senin o variantă pe care ați respins-o cu jumătate de oră în urmă. Sau rezumă un fișier pe care l-ați modificat deja manual. Pare că a uitat, dar așa funcționează: agentul privește printr-o fereastră de dimensiune limitată și vede acolo nu întregul proiect, ci doar ce a încăput în acea fereastră.

Să vedem ce ocupă fereastra, cum puteți verifica asta cu comanda /context și ce să faceți când aproape nu mai este loc liber.

Contextul și limita lui

Contextul - informațiile disponibile modelului pentru următorul pas: mesajele dumneavoastră, răspunsurile agentului, codul citit, rezultatele comenzilor și instrucțiunile proiectului. Fereastra de context stabilește limita informațiilor care pot încăpea simultan. Nu este spațiu liber pe disc și nici memoria RAM a calculatorului dumneavoastră.

De aici apare diferența care provoacă cel mai des confuzie. Sunt trei lucruri pe care le putem lua ușor drept unul singur:

  • fișierele de pe disc - conținutul proiectului, pe care instrumentele îl pot citi;
  • istoricul salvat al sesiunii - înregistrarea conversației, stocată pe disc și disponibilă pentru a fi redeschisă;
  • contextul curent - informațiile disponibile modelului în acest moment.

Aceste seturi sunt legate, dar nu sunt identice. Un fișier poate exista într-un folder fără să apară vreodată în conversație. Iar conversația poate păstra o versiune a fișierului de acum o jumătate de oră. Așadar, simplul fapt că spuneți "am discutat deja despre asta" nu înseamnă că agentul are informațiile actualizate.

  • Fișierul proiectului
  • Citirea cu un instrument
  • Informații pentru răspuns

Între existența fișierului și faptul că agentul îl cunoaște se află pasul de citire. Claude Code îl face singur: caută prin proiect, deschide ce este necesar și ajunge la codul asociat. Nu trebuie să enumerați dinainte fiecare cale. Dar până când fișierul nu este citit, el nu există în conversație.

Volumul tuturor acestor informații se măsoară în tokeni - fragmente de text în care modelul împarte atât solicitarea dumneavoastră, cât și codul citit. Un token poate fi un cuvânt întreg sau doar o parte din el, așa că numărul de cuvinte nu vă ajută să calculați numărul de tokeni.

Ce ocupă fereastra înainte de prima întrebare

Fereastra este ocupată înainte să tastați primul cuvânt. Comanda /context arată exact cu ce:

Rezultatul comenzii /context: 4k din 200k de tokeni sunt ocupați, împărțiți pe categoriile System prompt, Memory files, Skills și Messages, plus rândul Free space.

Sesiunea abia a început, dar 4k din 200k de tokeni sunt deja ocupați, doar de componentele auxiliare: System prompt - instrucțiunile agentului, Memory files - fișierul CLAUDE.md și regulile proiectului încărcate, Skills - lista abilităților disponibile. Rândul Messages, adică discuția propriu-zisă, este încă gol.

Iată cum arată situația după o oră de lucru, cu câteva servere MCP conectate:

/context

  System prompt     3.2k   ( 2%)   instrucțiuni auxiliare
  System tools     12.1k   ( 6%)   descrierile instrumentelor integrate
  MCP tools        21.4k   (11%)   servere externe conectate
  Memory files      1.8k   ( 1%)   CLAUDE.md, reguli, memorie automată
  Messages         45.2k   (22%)   conversația, fișierele și jurnalele dumneavoastră
  Free space      116.3k   (58%)

Acesta este un exemplu, nu rezultatul unei anumite versiuni: rândurile afișate și ordinea lor depind de versiunea Claude Code și de componentele conectate în proiect, iar dimensiunea ferestrei depinde de model. În linii mari, imaginea rămâne aceeași, iar concluziile sunt practice:

  • componentele auxiliare de bază - instrucțiunile agentului și descrierile instrumentelor integrate - sunt mereu prezente și nu le puteți influența;
  • fiecare server MCP conectat adaugă în fereastră cel puțin lista propriilor instrumente, chiar dacă nu le-ați folosit niciodată. Să conectați ceva "ca să fie" înseamnă să plătiți pentru asta în fiecare sesiune;
  • și un fișier CLAUDE.md devenit prea mare se plătește din nou la fiecare pornire. Încă un motiv să-l păstrați concis;
  • pe parcursul lucrului crește, în esență, un singur rând - Messages. Pe acesta merită să-l urmăriți.
Verificați în propriul proiect

Dacă aveți Claude Code la îndemână, rulați /context, cereți-i să citească câteva fișiere, apoi rulați comanda din nou. Rândul Messages va crește sub ochii dumneavoastră și veți vedea cât costă o singură citire.

Ce se acumulează pe parcursul lucrului

Mai departe, dumneavoastră umpleți fereastra - și nu doar cu cuvinte. În context ajunge tot ce a citit agentul și tot ce a obținut la cererea dumneavoastră:

SursăCe anume ocupă spațiu
Conversațiamesajele dumneavoastră, răspunsurile agentului, inclusiv variantele respinse
Fișiere cititeconținutul integral sau fragmentele necesare
Rezultatele instrumentelorieșirea comenzii, rândurile găsite, observațiile din browser
Materiale din Skills și MCPinstrucțiunile abilității folosite, descrierea instrumentului apelat

Solicitarea și contextul obținut sunt două lucruri foarte diferite ca volum. Cererea "arată-mi tot jurnalul" are doar trei cuvinte, dar rezultatul ei poate ocupa mii de rânduri. De aceea, o ieșire amplă poate face mai mult rău decât o întrebare lungă.

De aici vine obiceiul de a indica precis sursele. Simbolul @ înaintea unei căi include fișierul în conversație, iar la tastarea căii apar sugestii: Citește @src/reward-flow.js și explică unde se stabilește numărul de puncte. Nu considerați că menționarea unui folder cu @ încarcă și conținutul tuturor fișierelor din el: referința la folder oferă o listă de fișiere. Alegeți sursa în funcție de întrebare. Această diferență dintre referirea la un fișier și la un folder este descrisă în documentația despre referințele la fișiere.

Încă un detaliu. Dacă după aceea înlocuiți manual zece cu douăzeci, răspunsul anterior nu se actualizează singur. Înainte de o nouă concluzie, cereți-i agentului să citească din nou conținutul actual. Referirea la un fișier citit cândva nu transformă textul vechi din conversație într-o copie vie a fișierului de pe disc.

Când se termină spațiul

Fereastra are o limită, dar sesiunea nu se întrerupe la jumătatea unei propoziții. Pe măsură ce se umple, Claude Code face comprimarea: înlocuiește istoricul detaliat cu un rezumat și eliberează spațiu. Procesul are loc automat, iar momentul depinde de model și de setări.

Puteți porni și manual comprimarea cu comanda /compact. Avantajul este că alegeți momentul - de exemplu, înaintea unei noi etape ample de lucru - și puteți preciza ce trebuie păstrat:

/compact Păstrează obiectivul sarcinii și limitele modificării,
varianta respinsă cu un handler separat
și pasul următor: verificarea golirii câmpului de căutare.

Cel mai important lucru despre comprimare: în fereastră rămâne rezumatul, nu conversația. Un detaliu care nu apare în rezumat dispare din fereastră, iar după comprimare nu are rost să insistați cu "dar ai fost de acord acum douăzeci de minute" - e mai simplu să găsiți din nou informația necesară în fișier. Instrucțiunile proiectului nu se pierd: fișierul CLAUDE.md din rădăcina proiectului se încarcă din nou.

A doua comandă, /clear, nu comprimă nimic. Ea deschide o conversație nouă: cea veche rămâne salvată și poate fi accesată cu /resume, fișierele proiectului nu se schimbă, iar instrucțiunile proiectului se încarcă în mod obișnuit.

ComandăCe faceCând să o alegeți
/contextarată ce ocupă fereastranu este clar unde s-a dus spațiul
/compactrezumă istoriculsarcina este aceeași, dar s-a acumulat mult istoric
/clearîncepe o conversație nouăsarcina s-a schimbat

Regula de alegere este simplă: dacă sarcina rămâne aceeași, comprimați; dacă se schimbă, începeți o conversație nouă. Nu e nevoie să ștergeți totul după fiecare comandă: cât timp analizați aceeași problemă, observațiile și clarificările vă sunt utile. Înainte de un subiect nou, merită însă să notați în câteva rânduri concluzia necesară: "recompensa este definită în src/reward-config.js, iar acordarea ei în src/reward-flow.js". Așa știți unde să reveniți fără să rescrieți întreaga conversație.

Cum să folosiți fereastra mai eficient

Nu veți avea nevoie atât de des de aceste trei comenzi dacă evitați să încărcați fereastra cu informații inutile de la bun început. Iată câteva obiceiuri cu cel mai mare efect:

  • Formulați cereri precise. La o solicitare vagă, agentul începe să exploreze: citește fișiere inutile și analizează mai multe variante. Dacă indicați fișierul și rezultatul dorit, economisiți atât spațiu, cât și timp.
  • Nu încărcați totul fără discernământ. Pentru o întrebare despre un test care eșuează, sunt necesare rândurile din jurul erorii, nu întregul jurnal.
  • Păstrați concise instrucțiunile proiectului. Fișierul CLAUDE.md se încarcă în fiecare sesiune. Documentația amplă e mai potrivită în fișiere separate, citite la nevoie.
  • Dezactivați serverele MCP de care nu aveți nevoie. Un server conectat "pentru orice eventualitate" ocupă spațiu la fiecare pornire, fără să aducă vreun beneficiu.
  • Încredințați cercetările ample unui subagent. Acesta lucrează în propria fereastră și vă returnează un rezumat, iar zecile de fișiere citite rămân în contextul său.

Ce merită să rețineți

Contextul este ceea ce ați pus pe masă, nu ceea ce "există în proiect". Fișierul de pe disc, înregistrarea din istoric și informațiile din fereastra curentă sunt trei lucruri diferite, iar confuzia dintre ele explică majoritatea răspunsurilor ciudate.

În cele din urmă, totul se reduce la trei acțiuni: verificați cât de plină este fereastra cu /context, indicați sursa necesară cu @ și decideți la timp dacă să comprimați conversația sau să începeți una nouă. Alegeți în funcție de situație: comprimarea nu înlocuiește citirea fișierului necesar, iar faptul că i-ați dat fișierul nu verifică în locul dumneavoastră raționamentul agentului.