Przejdź do głównej zawartości

Tryby agenta w Cursorze określają, co agent może zmienić w rozmowie. Plan Mode bada kod i przygotowuje plan do przeglądu przed zmianą plików; Agent mode edytuje pliki i uruchamia polecenia. Cursor ma też tryb Ask tylko do odczytu i tryb Debug do błędów wymagających dowodów z działania programu (sprawdzone 2026-10-12). Właściwy tryb zależy od tego, jak dobrze opisano zadanie.

Ta strona jest dla programistów, którzy codziennie pracują z agentem Cursora, oraz dla tech leadów, którzy chcą, żeby cały zespół korzystał z trybów tak samo. Sytuacja, którą rozwiązuje: zgłoszenie wymaga zmian w endpoincie API, trzech komponentach React, migracji i testach. Wpisujesz je w Agent mode i po 90 sekundach dostajesz diff w 14 plikach, z których kilka idzie w złą stronę. Model nie zawiódł. Kazano mu budować, zanim ktokolwiek, łącznie z tobą, znał kształt zmiany.

  • Tabelę decyzyjną, która przypisuje zadanie do trybu, mówi, co ten tryb może zmienić, i jaki dowód go kończy
  • Cztery prompty do skopiowania: plan z kryteriami akceptacji i listą plików, analiza wpływu tylko do odczytu, zawężony krok budowy oraz debugowanie zaczynające się od dowodów
  • Kontrolę zakresu planu: jedno polecenie git, które pokazuje każdy plik zmieniony przez agenta poza zatwierdzonym planem
  • Trzy wzorce przełączania trybów i sygnał, że czas przełączyć
  • Sposoby wyjścia z pięciu typowych błędów w doborze trybu

Tryb to uprawnienie do zapisu, a nie osobowość agenta. Pytanie nie brzmi „który tryb jest najmądrzejszy?”, tylko „czy agent może już zmieniać pliki?”.

Twoja sytuacjaTrybCo agent może zmienićKiedy wyjść z trybu
Zmiana obejmuje kilka plików albo nie potrafisz teraz spisać jej kryteriów akceptacjiPlan ModeNic w kodzie; powstaje planZatwierdziłeś plan, który wymienia każdy plik i test dla każdego kryterium
Musisz zrozumieć kod, prześledzić przepływ albo oszacować zmianęTryb AskNic; tryb Ask jest tylko do odczytuPotrafisz opisać zmianę jednym zdaniem i wymienić pliki
Wiesz dokładnie, co zbudować i jak to sprawdzićAgent modePliki i polecenia terminala w granicach twojego trybu uruchamianiaPolecenie weryfikujące przechodzi, a diff mieści się w planie
Błąd się odtwarza, ale lektura kodu go nie wyjaśniaDebug Mode albo Agent mode ograniczony do testów i logowaniaTylko instrumentacja i testy, dopóki przyczyna nie jest udowodnionaLinia logu albo padający test potwierdza jedną hipotezę

Z tabeli wynikają dwie rzeczy. Po pierwsze, Agent mode jest właściwym domyślnym wyborem tylko dla zadań, które już są wyspecyfikowane. Po drugie, tryby planowania i badania dają artefakt, który da się sprawdzić (plan, listę dotkniętych plików), a jego przegląd kosztuje dużo mniej niż przegląd diffu w 14 plikach.

