Implementacja funkcji
Budowanie nowych funkcji, które dotykają wielu plików i wymagają zrozumienia istniejących wzorców
Każdy z trybów Cursor reprezentuje inną osobowość AI, zoptymalizowaną pod określone typy zadań. Zrozumienie kiedy i jak używać każdego trybu to różnica między walką z narzędziem a płynną pracą z nim.
Tryb | Najlepszy do | Możliwości | Dostępne narzędzia |
---|---|---|---|
Agent | Złożone funkcje, refaktoryzacja | Autonomiczne przeglądanie, edycja wielu plików | Wszystkie narzędzia włączone |
Ask | Nauka, planowanie, pytania | Eksploracja tylko do odczytu, brak automatycznych zmian | Tylko narzędzia wyszukiwania |
Manual | Precyzyjne, ukierunkowane edycje | Bezpośrednia edycja plików z jawną kontrolą | Tylko narzędzia edycji |
Custom | Specjalistyczne przepływy pracy | Możliwości zdefiniowane przez użytkownika | Konfigurowalne |
Tryb Agent to najpotężniejsza funkcja Cursor. To jak posiadanie starszego developera, który może eksplorować twoją bazę kodu, rozumieć złożone wymagania i implementować rozwiązania w wielu plikach.
Implementacja funkcji
Budowanie nowych funkcji, które dotykają wielu plików i wymagają zrozumienia istniejących wzorców
Duża refaktoryzacja
Zmiana nazw w całej bazie kodu, zmiana interfejsów, aktualizacja wzorców zależności
Naprawianie błędów z dochodzeniem
Gdy musisz znaleźć i naprawić problemy obejmujące wiele komponentów
Generowanie testów
Tworzenie kompleksowych zestawów testów, które rozumieją zachowanie twojego kodu
Zamiast od razu przejść do implementacji, wykorzystaj możliwości planowania agenta:
"Najpierw przeanalizuj system uwierzytelniania i stwórz szczegółowy plan dodania wsparcia OAuth 2.0.Zapisz plan w plan.md, a następnie poczekaj na moją aprobatę przed implementacją."
To podejście:
Z Cursor v1.2+ możesz kolejkować wiele zadań agenta:
Zadanie 1: "Przeanalizuj obecny przepływ przetwarzania płatności"Zadanie 2: "Dodaj integrację Stripe obok istniejącego PayPal"Zadanie 3: "Zaktualizuj wszystkie testy związane z płatnościami"Zadanie 4: "Dodaj monitorowanie i obsługę błędów"
Agent wykona je sekwencyjnie, zachowując kontekst między zadaniami.
Przed zadaniem złożonego zadania agentowi, przygotuj go kontekstem:
"Spójrz na nasze istniejące wzorce API w /src/api, szczególnie jak obsługujemy uwierzytelnianie i odpowiedzi błędów.Teraz stwórz nowe API zarządzania użytkownikami zgodnie z tymi samymi wzorcami."
Włącz te ustawienia dla optymalnej wydajności agenta:
{ "cursor.agent.yoloMode": true, "cursor.agent.yoloPrompt": "Uruchom testy po zmianach. Twórz katalogi w razie potrzeby. Używaj TypeScript.", "cursor.agent.yoloAllowList": ["npm test", "mkdir", "tsc"], "cursor.agent.yoloDenyList": ["rm -rf", "git push"]}
{ "cursor.performance.memoryLimit": "8GB", "cursor.performance.cacheSize": "2GB", "cursor.agent.maxContextTokens": 200000}
Oto jak starszy developer używał trybu Agent do wyodrębnienia serwisu z monolitu:
Zbieranie kontekstu
"Przeanalizuj logikę przetwarzania zamówień w naszym monolicie.Zidentyfikuj wszystkie zależności, tabele baz danych i punkty końcowe API związane z zamówieniami."
Planowanie
"Stwórz szczegółowy plan wyodrębnienia przetwarzania zamówień do mikroserwisu.Uwzględnij: projekt API, strategię migracji danych i plan wycofania."
Implementacja
"Zgodnie z zatwierdzonym planem, stwórz nowy order-service z:- API RESTful zgodne z naszymi standardami- Migracje bazy danych- Konfiguracja Docker- Testy integracyjne"
Integracja
"Zaktualizuj monolit, aby używał nowego API order-service.Zaimplementuj flagi funkcji do stopniowego wdrażania."
Tryb Ask jest tylko do odczytu, ale niezwykle potężny do zrozumienia i planowania. To twoja encyklopedia bazy kodu, która nigdy nie wprowadza niechcianych zmian.
Nie zadawaj tylko jednego pytania. Podejdź z wielu stron:
"Jak działa system uwierzytelniania z tych perspektyw:1. Przepływ użytkownika (od logowania do uwierzytelnionego żądania)2. Środki bezpieczeństwa (obsługa tokenów, zarządzanie sesjami)3. Struktura bazy danych4. Zaangażowane punkty końcowe API5. Obsługa błędów i przypadki brzegowe"
Używaj trybu Ask do identyfikacji wzorców i antywzorców:
"Przeanalizuj nasze komponenty React i zidentyfikuj:- Wspólne wzorce używane do zarządzania stanem- Niespójności w strukturze komponentów- Możliwości tworzenia wspólnych abstrakcji"
Przed wprowadzeniem zmian, użyj Ask do zrozumienia wpływu:
"Jeśli zmienię interfejs User, aby dodać pole 'role',które części bazy kodu zostałyby dotknięte?Wylistuj wszystkie pliki, funkcje i testy, które wymagałyby aktualizacji."
Tryb Ask staje się jeszcze potężniejszy z serwerami MCP:
// Z włączonym MCP context7"Jak zaimplementować nieskończone przewijanie w Next.js 14?Użyj context7, aby uzyskać najnowszą dokumentację."
// Z MCP GitHub"Jakie zmiany zostały wprowadzone w uwierzytelnianiu w ostatnich 10 PR?Sprawdź zarówno scalone PR, jak i komentarze dla kontekstu."
Tryb Manual jest do sytuacji, gdy dokładnie wiesz, co należy zmienić i chcesz pełną kontrolę.
Bądź konkretny w wyborze plików
@file
dla jasnościPodawaj jasne instrukcje
"W funkcji login zaczynającej się w linii 45:1. Dodaj walidację formatu email2. Dodaj sprawdzenie ograniczenia liczby prób przed uwierzytelnianiem3. Zaktualizuj odpowiedź błędu, aby pasowała do standardów naszego API"
Używaj do nauczania Tryb Manual jest doskonały do wdrażania:
"Zaktualizuj funkcję calculatePrice, aby uwzględniała podatek.Postępuj zgodnie z naszym istniejącym wzorcem w calculateShipping."
Tryby Custom pozwalają tworzyć specjalistyczne osobowości AI dla unikalnych potrzeb twojego zespołu.
{ "name": "Security Audit", "tools": ["codebase_search", "read_file", "terminal"], "instructions": "Skup się na znajdowaniu luk bezpieczeństwa. Sprawdź: SQL injection, XSS, zahardkodowane sekrety, brakujące uwierzytelnienie. Stwórz security_report.md ze znaleziskami i poprawkami.", "model": "claude-4.1-opus"}
{ "name": "Documentation", "tools": ["codebase_search", "read_file", "edit_file"], "instructions": "Generuj kompleksową dokumentację. Uwzględnij: cel, parametry, wartości zwracane, przykłady, przypadki brzegowe. Postępuj zgodnie ze standardami JSDoc.", "model": "claude-4-sonnet"}
{ "name": "Performance", "tools": ["all_search", "terminal", "read_file"], "instructions": "Zidentyfikuj wąskie gardła wydajności. Szukaj: zapytań N+1, niepotrzebnych pętli, brakujących indeksów, dużych ładunków. Zaproponuj optymalizacje z benchmarkami.", "model": "o3"}
Zespół stworzył tryb custom do migracji baz danych:
// Konfiguracja trybu migracji custom{ "name": "DB Migration", "tools": ["read_file", "edit_file", "terminal"], "instructions": ` Podczas tworzenia migracji: 1. Zawsze twórz migracje w górę i w dół 2. Testuj wycofanie przed oznaczeniem jako ukończone 3. Aktualizuj dokumentację schematu 4. Stwórz przewodnik migracji dla innych deweloperów `}
Dla spójnego projektowania API w zespołach:
{ "name": "API Designer", "tools": ["codebase_search", "edit_file"], "instructions": ` Postępuj zgodnie z zasadami REST i naszymi standardami API: - Spójna konwencja nazewnictwa (kebab-case) - Właściwe kody statusu HTTP - Paginacja dla list - Standardowy format błędów - Dokumentacja OpenAPI `}
Zacznij od trybu Ask
Przełącz na tryb Agent
Zakończ trybem Manual
Podczas przełączania trybów zachowuj kontekst:
// W trybie Ask"Przeanalizuj przepływ przetwarzania płatności i zidentyfikuj, gdzie obliczamy podatki"
// Przełącz na tryb Agent"Na podstawie obliczania podatków, które właśnie znalazłeś, zaktualizuj je, aby obsługiwać podatki międzynarodowe"
// Przełącz na tryb Manual"W pliku konfiguracji podatków dodaj konkretne stawki dla krajów UE"
Tryb | Użycie pamięci | Zużycie tokenów | Najlepszy wybór modelu |
---|---|---|---|
Agent | Wysokie (eksploruje wiele plików) | Bardzo wysokie | Claude 4 Sonnet (równowaga) |
Ask | Średnie (przeszukuje bazę kodu) | Średnie | Gemini 2.5 Pro (długi kontekst) |
Manual | Niskie (konkretne pliki) | Niskie | Dowolny szybki model |
Custom | Różnie w zależności od konfiguracji | Różnie | Specyficzne dla zadania |
Zasada 80/20
“80% czasu spędzam w trybie Ask ucząc się. 20% w trybie Agent implementując. Ten stosunek daje mi najlepsze rezultaty.” - Starszy deweloper w TechCorp
Makra trybów
Stwórz skróty klawiszowe do częstych przełączeń trybów. Przypisz Ctrl+Shift+A
dla Agent, Ctrl+Shift+Q
dla Ask (Q = Question).
Biblioteka trybów Custom
Zbuduj bibliotekę trybów custom dla swojego zespołu. Udostępniaj je przez Git dla spójności między deweloperami.
Problem: Tryb Agent jest potężny, ale może nadmiernie skomplikować proste zmiany. Rozwiązanie: Używaj trybu Manual do prostych edycji. Zachowaj agenta do złożonej pracy z wieloma plikami.
Problem: Deweloperzy próbują zrozumieć kod, czytając go ręcznie. Rozwiązanie: Tryb Ask z dobrymi pytaniami jest 10x szybszy. Ćwicz zadawanie kompleksowych pytań.
Problem: Zespoły nie inwestują w tworzenie custom przepływów pracy. Rozwiązanie: Zacznij od jednego trybu custom dla najczęstszego zadania. Rozwijaj stopniowo.
Teraz, gdy rozumiesz niuanse każdego trybu:
Pamiętaj: tryby to narzędzia. Najlepsi deweloperzy wiedzą, kiedy używać każdego z nich. Opanuj to, a będziesz pracować na zupełnie innym poziomie wydajności.