Przejdź do głównej zawartości

Zarządzanie tokenami

Korzystasz z Cursora od miesiąca, a twój dashboard użycia pokazuje, że zużyłeś alokację dwa razy szybciej niż oczekiwano. Szybki audyt ujawnia wzorzec: twoje prompty w trybie Agent rutynowo dołączają 8-10 plików kontekstu, twoje reguły zawsze stosowane zużywają 3000 tokenów zanim wpiszesz choćby jedno słowo, a twoje długie konwersacje tracą skupienie po wiadomości numer 12, co powoduje, że agent wielokrotnie ponownie czyta te same pliki. Płacisz za kontekst, który nie przyczynia się do lepszych wyników.

Zarządzanie tokenami nie polega na oszczędzaniu. Polega na precyzji — dawaniu AI dokładnie takiego kontekstu, jakiego potrzebuje, i niczego więcej. To daje lepsze wyniki przy niższych kosztach.

  • Techniki redukcji narzutu kontekstowego bez poświęcania jakości AI
  • Strategie wyboru odpowiedniego modelu w zależności od złożoności zadania
  • Praktyki zarządzania konwersacjami utrzymujące efektywne zużycie tokenów
  • Ramy szacowania kosztów do budżetowania zespołowego

Każda interakcja z Cursorem ma budżet tokenów. Budżet jest zużywany przez:

  1. Prompt systemowy i reguły — Twoje reguły zawsze stosowane, istotne reguły o zakresie glob i reguły zespołowe
  2. Kontekst plików — Pliki dołączone za pomocą @, pliki czytane przez agenta podczas eksploracji
  3. Historia konwersacji — Poprzednie wiadomości w bieżącym czacie
  4. Eksploracja agenta — Pliki czytane przez agenta podczas wyszukiwania istotnego kodu

Wskaźnik kontekstu w polu promptu pokazuje, ile budżetu jest zużyte. Najedź na niego, aby zobaczyć, które reguły są aktywne.

Większość modeli w Cursorze operuje z oknem kontekstu 200 tys. tokenów. To wydaje się dużo, dopóki nie zdasz sobie sprawy, że:

  • Typowy plik TypeScript o 500 liniach zużywa około 3000-5000 tokenów
  • Reguła zawsze stosowana ze 100 liniami zużywa około 500-1000 tokenów
  • Historia konwersacji z 10 wiadomościami może zużyć 20 000-40 000 tokenów
  • Eksploracja agenta w dużej bazie kodu może zużyć ponad 50 000 tokenów

Gdy okno kontekstu się zapełnia, Cursor musi podsumowywać lub odrzucać informacje. Wtedy agent zaczyna “zapominać” rzeczy, które wcześniej wspomniałeś, lub pliki, które już przeczytał.

Każda reguła zawsze stosowana jest dołączana do każdego pojedynczego promptu. Jeśli masz pięć reguł zawsze stosowanych o łącznej objętości 2000 tokenów, to 2000 tokenów budżetu jest zużywanych zanim konwersacja się w ogóle rozpocznie.

Większość reguł nie musi być zawsze stosowana:

  • Reguły stylu kodu -> Zakres glob do odpowiednich typów plików (*.ts, *.tsx)
  • Konwencje API -> Zakres glob do katalogu API (src/api/**/*.ts)
  • Przewodniki implementacji funkcji -> Decyzja agenta (dodaj opis, aby agent ładował je, gdy są istotne)
  • Przegląd projektu -> Ten może pozostać zawsze stosowany, ale utrzymuj go zwięzłym (poniżej 50 linii)

Reguły kopiujące przykładowy kod inline marnują tokeny. Zamiast tego:

# Bad: Inlines the entire example (wastes tokens)
When creating API routes, follow this pattern:
[200 lines of example code]
# Good: References the file (loaded only when needed)
When creating API routes, follow the pattern in @src/routes/users.ts.

Najczęstsze źródło zmarnowanych tokenów to długie konwersacje. Po 6-8 wymianach historia konwersacji zużywa znaczną część okna kontekstu, a agent musi balansować stary kontekst z nowymi żądaniami.

Rozpocznij nowy czat, gdy:

  • Ukończyłeś jedno logiczne zadanie i zaczynasz kolejne
  • Agent się powtarza lub odwołuje do przestarzałych informacji
  • Przechodzisz do innego obszaru bazy kodu
  • Wskaźnik kontekstu jest powyżej 60% zanim zaczniesz pisać

