Przejdź do głównej zawartości

Poziom 5 drabiny autonomii to fabryka oprogramowania: potok, w którym agenci biorą pracę z kolejki, budują ją, weryfikują i otwierają pull requesty, których nie napisał żaden człowiek. Fabryka ma sześć stanowisk (intencja, harness, pętla, graf, weryfikacja i wydanie), a pętla może działać bez nadzoru tylko wtedy, gdy o „gotowe” rozstrzyga wyrocznia, której agent nie może edytować.

Ta strona jest dla tech leada lub inżyniera platformy, który ma już za sobą pętle poziomu 4, i dla CTO, który decyduje, czy sfinansować pilotaż fabryki. Typowa sytuacja: twoje przebiegi z /goal kończą się w nocy, kolejka przeglądów stała się najwolniejszą częścią dostarczania, a ktoś pyta, czy agenci nie mogliby sami scalać aktualizacji zależności. Ta strona odpowiada, które pętle mogą, czego każde stanowisko potrzebuje najpierw i co do tego dostarczają Claude Code, Codex i Cursor.

Dan Shapiro nazwał ten szczebel w tekście The Five Levels: from Spicy Autocomplete to the Dark Factory (23 stycznia 2026): to „czarna skrzynka, która zamienia specyfikacje w oprogramowanie”, gdzie „ludzie nie są ani potrzebni, ani mile widziani”. Umieszcza tam tylko „garstkę ludzi”, w zespołach „poniżej pięciu osób”.

Najlepiej udokumentowany przypadek produkcyjny, Minions Stripe’a, zostawia człowieka w pętli. Stripe podał, że ponad 1300 pull requestów tygodniowo jest „w całości wytworzonych przez minionów, przejrzanych przez ludzi, ale bez kodu napisanego przez człowieka” (Stripe, 19 lutego 2026). Agenci działają na „ponad trzech milionach” istniejących testów i dostają „najwyżej dwie rundy CI” (Stripe, 9 lutego 2026), zanim gałąź wróci do człowieka. Warstwa dowodów powstała przed agentami.

Koszt pominięcia tej warstwy też zmierzono. Telemetria Faros AI z 22 000 deweloperów (AI Engineering Report 2026, kwiecień 2026) pokazuje wzrost przepustowości zadań na dewelopera o 33,7% i wskaźnika scalania PR-ów na dewelopera o 16,2%, a jednocześnie wzrost incydentów na pull request o 242,7%, mediany czasu w przeglądzie o 441,5% i o 31,3% więcej pull requestów scalonych bez żadnego przeglądu. Traktuj więc poziom 5 jako cechę pojedynczych pętli, nigdy całej firmy.

Każde stanowisko odpowiada za jedną decyzję. Stanowisko, które nie wytwarza dowodów, musisz nadzorować, czytając kod.

StanowiskoDecyzja, za którą odpowiadaDowód, który musi wytworzyćObjaw, gdy go brakuje
IntencjaCo agent wie na starcieSpecyfikacja z kryteriami akceptacji i nazwanym warunkiem stopuWiarygodny kod, który rozwiązuje zły problem
HarnessCo agent może uruchomić i do czego sięgnąćPolityka uprawnień i sandboksa w systemie kontroli wersjiPrzebieg, który działa, bo miał więcej dostępu, niż powinien
PętlaKiedy agent się zatrzymujeWarunek stopu sprawdzalny maszynowo i limit ponowieńPrzebiegi, które nie kończą się wcale albo kończą się ogłoszeniem sukcesu
GrafKto co robi, gdy agentów jest kilkuSpisana topologia: planista, wykonawcy, sędzia, izolacjaAgenci nadpisujący sobie nawzajem pliki lub kontekst
WeryfikacjaCo liczy się jako dowódDeterministyczne kontrole, których przebieg nie może edytować, plus wyniki przegląduZielone kontrole na testach przepisanych przez agenta
WydanieJak praca opuszcza budynekPakiet dowodów w pull requeście i nazwana osoba, która scalaScalenie, którego nikt nie potrafi wyjaśnić tydzień później

Stanowiska są naniesione na cykl życia i drabinę na stronie jedna mapa. Pełny przewodnik budowy z rejestrem autonomii to fabryki oprogramowania.

