Przejdź do głównej zawartości

/loop to dołączony skill Claude Code, który ponawia prompt w otwartej sesji: w stałym interwale, z opóźnieniem dobieranym przez Claude’a w każdej rundzie albo jako wbudowana rutyna utrzymaniowa. Cursor ma własny skill /loop; Codex go nie ma i zamiast tego używa automatyzacji w aplikacji. Pętla jest dokładnie tak wiarygodna, jak sprawdzenie wykonywane w każdej iteracji.

Ta strona jest dla programistów, którzy pilnują deployów i pull requestów, oraz dla tech leadów ustalających zespołowe zasady pracy bez nadzoru. Deploy trwa osiem minut, więc cztery razy pytasz „już gotowe?”. PR jest w przeglądzie, więc ciągle wracasz po wyniki CI i nowe komentarze. To prompt, który uruchamiałbyś w kółko, gdyby ktoś robił to za ciebie, i tym kimś jest /loop. Haczyk: pętla, której nie obserwujesz, musi raportować dowody, a nie wrażenia. Inaczej znów czytasz wszystko, co zrobiła. Jeśli praca bez nadzoru jest dla ciebie nowa, zacznij od przeglądu działu Automatyzacja, który porządkuje wszystkie opcje porównywane na tej stronie.

  • Regułę wyboru między trybem stałego interwału, adaptacyjnym i utrzymaniowym
  • Dwa gotowe do skopiowania prompty pętli, które kończą każdą iterację sprawdzalnym dowodem
  • Projektowy loop.md, który pilnuje gałęzi release i zatrzymuje się, zanim narobi szkód
  • Sposób na ograniczenie zużycia tokenów przez pętlę i podgląd kosztu każdej pętli
  • Czego użyć w Codeksie i czym różni się /loop w Cursorze
  • Awarie, przez które pętla odpala się i nic nie robi, oraz sposób wyjścia z nich

W Claude Code interwał i prompt są opcjonalne, a to, co podasz, wybiera tryb. /loop pojawił się w wersji v2.1.71 (marzec 2026) i jest opisany na stronie Anthropic o zadaniach cyklicznych, sprawdzonej 2026-09-26.

Co wpisujeszPrzykładTrybKiedy go użyć
Interwał i prompt/loop 5m check the deployStały interwał, zamieniany na cronZdarzenie ma znany rytm: deploy, nocny build, kolejka do opróżnienia
Tylko prompt/loop check the deployTryb z tempem dobieranym przez Claude’a (dalej: tryb adaptacyjny): od 1 minuty do 1 godziny po każdej rundzieAktywność przychodzi falami, na przykład PR w przeglądzie
Sam interwał albo nic/loop lub /loop 15mWbudowany prompt utrzymaniowy albo twój loop.mdChcesz stałej rutyny „utrzymuj tę gałąź w dobrym stanie”

Zaczynaj od trybu adaptacyjnego, chyba że masz powód, by tego nie robić. Claude czeka krótko, gdy build się kończy, i dłużej, gdy robi się cicho, więc płacisz za mniej pustych iteracji niż przy sztywnym rytmie co minutę.

Wpisz interwał i prompt w polu promptu Claude Code:

/loop 5m check if the deployment finished and tell me what happened

Claude zamienia interwał na wyrażenie cron, planuje zadanie i potwierdza rytm oraz 8-znakowy identyfikator zadania. Interwał może stać na początku jako samodzielny token (30m) albo na końcu jako fraza (every 2 hours). Jednostki to s, m, h i d. Sekundy są zaokrąglane w górę do pełnej minuty, bo cron nie schodzi niżej, a interwały takie jak 7m czy 90m są zaokrąglane do najbliższego czystego kroku cron. Claude mówi, co wybrał.

