Akademia · Pętle

Pętle: /goal i /loop. Agent pracuje, aż cel osiągnięty.

Najwięcej daje nie pojedyncze polecenie, tylko agent prowadzony w pętli. Dwie komendy: /goal — pracuje, aż osiągnie cel, oraz /loop — powtarza zadanie co zadany czas. Spinają je wzorzec checklisty: plik z zadaniami, który agent sam odhacza.

Ostatnia aktualizacja:

/goalpętla do celu — kończy, gdy warunek spełniony
/loop 5mpowtarza zadanie co interwał (granularność 1 min)
Checklista = pamięć[ ] → [x] jako stan między iteracjami

01 / Dwie pętle · Kiedy której

Dwie pętle, dwa zastosowania.

/goal — pętla do celu

/goal uruchamia agenta w trybie zadaniowym: dostaje cel i pracuje w kółko, aż go osiągnie. Po każdej turze warunek końcowy ocenia osobny model — mały i szybki (domyślnie Haiku) — i zwraca tak/nie wraz z uzasadnieniem. To celowe: agent, który wykonuje pracę, nie ocenia jej sam. Idealny do zadań, które da się rozbić na listę kroków o jasnym warunku zakończenia: „zrób wszystko z listy", „napraw, aż testy przechodzą", „uzupełnij brakujące pliki".

Sedno: definiujesz cel i warunek osiągnięcia celu, nie pojedynczą czynność. Ocenę spełnienia warunku robi po każdej turze odrębny mały, szybki model (domyślnie Haiku) — zwraca tak/nie z uzasadnieniem, żeby model nie był sędzią we własnej sprawie. /goal wymaga Claude Code w wersji v2.1.139 lub nowszej; działa też nieinteraktywnie (claude -p "/goal …") i przeżywa --resume sesji.

/loop — powtarzanie co interwał

/loop 5m sprawdź status builda powtarza to samo polecenie co zadany czas (tu: co 5 minut). Sprawdza się przy monitorowaniu i pracy reaktywnej: „co minutę sprawdź status builda", „co 5 minut zerknij na nowe zgłoszenia", „pilnuj kolejki, aż się opróżni". Pętla działa na cronie, dopóki jej nie zatrzymasz (klawisz Esc kasuje najbliższe wybudzenie) albo dopóki nie minie 7 dni.

Aktualizacja: interwał jest opcjonalny. /loop <prompt> bez czasu sam dobiera odstęp (od 1 minuty do 1 godziny) — krótszy, gdy coś się dzieje, dłuższy, gdy cisza — a po wykonaniu zadania potrafi sam zakończyć pętlę. Samo /loop bez argumentów odpala wbudowany prompt utrzymaniowy (albo Twój plik .claude/loop.md): dociąga niedokończoną robotę, pilnuje PR-a bieżącej gałęzi i sprząta kod.

Wymagania: /loop stoi na cronie, więc stały interwał ma granularność 1 minuty (sekundy zaokrąglają się w górę). Zadania są przypięte do sesji: wygasają po 7 dniach, maksymalnie 50 na sesję. Wymaga Claude Code w wersji v2.1.72 lub nowszej.

  • /goal — gdy znasz cel, ale nie wiesz, ile kroków zajmie. Kończy się sam.
  • /loop <czas> — gdy chcesz cyklicznie coś sprawdzać lub dorzucać po kawałku w równych odstępach.

02 / Wzorzec · Checklista jako pamięć

Plik z checkboxami, który agent sam odhacza.

Najprostszy sposób, żeby pętla wiedziała, co już zrobiła, a co zostało — to plik z listą zadań i checkboxami. Agent po każdym wykonanym zadaniu zamienia [ ] na [x]. Plik jest jednocześnie planem, pamięcią i warunkiem zakończenia: cel osiągnięty, gdy wszystkie pozycje są zaznaczone.

Przykładowy TODO.md:

# Lista zadań do wykonania

- [ ] 1. Utwórz plik `hello.txt` z tekstem "Hello SZRON"
- [ ] 2. Utwórz plik `data.json` z obiektem {"version": 1}
- [ ] 3. Dopisz do `hello.txt` drugą linię z aktualną datą
- [ ] 4. Utwórz `README.md` z nagłówkiem "# Demo /goal"
- [ ] 5. Policz pliki w katalogu i zapisz liczbę do `count.txt`

I prompt, który uruchamia całość:

