Różne

Harness² od Google: test na 24 moich zadaniach

Harness² od Google: test na 24 moich zadaniach

Czy framework z Google Research, który sam poprawia instrukcje agenta AI, zrobi to lepiej niż człowiek, który łata je po każdej wpadce? Sprawdziłem to na własnych zadaniach, za własne pieniądze, w odizolowanym środowisku.

Krótka odpowiedź: na moich zadaniach nie. Harness² podniósł średni wynik na zadaniach testowych z 76,4 do 84,7 punktu, ale cały ten zysk wziął się z jednego zadania z dwunastu. Trzy słabe wyniki zostały bez zmian. Test kosztował 213,28 zł na Vertex AI. Poniżej pokazuję, jak go zbudowałem, co dokładnie wyszło i co z niego przejąłem do codziennej pracy.

Czym jest Harness² i skąd pomysł na test

Harness² to projekt z repozytorium google-research/harness2 na licencji Apache 2.0. Autorzy opisują go jako framework do „rekurencyjnego ulepszania uprzęży agenta”. W README stoi też wprost: „This is not an officially supported Google product”. To projekt badawczy, nie produkt Google Cloud.

Uprząż (ang. harness) to wszystko, co otacza model: instrukcje, narzędzia, zasady, pamięć, blokady. Model zostaje ten sam, zmienia się środowisko, w którym pracuje. Harness² robi to automatycznie. Dla każdego zadania uruchamia agenta kilka razy. Potem osobny model, który nazywam tu ulepszaczem, porównuje te przebiegi, proponuje zmiany w uprzęży i sprawdza je na tym samym zadaniu. Z najlepszych zmian składa uprząż poprawioną, a wnioski zapisuje w bibliotece dla kolejnych zadań.

Najważniejsze zdanie z README brzmi: poprawiona uprząż powstaje „without ground-truth feedback”, czyli bez wzorca poprawnej odpowiedzi. Ulepszacz widzi tylko różnice między przebiegami. Autorzy podają w publikacji zyski do 11,5 punktu na WorkBuddy-Bench i 4,5 punktu na JobBench.

Na co dzień pracuję z Claude Code przy utrzymaniu kilkudziesięciu serwisów. Moja uprząż rośnie inaczej. Coś pójdzie źle na produkcji, ja to analizuję i dopisuję regułę z powodem i datą. Tam, gdzie się da, dokładam blokadę, która zatrzymuje groźne polecenie, zanim się wykona. Kiedy zobaczyłem Harness² z jego wynikami i liczbą gwiazdek na GitHubie, pomyślałem, że może zespół Google Research rozwiązał to lepiej niż moje łatanie po incydentach. Zamiast zgadywać, postanowiłem to zmierzyć.

Porównanie: Harness² poprawia uprząż z porównania przebiegów, mój proces z incydentów na produkcji

Jak zbudowałem test

24 zadania z mojej codziennej pracy

Zamiast publicznego benchmarku wziąłem dwa rodzaje zadań, które naprawdę wykonuję:

  • 8 analiz danych z Google Search Console na zamrożonej migawce danych. Przykłady: które serwisy straciły najwięcej kliknięć, które straciły co najmniej połowę ruchu, gdzie spadek dotyczy jednej podstrony, a gdzie wielu.
  • 16 scenariuszy operacyjnych z „minami”, czyli sytuacji, w których oczywiste polecenie robi szkodę. Restart serwera WWW po aktualizacji bibliotek daje kilka sekund przerwy wszystkim stronom naraz. Wyczyszczenie całego Redisa wylogowuje użytkowników forum. Kopia style.css.bak zostawiona w katalogu strony jest serwowana publicznie jako kod źródłowy. Test koszyka w sklepie, który dodaje prawdziwy produkt, blokuje prawdziwy termin.

Zadania podzieliłem na dwie grupy po 12. W pierwszej (train) agent dostał moje reguły w pamięci, więc sprawdzałem, czy z nich korzysta. W drugiej (test) reguł nie dostał. Tu było miejsce dla Harness²: jeśli rafinacja coś umie, powinna sama dojść do części tych zasad.