Poziom należy do pętli, nie do zespołu. O tym, czy pętla może działać po ciemku, rozstrzygają cztery pytania, a pętla musi przejść wszystkie cztery:

  1. Jaka wyrocznia rozstrzyga o „gotowe”? Nazwij konkretną kontrolę. „Przechodzą testy i type checker” to wyrocznia. „Wygląda dobrze” nie jest.
  2. Czy agent może ją oszukać? Jeśli agent może edytować wyrocznię, wyrocznia jest tylko sugestią. Testy w tym samym diffie z definicji oblewają to pytanie.
  3. Po jakim czasie wychodzi na jaw błędna odpowiedź? Minuty to zaliczenie. „Klient zauważy za trzy tygodnie” to oblanie.
  4. Jaki jest zasięg szkody, jeśli wynik jest błędny? Odwracalny i ograniczony to zaliczenie. Migracja schematu albo ścieżka płatności to oblanie.

Przyjmij tę tabelę jako regułę, którą zespół stosuje, zanim jakakolwiek pętla wyjdzie spod nadzoru:

Klasa pętliWyroczniaAgent może ją edytować?Czas do wykryciaZasięg szkodyWerdykt
Aktualizacje zależności patch i minorPełny zestaw CINie, jeśli konfiguracja CI i testy są chronioneMinutyJeden commit do odwróceniaBez nadzoru, scala człowiek
Migracje lintera i codemodyLinter plus type checkerNie, jeśli konfiguracja reguł jest chronionaMinutyMechaniczne, odwracalneBez nadzoru, scala człowiek
Kwarantanna niestabilnych testówStatystyki ponownych uruchomień z historii CITak, chyba że kwarantanna żyje poza repozytoriumDniUkrywa prawdziwe awariePod nadzorem
Funkcje ze specyfikacjiTesty akceptacyjne napisane razem ze specyfikacjąTak, jeśli są w tym samym diffieDni do tygodniZachowanie produktuPod nadzorem, przegląd dowodów
Uwierzytelnianie, pieniądze, schemat, migracjeW najlepszym razie częściowaZależnie od przypadkuTygodnieNieodwracalnyZostaje u człowieka, który czyta kod

Ostatni wiersz to krótka lista klas zmian, w których ktoś nadal czyta kod; dlaczego, wyjaśnia strona czytanie dowodów zamiast kodu.

Buduj pętle po jednej, zaczynając od harnessu. Kroki używają aktualizacji zależności, pierwszego wiersza tabeli, bo jej wyrocznia już istnieje.

  1. Zapisz intencję jako plik w repozytorium, na przykład .factory/dep-bump.md, żeby każdy przebieg dostawał te same instrukcje, a prompt przechodził code review jak każda inna zmiana. Jako treść użyj promptu poniżej.

  2. Wynieś wyrocznię poza zasięg agenta. Dodaj wpis w CODEOWNERS dla tests/, .github/ oraz konfiguracji lintera i typów i włącz w regułach gałęzi „Require review from Code Owners”; sam plik CODEOWNERS tylko prosi o recenzję. Ustaw kontrole CI jako wymagane i dodaj krok CI z sekcji o awariach poniżej, który oblewa każdą gałąź z fabryki zmieniającą chronione ścieżki. Przebieg nadal może zmienić kod, ale nie scali słabszego testu. Hooki i testy holdout opisuje strona ochrona wyroczni.

  3. Ustal harness. Uruchamiaj agenta w jednorazowym zadaniu CI lub środowisku chmurowym z jawną listą dozwolonych narzędzi, limitem wydatków i bez sekretów poza poświadczeniem do modelu. Rób checkout z persist-credentials: false, żeby w .git/config nie leżał token z prawem zapisu, gdy działa agent. Otwarcie pull requesta to osobne zadanie (job), w którym nie działa żaden agent: zadanie agenta wgrywa swoje zmiany jako artefakt z patchem, a drugie zadanie, z własnym, wąsko ograniczonym tokenem (contents: write, pull-requests: write), nakłada patch, robi push i otwiera pull request.

  4. Uruchom pętlę w trybie headless w nieinteraktywnym trybie narzędzia (polecenia poniżej). Warunek stopu pętli jest w prompcie: najwyżej dwie próby naprawy, co odpowiada dwóm rundom CI u Stripe’a.

  5. Wydawaj z dowodami, nie z diffem. Pull request zawiera podsumowanie przebiegu, kody wyjścia trzech kontroli i link do changeloga zależności. Człowiek scala na podstawie tego pakietu dowodów i czyta kod tylko wtedy, gdy dowody są niepełne.

  6. Mierz, zanim poszerzysz. Przez cztery tygodnie śledź dla pętli odsetek rewertów, incydenty na pull request i czas oczekiwania na przegląd. Drugą klasę pętli dodaj dopiero wtedy, gdy te trzy liczby są stałe albo lepsze.