Trzy szczegóły decydują, czy stała pętla zachowa się zgodnie z oczekiwaniami:

  • Przy odpaleniu działają tylko skille, które model może wywołać. /loop 20m /review-pr 1234 uruchamia ten skill w każdej rundzie. Wbudowane polecenia (/model, /clear), skille oznaczone disable-model-invocation: true (w tym dołączony /verify), skille ukryte przez skillOverrides albo regułę deny dla Skill oraz prompty MCP, takie jak /mcp__github__list_prs, docierają jako zwykły tekst i nic nie robią.
  • Czasy odpaleń mają stałe przesunięcie. Harmonogram dodaje stałe przesunięcie wyliczane z identyfikatora zadania: zadania cykliczne odpalają się do 30 minut po zaplanowanym czasie albo do połowy interwału, jeśli biegną częściej niż co godzinę. Zadania jednorazowe ustawione na :00 lub :30 odpalają się do 90 sekund wcześniej. Gdy przy jednorazowym przypomnieniu liczy się minuta, wybierz czas poza :00/:30, na przykład 3 9 * * * zamiast 0 9 * * *; przesunięcie zadań cyklicznych i tak obowiązuje. Pętle adaptacyjne nie mają przesunięcia.
  • Czasy są lokalne, a sesja mieści najwyżej 50 zaplanowanych zadań.

Pomiń interwał, a Claude wybierze opóźnienie po każdej iteracji i wypisze je razem z uzasadnieniem:

/loop check whether CI passed and address any review comments

Gdy w sesji dostępne jest narzędzie Monitor, Claude może użyć go zamiast ponawiać prompt: Monitor uruchamia skrypt w tle i przesyła z powrotem każdą linię wyjścia, co zwykle szybciej reaguje i kosztuje mniej niż odpytywanie. Jeśli to, na co czekasz, potrafi wysłać powiadomienie, odpytywanie jest w ogóle złym narzędziem: kanały w Claude Code pozwalają CI przekazać informację o awarii prosto do sesji.

Samo /loop uruchamia wbudowany prompt utrzymaniowy w trybie adaptacyjnym. W każdej rundzie kontynuuje niedokończoną pracę z rozmowy, potem zajmuje się PR-em bieżącej gałęzi (komentarze z przeglądu, nieudane CI, konflikty scalania), a gdy nic innego nie czeka, robi porządki. Nie zaczyna nowych inicjatyw, a nieodwracalne akcje, takie jak push czy usuwanie, wykonuje tylko wtedy, gdy kontynuują coś, na co transkrypt już pozwolił.

Na Amazon Bedrock, Claude Platform on AWS, Agent Platform w Google Cloud (dawniej Vertex AI) i Microsoft Foundry, a także przy wyłączonym pobieraniu feature flag, tryb adaptacyjny i prompt utrzymaniowy wymagają v2.1.248 lub nowszej.

Wyjście pętli to strumień twierdzeń: „CI zielone”, „komentarz obsłużony”, „deploy zdrowy”. Weryfikujesz je tak jak każdą pracę agenta: każda iteracja ma dostarczyć dowód, który maszyna już sprawdziła. Służą temu cztery zasady:

  1. Nazwij wyrocznię. Każdy prompt pętli mówi, które polecenie albo status rozstrzyga o sukcesie: gh pr checks, endpoint zdrowia deployu, npm test. „Sprawdź, czy wygląda OK” nie daje Claude’owi kryterium, którego mógłby nie spełnić.
  2. Kończ każdą iterację jedną linią dowodu. Uruchomione polecenie, wynik i link: URL przebiegu CI, SHA commita, kod statusu health checka. Przeglądasz linie, a nie transkrypt.
  3. Wpisz warunek stopu i limit prób do promptu. Pętla adaptacyjna może zakończyć się sama, gdy praca jest zrobiona (Claude wywołuje ScheduleWakeup z stop: true). Iteracja, która dwa razy pada w ten sam sposób, powinna się zatrzymać i zaraportować, a nie wypychać trzeciej poprawki na ślepo.
  4. Scalanie zostaw człowiekowi. Pętla może wypychać poprawki na gałąź; pull request zatwierdza człowiek, korzystając z przeglądu opartego na dowodach. Pętla nigdy nie scala i nigdy nie deployuje.