/goal wykonaj po kolei każdy task z TODO.md, po wykonaniu
zamień [ ] na [x] przy tym tasku; po każdej turze wypisz w
odpowiedzi aktualną listę checkboxów; cel osiągnięty gdy w
tym wypisie wszystkie checkboxy są zaznaczone [x]

Dlaczego to działa: ewaluator /goal nie czyta plików ani nie uruchamia komend — ocenia wyłącznie transkrypt rozmowy. Dlatego warunek pisz tak, by dało się go udowodnić z odpowiedzi agenta: każ mu po każdej turze wypisać stan checklisty (ile [ ], ile [x]) wprost w odpowiedzi. To, czego nie widać w transkrypcie, dla ewaluatora nie istnieje. Ty w każdej chwili widzisz postęp w tym samym pliku.

03 / Praktyka · Żeby pętla nie zwariowała

Kilka zasad, zanim puścisz agenta samego.

Jasny warunek końcaBez tego pętla się nie zatrzyma
Zawsze podaj mierzalny warunek osiągnięcia celu — „wszystkie checkboxy [x]", „testy zielone", „brak plików bez nagłówka". Inaczej agent będzie kręcił się w nieskończoność. Dorzuć też twardy limit: oficjalnie wystarczy dopisać do warunku or stop after 20 turns. Cały warunek może mieć do 4000 znaków. /goal clear przerywa bieżący cel, a samo /goal bez argumentu pokazuje status — liczbę tur, zużyte tokeny i uzasadnienie ostatniej oceny.
Małe, atomowe zadaniaJedno zadanie = jeden checkbox
Rozbij cel na kroki, które da się wykonać i odhaczyć pojedynczo. Łatwiej wznowić po przerwie i widać realny postęp.
Checklista to stanPlik przeżywa restart
Trzymanie postępu w pliku (a nie w pamięci sesji) sprawia, że pętlę można przerwać i wznowić — agent czyta, co już odhaczone, i rusza dalej.
/loop do monitoringu, /goal do robotyDobierz pętlę do zadania
Powtarzalne sprawdzanie stanu → /loop. Doprowadzenie zadania do końca → /goal. Można je łączyć: /loop pilnuje, a po wykryciu zmiany odpala pracę.

04 / Filozofia · Praca to pisanie pętli

Nie promptujesz. Piszesz pętle.

Boris Cherny, twórca Claude Code, ujął to wprost: „I don't prompt Claude anymore. I have loops that are running. My job is to write loops." Ewolucja wygląda tak: najpierw kod z autouzupełnianiem, potem promptowanie kilku agentów równolegle, na końcu pętle, które promptują same. Anatomia dobrej pętli to kontekst + cel + definicja sukcesu — agent iteruje i sam ocenia wyniki, aż przejdą test.

Builder / tester / reviewerTrzech agentów zamiast jednego
Sesja, która sama pisze, testuje i recenzuje własny kod, to student oceniający swój egzamin. Rozdziel role na osobnych agentów — weryfikacja przez odrębnego recenzenta wyraźnie podnosi jakość pierwszego podejścia.
Każ mu udowodnićDefinition of done w pętli
Plan → zmiana → testy → podsumowanie, co padło → poprawka. Agent nie raportuje „zrobione" — pokazuje zielone testy. Dokładnie dlatego warunek w /goal piszesz tak, żeby dało się go zweryfikować z transkryptu.
Kontekst to RAMStrefa głupienia zaczyna się wcześniej, niż myślisz
Okna kontekstu mają po 1M tokenów, ale realna jakość degraduje się już około 250 tysięcy. CLAUDE.md poniżej 300 linii, /clear między zadaniami, a po dwóch nieudanych próbach — /clear zamiast trzeciej.
Zakładaj najgorszeBezpieczeństwo pętli
Agent zrobi wszystko, co może przeczytać lub dotknąć. Zakazy w promptach nie wystarczą — agent potrafi napisać skrypt, który je obejdzie. Uprawnienia ustawiaj na poziomie systemu: hooki, sandbox, sekrety w vaultach zamiast w plikach.

Wdrożenie u Was

Chcecie, żeby Wasz zespół tak prowadził agentów?

Pętle, checklisty i AGENTS.md jako kontrakt zespołu wdrażamy na Waszym kodzie — w ramach dwóch kwartałów transformacji. 30 minut wystarczy, żeby sprawdzić, czy ma to u Was sens.