Każde polecenie headless uruchamiasz z katalogu głównego repozytorium w zadaniu CI lub jednorazowym runnerze z kroku 3.

Tryb dontAsk automatycznie odrzuca każde wywołanie, które wymagałoby zgody, więc przebieg nigdy nie czeka na odpowiedź: działają tylko odczyty plików, polecenia tylko do odczytu i narzędzia z listy dozwolonych.

Okno terminala
claude -p "$(cat .factory/dep-bump.md)" \
--permission-mode dontAsk \
--allowedTools "Read" "Edit" "Bash(npm outdated *)" "Bash(npm install *)" \
"Bash(npm test)" "Bash(npm run lint)" "Bash(npm run typecheck)" \
--max-budget-usd 5 \
--output-format json > .factory/last-run.json

Do przebiegów z harmonogramu bez własnego CI służy routine: uruchamia ten sam prompt jako sesję w chmurze według harmonogramu, z wywołania API albo ze zdarzenia GitHuba. Routines (rutyny) nie mają wyboru trybu uprawnień ani pytań o zgodę w trakcie przebiegu, więc lista dozwolonych narzędzi żyje w środowisku, nie w sesji.

Skąd wiesz, że wynik fabryki jest poprawny, bez czytania każdego diffa?

Dział zatytułowany „Skąd wiesz, że wynik fabryki jest poprawny, bez czytania każdego diffa?”
  • Decydują deterministyczne bramki, modele doradzają. Typy, testy, linter i kontrole migracji, które w razie wątpliwości blokują, rozstrzygają, czy zmianę można scalić. Agenci przeglądający, tacy jak /code-review w Claude Code, /review w Codeksie i Bugbot w Cursorze, dokładają ustalenia, ale żaden z nich nie jest deterministyczny, więc żaden nie może być jedyną bramką.
  • Wyrocznia żyje poza diffem. Wymagane kontrole pochodzą z workflow, którego gałąź z fabryki nie może zmienić: z reguły „Require workflows to pass” przypiętej do gałęzi domyślnej albo z zadania pull_request_target (zadanie pull_request_target nie może pobierać ani uruchamiać kodu gałęzi, mając dostęp do sekretów; testy gałęzi uruchamiaj w osobnym zadaniu bez uprawnień), a krok CI oblewa każdą gałąź z fabryki, która dotyka .github/. Workflow pull_request uruchamia się z własnego merge refa gałęzi, więc gałąź, która go edytuje, zmienia własną kontrolę. CODEOWNERS z wymaganym przeglądem właścicieli kodu obejmuje ścieżki testów i konfiguracji, a zestaw holdout, którego agent nigdy nie widzi, wykrywa nadmierne dopasowanie do widocznych testów.
  • Każdy pull request niesie pakiet dowodów: plik intencji, polecenia i kody wyjścia, ustalenia z przeglądu i log przebiegu. Jak go czytać, opisuje strona przegląd PR-ów od agentów.
  • Audyt próbkowy zastępuje przegląd linijka po linijce. Co tydzień wyznaczony właściciel czyta od początku do końca małą losową próbkę scalonych pull requestów z fabryki. Jeśli próbka znajdzie defekt, który przeszedł przez bramki, pętla wraca pod nadzór, dopóki nowa kontrola nie pokryje luki.
  • Cztery liczby na pętlę: odsetek rewertów, incydenty na pull request, czas oczekiwania na przegląd i odsetek scaleń bez zatwierdzenia przez człowieka.

