Jakub Kornafel
← Log

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.

Zasada, którą zostawiam

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.