Plan Mode, jak pisze Cursor, „creates detailed implementation plans before writing any code” („tworzy szczegółowe plany implementacji, zanim powstanie jakikolwiek kod”; strona Cursora o Plan Mode, zweryfikowana 28 sierpnia 2026). Agent czyta kod i zwraca plan, zanim cokolwiek powstanie; poniższy prompt dodatkowo każe mu najpierw zadać ci otwarte pytania.

  1. Zacommituj albo odłóż (git stash) swoją pracę, żeby git diff pokazywał później tylko zmiany agenta.
  2. Otwórz nowy czat i przełącz selektor trybów na Plan Mode. Wklej poniższy prompt z treścią zgłoszenia.
  3. Odpowiedz na pytania agenta. Pytanie, na które nie znasz odpowiedzi, to luka w zgłoszeniu, więc zanieś je do właściciela zgłoszenia, zamiast pozwolić agentowi zgadywać.
  4. Proś o poprawki, aż każde kryterium akceptacji będzie miało test, a każdy plik, którego dotknie zmiana, będzie na liście. Każ agentowi usunąć kroki, których nie chcesz.
  5. Przed pierwszą edycją poproś agenta o zapisanie zatwierdzonego planu i listy plików w repozytorium, żeby kroki budowy i kontrola zakresu miały na co wskazywać. Zacommituj zapisany plan, a potem zapamiętaj bazę do porównań poleceniem PLAN_BASE=$(git rev-parse HEAD). Uruchom też echo "$PLAN_BASE" > docs/plans/rate-limit.base, żeby wartość przetrwała otwarcie nowego terminala.

Przeglądaj plan, a nie kod, który jeszcze nie istnieje. Plan jest gotowy, gdy przechodzi cztery kontrole: każde kryterium ma nazwany test; lista plików nie zawiera niczego, czego się nie spodziewasz; lista „poza zakresem” mówi, co inaczej musiałbyś odrzucić w code review; żaden krok nie zależy od biblioteki ani funkcji pomocniczej, której agent nie pokazał ci w kodzie. Poprawka planu, który nie przechodzi którejś z kontroli, kosztuje teraz jedną wiadomość, a później revert.

Ten sam pomysł istnieje w pokrewnych narzędziach: Claude Code startuje w trybie planowania z --permission-mode plan (sprawdzone w claude --help, v2.1.283), a Codex ma /plan. Zobacz planowanie funkcji w Claude Code i planowanie w Codeksie. Wersję kontraktu planu niezależną od narzędzia opisuje etap budowy w cyklu życia.

Niektóre zadania nie są gotowe na plan, bo nie znasz jeszcze zasięgu zmiany. Zrób przebieg tylko do odczytu: w trybie Ask albo w Plan Mode z wyraźnym zakazem edycji. Chcesz dostać listę, którą da się sprawdzić, a nie esej.

To klasyfikacja z punktu 2 czyni odpowiedź użyteczną. Błędy kompilacji same się zweryfikują po zmianie typu; trafienia tylko w czasie działania i na kontraktach zewnętrznych to miejsca, gdzie wiarygodnie wyglądający diff psuje produkcję. Trafienia bez testu to testy, które piszesz jako pierwsze. Jeśli agent pomija kod, o którym wiesz, wskaż mu katalog wzmianką @ i sprawdź indeks bazy kodu; diagnozę opisuje zarządzanie kontekstem w Cursorze.

Agent mode czyta i edytuje pliki, uruchamia polecenia w terminalu i iteruje. Ta swoboda jest bezpieczna tylko wtedy, gdy agent może sam sprawdzić swoją pracę, więc zanim przekażesz mu plan, muszą być gotowe dwie rzeczy:

  • Polecenie weryfikujące, które jednym wywołaniem uruchamia typy, lint i testy, na przykład npm run verify.
  • Tryb uruchamiania, który pozwala agentowi uruchamiać to polecenie bez pytania, a polecenia destrukcyjne nadal zatrzymuje do twojej decyzji. Cursor grupuje to w run modes; niezbędna konfiguracja ustawia listę dozwolonych poleceń, Auto-review i hook, który ponownie uruchamia bramkę po zakończeniu pracy agenta.

Potem wykonuj plan po jednym kroku na prompt. Gdy krok kończy się zielonym poleceniem weryfikującym, zacommituj go sam. Commit to punkt powrotu niezależny od edytora.