Właściciel pętli podpisuje się pod pętlą, a osoba scalająca pod każdym pull requestem na podstawie jego dowodów. Nikt nie podpisuje się pod „fabryką” jako całością; czytanie styków między stanowiskami to zadanie człowieka.

Co każde narzędzie dostarcza dla każdego stanowiska?

Dział zatytułowany „Co każde narzędzie dostarcza dla każdego stanowiska?”

Wiersze Claude Code, łącznie z komórkami „Nieudokumentowane”, sprawdzono ponownie 2026-09-26 w code.claude.com i w zainstalowanym CLI (2.1.283). Wiersze Codeksa sprawdzono 2026-09-26 w CLI 0.157.1 tam, gdzie CLI je pokazuje, a w pozostałych przypadkach w dokumentacji OpenAI 2026-08-28. Wiersze Cursora zweryfikowano ostatnio 2026-08-28, bo 2026-09-26 cursor.com był nieosiągalny. „Nieudokumentowane” oznacza lukę w dokumentacji w danym dniu, a nie dowód, że narzędzie tego nie potrafi. Sprawdź stronę producenta w dniu, w którym na niej budujesz.

MożliwośćClaude CodeCodexCursor
Trwałe instrukcje projektuCLAUDE.md i auto memoryAGENTS.mdRules
Procedura wielokrotnego użytkuSkillsSkills (/skills)Agent Skills
Paczka do dystrybucjiPluginsPlugins (codex plugin)Plugins
Plan przed implementacjąPlan mode (/plan)Plan mode (/plan)Plan Mode
Wskazówki, jak zapisać weryfikowalny celWrite an effective /goal condition: stan końcowy, wskazana kontrola, ograniczeniaLong-running work: wynik, ograniczenia, weryfikacjaNieudokumentowane (2026-08-28)

Obaj producenci opisują te same trzy części: wynik, kontrolę, która go dowodzi, i to, czego nie wolno zmienić. Przenieś je do każdego pliku intencji, niezależnie od tego, które narzędzie go uruchamia.

MożliwośćClaude CodeCodexCursor
Polityka uprawnieńTryby uprawnień: Manual, acceptEdits, plan, auto, dontAsk, bypassPermissionsPolityki zatwierdzania untrusted, on-request (domyślna), granular, never; profile uprawnień (beta)Run modes
Zgody wydawane przez modelKlasyfikator trybu autoAuto-review (--approve-for-me)Auto-review dla lokalnych wywołań narzędzi
Sandbox systemu operacyjnegoSandboxed Bash (macOS, Linux, WSL2)Tryby --sandbox i codex sandbox/sandbox w CLI
Hooki cyklu życiaHooksHooks (wymagają zapisanego zaufania)Hooks
Narzędzia zewnętrzneMCPMCP (codex mcp)MCP
Własna moc obliczeniowaSelf-hosted environments (beta w Team i Enterprise)Nieudokumentowane (2026-08-28)Private workers w Cloud Agents API
Przekazywanie zdarzeń z zewnątrz do działającej sesjiChannels (research preview)Nieudokumentowane (2026-08-28)Nieudokumentowane (2026-08-28)

Klasyfikator Claude Code blokuje działania, które wykraczają poza prośbę, celują w nierozpoznaną infrastrukturę albo wyglądają na sterowane wrogą treścią: to ocena wydawana przez model. W pętli bez nadzoru wybierz jawną listę dozwolonych narzędzi, a każdy klasyfikator traktuj jako drugą linię.

Pętla: warunki stopu, harmonogramy i przebiegi headless

Dział zatytułowany „Pętla: warunki stopu, harmonogramy i przebiegi headless”
MożliwośćClaude CodeCodexCursor
Cel lub warunek stopu/goal/goal (stabilne, domyślnie włączone)/goal (wdrażane, 2026-08-19)
Pętla interwałowa/loopBrak /loop (sprawdzone 2026-09-26, CLI 0.157.1)Wbudowany skill /loop
Przebiegi bez nadzoru z harmonogramuRoutines (research preview, minimum godzina)AutomationsAutomations
Wywołanie headlessclaude -pcodex execTryb print (-p)
SDK do programowaniaClaude Agent SDKCodex SDK@cursor/sdk, cursor-sdk
Izolowany przebieg w chmurzeClaude Code on the webCodex cloudCloud Agents

Wyzwalacze różnią się bardziej niż same uruchamiacze: routines startują z harmonogramu, wywołania API albo zdarzenia GitHuba; automatyzacje (Automations) w Codeksie wymieniały jako źródła zdarzeń Gmaila, Slacka i aktywność w pull requestach na GitHubie (2026-08-28); automatyzacje w Cursorze dokładają Webhook, Linear, Sentry i PagerDuty. Jeśli twoja fabryka bierze pracę z kolejki, ta lista wyzwalaczy jest tą kolejką.

MożliwośćClaude CodeCodexCursor
Delegowani subagenciSubagenci, domyślnie 20 działających na sesjęSubagenci (/subagents)Subagenci, na własnych maszynach wirtualnych od 2026-08-19
Równorzędni agenci, którzy piszą do siebieAgent teams (eksperymentalne, domyślnie wyłączone)Nieudokumentowane (2026-08-28)Nieudokumentowane (2026-08-28)
Orkiestracja sterowana skryptemDynamic workflowsNieudokumentowane (2026-08-28)Nieudokumentowane (2026-08-28)
Izolacja systemu plikówWorktrees (--worktree)Worktrees (--worktree, /worktree)Worktrees
Jeden ekran dla wielu agentówAgent view (claude agents, research preview)Centrum dowodzenia codex agentsAgents window

Dynamic workflows „orkiestrują wielu subagentów ze skryptu, który pisze Claude, a ty możesz go uruchomić ponownie”: to hala fabryczna, którą da się wersjonować. Topologię planista, wykonawcy i sędzia we wszystkich trzech narzędziach opisuje strona wzorce orkiestracji. Ogólna nazwa koordynowania wielu agentów w ten sposób to orkiestracja agentów.

MożliwośćClaude CodeCodexCursor
Przegląd lokalnego diffa/code-review/review, codex reviewNieudokumentowane (2026-08-28)
Głęboki przegląd wieloagentowyUltrareview: /code-review ultra lub claude ultrareviewNieudokumentowane (2026-08-28)Nieudokumentowane (2026-08-28)
Zarządzany przegląd pull requestówCode Review (research preview, Team i Enterprise)@codex review na GitHubie i GitLabieBugbot
Przegląd bezpieczeństwa/security-review, plugin Claude SecurityCodex Security, @codex security reviewSecurity Agents
Cofnięcie zmianCheckpointy (/rewind)Nieudokumentowane (2026-08-28)/rewind w CLI

Najdalej idzie Ultrareview: „każde zgłoszone ustalenie jest niezależnie odtworzone i zweryfikowane”. Nadal jednak zwykle trwa od 5 do 10 minut i po darmowych przebiegach kosztuje zwykle od 5 do 25 dolarów za przegląd, więc pasuje do zmian wysokiego ryzyka, a nie do każdego pull requesta z fabryki.

MożliwośćClaude CodeCodexCursor
Uruchamianie w CI na GitHubieanthropics/claude-code-action@v1openai/codex-action@v1Cursor CLI w GitHub Actions
Uruchamianie w GitLabieGitLab CI/CDPrzegląd merge requestów (@codex review)Integracja z GitLabem
Wyzwalanie z własnych systemówWyzwalacz API w routinesNieudokumentowane (2026-08-28)Wyzwalacze Webhook
Powiadomienie wychodzące o stanie przebieguNieudokumentowane (2026-09-26)Nieudokumentowane (2026-08-28)Webhooki (statusChange)
Kierowanie i zatwierdzanie pull requestówNieudokumentowane (2026-09-26)Nieudokumentowane (2026-08-28)PR Routing & Approval (dokumentacja producenta)
Sterowanie przebiegiem z telefonuRemote ControlCodex Remote (codex remote-control, eksperymentalne)Cloud Agents na urządzeniach mobilnych

Liczy się luka w obiegu w obie strony. Wyzwalacz API w routine „zwraca URL sesji”, ale Claude Code nie dokumentuje webhooka wychodzącego, więc twoje systemy muszą odpytywać. Cursor dokumentuje oba kierunki.

