Przejdź do głównej zawartości

Kiedy używać trybu agenta vs trybu zapytań

Tryb agenta kontra tryb zapytań to wybór między dwiema postawami wobec narzędzia AI — analizą tylko do odczytu i wykonywaniem z prawem zapisu — a nad nimi stoi trzeci, nienadzorowany poziom. Cursor nazywa pierwsze dwa Ask i Agent, Claude Code plan mode i normal mode, Codex sandboxami read-only i workspace-write. Zły wybór marnuje kontekst albo wypuszcza nieprzejrzane edycje.

Zadajesz szybkie pytanie o swój handler płatności w Express — „dlaczego processPayment czasem obciąża dwa razy?” — a trzydzieści sekund później agent po cichu przepisał cztery pliki, zmienił logikę idempotencji Stripe i wyedytował migrację, której nie chciałeś ruszać. Teraz przeglądasz diff, o który nie prosiłeś, na ścieżce krytycznej i pod presją czasu.

Ten sam błąd kosztuje też w drugą stronę. Otwierasz narzędzie w domyślnym trybie agenta, żeby zapytać „jak działa tu przetwarzanie płatności?”, a ono zaczyna czytać pliki i puszczać grepy, spalając 40 000 tokenów kontekstu, zanim wyda trzyzdaniową odpowiedź, którą mogłeś dostać za ułamek tego.

Oba przypadki to problem z trybem, a nie z modelem. Każde nowoczesne narzędzie do kodowania wystawia to samo spektrum — eksploracja tylko do odczytu, kierowane wykonywanie, nienadzorowana autonomia — a wybranie na nim złego punktu to najszybszy sposób, by zamienić pięciominutowe pytanie w godzinę sprzątania.

  • Przejrzyste mapowanie trzech trybów w Cursor, Claude Code i Codeksie
  • Konkretny przełącznik, flagę albo politykę zatwierdzania dla każdego z nich
  • Dwufazowy przepływ pracy (eksploracja tylko do odczytu, potem wykonanie), który powstrzymuje agenta przed edytowaniem plików, na które się nie umawiałeś
  • Gotowy prompt eksploracyjny, który produkuje plan refaktoryzacji do przejrzenia, nie zmieniając ani jednej linii
  • Prompt wykonawczy ograniczający agenta do jednego kroku, z twardym zatrzymaniem, zanim ruszy dalej
  • Kryteria decyzyjne mówiące, kiedy autonomia jest bezpieczna, i tryby awarii, gdy nie jest

Dwie postawy robią większość roboty. Tylko do odczytu to eksplorator: agent przeszukuje bazę kodu, czyta pliki, śledzi miejsca wywołań i odpowiada na pytania, ale nie może niczego edytować ani uruchamiać komend zmieniających stan. Używaj go, żeby zbudować trafne, wspólne zrozumienie przed jakąkolwiek zmianą kodu. Z prawem zapisu to wykonawca: agent edytuje pliki, uruchamia komendy i naprawia błędy, realizując plan, który już zatwierdziłeś. Nad nimi stoi trzeci poziom — wykonanie nienadzorowane — i zasługuje na osobną decyzję, a nie na traktowanie go jak „tryb agenta z mniejszą liczbą pytań”.

MożliwośćCursorClaude CodeCodex
Analiza tylko do odczytuAsk mode (lub Plan mode, by naszkicować plan)Plan Mode (Shift+Tab)--sandbox read-only -c approval_policy=on-request
Kierowane wykonywanieAgent mode (domyślny)Normal Mode (domyślny)--sandbox workspace-write -c approval_policy=on-request
Nienadzorowane wykonanie w sandboxieAuto-Run “Run Everything” / Cloud Agent--dangerously-skip-permissions / Sandbox--sandbox workspace-write -c approval_policy=never (tylko zaufane przebiegi)

Używaj go, gdy chcesz zrozumieć kod bez modyfikowania go. Agent czyta pliki i odpowiada na pytania, ale nie może wprowadzać zmian.

