Rozdział 05
Archetypy repozytoriów
Zanim agent zmieni choćby jedną linię kodu, podejmuje decyzję, która kształtuje wszystko, co nastąpi: czym jest to repozytorium? Wywnioskowany archetyp wyznacza granicę, w ramach której agent będzie rozumował przez całe zaangażowanie — jak przeprowadza onboarding, jak daleko sięga plan i gdzie przechowywany jest stan. Pomyłka oznacza, że agent wyznacza zakres pracy do niewłaściwej powierzchni — to najczęstsze źródło dryftu w zadaniach długookresowych. Trafne rozpoznanie pozwala mu pracować autonomicznie przez wiele godzin, bo plany, onboarding i stan są dopasowane do rzeczywistej struktury kodu.
DWP rozpoznaje dwa archetypy. Większość repozytoriów należy do pierwszego; drugi istnieje dla zespołów koordynujących wiele repozytoriów.
Pojedyncze repozytorium
samodzielna baza kodu
Hub orkiestrujący
koordynuje podrepozytoria
Pojedyncze repozytorium
Przypadek typowy: samowystarczalna baza kodu — aplikacja, biblioteka lub usługa. Istnieje jedna spójna powierzchnia do rozumowania, więc plany działają bezpośrednio na kodzie w repozytorium, a onboarding czyta własną strukturę i konwencje repozytorium. Agent traktuje całą bazę kodu jako swój kontekst i opracowuje ją od początku do końca.
Cechy:
- Pojedyncza, spójna baza kodu.
- Plany modyfikują pliki w tym repozytorium.
- Przestrzeń robocza
.dwp/żyje w głównym katalogu repozytorium.
Hub orkiestratora
Przypadek koordynacyjny: repozytorium, którego zadaniem jest zarządzanie innymi repozytoriami. Tutaj jednostką pracy nie jest plik, lecz repozytorium potomne, więc plany mogą uruchamiać plany potomne w podrepozytoriach, a onboarding czyta rejestr zarządzanych repozytoriów huba zamiast pojedynczej bazy kodu. Agent rozumuje o granicach i przekazaniach — które repozytorium odpowiada za którą pracę i jak ich stan pozostaje spójny.
Cechy:
- Koordynuje wiele podrepozytoriów.
- Plany mogą delegować do planów potomnych.
- Utrzymuje rejestr zarządzanych repozytoriów.
- Przestrzeń robocza
.dwp/w głównym katalogu huba śledzi stan międzyrepozytoryjny.
Heurystyka klasyfikacji
Oba archetypy wyglądają inaczej na dysku, a agent rozstrzyga między nimi na podstawie sygnałów, które może zweryfikować — nie etykiety, którą mu podano. Drzewo decyzyjne poniżej pokazuje ścieżkę; w skrócie: traktuj repozytorium jako hub orkiestratora tylko wtedy, gdy dowody tego wymagają, a w pozostałych przypadkach — jako pojedyncze repozytorium.
Repozytorium indywidualne
- pojedyncza baza kodu
- plany modyfikują pliki lokalne
- .dwp/ w katalogu głównym repozytorium
Hub orkiestratora
- koordynuje pod-repozytoria
- plany delegują do planów podrzędnych
- stan .dwp/ pomiędzy repozytoriami
Agent powinien sklasyfikować repozytorium jako hub orkiestratora, gdy znajdzie wiele zagnieżdżonych repozytoriów git lub submodułów, rejestr lub manifest zarządzanych repozytoriów albo konfigurację wskazującą na zewnętrzne repozytoria. Wobec braku tych sygnałów traktuje repozytorium jako pojedyncze repozytorium — bezpieczna wartość domyślna, bo nadmierne rozszerzenie zakresu planu poza granice, które nie istnieją, jest gorsze niż praca w jednej granicy, która rzeczywiście istnieje.
Czym różni się onboarding
Archetyp to nie etykieta kosmetyczna; zmienia to, co agent czyta, co plan może dotknąć i gdzie zapisywany jest stan.
| Aspekt | Pojedyncze | Orkiestrator |
|---|---|---|
| Zakres | To repozytorium | Wiele repozytoriów |
| Onboarding | Struktura repozytorium | Rejestr huba |
| Cel planu | Pliki lokalne | Plany potomne |
| Stan | Lokalny .dwp/ |
Międzyrepozytoryjny .dwp/ |
Praktyczny efekt jest taki, że agent pojedynczego repozytorium rozumuje o jednej bazie kodu od początku do końca, podczas gdy agent orkiestratora rozumuje o koordynacji — które repozytorium potomne odpowiada za którą pracę i jak stan międzyrepozytoryjny pozostaje spójny.
To właśnie pozwala agentowi pracować autonomicznie godzinami bez nadzoru: przez uprzednie ustalenie archetypu wyznacza zakres planów, onboardingu i stanu do właściwej granicy, dzięki czemu każde zadanie — od pierwszego do ostatniego — jest wykonywane na właściwej powierzchni.