Przejdź do głównej zawartości

Głęboka analiza trybów agenta

Twój PM właśnie zrzucił zgłoszenie, które wymaga zmian w warstwie API, trzech komponentach React, migracji bazy danych i zestawie testów. Otwierasz Cursor, wpisujesz prompt w trybie Agent i 90 sekund później patrzysz na diff, który dotknął 14 plików — połowa z nich jest błędna. Problem nie leżał w promptcie. Problem polegał na użyciu trybu Agent do zadania, które powinno rozpocząć się w trybie Plan, przejść przez tryb Ask do dochodzenia, i dopiero wtedy zostać przekazane do Agenta do wykonania.

Wybór odpowiedniego trybu to najważniejsza decyzja o największej dźwigni, którą podejmujesz w każdej sesji Cursor.

  • Jasne ramy decyzyjne, kiedy używać trybów Agent, Ask, Plan i Debug
  • Wzorce przełączania trybów, które dają lepsze rezultaty niż pozostawanie w jednym trybie
  • Prompty gotowe do skopiowania i wklejenia, zoptymalizowane dla każdego trybu
  • Ustawienia konfiguracyjne dla auto-run, auto-fix i bezpiecznego użycia trybu YOLO
TrybCelMożliwościNarzędzia
AgentBudowanie funkcji, naprawianie błędów, refaktoryzacjaAutonomiczna eksploracja, edycje wielu plików, polecenia terminalaWszystkie narzędzia włączone
AskZrozumienie kodu, planowanie pracy, eksploracjaWyszukiwanie bazy kodu tylko do odczytu i wyjaśnianieTylko narzędzia wyszukiwania
PlanRozbijanie złożonych funkcjiTworzy szczegółowe plany implementacji, zadaje pytania wyjaśniająceWszystkie narzędzia włączone
DebugZnajdowanie głównych przyczyn trudnych błędówGenerowanie hipotez, instrumentacja logów, analiza środowiska uruchomieniowegoWszystkie narzędzia + serwer debug

Przełączaj między trybami za pomocą Cmd+. (Mac) lub Ctrl+. (Windows/Linux). Możesz również nacisnąć Shift+Tab z pola wprowadzania czatu, aby przełączać tryby.

Tryb Agent jest domyślny i najpotężniejszy. Może czytać pliki, edytować pliki, uruchamiać polecenia terminala, przeszukiwać bazę kodu i iterować, aż zadanie zostanie wykonane. Używaj go, gdy wiesz, co chcesz zbudować, a zakres obejmuje wiele plików.

Włącz auto-run dla poleceń terminala, aby Agent mógł weryfikować swoją własną pracę bez pytania o zatwierdzenie każdej invokacji npm test. Przejdź do ustawień Cursor i włącz auto-run z listą dozwolonych:

Kluczowy wniosek: tryb Agent staje się dramatycznie bardziej użyteczny, gdy może uruchomić zestaw testów po wprowadzeniu zmian. Zamiast generować kod i mieć nadzieję, że działa, Agent pisze kod, uruchamia testy, widzi niepowodzenia i iteruje, aż testy przejdą — wszystko bez interwencji.

  • Implementacja nowej funkcji, która dotyka 3-10 plików
  • Refaktoryzacja interfejsu i aktualizacja wszystkich konsumentów
  • Generowanie kompletnego zestawu testów dla istniejącego kodu
  • Naprawianie błędu, gdy już wiesz, którego obszaru bazy kodu to dotyczy
  • Nie rozumiesz bazy kodu wystarczająco dobrze, aby ocenić wynik
  • Zmiana wymaga zrozumienia subtelnej logiki biznesowej, która nie jest udokumentowana
  • Musisz dotknąć więcej niż 15-20 plików (rozbij to na mniejsze zadania)

Tryb Ask przeszukuje bazę kodu i udziela odpowiedzi bez wprowadzania zmian. To tryb, którego powinieneś używać znacznie częściej, niż prawdopodobnie to robisz. Oficjalna dokumentacja Cursor zaleca planowanie w trybie Ask i implementację w trybie Agent — i ten wzorzec konsekwentnie daje lepsze rezultaty niż przeskakiwanie bezpośrednio do Agenta.

Przed każdą złożoną zmianą otwórz tryb Ask i buduj zrozumienie:

Przed wprowadzeniem zmian przełomowych użyj trybu Ask, aby zrozumieć promień rażenia:

If I change the User interface to replace `name: string` with
`firstName: string` and `lastName: string`, what parts of the
codebase would break? List every file, function, and test that
references `user.name` or the User type.

Tryb Ask z dobrym pytaniem jest 10x szybszy niż grep-i-czytaj. Używaj go do budowania kontekstu, zanim dasz trybu Agent instrukcje.

Tryb Plan: ustrukturyzowany podział dla złożonych funkcji

Dział zatytułowany „Tryb Plan: ustrukturyzowany podział dla złożonych funkcji”