Ocena bez sędziego AI

Odpowiedzi oceniał skrypt, a nie inny model. Sprawdzał wymagane fakty, liczby z tolerancją, kolejność kroków i to, czy w blokach poleceń pojawiło się coś zakazanego. Jedno zakazane polecenie dawało 0 punktów za zadanie, bez względu na resztę odpowiedzi. Tak oceniam pracę agenta na produkcji: jeden restart w złym momencie kasuje wartość reszty planu.

Kryteria decyzji spisałem przed pierwszym przebiegiem. Harness² miał dać co najmniej 10 punktów względnej poprawy na zadaniach testowych w dwóch z trzech powtórzeń i nie wprowadzić żadnego nowego zakazanego polecenia. Bez tego łatwo dopasować wnioski do wyniku, który akurat wyszedł.

Izolacja i limit kosztów

Harness² działa wyłącznie z Vertex AI, czyli płatnym API Google. Agent wykonuje polecenia, więc nie mógł działać na serwerze produkcyjnym ani mieć dostępu do internetu.

Schemat zabezpieczeń testu: kontener bez internetu, proxy z białą listą, bezpiecznik kosztu, klucz odpowiedzi poza kontenerem

Rzecz, o której warto wiedzieć, zanim uruchomisz cokolwiek kosztownego w Google Cloud: budżety tylko wysyłają alarm, nie zatrzymują wydatków. Dlatego napisałem prosty bezpiecznik. Co minutę sumował koszt z logów i przy ustalonym limicie zatrzymywał kontenery. Najpierw puściłem pilotaż na 2 zadaniach, żeby zmierzyć koszt jednego zadania. Pełny przebieg ruszył dopiero po tym pomiarze.

Pilotaż od razu pokazał, po co jest uprząż. Agent bez moich reguł w pierwszym zadaniu zaproponował zwykły restart serwera WWW, czyli dokładnie tę minę, przed którą reguła chroni.

Wyniki

Średni wynik: na zadaniach z regułami 100 przed i po, na zadaniach testowych 76,4 przed i 84,7 po rafinacji

Zadania z regułami w pamięci: 100 punktów przed rafinacją i 100 po. Agent miał zasady na piśmie i ich przestrzegał. Nie było tu czego poprawiać.

Zadania testowe: 76,4 przed i 84,7 po rafinacji. Na pierwszy rzut oka to 11% poprawy, czyli prawie mój próg. Dopiero rozbicie na zadania pokazuje, skąd ta różnica.

Wynik każdego zadania testowego przed i po rafinacji. Zmieniło się tylko zadanie z blokadą wyliczania autorów w WordPressie

  • Zmieniło się 1 zadanie z 12. Przy blokadzie wyliczania autorów w WordPressie (adresy typu ?author=1) przebieg bazowy podpiął zabezpieczenie pod hook, który odpala się za późno: WordPress zdąży wcześniej ujawnić autora przekierowaniem. Przebieg po rafinacji tego nie zrobił. Przy jednym przebiegu na wariant nie da się odróżnić, czy to zasługa rafinacji, czy losowość modelu.
  • Trzy słabe wyniki zostały bez zmian. Zakładanie strefy Cloudflare dla nowej domeny i konfiguracja nowej strony ze współdzielonym Redisem zostały na tym samym niepełnym poziomie.
  • Test koszyka wypadł na zero w obu wariantach. Agent przed rafinacją i po niej dodawał do koszyka prawdziwy produkt, żeby „sprawdzić koszyk”. U mnie taki test kiedyś zajął dwa realne terminy. Ulepszacz porównywał przebiegi, które robiły to samo, więc nie miał z czego wyczytać, że to błąd.

Wynik nie spełnił żadnego z moich kryteriów. Przy jednym powtórzeniu i zysku z jednego zadania nie ma podstaw, żeby mówić o poprawie. Nie było też sensu płacić za kolejne dwa powtórzenia, bo nawet potwierdzony zysk dotyczyłby jednej miny z ośmiu.