Zamiast budować kontekst przez wiele wiadomości, umieść wszystko istotne w pierwszej wiadomości:

# Bad: Incremental context building (wastes 3x tokens)
Message 1: "Look at our auth module"
Message 2: "Now look at the user service too"
Message 3: "OK, now add rate limiting that works with both"
# Good: All context upfront (same result, fewer tokens)
"Add rate limiting to our API that integrates with:
- @src/middleware/auth.ts (authentication middleware)
- @src/services/user-service.ts (user service)
Follow the middleware pattern in auth.ts."

Różne modele mają różne koszty i możliwości. Dopasowanie modelu do zadania oszczędza tokeny i pieniądze:

ZadanieZalecany modelDlaczego
Złożone funkcje wieloplikoweClaude Opus 4.6Najlepsza wydajność agentowa, warty kosztu przy trudnych zadaniach
Codzienne kodowanie, poprawki błędówClaude Sonnet 4.5Silna wydajność przy niższym koszcie
Szybkie edycje inlineDowolny szybki modelEdycje inline są małe; jakość modelu ma mniejsze znaczenie
Eksploracja dużych baz koduGemini 3 ProNajwiększe okno kontekstu do eksploracji rozległego kodu
Prosta refaktoryzacjaClaude Sonnet 4.5Mechaniczne zadania nie potrzebują najdroższego modelu

Przełączaj modele skrótem Cmd/Ctrl+/, aby przejść do następnego modelu, lub Cmd/Ctrl+., aby otworzyć selektor modeli.

Background Agents używają wyłącznie modeli MAX mode i mogą szybko akumulować koszty. Zarządzaj nimi poprzez:

  • Dzielenie zadań na mniejsze kawałki: Złożone zadanie za 12 USD często daje gorsze wyniki niż trzy skoncentrowane zadania po 4 USD
  • Ustawianie limitów wydatków: Skonfiguruj miesięczne limity w ustawieniach Cursora
  • Precyzyjne opisy zadań: Niejasne instrukcje powodują, że agent eksploruje więcej plików, zużywając więcej tokenów
  • Zaczynanie od planu: Najpierw użyj trybu Plan lokalnie, a następnie przekaż konkretny plan Background Agentowi

Zamiast dołączać każdy plik, który może być istotny, dołącz tylko pliki, których agent faktycznie potrzebuje:

# Over-contextualized (wastes tokens on irrelevant files)
"Add a delete endpoint @src/routes/users.ts @src/routes/posts.ts
@src/routes/comments.ts @src/models/user.ts @src/models/post.ts
@src/middleware/auth.ts @src/middleware/rate-limit.ts @src/lib/db.ts"
# Minimum viable context
"Add a DELETE /api/users/:id endpoint in @src/routes/users.ts.
Follow the same pattern as the existing PATCH endpoint in that file."

Agent może eksplorować dodatkowe pliki, jeśli ich potrzebuje. Zacznij z minimalnym kontekstem i pozwól agentowi poprosić o więcej.

Zamiast dołączać poszczególne pliki, użyj @folder, aby dać agentowi strukturalny przegląd katalogu. To kosztuje mniej tokenów niż dołączanie każdego pliku w folderze i daje agentowi wystarczającą informację, aby wiedzieć, które pliki przeczytać szczegółowo.

Agent produkuje gorsze wyniki z mniejszym kontekstem. Mogłeś usunąć kontekst, którego faktycznie potrzebował. Celem jest usunięcie nieistotnego kontekstu, nie całego kontekstu. Jeśli jakość wyników spada po redukcji kontekstu, dodaj z powrotem konkretne pliki, w których agent się myli.

Wskaźnik kontekstu zapełnia się w trakcie konwersacji. Rozpocznij nowy czat. Cursor kondensuje długie konwersacje, ale kondensacja traci szczegóły. Nowy czat ze skoncentrowanym kontekstem daje lepsze wyniki niż skondensowana długa konwersacja.

Koszty Background Agent są nieprzewidywalne. Śledź wydatki w panelu Cursor. Zacznij od małych zadań, aby skalibrować oczekiwania kosztowe, zanim uruchomisz kosztowne operacje wieloplikowe.

Zmiana modeli zauważalnie zmienia jakość wyników. To jest oczekiwane. Mniej zaawansowane modele popełniają więcej błędów przy złożonych zadaniach. Używaj tańszych modeli do pracy mechanicznej i inwestuj w najlepszy model do pracy wymagającej zrozumienia i oceny.