Potem sprawdź, ile pętla kosztowała. Od v2.1.243 /usage pokazuje sekcję Loops: liczbę uruchomień, łączną liczbę tokenów, tokeny na uruchomienie i ostatnie uruchomienie każdej pętli. Pętla, której tokeny na uruchomienie ciągle rosną, czyta za dużo albo ponawia próby; zawęź prompt albo wydłuż interwał.

Zamień example.com/healthz na endpoint zdrowia swojej usługi. Prompt jest celowo tylko do odczytu: pętla raportuje, a ty decydujesz.

Plik loop.md zastępuje wbudowany prompt utrzymaniowy dla samego /loop. Claude Code najpierw czyta .claude/loop.md w projekcie, a w razie jego braku ~/.claude/loop.md. To jeden domyślny prompt, a nie lista zadań, i Claude Code go ignoruje, ilekroć po /loop wpiszesz własny prompt. Zmiany działają od następnej iteracji, więc możesz go doprecyzować w trakcie działania pętli. Treść powyżej 25 000 bajtów jest obcinana.

Zacommituj plik projektowy, żeby samo /loop robiło w całym zespole tę samą, ograniczoną rzecz. Tech lead przegląda ten plik jak każdą inną politykę: działa bez nadzoru, a „wypchnij poprawkę” oznacza w nim push za każdym razem, gdy warunek jest spełniony.

  1. Zatrzymaj czekającą pętlę adaptacyjną klawiszem Esc. To czyści zaplanowane wybudzenie. Zadań cron Esc nie dotyka.

  2. Anuluj pętle o stałym interwale i zadania zaplanowane po identyfikatorze. Pętla /loop o stałym interwale to zadanie cron, tak samo jak zadanie zaplanowane bezpośrednią prośbą do Claude’a („codziennie o 9 sprawdź…”), więc Esc jej nie zatrzyma. Poproś Claude’a o anulowanie po opisie („cancel the deploy check job”) albo po identyfikatorze („cancel job a1b2c3d4”); Claude wywoła wtedy narzędzie CronDelete z tym identyfikatorem, a na prośbę „list my scheduled tasks” wywoła CronList i pokaże identyfikatory. Pozostawione samo sobie zadanie cykliczne działa, aż wygaśnie po siedmiu dniach.

  3. Pozwól pętli zakończyć się samej. Gdy warunek stopu z promptu jest spełniony, Claude anuluje własne wybudzenie. Jeśli iteracja ani nie zaplanuje kolejnej, ani się nie zatrzyma, Claude Code planuje jedno awaryjne wybudzenie około 20 minut później i kończy pętlę, jeśli ta iteracja też niczego nie zaplanuje.

  4. Po wznowieniu uruchom ponownie pętle adaptacyjne. claude --resume i claude --continue przywracają niewygasłe zadania o stałym interwale, ale pętli adaptacyjnych /loop nie. Uruchom /loop jeszcze raz.

  5. Przenieś sesję w tło, zanim zamkniesz terminal. Zadania odpalają się tylko wtedy, gdy Claude Code działa i jest bezczynny. Przeniesienie sesji w tło (/background) zabiera jej zadania /loop do sesji w tle, która odpala je dalej bez terminala.

  6. Pamiętaj o siedmiodniowym wygasaniu. Zadanie cykliczne odpala się ostatni raz siedem dni po utworzeniu, a potem się usuwa. Pętle adaptacyjne nie mają przesunięcia, ale też wygasają po siedmiu dniach. Do dłuższych zadań użyj trwałego harmonogramu (następna sekcja).

Aby całkiem wyłączyć harmonogram, na przykład na współdzielonej maszynie, ustaw CLAUDE_CODE_DISABLE_CRON=1. Narzędzia cron i /loop stają się niedostępne, a zaplanowane zadania przestają się odpalać.