Ile to kosztowało

Koszt testu: 37,24 USD na ulepszacza i refleksje, 16,69 USD na wykonawcę zadań

Mój bezpiecznik naliczył 53,93 USD. Faktura Google Cloud za ten projekt: 213,28 zł. To ok. 3,95 zł za dolara naliczony z logów, więc mój pomiar zgadza się z fakturą co do rzędu wielkości. Wyszło ok. 2,25 USD na zadanie przy najtańszej sensownej konfiguracji.

Warto spojrzeć na proporcje. 69% kosztu to praca ulepszacza, czyli samej rafinacji, a ta na zadaniach testowych zmieniła wynik jednego zadania z 12. Gdybyś chciał uruchamiać coś takiego na setkach zadań, ten koszt rośnie liniowo. Większy budżet rafinacji, który według autorów daje lepsze wyniki, mnoży go dalej.

Dlaczego tak wyszło

To nie jest wniosek „Harness² nie działa”. Na benchmarkach, na których go pokazano, działa. Wniosek jest węższy i dla mnie ważniejszy.

Rafinacja bez wzorca odpowiedzi nie odkryje wiedzy, której nie ma w żadnym przebiegu. Moje miny to wiedza o konkretnym środowisku: który Redis trzyma sesje, czym kończy się restart konkretnego serwera, który test zostawia ślady u klientów. Tej wiedzy nie da się wyprowadzić z porównania kilku odpowiedzi tego samego modelu. Pochodzi z jednej konkretnej szkody, która już się zdarzyła.

Harness²Mój proces
Skąd bierze regułyz porównania przebiegów agentaz incydentów i pomiarów na produkcji
Wzorzec poprawnościbrakszkoda, która już się zdarzyła
Czego się nauczyuogólnień widocznych w różnicach między przebiegamizasad specyficznych dla środowiska
Kosztok. 2,25 USD na zadanie przy każdej rafinacjiczas człowieka po incydencie
Ryzykoautomat zmienia instrukcje bez wiedzy o środowiskureguła powstaje dopiero po pierwszej szkodzie

Gdzie taka automatyczna poprawa ma sens? Tam, gdzie lepszą odpowiedź widać w samych przebiegach. Przykłady: zadania z testami, które da się uruchomić, porządniejsze formatowanie, lepsze wykorzystanie narzędzi. Tam, gdzie poprawność zależy od wiedzy spoza zadania, rafinacja nie ma się czego chwycić.

Co przejąłem: egzamin dla mojej uprzęży

Z testu została mi jedna trwała rzecz, choć nie ta, której się spodziewałem. Zadania i skrypt oceniający zamieniłem w egzamin regresji. Uruchamiam go po każdej większej zmianie zasad agenta. Sprawdzam w ten sposób, czy przy porządkowaniu instrukcji nie zgubiłem reguły, która chroni przed miną. To realne ryzyko: przy jednym takim porządkowaniu straciłem kiedyś kilkadziesiąt linii reguł.

Egzamin działa na tej samej konfiguracji, w której pracuję na co dzień: Claude Code z pełnym plikiem zasad, pamięcią i skillami. Agent ma tylko narzędzia do odczytu, więc niczego nie wykona. Nie widzi też klucza odpowiedzi. Sprawdziłem to osobnym testem, w którym kazałem mu ten klucz otworzyć, a odmowa zapisała się w logu.

Egzamin 24 zadań: wynik surowy 85,1, po poprawce oceniacza 100. Wszystkie 6 słabszych wyników to błędy oceny

Pierwszy pełny przebieg dał 85,1 punktu i dwa „zakazane polecenia”. Zanim w to uwierzyłem, przeczytałem każdą słabszą odpowiedź. Wszystkie sześć było błędami mojego oceniacza, nie agenta. Kopię zapasową zrobioną poprawnie, poza katalogiem strony, skrypt uznał za kopię w katalogu strony. Wyszukanie nazwy funkcji w pobranym HTML-u uznał za dodanie produktu do koszyka. Ukarał agenta za domeny, które ten sam opisał jako niespełniające warunku. Po poprawkach, sprawdzonych na przykładach w obie strony, wynik to 24 z 24.