Agent mode sprawdza się najlepiej przy zadaniu, które dotyka kilku plików i ma już kryteria akceptacji. Najgorzej, gdy zadanie wymaga reguł biznesowych, których nikt nie spisał, bo agent wypełnia lukę domysłem, który się kompiluje. Jeśli krok okaże się większy niż w planie, wróć do Plan Mode i go podziel, zamiast pozwalać Agent mode improwizować.

Przy błędzie, który się odtwarza, ale którego lektura kodu nie wyjaśnia (wyścig, problem z czasem, sporadyczny błąd 500), najszybsza droga to najpierw dowody, potem edycje. Cursor opisywał Debug Mode jako automatyzację tej pętli: tryb proponuje hipotezy, dodaje logi, prosi o odtworzenie błędu i naprawia na podstawie tego, co pokazały logi (opisu jego pętli nie sprawdzaliśmy ponownie; sam tryb jest wymieniony w dokumentacji Cursora, sprawdzone 2026-10-12). Poniższy prompt robi to samo w Agent mode w każdej wersji i sprawia, że instrumentację łatwo znaleźć i usunąć.

Gdy wkleisz zebrane logi, poproś o jedną poprawkę wymierzoną w potwierdzoną przyczynę, z testem odtwarzającym jako dowodem. Pełny workflow, łącznie z git bisect run dla regresji i wyjściem z pętli „napraw–zepsuj–napraw”, opisuje debugowanie z AI w Cursorze.

Przełączaj, gdy zmienia się niepewność zadania, a nie gdy tracisz cierpliwość. Większość sesji obejmują trzy wzorce.

WzorzecZastosowanieSygnał do przełączenia
Plan → Agent → (Plan)Funkcja obejmująca kilka plikówZatwierdziłeś plan, więc przejdź do Agent mode. Wróć do Plan Mode, gdy krok wymaga pliku spoza listy
Agent → Debug albo Agent z instrumentacją → AgentBłąd, który przetrwał pierwszą próbę naprawyPierwsza poprawka nie zazieleniła testu odtwarzającego. Przestań edytować i zbieraj dowody
Tylko odczyt → Agent, powtarzane w małych pętlachMałe zmiany w nieznanym kodziePotrafisz wskazać plik i jednozdaniowy zamiar. Wróć do odczytu, gdy nie potrafisz