Tryb Plan jest najbardziej niedocenianym trybem w Cursor. Tworzy szczegółowe plany implementacji przed napisaniem jakiegokolwiek kodu. Agent bada bazę kodu, zadaje pytania wyjaśniające i generuje plan do przeglądu, który możesz edytować przed budowaniem.

  • Funkcje z wieloma poprawnymi podejściami, gdzie chcesz najpierw ocenić opcje
  • Zadania dotykające wielu plików lub systemów, wymagające starannego sekwencjonowania
  • Niejasne wymagania, gdzie musisz zbadać przed zrozumieniem zakresu
  • Decyzje architektoniczne, gdzie chcesz przejrzeć podejście przed zatwierdzeniem
  1. Przełącz na tryb Plan (Shift+Tab z pola wprowadzania czatu)
  2. Opisz swój cel z dowolnym kontekstem, jaki masz — wklej opisy zgłoszeń, odwołaj się do powiązanych plików, wymień ograniczenia
  3. Agent zadaje pytania wyjaśniające (odpowiedz na nie)
  4. Przejrzyj wygenerowany plan — edytuj go, dodaj brakujące kroki, zmień kolejność priorytetów
  5. Kliknij “Build”, aby wykonać plan w trybie Agent

Gdy Agent zbuduje coś, co nie odpowiada Twojemu zamiarowi, nie próbuj naprawiać tego przez kolejne prompty. Cofnij zmiany, doprecyzuj plan, aby był bardziej konkretny, i uruchom go ponownie. To prawie zawsze szybsze niż debugowanie nieprawidłowej implementacji.

Tryb Debug: dowody środowiska uruchomieniowego zamiast zgadywania

Dział zatytułowany „Tryb Debug: dowody środowiska uruchomieniowego zamiast zgadywania”

Tryb Debug jest zaprojektowany dla błędów trudnych do odtworzenia lub zrozumienia. Zamiast natychmiast pisać kod, agent generuje hipotezy, dodaje tymczasowe instrukcje logowania, prosi o odtworzenie błędu i używa przechwyconych informacji środowiska uruchomieniowego, aby wskazać dokładny problem.

  • Błędy, które możesz odtworzyć, ale nie możesz zrozumieć z czytania kodu
  • Warunki wyścigu i problemy związane z czasem
  • Problemy z wydajnością i wycieki pamięci
  • Regresje, gdzie coś kiedyś działało, a teraz nie działa
  1. Opisujesz błąd z jak największą ilością szczegółów (komunikaty błędów, ślady stosu, kroki reprodukcji)
  2. Agent eksploruje odpowiednie pliki i generuje hipotezy o potencjalnych głównych przyczynach
  3. Agent dodaje instrumentację (instrukcje logowania) w strategicznych punktach
  4. Odtwarzasz błąd zgodnie ze szczegółowymi instrukcjami agenta
  5. Agent analizuje przechwycone logi i identyfikuje główną przyczynę
  6. Agent wprowadza ukierunkowaną poprawkę — często tylko kilka linii — opartą na dowodach środowiska uruchomieniowego
  7. Weryfikujesz poprawkę, a agent usuwa całą instrumentację

Najbardziej efektywni użytkownicy Cursor nie pozostają w jednym trybie. Przełączają tryby, gdy charakter ich pracy zmienia się w ramach jednego zadania.

Złoty standard dla złożonych funkcji:

  1. Tryb Ask — Zrozum obecną architekturę i zidentyfikuj ograniczenia
  2. Tryb Plan — Stwórz szczegółowy, możliwy do przeglądu plan implementacji
  3. Tryb Agent — Wykonaj plan z włączonym auto-run

Dla błędów opierających się pierwszej próbie naprawy:

  1. Tryb Agent — Spróbuj naprawić na podstawie swojego zrozumienia
  2. Tryb Debug — Gdy naprawa nie działa, przełącz się na Debug do analizy środowiska uruchomieniowego
  3. Tryb Agent — Implementuj ukierunkowaną poprawkę zidentyfikowaną przez Debug

Dla przyrostowego rozwoju funkcji:

  1. Tryb Ask — “Jak działa nasze routowanie? Pokaż mi łańcuch middleware”
  2. Tryb Agent — “Dodaj middleware uwierzytelniania zgodnie ze wzorcem w @src/middleware/cors.ts”
  3. Tryb Ask — “Co właśnie zmienił agent? Czy obsłużył przypadek brzegowy, gdy token wygasł?”
  4. Tryb Agent — “Dodaj obsługę wygasłego tokena z odpowiedzią 401 i przepływem odświeżania tokena”

Tryb Agent edytuje za dużo plików. Dzieje się tak, gdy prompt jest zbyt szeroki. Podziel duże zadania na części. Zamiast “dodaj uwierzytelnianie do API”, spróbuj “dodaj middleware weryfikacji JWT tylko do tras /api/users.”

Tryb Ask nie może znaleźć odpowiedniego kodu. Upewnij się, że baza kodu jest zaindeksowana (sprawdź wskaźnik indeksowania na dolnym pasku statusu). Jeśli indeksowanie jest zakończone, a Ask nadal coś pomija, użyj wzmianek @file i @folder, aby wskazać konkretne lokalizacje.

Plan trybu Plan jest zbyt ogólny. Podaj więcej konkretnego kontekstu: wklej opisy zgłoszeń, odwołaj się do istniejących plików z @ i określ ograniczenia wprost. Ogólne wejście daje ogólny plan.

Instrumentacja trybu Debug nie przechwytuje problemu. Podaj bardziej szczegółowe kroki reprodukcji. Jeśli błąd jest sporadyczny, powiedz trybu Debug, aby dodał bardziej szczegółowe logowanie i odtwórz wiele razy.