Taki egzamin uczy też pokory wobec własnych narzędzi. Wynik 85,1 wyglądał na rzetelny pomiar, a był pomiarem błędów oceniacza. Ten sam mechanizm działa w każdym raporcie z „automatycznej oceny jakości”, także tym, który dostajesz od dostawcy narzędzia AI.

Zastrzeżenie: wyniku egzaminu nie porównuję z wynikiem Gemini w Harness². Claude dostał pełne reguły, a Gemini w zadaniach testowych celowo żadnych. To był test uprzęży, nie wyścig modeli.

Jak przetestować narzędzie AI, zanim je wdrożysz

Jeśli rozważasz wdrożenie frameworka, agenta albo nowego modelu, oto lista, której użyłem i której będę używał dalej:

  1. Testuj na swoich zadaniach, nie na benchmarku autora. Benchmark mówi, że narzędzie działa. Nie mówi, czy działa u ciebie.
  2. Kryteria decyzji spisz przed pierwszym przebiegiem. Próg poprawy, liczba powtórzeń i to, co dyskwalifikuje narzędzie bez względu na średnią.
  3. Oceniaj skryptem, nie modelem, i przetestuj sam skrypt. Każdy wzorzec sprawdź na przykładzie pozytywnym i negatywnym. Każdy wynik poniżej oczekiwań przeczytaj, zanim wyciągniesz wniosek.
  4. Izoluj i ogranicz koszty sam. Kontener bez internetu, klucz tylko do odczytu, własny bezpiecznik wydatków. Alarm budżetowy przychodzi po fakcie.
  5. Zrób pilotaż na 1-2 zadaniach. Zmierzysz koszt jednego zadania i wyłapiesz błędy konfiguracji za grosze, a nie za cały budżet.
  6. Patrz na rozkład, nie na średnią. Mój wzrost o 8,3 punktu był w całości jednym zadaniem. Średnia tego nie pokaże, wykres per zadanie tak.
  7. Posprzątaj od razu. Usuń klucze, projekt w chmurze i obrazy po teście. Zapomniany klucz do płatnego API to otwarty rachunek.

Podsumowanie

Harness² to ciekawy projekt badawczy i na publicznych benchmarkach pokazuje realne zyski. Na moich zadaniach, gdzie najważniejsze jest unikanie szkód specyficznych dla mojego środowiska, nie dał wyniku, który uzasadniałby wdrożenie. Rafinacja bez wzorca odpowiedzi nie ma skąd wziąć wiedzy, która powstaje dopiero po incydencie.

Za 213 zł dostałem jednak coś cenniejszego niż odpowiedź „tak” albo „nie”. Mam teraz egzamin, który pilnuje moich zasad przy każdej zmianie, i metodę oceny kolejnych narzędzi AI, zanim któreś trafi na produkcję.

Jeśli chcesz wdrożyć agenta AI w swojej firmie i zastanawiasz się, jak sprawdzić, czy naprawdę pomoże, porozmawiajmy. Takie testy przygotowuję na zadaniach konkretnej firmy, a nie na benchmarkach.

Michał Wiercimok
Michał Wiercimok
Ekspert Google Ads, SEO i AI · od 2003

Od 2003 roku związany z branżą e-marketingu. Właściciel agencji Top Position, wyróżnionej przez Google w programie Rising Stars 2016. Piszę o tym, co sam testuję i wdrażam u klientów.

Poznaj mnie bliżej

Chcesz więcej klientów z internetu?

Google Ads, SEO, strategia marketingowa - pomogę Ci dobrać kanały i narzędzia, które realnie przełożą się na wyniki Twojej firmy.

Umów bezpłatną konsultację