Natywnie, tak jak opisuje ta strona. /loop to opcja w obrębie sesji do szybkiego odpytywania: wymaga włączonej maszyny i otwartej sesji oraz dziedziczy serwery MCP i tryb uprawnień sesji. Gdy odpalenie wymaga zgody, czeka na ciebie jak każda inna tura. Do pracy, która ma przetrwać sesję, użyj Routines (research preview; chmura zarządzana przez Anthropic, minimalny interwał 1 godzina, bez pytań o uprawnienia w trakcie biegu), zadań cyklicznych w aplikacji desktopowej (twoja maszyna, minimum 1 minuta) albo wyzwalacza schedule w GitHub Actions.

PotrzebujeszUżyjDlaczego
Odpytywać coś przez najbliższą godzinę, gdy pracujesz/loop w trybie adaptacyjnymNajtańszy start; umiera razem z sesją
Dojść do definicji ukończenia („wszystkie testy przechodzą”)/goalZatrzymuje się, gdy sprawdzany warunek jest spełniony, zamiast biec według zegara
Zadanie codziennie przy zamkniętym laptopieRoutines, automatyzacje Codeksa, Cursor Automations albo harmonogram CITrwałe i działa bez otwartej sesji
Reakcja w chwili, gdy CI padnieKanały albo zadanie CI, które uruchamia agentaSterowane zdarzeniami; bez kosztu odpytywania

Te dwa polecenia dobrze się uzupełniają: /goal doprowadza funkcję do zielonego stanu, a /loop pilnuje pull requesta, który z tego powstał. Pełne porównanie opcji pracy bez nadzoru u różnych dostawców znajdziesz w zestawieniu agentów w tle i w chmurze.

Pętla się odpala i nic się nie dzieje. Prompt to skill, którego Claude nie może wywołać sam, albo prompt MCP, więc dociera jako zwykły tekst. Wyjście: przepisz prompt jako zwykłe instrukcje albo usuń disable-model-invocation: true z własnego skilla, jeśli uruchamianie go bez nadzoru jest bezpieczne.

Po --resume pętli nie ma. Pętle adaptacyjne nie są przywracane. Wyjście: uruchom /loop ponownie; do wszystkiego, co ma przetrwać restart, użyj trwałego harmonogramu.

Pętla odpala się 20 minut za późno. To przesunięcie zadania godzinowego, a nie usterka. Wyjście: pomiń interwał, żeby pętla działała w trybie adaptacyjnym (reguły przesunięcia jej nie dotyczą), albo przenieś zadanie do Routines lub harmonogramu CI, gdy liczy się dokładny czas.

Tokeny rosną, a nic się nie zmienia. Pętla co minutę z promptem, który za każdym razem czyta logi od nowa, spala tokeny w każdej rundzie. Wyjście: otwórz /usage i przeczytaj sekcję Loops, przejdź na tryb adaptacyjny albo dłuższy interwał i każ promptowi odpowiadać jedną linią, gdy nic się nie zmieniło.

Pętla w kółko wypycha tę samą złą poprawkę. Prompt nie miał limitu prób. Wyjście: anuluj pętlę, cofnij jej commity na gałęzi i dopisz „stop after two failed attempts and report” oraz lokalny test, który musi przejść przed każdym pushem.

Komentarz z przeglądu steruje pętlą. Tekst komentarza to niezaufane wejście, które może napisać każdy, kto ma dostęp do repozytorium. Wyjście: każ promptowi traktować komentarze jako prośby do oceny, zablokuj narzędzia, których pętla nie potrzebuje, i trzymaj scalanie oraz zmiany konfiguracji CI poza jej zakresem.

Pętla nie podtrzymuje sesji zdalnej. Od v2.1.172 Claude Code przestał podpowiadać /loop w sesjach zdalnych, bo oczekujące pętle nie utrzymują kontenera przy życiu. Wyjście: do harmonogramów po stronie chmury używaj Routines.

Na Bedrock, Claude Platform on AWS, Agent Platform w Google Cloud lub Foundry brakuje trybu adaptacyjnego albo samego /loop. Masz wersję starszą niż v2.1.248. Wyjście: zaktualizuj Claude Code.