Bramka bez limitu wydatków to nie bramka
Mój pipeline umiał powiedzieć, czy praca jest dobra. Nie umiał powiedzieć, że ta odpowiedź kosztowała cztery godziny i osiem nieudanych podejść.
Miałem w pipelinie bramki, z których byłem dumny. Kryteria, progi, recenzent inny niż autor, werdykt, który potrafi odmówić.
A potem zadałem im pytanie, na które nie umiały odpowiedzieć: ile to kosztowało?
Że artefakt jest wystarczająco dobry — to wiedziały. Czy dojście do tego werdyktu zajęło czterdzieści minut czy cztery godziny, dwanaście dolarów czy dwieście — nie miały pojęcia. Czystej akceptacji za pierwszym podejściem nie odróżniały od przebiegu, który dowlókł się do mety przy dziesiątej próbie z tym samym nierozwiązanym problemem.
To nie są te same wyniki. Tylko jeden z nich to działający system.
Limit, który ogranicza nie to, co trzeba
Miałem limity iteracji — najwyżej dziesięć pętli na fazę. Wyglądało to na kontrolę. Nie jest. Limit iteracji ogranicza liczbę przebiegów pętli, a nie koszt jednej tury, a u mnie jedna runda recenzji rozchodzi się na ośmiu weryfikatorów pracujących równolegle. Ten jeden krok potrafi kosztować więcej niż wszystkie wcześniejsze fazy razem i żaden limit tego nie zauważa.
Dopisałem więc księgę wydatków. Budżet zadeklarowany przed startem. Sprawdzany przy przejściu między fazami i przy każdym cofnięciu, nigdy w środku pracy. Przekroczysz krawędź, będąc już nad limitem, i przebieg staje z jawnym werdyktem, zamiast po cichu dojechać do końca i wystawić ci rachunek.
Najbardziej niedoszacowałem analizy trasy. Liczy ona wydatek, który nie posunął przebiegu do przodu — wszystko, co poszło na próby zakończone cofnięciem — i wyłapuje powtarzające się powody. Ta ostatnia liczba jest nieprzyjemna. Przebieg, który zaliczył bramkę przy dziesiątym identycznym podejściu, to przebieg nieudany z przypiętą plakietką „zdane". W moich starych raportach nie było tego widać w ogóle.
Dlaczego to warte więcej, niż wygląda
Jest marcowe badanie, przez które przemyślałem od nowa, co w ogóle dokładam agentowi.
Badacze dali agentowi kodującemu jedną dodatkową rzecz: mapę tego, które testy pokrywają który kod, podaną jako zwykły plik tekstowy do przeczytania. Regresje — testy, które wcześniej przechodziły i przestały — spadły z 6,08% do 1,82%. Spadek o 70% z jednego pliku.
To samo badanie miało drugą gałąź. Zamiast mapy agent dostał instrukcje proceduralne: pracuj testami naprzód, trzymaj się tej dyscypliny. Regresje wzrosły do 9,94%. Czyli gorzej, niż gdyby nie robić nic.
Dawaj agentowi kontekst, nie procedurę. Mówienie mu, jak ma się zachowywać, mierzalnie pogorszyło sprawę. Mówienie mu, co jest prawdą, poprawiło ją o 70%. Każdą instrukcję, którą mam ochotę napisać, przepuszczam teraz przez ten test.
Dlatego budżet siedzi w pliku ze stanem, a nie w promptcie proszącym agenta, żeby uważał na pieniądze. Nikt nie będzie uważał na liczbę, której nie widzi.
Jeśli puszczasz agenty i nie umiesz powiedzieć, ile kosztował cię zeszły tydzień, to nie prowadzisz autonomicznego systemu — nabijasz rachunek. Buduję tę część, która potrafi odmówić. Napisz, co masz za system i jaki masz termin.