Playbook, którego nikt nie zmierzył
Anthropic opublikował playbook AI-native SDLC dla Claude Code: sześć etapów, z których każdy kończy się zacommitowanym plikiem, udostępniony jako darmowy kurs. Jego główna teza brzmi: kod nie jest już wąskim gardłem, a łańcuch zacommitowanych artefaktów zarządza tym, co nim jest. Sam dokument nie zawiera żadnego pomiaru — ani czasów, ani kosztów, ani benchmarku. Przeprowadziliśmy pierwszy test z pomiarem czasu na prawdziwym repozytorium: szesnaście zmierzonych sesji Claude Code, wycenioną każdą bramkę i werdykt, który dzieli łańcuch dokładnie na pół. Przy okazji dwuminutowa poprawka przepchnięta przez cały łańcuch pokazała cenę ceremoniału, a nasz własny deploy został zatrzymany dwa razy, raz przez cztery linijki shella.
Playbook i stanowisko testowe
Stanowisko testowe: szesnaście zmierzonych sesji Claude Code, około 12 dolarów mocy obliczeniowej, jedno prawdziwe repozytorium. Playbook ma sześć etapów — plan, projekt, build, test, deploy, maintain. Każdy etap kończy się zacommitowanym plikiem, a następny etap ten plik czyta: intent, spec, plan, pull request, zapis incydentu. Commity są ścieżką audytu. Anthropic uczy tego w darmowym kursie z 14 lekcji, trwającym około godziny, napisanym z myślą o firmach z bramkami przeglądu; my sprawdziliśmy, co przetrwa zderzenie z jednym programistą.
Repozytorium to aplikacja demo RealWorld (Express, TypeScript, Prisma, Postgres) — prawdziwy projekt z prawdziwymi testami i jednym zestawem testów zepsutym na świeżym klonie (cztery przechodzące zestawy, 14 zielonych testów, dwie sekundy działania). Ten błąd stanie się później grupą kontrolną. Zasada punktacji: bramka się opłaca, gdy jej wynik zmienia to, co trafia na produkcję, za mniej, niż kosztuje.
Bilet wstępu to plik pamięci w katalogu głównym repozytorium — polecenia, konwencje, architektura, błędy, które model ciągle powtarza, całość poniżej jednej strony. Nasz został napisany i zacommitowany w 63 sekundy za 0,44 $. Jedno uczciwe zastrzeżenie co do metody: uruchomienia headless kompresują wywiady z playbooka do pojedynczych promptów.
Plan: intent.md w dwadzieścia dziewięć sekund
Pierwsza bramka zapisuje pomysł, zanim ktokolwiek zacznie projektować. Zgłoszenie funkcji: czytelnicy chcą wyciszać autorów, którzy zalewają ich feed. Playbook nazywa wynik proto-specyfikacją — napisaną z modelem, ale należącą do ciebie — i dopuszcza trzy źródła: pomysł, zgłoszony ticket albo alert o incydencie. Szablon ma pięć sekcji, których nagłówki robią za myślenie: problem, proponowany rezultat, użytkownicy i systemy, których dotyczy, ograniczenia, otwarte pytania. Pętla robocza to pięć ruchów: opisz, przeprowadź burzę mózgów, wygeneruj z szablonu, popraw, zacommituj.
| intent.md | czas | koszt |
|---|---|---|
| Funkcja wyciszania autorów | 29 s | 0,18 $ |
| Zepsuty zestaw testów | 39 s | — |
Wartość leży na dole, w otwartych pytaniach: co dzieje się z ulubionymi od wyciszonego autora? Czy jego strony pozostają dostępne? To decyzje, które agent kodujący podjąłby po cichu, a teraz są zapisane i opatrzone datą. Plik jest zacommitowany, więc autorstwo i znacznik czasu przetrwają czat, a product owner poprawia szkic, zanim go zaakceptuje. Własny cel Anthropic dla tego etapu to eliciting wymagań w godzinach, nie tygodniach; w pojedynkę zajmuje to mniej niż minutę.
Projekt: spec sam wskazuje swój warunek wstępny
Bramka druga zamienia intent w spec jednym promptem z kursu: przeczytaj intent, przygotuj specyfikację wymagań i projektu, zastosuj dostępne skille — te, które mają nieść politykę marki, bezpieczeństwa i UX. Dwie minuty później mieliśmy około 2300 słów sprawnego specu: endpointy, model danych, zachowanie feedu, przypadki brzegowe. Zapisał nawet to, czego nie mógł spełnić, dokładnie tak, jak prosi o to prompt.
Zwrot akcji kryje się w jego flagowanych zastrzeżeniach, napisanych przez sam model: „C0. No org skills available. This spec has not been checked against any policy.” Cała przesłanka tego etapu zakładała pliki, których w większości środowisk nie ma — filmy objaśniające pomijają ten warunek wstępny; agent zapisał go na piśmie. Druga flaga była łagodniejsza: domyślne odpowiedzi na otwarte pytania wymagają akceptacji produktowej przed buildem.
Lekcja jest rygorystyczna co do parowania (spec i intent commitowane razem, człowiek zatwierdza przejście do buildu), a do tego dochodzi rachunek za czytanie: około 12 minut czasu product ownera na każdy spec. Playbook śledzi nawet rework — commity specu z datą po starcie buildu liczą się na twoją niekorzyść. W zespole, który zakodował swoje polityki, ta bramka jest miejscem, gdzie się one wykonują. W pojedynkę płacisz za obietnicę, której twoje środowisko jeszcze nie potrafi dotrzymać.
Build: plan mode, TDD i co naprawdę sprawdza pętla
Bramka trzecia to Plan Mode, a poprzeczka jest brutalna i użyteczna: inżynier, który nie widział rozmowy, powinien móc wdrożyć zmianę wyłącznie na podstawie planu. Plan Mode sam wymusza część dotyczącą czytania — model nie może edytować plików, dopóki plan nie zostanie zaakceptowany. Nasz wyszedł na około 4000 słów w cztery minuty, wskazując pliki do zmiany, kolejność prac, ryzyka i dowody, oraz zapisując trzy oznaczone odstępstwa od specu, które wracają później w przeglądzie.
Build działa w pętli: napisz padający test, spraw, by przeszedł, jeden cel, wszystko zielone albo zadanie nie jest skończone. Pętla jest chroniona (agent naprawiający kod nie może osłabić testu tego kodu) i połączona z weryfikatorem — drugą kontrolą w świeżym kontekście, niezależną od sesji, która napisała kod.
| Wynik buildu | wartość |
|---|---|
| Czas agenta | ~9 min, 91 tur |
| Koszt | ~2 $ |
| Zmiana | 15 plików, tabela Mutes, dwa endpointy, oba feedy filtrowane |
| Testy | 5 zestawów, 50 testów, wszystkie zielone przy niezależnym ponownym uruchomieniu |
| Merge od pierwszego podejścia | tak |
Gwiazdka: zielone dowodzi tego, co zawiera pętla, i niczego więcej. Testów end-to-end nigdy nie uruchomiono — wymagają działającego serwera i zasianej bazy danych, a pętla wycelowana w przestarzałe atrapy świeciłaby na zielono tak samo. Skala zespołowa dodaje równoległe sesje w worktree (dwie lub trzy to deklarowany limit); tego nie testowaliśmy.
Deploy: przegląd i bramka, która powiedziała nie
Bramka deployu ma dwie warstwy i obie nam odmówiły. Warstwa pierwsza czyta diff według pisemnej polityki w katalogu głównym repozytorium: trzy przebiegi (błędy, bezpieczeństwo, zgodność ze specem i planem), „Important” zarezerwowane dla zepsutego zachowania, wycieku danych lub naruszenia polityki, maksymalnie pięć drobiazgów, a resztę podsumowuje liczba — polityka sama ogranicza własny szum. Dwie minuty przeglądu, 0,80 $, i uruchomił prawdziwe kontrole: testy, build, lint względem zapisanej w planie wartości bazowej, formatowanie w dziewięciu plikach. Werdykt: zero ustaleń Important, sześć drobiazgów, jeden ponad limit, podsumowany. Zamknął go zdaniem, o które nie prosiliśmy: ten agent nie zatwierdza — zatwierdzenie zostaje przy człowieku, właścicielu kodu, za ochroną gałęzi.
Warstwa druga to sama bramka. Poprosiliśmy o deploy; model sam odmówił, bo funkcja nie była na gałęzi wydawniczej. To osąd, nie egzekwowanie. Zmergowaliśmy więc i poprosiliśmy ponownie: cztery linijki shella odpowiedziały w 14 sekund — zablokowano, wymagana autoryzacja wydania. Kod wyjścia 2 zatrzymuje wywołanie narzędzia, a powód wraca do modelu. Strona pipeline'u dostała to samo traktowanie: zepsuty build przeanalizowany headless w 11 sekund za 0,13 $ — przeczytał log, wskazał dokładną przyczynę i zaproponował diff, nie dotykając żadnego pliku. Deterministyczne wygrywa z uprzejmym; hook jest tak dobry, jak jego wzorzec, a nasz pasował do jednego skryptu.
Podatek od bramek
Ten sam błąd, ten sam zepsuty start, dwie drogi — eksperyment kontrolny. Droga pierwsza: po prostu to napraw. Droga druga: pełny łańcuch, od intentu do buildu.
| bezpośrednia poprawka | pełny łańcuch | mnożnik | |
|---|---|---|---|
| Czas ścienny | 2:13 | 11:31 | ×5.2 |
| Koszt | $0.70 | $3.46 | ×4.9 |
| Tury | 40 | 169 | — |
| Wynik | zestaw zielony | zestaw zielony | identyczny |
Rachunek za maszynę to mniejsza połowa. Łańcuch napisał około 5500 słów artefaktów dla jednolinijkowej poprawki — mniej więcej 27 minut ludzkiego czytania dla diffa, który da się przejrzeć jednym rzutem oka. Łańcuch zamienia czas pisania w czas czytania; to jest podatek od bramek.
Playbook dodaje opłatę cykliczną: ciągłe evale. Dwadzieścia do pięćdziesięciu prawdziwych zadań, uruchamianych ponownie po każdej zmianie konfiguracji — każdy przypadek to prawdziwe zadanie z przeszłości, prompt taki, jaki był, uruchomiony z commitu sprzed zmiany, ze sprawdzalnym kryterium akceptacji. Napisanie pięciu przypadków z historii zajęło pięć minut; uruchomienie ich poprawnie nie jest już takie łatwe — nasz pierwszy harness wycelował dwa przypadki w zły commit, a oba agenty to wychwyciły zamiast udawać zaliczenie. Przy około minucie na przypadek pełny zestaw kosztuje do godziny czasu agenta na jedno uruchomienie, a każdy incydent produkcyjny ma dołączać do zestawu jako stały eval regresji. W regulowanym zespole to czytanie jest produktem; w pojedynkę to narzut.
Werdykt: trzy z sześciu się opłacają
Trzy z sześciu bramek zwracają swój koszt:
| Etap | werdykt | dowód |
|---|---|---|
| Plan | zostaw | 40 s kupuje pytania, których nikt nie zadał |
| Build | zostaw | plan mode + pętla testowa dowiozły 50 zielonych testów |
| Deploy | zostaw | przegląd za 0,80 $ z prawdziwymi kontrolami, deterministyczna blokada w 14 s |
| Projekt | pomiń w pojedynkę | rachunek za polityki, których nie zakodowałeś |
| Test (ciągłe evale) | może poczekać | do godziny na uruchomienie, łatwo źle wycelować |
| Maintain | niesprawdzone | wymaga tygodni telemetrii produkcyjnej |
Maintain na papierze jest eleganckie — deterministyczne skrypty pilnują pasm kontrolnych, a ich przekroczenie zapisuje świeży plik intent — ale udowodnienie tego wymaga telemetrii produkcyjnej, której nie mamy. Dokument Anthropic, jak ujął to jeden analityk, nigdzie nie zawiera pomiaru; to są pierwsze liczby, z oczywistymi ograniczeniami: jedno repo, jeden programista, jeden dzień.
Dane zewnętrzne mówią, że presja jest realna. Faros śledził ponad 10 000 programistów w ponad 1200 zespołach: zespoły o wysokiej adopcji mergują o 98% więcej pull requestów, czas przeglądu rośnie o 91%, a średni pull request jest ponad dwukrotnie większy. Najnowszy raport DORA brzmi podobnie: przepustowość w górę dzięki AI, stabilność w dół. Przegląd staje się wąskim gardłem, a playbook celuje dokładnie w to miejsce. Warianty społeczności już skracają łańcuch do dwóch ludzkich decyzji — jeden dostarcza szablony i rejestr bramek, drugi zostawia ludzi tylko przy projekcie i teście. Przyjmij trzy bramki, które się opłacają, i dorastaj do reszty razem z zespołem. Własne zdanie końcowe Anthropic jest właściwą epitafią: pętla działa dalej, ludzki osąd pozostaje ponad nią.
AIDive