Przejdź do głównej zawartości

Wzorce kontekstu

Prosisz Agenta, aby dodał obsługę błędów do twojej trasy Express. Owija wszystko w try-catch i zwraca { error: "Something went wrong" }. Tymczasem twoja baza kodu ma niestandardową klasę AppError, scentralizowane middleware obsługi błędów i standardowy format odpowiedzi błędów z kodami błędów. Agent nie wiedział o niczym z tego, ponieważ mu nie powiedziałeś, i nie znalazł tego sam.

Jakość wyniku Cursora jest bezpośrednio proporcjonalna do jakości kontekstu, który dostarczasz. Za mało kontekstu i agent zgaduje. Za dużo kontekstu i traci koncentrację na ważnych częściach. Punkt optymalny to precyzyjny, odpowiedni kontekst, który dokładnie mówi agentowi, jakich wzorców ma przestrzegać.

  • Ramy decyzyjne określające, kiedy używać każdego typu wzmianki @
  • Strategie efektywnego budowania kontekstu bez przeciążania prompta
  • Wzorce wykorzystania reguł do automatycznego dostarczania kontekstu tła
  • Techniki debugowania problemów z kontekstem, gdy agent produkuje słabe wyniki

Wzmianki @ w Cursorze to twoje podstawowe narzędzie do dostarczania kontekstu. Wpisz @ w polu wprowadzania czatu i wybierz z oficjalnych selektorów — @Files & Folders, @Code, @Docs i @Past Chats:

Typ wzmiankiCo robiKoszt tokenówNajlepsze do
@Files & Folders (plik)Dołącza pełną zawartość określonego plikuŚredni-WysokiPokazywania dokładnych wzorców do naśladowania
@Files & Folders (folder)Zapewnia przegląd strukturalny kataloguNiski-ŚredniDawania agentowi mapy twojego projektu
@CodeDołącza konkretną funkcję lub fragment kodu, który zaznaczyszNiskiPrecyzyjnego wskazania, do czego się odwołać
@DocsPrzeszukuje zindeksowaną dokumentacjęŚredniWskazówek specyficznych dla biblioteki/frameworka
@Past ChatsOdnosi się do poprzedniej konwersacjiŚredniBudowania na wcześniejszej pracy

Pliki i foldery dzielą jeden wspólny selektor (@Files & Folders); poniżej używamy skrótów @file i @folder, aby rozróżnić te dwa zastosowania.

Zamiast opisywać swoje wzorce słowami, pokaż agentowi rzeczywisty kod:

# Źle: Opisywanie wzorca (agent może go nie przestrzegać)
"Stwórz endpoint API. Używamy Express z middleware do autentykacji,
Zod do walidacji i zwracamy JSON z kodami statusu."
# Dobrze: Pokazywanie wzorca (agent go replikuje)
"Stwórz endpoint POST /api/orders według dokładnego wzorca
w @src/routes/users.ts -- to samo middleware, walidacja, obsługa
błędów i format odpowiedzi."

Użyj @folder, gdy agent musi zrozumieć strukturę katalogu, ale nie musi czytać każdego pliku:

Look at @src/components/ and create a new NotificationBanner
component that follows the same file organization and naming
conventions as the existing components.

Wzmianki folderów są znacznie tańsze pod względem tokenów niż dołączanie każdego pliku. Agent otrzymuje listę plików i może wybrać, które czytać szczegółowo.

Gdy potrzebujesz, aby agent odwołał się do konkretnej funkcji lub klasy bez dołączania całego pliku, zaznacz fragment kodu selektorem @Code zamiast dołączać cały plik:

Refactor the calculateDiscount function (select it with @Code from
src/services/pricing.ts) to support percentage-based and
fixed-amount discounts.

To najbardziej wydajny tokenowo sposób dostarczania kontekstu dla ukierunkowanych edycji. Jeśli wolisz nie szukać dokładnych linii, zwykła wzmianka pliku @src/services/pricing.ts również zadziała — po prostu kosztuje więcej tokenów.

Zacznij od najmniejszego możliwego kontekstu i dodawaj więcej tylko wtedy, gdy wynik jest nieprawidłowy:

  1. Podaj agentowi tylko opis zadania
  2. Jeśli produkuje nieprawidłowe wzorce, dodaj kanoniczny przykładowy plik
  3. Jeśli nadal pomija konwencje, dodaj odpowiednią regułę
  4. Jeśli tworzy złą strukturę plików, dodaj wzmiankę folderu

To podejście minimalizuje użycie tokenów, zapewniając jednocześnie, że agent otrzyma to, czego potrzebuje.

Dla zadań, które powinny przestrzegać istniejących wzorców, zawsze dołącz jeden kanoniczny przykład:

Jeden dobry przykładowy plik jest wart więcej niż strona pisemnych instrukcji.

Gdy agent musi wiedzieć, czego NIE dotykać:

Użyj @docs, aby dać agentowi wiedzę specyficzną dla frameworka:

@docs Next.js Add server-side data validation using Next.js
Server Actions. Follow the official patterns for form handling
and error states.

Dodaj niestandardowe źródła dokumentacji w Cursor Settings > Indexing & Docs. Jeśli używasz wewnętrznego frameworka lub własnej biblioteki, dodaj URL jej dokumentacji, aby agenci mogli się do niej odwoływać.

Gdy agent produkuje słabe wyniki, przyczyną jest prawie zawsze jeden z tych problemów z kontekstem:

Agent używa złych wzorców. Nie widział twojego kanonicznego przykładu. Dodaj referencję @file do pliku, który powinien naśladować.

Agent tworzy pliki w złej lokalizacji. Nie zna twojej struktury projektu. Dodaj referencję @folder, aby pokazać, gdzie rzeczy powinny się znajdować.

Agent używa przestarzałych API lub zdeprecjonowanych wzorców. Opiera się na danych treningowych zamiast na twojej bazie kodu. Dodaj @docs dla aktualnej wersji frameworka.

Agent dodaje niepotrzebną złożoność. Twój prompt jest zbyt niejasny. Dodaj wyraźne granice: “NIE dodawaj cachowania. NIE dodawaj logowania. Tylko podstawowa logika.”

Za dużo kontekstu dezorientuje agenta. Jeśli dołączysz 10+ plików, agent może skupić się na nieistotnych. Zmniejsz do 2-3 najważniejszych plików i pozwól agentowi eksplorować, jeśli potrzebuje więcej.

@docs zwraca przestarzałe informacje. Indeks dokumentacji Cursora może być nieaktualny. Ponownie zindeksuj źródło dokumentacji w Cursor Settings lub dodaj URL ponownie.

Agent nie może znaleźć plików ze wzmiankami @file. Sprawdź, czy ścieżka pliku jest poprawna. Użyj menu autouzupełniania po wpisaniu @, aby przeglądać dostępne pliki.

Reguły i kontekst pliku są sprzeczne. Jeśli reguła mówi “używaj camelCase”, ale plik referencyjny używa snake_case, agent się myli. Upewnij się, że twoje reguły i przykłady są spójne.