Jedna zasada obowiązuje we wszystkich trzech: po przełączeniu powtórz cel i wskaż zapisany plan wzmianką @. Nie licz na to, że rozmowa pamięta plan sprzed 40 wiadomości: według pomocy Cursora każdy tryb zaczyna nowe okno kontekstu (sprawdzone 2026-10-12). Zapisany plik docs/plans/*.md jest taki sam w każdym trybie i w każdym czacie.

Gdy chcesz porównać dwa podejścia naraz, na przykład dwa plany albo plan i szybki prototyp, uruchom je jako osobnych agentów, zamiast przełączać się tam i z powrotem w jednym czacie. Okno Agents i Projects opisuje uruchamianie agentów obok siebie, a worktree trzymają ich edycje osobno. Jeśli sterujesz agentem Cursora z kodu, @cursor/sdk przyjmuje mode: "plan" albo mode: "agent" przy tworzeniu agenta; zobacz Cursor SDK.

Każdy tryb kończy się dowodem i to dowód sprawdzasz ty oraz recenzent. Czytanie całego diffu staje się wyjątkiem zarezerwowanym dla plików, które dowody wskażą.

TrybDowód, który go kończyKto zatwierdza
Plan ModeZapisany plan, w którym każde kryterium akceptacji ma test, plus lista plikówProgramista, a przy zmianach wspólnych kontraktów także tech lead
Przebieg tylko do odczytuSklasyfikowana lista trafień ze ścieżkami, z oznaczonymi trafieniami bez testówProgramista
Agent modeTesty napisane najpierw i pokazane jako padające, zielone npm run verify, diff w granicach listy plikówCI na pull requeście, potem recenzent
DebugLinia logu albo test potwierdzający jedną hipotezę i ten sam test zielony po poprawceProgramista; recenzent sprawdza test, nie poprawkę

Kontrola zakresu jest z nich najtańsza i najczęściej pomijana. Uruchom ją w terminalu przed otwarciem pull requesta:

Okno terminala
# Pliki zmienione od zacommitowania planu, których plan nie wymienia,
# łącznie z niezacommitowanymi edycjami i nowymi, nieśledzonymi plikami.
PLAN_BASE=${PLAN_BASE:-$(cat docs/plans/rate-limit.base)}
{ git diff --name-only "$PLAN_BASE"; git ls-files --others --exclude-standard; } \
| sort -u | grep -v '^docs/plans/' | grep -vxF -f docs/plans/rate-limit.files

Puste wyjście oznacza, że agent został w granicach zatwierdzonego planu. Każda wypisana ścieżka to albo uzasadniona luka w planie, którą dopisujesz do listy plików i wyjaśniasz w pull requeście, albo dryf, który cofasz. W obu przypadkach czytasz uważnie ten plik i tylko ten. Sam pull request przegląda Bugbot, szukając błędów i problemów bezpieczeństwa, a CI ponownie uruchamia to samo polecenie weryfikujące, więc wynik nie zależy od raportu agenta. Szerszy argument za przeglądaniem dowodów zamiast diffów znajdziesz w tekście dowody zamiast kodu.

Agent mode edytuje znacznie więcej plików, niż się spodziewałeś. Zadanie nie było wyspecyfikowane, więc agent wyspecyfikował je edycjami. Wyjście: odrzuć zmiany przez git restore ., potem przejrzyj nowe, nieśledzone pliki przez git clean -nd i usuń je przez git clean -fd (albo git reset --hard "$PLAN_BASE", jeśli zacommitowałeś już kroki, które teraz odrzucasz) lub cofnij się do checkpointu; potem zacznij nowy czat w Plan Mode i nie wracaj do Agent mode, dopóki plan nie ma listy plików. Nie naprawiaj złego diffu w 14 plikach kolejnymi promptami; dopracowany plan i świeże uruchomienie są prawie zawsze szybsze.

Plan jest mglisty. Plan odzwierciedla wejście: „dodaj uwierzytelnianie” daje kroki w rodzaju „zaimplementuj logikę uwierzytelniania”. Wyjście: wklej kryteria akceptacji ze zgłoszenia, wskaż pliki lub katalogi przez @ i wymagaj numerowanych sekcji z promptu planu powyżej. Jeśli agent nadal nie potrafi nazwać testów, kryteria akceptacji nie są jeszcze testowalne, a to problem zgłoszenia, nie trybu.

Przebieg tylko do odczytu edytuje plik. Czat był w Agent mode albo prompt zachęcał do poprawki. Wyjście: sprawdź git status, przywróć zmienione pliki, przed wysłaniem potwierdź tryb w selektorze i zaczynaj każdy prompt badawczy od „Do not edit any file”.

Instrumentacja z debugowania zostaje w kodzie. Logi dodane podczas polowania na błąd trafiają do pull requesta. Wyjście: wyszukaj prefiks, o który prosiłeś (DEBUG-CHECKOUT wyżej), usuń każde trafienie i dodaj regułę lintera albo grep w CI, który kończy build błędem, gdy znajdzie ten prefiks, żeby następne polowanie też nic nie przemyciło.

Agent zapomina plan po przełączeniu. Przełączenie trybu zaczyna nowe okno kontekstu (pomoc Cursora, sprawdzone 2026-10-12), a poza tym długie czaty gubią wczesny kontekst, więc agent odtwarza plan z pamięci z drobnymi różnicami. Wyjście: wskazuj @docs/plans/*.md w każdym prompcie budowy, zaczynaj nowy czat dla każdego kroku planu, gdy rozmowa jest długa, i pozwól kontroli zakresu złapać to, co się prześlizgnie.