Przejdź do głównej zawartości

Najlepsze praktyki dla programowania z pomocą AI

Dwóch developerów dostaje tego samego asystenta AI i ten sam ticket: „dodaj zaproszenia do zespołu w panelu”. Jeden wkleja ticket, akceptuje diff na 400 linii i spędza popołudnie na debugowaniu, dlaczego zaproszenia po cichu zawodzą dla istniejących użytkowników. Drugi dowozi to w godzinę, z przechodzącymi testami i czystym diffem. Ten sam model, to samo zadanie. Różnicą jest przepływ pracy, a nie prompting.

Dobre korzystanie z asystenta AI mniej zależy od sprytnego doboru słów, a bardziej od powtarzalnej pętli: nakarm go właściwym kontekstem, zaplanuj przed wykonaniem i weryfikuj na bieżąco. Ten przewodnik omawia podstawowe praktyki, osadzone w prawdziwej funkcji, i kieruje cię do pogłębionych artykułów o każdej z nich.

  • Wejścia kontekstu, które faktycznie poprawiają jakość outputu (precyzyjne wzmianki przez @ i trwały plik z zasadami)
  • Konkretna pętla Planuj-Wykonuj-Weryfikuj zastosowana do prawdziwej funkcji w Next.js + Drizzle
  • Gotowe do wklejenia prompty na fazy planowania, wykonania i weryfikacji
  • Jak każda faza mapuje się na mechanikę Cursora, Claude Code i Codeksu
  • Scenariusze awarii, które po cichu nadgryzają pracę wspomaganą przez AI, i jak je wyłapać

Największą dźwignią jakości outputu jest jakość kontekstu, który dostarczasz. Dwa wejścia wykonują większość roboty.

Precyzyjne wzmianki przez @. Odwołuj się do dokładnych plików i symboli, których dotyczy zadanie, zamiast pozwalać AI zgadywać. Dla naszej funkcji zaproszeń: @src/db/schema.ts @app/api/teams/route.ts. Wskazanie schematu i trasy jest warte więcej niż dziesięć zdań opisu.

Trwały plik z zasadami. Zakoduj swój stack i konwencje raz, żeby nie powtarzać ich w każdym prompcie. Krótki CLAUDE.md (czytany również przez Codex) lub plik .cursor/rules/*.mdc w stylu:

- DB access goes through Drizzle in src/db; never write raw SQL in route handlers.
- API routes return typed JSON via the `apiResponse()` helper in lib/api.ts.
- All new tables need a migration in drizzle/ and a matching zod schema.

2. Przyjmij uporządkowany przepływ pracy: planuj, wykonuj, weryfikuj

Dział zatytułowany „2. Przyjmij uporządkowany przepływ pracy: planuj, wykonuj, weryfikuj”

Niezawodny wzorzec to trzy fazy z ludzkim punktem kontrolnym między każdą z nich. Oto on, zastosowany do dodawania zaproszeń do zespołu.

  1. Najpierw planuj (tylko do odczytu). Pracuj w trybie tylko do odczytu, żeby AI proponowało, nie edytując. Każ mu stworzyć plan TODO, który wymienia pliki dotykane przez każdy krok.

  2. Wykonuj stopniowo. Przełącz się na tryb wykonania i rób jeden element TODO na raz, przeglądając każdy diff. Praca w małych krokach sprawia, że każda zmiana jest możliwa do przejrzenia.

  3. Weryfikuj ciągle (TDD). Używaj automatycznych pętli zwrotnych. Test-Driven Development jest tu szczególnie potężne: niech AI najpierw napisze testy, które nie przechodzą, potwierdź, że nie przechodzą, a następnie wdrażaj, aż będą zielone.

Kręgosłup Planuj-Wykonuj-Weryfikuj mapuje się na odmienną mechanikę w każdym narzędziu. Dyscyplina jest identyczna; różnią się elementy sterujące.

Planuj w trybie Ask (rozwijane menu trybu, tylko do odczytu). Wykonuj, przełączając się na Agent i akceptując diffy fragment po fragmencie; Cursor zapisuje punkt kontrolny przed każdą edycją, więc możesz cofnąć zły krok. Weryfikuj, każąc Agentowi uruchomić twoje polecenie testowe i naprawić błędy, przeglądając każdą zmianę przed akceptacją.

AI jest szybkie, szeroko kompetentne i czasami naiwne. Kieruj nim jak utalentowanym juniorem: dawaj mu jedno dobrze ograniczone zadanie na raz (prompt wykonawczy powyżej), przeglądaj jego output linijka po linijce, zamiast ufać zielonym testom, i przekazuj korygujące uwagi, zamiast zaczynać od nowa. Pętla konwersacyjna to atut — precyzyjne „przypadek 409 nie jest obsłużony; dodaj go i uruchom testy ponownie” jest szybsze niż przepisywanie promptu od zera.

  • Przeciążenie kontekstem. Dwadzieścia plików wskazanych przez @ daje gorsze odpowiedzi niż trzy. Przytnij do tego, czego dotyczy zadanie.
  • Dryf planu. Długie sesje odpływają od zatwierdzonego planu. Wklej ponownie ponumerowane TODO i zapytaj, na którym kroku jesteś, przed kontynuacją.
  • Przeglądy z pieczątką. Po kilku poprawnych diffach przestajesz czytać; wtedy właśnie dowozi się buga. Trzymaj diffy małe i opieraj się na zautomatyzowanych bramkach (hooki, CI), które się nie męczą.
  • Tautologiczne testy. Testy napisane przez AI mogą przechodzić mimo zepsutego kodu. Potwierdź, że test faktycznie nie przechodzi, gdy zepsujesz implementację.

Zgłęb każdą praktykę: