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.
Co wyniesiesz
Dział zatytułowany „Co wyniesiesz”- 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
Cztery tryby
Dział zatytułowany „Cztery tryby”| Tryb | Cel | Możliwości | Narzędzia |
|---|---|---|---|
| Agent | Budowanie funkcji, naprawianie błędów, refaktoryzacja | Autonomiczna eksploracja, edycje wielu plików, polecenia terminala | Wszystkie narzędzia włączone |
| Ask | Zrozumienie kodu, planowanie pracy, eksploracja | Wyszukiwanie bazy kodu tylko do odczytu i wyjaśnianie | Tylko narzędzia wyszukiwania |
| Plan | Rozbijanie złożonych funkcji | Tworzy szczegółowe plany implementacji, zadaje pytania wyjaśniające | Wszystkie narzędzia włączone |
| Debug | Znajdowanie głównych przyczyn trudnych błędów | Generowanie hipotez, instrumentacja logów, analiza środowiska uruchomieniowego | Wszystkie 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: autonomiczna praca na wielu plikach
Dział zatytułowany „Tryb Agent: autonomiczna praca na wielu plikach”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.
Konfiguracja trybu YOLO
Dział zatytułowany „Konfiguracja trybu YOLO”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.
Kiedy tryb Agent błyszczy
Dział zatytułowany „Kiedy tryb Agent błyszczy”- 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
Kiedy tryb Agent ma problemy
Dział zatytułowany „Kiedy tryb Agent ma problemy”- 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: eksploracja tylko do odczytu
Dział zatytułowany „Tryb Ask: eksploracja tylko do odczytu”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.
Wzorzec planowanie-pierwsze
Dział zatytułowany „Wzorzec planowanie-pierwsze”Przed każdą złożoną zmianą otwórz tryb Ask i buduj zrozumienie:
Tryb Ask do analizy wpływu
Dział zatytułowany „Tryb Ask do analizy wpływu”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 thecodebase would break? List every file, function, and test thatreferences `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.
Kiedy używać trybu Plan
Dział zatytułowany „Kiedy używać trybu Plan”- 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
Przepływ pracy plan-następnie-wykonaj
Dział zatytułowany „Przepływ pracy plan-następnie-wykonaj”- Przełącz na tryb Plan (
Shift+Tabz pola wprowadzania czatu) - Opisz swój cel z dowolnym kontekstem, jaki masz — wklej opisy zgłoszeń, odwołaj się do powiązanych plików, wymień ograniczenia
- Agent zadaje pytania wyjaśniające (odpowiedz na nie)
- Przejrzyj wygenerowany plan — edytuj go, dodaj brakujące kroki, zmień kolejność priorytetów
- Kliknij “Build”, aby wykonać plan w trybie Agent
Ponowne uruchamianie z planu
Dział zatytułowany „Ponowne uruchamianie z planu”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.
Kiedy tryb Debug pokonuje tryb Agent
Dział zatytułowany „Kiedy tryb Debug pokonuje tryb Agent”- 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
Jak działa tryb Debug
Dział zatytułowany „Jak działa tryb Debug”- Opisujesz błąd z jak największą ilością szczegółów (komunikaty błędów, ślady stosu, kroki reprodukcji)
- Agent eksploruje odpowiednie pliki i generuje hipotezy o potencjalnych głównych przyczynach
- Agent dodaje instrumentację (instrukcje logowania) w strategicznych punktach
- Odtwarzasz błąd zgodnie ze szczegółowymi instrukcjami agenta
- Agent analizuje przechwycone logi i identyfikuje główną przyczynę
- Agent wprowadza ukierunkowaną poprawkę — często tylko kilka linii — opartą na dowodach środowiska uruchomieniowego
- Weryfikujesz poprawkę, a agent usuwa całą instrumentację
Wzorce przełączania trybów
Dział zatytułowany „Wzorce przełączania trybów”Najbardziej efektywni użytkownicy Cursor nie pozostają w jednym trybie. Przełączają tryby, gdy charakter ich pracy zmienia się w ramach jednego zadania.
Wzorzec: Ask, Plan, Agent
Dział zatytułowany „Wzorzec: Ask, Plan, Agent”Złoty standard dla złożonych funkcji:
- Tryb Ask — Zrozum obecną architekturę i zidentyfikuj ograniczenia
- Tryb Plan — Stwórz szczegółowy, możliwy do przeglądu plan implementacji
- Tryb Agent — Wykonaj plan z włączonym auto-run
Wzorzec: Agent, Debug, Agent
Dział zatytułowany „Wzorzec: Agent, Debug, Agent”Dla błędów opierających się pierwszej próbie naprawy:
- Tryb Agent — Spróbuj naprawić na podstawie swojego zrozumienia
- Tryb Debug — Gdy naprawa nie działa, przełącz się na Debug do analizy środowiska uruchomieniowego
- Tryb Agent — Implementuj ukierunkowaną poprawkę zidentyfikowaną przez Debug
Wzorzec: Ask, Agent (iteracyjny)
Dział zatytułowany „Wzorzec: Ask, Agent (iteracyjny)”Dla przyrostowego rozwoju funkcji:
- Tryb Ask — “Jak działa nasze routowanie? Pokaż mi łańcuch middleware”
- Tryb Agent — “Dodaj middleware uwierzytelniania zgodnie ze wzorcem w @src/middleware/cors.ts”
- Tryb Ask — “Co właśnie zmienił agent? Czy obsłużył przypadek brzegowy, gdy token wygasł?”
- Tryb Agent — “Dodaj obsługę wygasłego tokena z odpowiedzią 401 i przepływem odświeżania tokena”
Kiedy to się psuje
Dział zatytułowany „Kiedy to się psuje”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.
Co dalej
Dział zatytułowany „Co dalej”- Punkty kontrolne i rozgałęzianie — Bezpieczne strategie eksperymentowania, gdy tryb Agent wprowadza zmiany, które chcesz cofnąć
- Strategie dla dużych baz kodu — Wybór trybu staje się jeszcze bardziej krytyczny w skali
- Niestandardowe reguły i szablony — Zakoduj instrukcje specyficzne dla trybu w wielokrotnie używalne reguły