Wybierz Ask w rozwijanym menu trybów na dole pola czatu. Agent przeanalizuje kod i odpowie na pytania, nie wprowadzając zmian. Oznacz @ pliki, na których ci zależy (@src/routes/payments.ts), żeby startował z precyzyjnego kontekstu. Do badań, które mają skończyć się spisanym planem, a nie edycjami, siostrzanym wyborem jest Plan mode:

How does the authentication flow work? Trace the request from
the login endpoint through middleware to the session store.
Show me the key files and functions involved.

Tryb Ask jest oszczędny tokenowo, bo agent skupia się na odpowiedzi na twoje pytanie, zamiast eksplorować szeroko. Do wyszukiwania używa indeksu bazy kodu, a nie czytania plików jeden po drugim.

Najlepsze zastosowania: przegląd kodu, analiza architektury, wdrażanie się w nową bazę kodu, zrozumienie nieznanego kodu, badanie błędów przed ich naprawianiem.

Domyślny tryb we wszystkich trzech narzędziach. Agent czyta pliki, wprowadza zmiany i uruchamia komendy, ale w kluczowych momentach pyta o zgodę. To koń roboczy większości zadań programistycznych.

Agent mode jest domyślny. Cursor czyta pliki, proponuje edycje i uruchamia komendy terminala, zapisując punkt kontrolny przed każdym zestawem edycji, więc zły krok to cofnięcie, a nie naprawa. Przeglądaj w widoku diff i akceptuj lub odrzucaj fragment po fragmencie — akceptowanie hurtem to sposób, w jaki wchodzą edycje spoza planu:

Implement the rate limiter middleware following the pattern in
@src/middleware/auth.ts. Write tests in @src/middleware/__tests__/.
Run the tests after implementation.

W ustawieniach Cursora skonfiguruj, z których narzędzi agent może korzystać. Możesz pozwolić na edycje plików, ale wymagać zgody na komendy terminala — albo odwrotnie.

Najlepsze zastosowania: implementacja funkcjonalności, naprawianie błędów, refaktoryzacja, pisanie testów, większość codziennej pracy programistycznej.

Agent działa bez przerwań. Potężne przy dobrze zdefiniowanych zadaniach niskiego ryzyka; niebezpieczne przy czymkolwiek, co dotyka wrażliwego kodu.

Auto-Run ustawione na Run Everything (nieformalnie nazywane trybem YOLO) automatycznie akceptuje wszystkie zmiany i komendy. Cloud Agent uruchamia zadania asynchronicznie w izolowanym środowisku chmurowym:

Fix all ESLint warnings in src/components/. Run npm run lint
after each fix to verify. Commit each fix separately with a
descriptive message.

Cloud Agent to bezpieczniejsza opcja do pracy autonomicznej: działa na klonie twojego repozytorium, więc lokalny katalog roboczy zostaje nietknięty, dopóki nie przejrzysz i nie scalisz zmian. Własne wskazówki dotyczące bezpieczeństwa Cursora mówią, by nigdy nie używać Run Everything, ponieważ pomija on wszystkie zabezpieczenia.

Najlepsze zastosowania: poprawki lintingu, formatowanie, masowa zmiana nazw, generowanie dokumentacji, szablony testów, skrypty migracji wielu plików.

Mechanika różni się między narzędziami; dyscyplina nie. Zacznij w trybie tylko do odczytu, żeby zrozumieć i zaplanować, przejrzyj ten plan jako odrębny artefakt i dopiero wtedy przełącz się na wykonanie — po jednym ograniczonym kroku naraz. Cały wzorzec niosą trzy prompty.

Pierwszy uruchamiasz w trybie tylko do odczytu; wymusza plan bez ani jednej edycji:

Drugi uruchamiasz po przejrzeniu planu. Twarde zatrzymanie na końcu jest tu sednem: jeden krok, potem raport, potem twoja decyzja.