Kolejka wyprzedza możliwości przeglądu. Objaw: czas oczekiwania na przegląd rośnie z tygodnia na tydzień, a przepustowość wygląda zdrowo, czyli wzorzec z raportu Faros. Naprawa: ogranicz liczbę otwartych pull requestów z fabryki na pętlę, wstrzymuj przyjmowanie pracy po osiągnięciu limitu i przenieś recenzentów z diffa na pakiet dowodów.

Wyrocznia dryfuje w zasięg agenta. Objaw: zielony przebieg, którego diff dotyka testu, snapshotu albo reguły lintera. Naprawa: wycofaj zmianę, dodaj ścieżkę do CODEOWNERS i dodaj krok CI, który oblewa gałąź z fabryki modyfikującą chronione ścieżki.

Przebiegi bez nadzoru dziedziczą wczorajsze uprawnienia. Routines i automatyzacje z założenia działają bez pytań o zgodę, więc o 3 w nocy uruchamia się to, na co harness pozwalał w zeszłym miesiącu. Naprawa: trzymaj listę dozwolonych narzędzi w systemie kontroli wersji i przeglądaj ją jak kod. Tryb uprawnień ustawiaj w ustawieniach użytkownika lub zarządzanych, bo Claude Code ignoruje auto i bypassPermissions w ustawieniach projektu, a limity Codeksa przypinaj w requirements.toml.

Niezaufany tekst trafia do agenta z narzędziami. Treść zgłoszeń, komentarze w pull requestach, payloady webhooków i pobrane strony piszą ludzie z zewnątrz. Naprawa: pętlom, które je czytają, daj narzędzia tylko do odczytu, kroki z niezaufanym wejściem uruchamiaj z --bare --setting-sources "" --strict-mcp-config, żeby nie ładowały się hooki projektu ani serwery MCP (--bare uwierzytelnia się tylko przez ANTHROPIC_API_KEY albo apiKeyHelper, nie tokenem OAuth), a zapis oddaj osobnemu zadaniu. Claude Code już teraz oznacza tekst wyzwalający routine jako niezaufane dane.

Nikt nie odpowiada za całą linię. Sześć stanowisk z sześcioma właścicielami i nikim, kto czyta styki, to przepis na zielony potok, który wypuszcza zły produkt. Naprawa: wyznacz jednego właściciela na pętlę, który prowadzi cotygodniowy audyt próbkowy i może bez zebrania przełączyć pętlę z powrotem pod nadzór.

Najczęstsze pytania

Czym jest poziom 5 na drabinie autonomii?

Poziom 5 to fabryka oprogramowania: agenci biorą pracę z kolejki, budują ją, weryfikują i otwierają pull requesty, których nie napisał człowiek. Dan Shapiro nazywa go ciemną fabryką oprogramowania, „czarną skrzynką, która zamienia specyfikacje w oprogramowanie”. W praktyce osiąga się go pętla po pętli, a nie całą firmą naraz.

Jakie są stanowiska fabryki oprogramowania?

Intencja (co agent wie na starcie), harness (co wolno mu uruchomić), pętla (kiedy się zatrzymuje), graf (kto co robi, gdy agentów jest kilku), weryfikacja (co liczy się jako dowód) i wydanie (jak praca opuszcza budynek).

Które pętle mogą działać bez nadzoru człowieka?

Pętla może działać bez nadzoru tylko wtedy, gdy nazwana wyrocznia rozstrzyga o „gotowe”, agent nie może tej wyroczni edytować, błędna odpowiedź wychodzi na jaw po kilku minutach, a nie po tygodniach, a zasięg szkody jest mały i odwracalny. Pętla, która nie przejdzie choć jednego z tych warunków, zostaje pod nadzorem.

Czy ktoś prowadzi fabrykę oprogramowania produkcyjnie?

Stripe podał 19 lutego 2026, że ponad 1300 pull requestów tygodniowo w całości tworzą jego agenci Minions. Każdy nadal trafia do przeglądu człowieka, a po najwyżej dwóch rundach CI gałąź wraca do osoby.