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.