Trzeci zamyka pętlę, zanim zaakceptujesz diff. Tryb tylko do odczytu nie sprawia, że plan jest poprawny — sprawia, że jest możliwy do przejrzenia, a to jest druga linia obrony:

Te trzy to produkcyjna wersja wzorca, napisana pod jedną refaktoryzację. Prompt poniżej ma ten sam kształt, ale jako skrypt całej sesji — trzy fazy w jednym miejscu, z wyraźnie zaznaczoną zmianą trybu między nimi, na moment, gdy dopiero układasz pracę, a nie ją wykonujesz:

  1. Chcesz zrozumieć kod, a nie go zmieniać? Użyj trybu tylko do odczytu/analizy.
  2. Zadanie jest dobrze zdefiniowane z jasną weryfikacją? Użyj trybu kierowanego wykonywania i pozwól agentowi przejść przez zadanie z twoim okresowym przeglądem.
  3. Zadanie jest mechaniczne i niskiego ryzyka? Rozważ pełną autonomię z odpowiednią izolacją (cloud agent, sandbox, wątek cloudowy).
  4. Zadanie dotyka wrażliwego kodu? Użyj kierowanego wykonywania z zatwierdzaniem per plik.
  5. Nie jesteś pewien? Zacznij od kierowanego wykonywania. Uprawnienia zawsze możesz poluzować w trakcie sesji; nie cofniesz edycji, której nigdy nie zobaczyłeś.

Zaawansowane zespoły używają różnych trybów jednocześnie w wielu sesjach.

Uruchom Cloud Agent na zadaniu poprawek lintingu (autonomicznie), a jednocześnie używaj głównego Agenta do rozwoju funkcjonalności (kierowane). Przejrzyj zmiany Cloud Agenta, gdy będą gotowe, bez przerywania pracy nad funkcjonalnością.

Autonomiczna połowa takiego podziału potrzebuje spisanego zakresu, bo nikt jej nie pilnuje:

  • Agent wyprzedza nieprzejrzany plan. Pomiń fazę tylko do odczytu, a będzie wykonywał pracę w oparciu o własne założenia. Przejrzyj plan jako odrębny artefakt przed przełączeniem trybów.
  • Zostajesz w trybie analizy zbyt długo. Trzydzieści minut pytań zżera kontekst, którego potrzebowała implementacja. Ustaw limit pięciu, dziesięciu minut i przełącz.
  • Mieszasz tryby w jednym prompcie. „Przeanalizuj moduł auth, a potem go zrefaktoryzuj” wymusza wewnętrzne przełączenie trybu, a agent zwykle pomija analizę i skacze do refaktoryzacji. Rozdziel je na osobne prompty.
  • Tryb agenta edytuje pliki, których nie zamierzałeś ruszać. Niejasny prompt w trybie wykonania zaprasza do rozpełzania się zakresu. Wymień pliki, używaj punktów kontrolnych do cofania i odrzucaj fragmenty dotykające czegokolwiek poza planem.
  • Sandbox workspace Codeksa obejmuje wrażliwe pliki repozytorium. workspace-write może edytować pliki takie jak .env czy manifesty wdrożeniowe, jeśli leżą w workspace, a on-request nie pyta przed każdą taką edycją. Trzymaj sekrety poza workspace i w przypadku wrażliwych repozytoriów zostań przy read-only, dopóki plan nie zostanie przejrzany.
  • Pełna autonomia przy zadaniu, które wymagało osądu. Autonomia działa tam, gdzie „poprawne” jest mechaniczne i weryfikowalne. Projektowanie API, strategia obsługi błędów i praca nad wydajnością dają lepsze wyniki w trybie kierowanym.
  • Zapominasz przełączyć z powrotem. Po badaniu w trybie analizy agent, który wydaje się nie reagować na prośby o implementację, zwykle po prostu wciąż jest w trybie tylko do odczytu. Sprawdź wskaźnik trybu, zanim zaczniesz debugować prompt.