Przejdź do głównej zawartości

Polecenie /loop: prompty cykliczne i samodzielnie tempowane

Deploy trwa jakieś osiem minut. Więc czekasz, wpisujesz „już gotowe?”, czytasz „wciąż się buduje”, czekasz, pytasz znów. Albo PR jest w przeglądzie i ciągle wracasz sprawdzić wyniki CI i nowe komentarze. Nic z tego nie jest trudne — to po prostu prompt, który uruchamiałbyś w kółko, gdybyś mógł, a bycie tym, kto uruchamia go w kółko, to marnowanie programisty.

/loop jest tym powtarzaczem. Dajesz mu prompt i, opcjonalnie, rytm, a on ponawia prompt za ciebie — w stałym interwale, w interwale dobranym na podstawie tego, co widzi, albo jako stałą rutynę utrzymaniową. To rytmiczna połowa autonomicznej pracy; jej rodzeństwo, /goal, to połowa oparta na warunku.

  • Trzy tryby /loop w Claude Code — stały interwał, samodzielne tempo i utrzymanie — oraz kiedy używać którego
  • Dokładną składnię, w tym jak interwały mapują się na cron i jak zatrzymać pętlę
  • Jak zastąpić domyślny prompt utrzymaniowy własnym loop.md
  • Czego użyć zamiast tego w Codeksie i Cursorze
  • Czym /loop różni się od /goal

/loop to dołączony skill (wymaga Claude Code w wersji 2.1.72 lub nowszej). Zarówno interwał, jak i prompt są opcjonalne, a to, co podasz, decyduje o zachowaniu:

Co podajeszPrzykładCo się dzieje
Interwał i prompt/loop 5m sprawdź deployPrompt działa według stałego harmonogramu
Tylko prompt/loop sprawdź deployPrompt działa w interwale, który Claude dobiera w każdej rundzie
Tylko interwał albo nic/loopDziała wbudowany prompt utrzymaniowy (albo twój loop.md)

Podaj interwał, a Claude przekształca go w wyrażenie cron, planuje zadanie i potwierdza rytm oraz identyfikator zadania:

/loop 5m sprawdź, czy deploy się zakończył, i powiedz mi, co się stało

Interwał może prowadzić jako goły token (30m) albo zamykać zdanie jako klauzula (every 2 hours). Jednostki to s, m, h, d. Sekundy zaokrąglają się w górę do najbliższej minuty (granulacja crona), a nietypowe interwały jak 7m czy 90m zaokrąglają się do najbliższego czystego kroku crona — Claude mówi ci, co wybrał. Jako prompt możesz też podać inne polecenie: /loop 20m /review-pr 1234 ponawia zapisany skill w każdej iteracji.

Pomiń interwał, a Claude sam dobiera opóźnienie po każdej rundzie — od jednej minuty do godziny — na podstawie tego, co zaobserwował, i wypisuje powód każdego czekania:

/loop sprawdź, czy CI przeszło, i zajmij się komentarzami z przeglądu

Krótkie czekania, gdy build się kończy, dłuższe, gdy zrobi się cicho. W tym trybie Claude może użyć narzędzia Monitor, by strumieniować wyjście skryptu działającego w tle zamiast ponawiać prompt — często szybciej i oszczędniej tokenowo niż odpytywanie.

Gołe /loop (bez promptu) uruchamia wbudowaną rutynę utrzymaniową w samodzielnie dobranym interwale. W każdej rundzie przechodzi, w kolejności: kontynuuje niedokończoną pracę z rozmowy, zajmuje się PR-em bieżącej gałęzi (komentarze z przeglądu, niepowodzenia CI, konflikty scalania), a potem — gdy nic innego nie czeka — uruchamia przebiegi porządkowe, jak polowanie na bugi czy upraszczanie. Nie zaczyna nowych inicjatyw poza tym zakresem, a działania nieodwracalne wykonuje tylko wtedy, gdy kontynuują coś, co transkrypt już autoryzował.

Naciśnij Esc, gdy pętla czeka na następną iterację, by wyczyścić oczekujące wybudzenie. W trybie samodzielnego tempa Claude może też sam zakończyć pętlę, nie planując kolejnego wybudzenia, gdy zadanie jest dowodliwie ukończone. Każda pętla niesie siedmiodniowe wygaśnięcie — odpala się ostatni raz siedem dni po utworzeniu, po czym sama się usuwa, więc zapomniana pętla nie może działać w nieskończoność. Pętle są związane z sesją; claude --resume lub --continue przywraca te, które nie wygasły.

Natywne, jak opisano wyżej. Dla harmonogramów przeżywających sesję Claude Code oferuje też Routines (chmura zarządzana przez Anthropic, minimum 1 godzina), zadania zaplanowane w aplikacji Desktop (twoja maszyna) oraz GitHub Actions — samo /loop jest opcją do szybkiego odpytywania w obrębie sesji. Ustaw CLAUDE_CODE_DISABLE_CRON=1, by wyłączyć harmonogram (i /loop) całkowicie.

Dwa autonomiczne polecenia odpowiadają na różne pytania:

  • /loop odpowiada „jak często?” — ponawia prompt w rytmie i samo z siebie może nigdy się nie zakończyć (siedmiodniowe wygaśnięcie to bezpiecznik, a nie linia mety).
  • /goal odpowiada „do kiedy?” — działa na pełnych obrotach, aż weryfikowalny warunek zakończenia stanie się prawdą, po czym się zatrzymuje.

Używaj /loop do monitorowania i stałego utrzymania; używaj /goal do pracy zbieżnej z jasną definicją ukończenia. Dobrze się łączą: /goal doprowadza funkcję do zieleni, a potem /loop pilnuje powstałego PR-a.