The Story Deep Dive

Kiedy AI diagnozuje własne martwe punkty: w środku pętli samodoskonalenia Hermes

Hermes Agent

Hermes Agent

@hermesagents

April 9, 2026

10 min czytania

Jest pewien typ PR-a w notatkach do wydania, który trzeba przeczytać dwa razy, bo za pierwszym nie rozumiesz, co właściwie się wydarzyło. Odpowiedni wpis w notatkach Hermes Agent v0.8.0 to ten:

Samozoptymalizowane wytyczne tool-use GPT/Codex — Agent zdiagnozował i naprawił 5 wzorców awarii w wywoływaniu narzędzi przez GPT i Codex za pomocą automatycznego benchmarkingu behawioralnego, dramatycznie poprawiając niezawodność na modelach OpenAI. (#6120)

Czytając to pierwszy raz, założyłem, że ktoś trochę luźno użył słowa „samozoptymalizowane". Za drugim razem zdałem sobie sprawę, że to dosłowne. Agent uruchomił zestaw benchmarków przeciwko samemu sobie, wychwycił systematyczne błędy w sposobie, w jaki modele OpenAI wywoływały jego narzędzia, wygenerował celowane wytyczne naprawiające te błędy i zmierzył, że poprawki faktycznie działają. Ludzie zatwierdzili wynik. Ale cały krok diagnozuj i napraw był zautomatyzowany.

Warto to rozłożyć na części, bo to rodzaj zdolności, która wślizguje się do release'u jako jedna linijka, a zmienia, jak mogą wyglądać przyszłe wydania.

Konkretny problem

Połączenie Hermes Agent z modelami OpenAI — GPT-5, Codex — przez kilka wydań było widocznie chwiejne. Użytkownicy zgłaszali, że Anthropic Claude działał gładko, podczas gdy GPT-5 czasem produkował argumenty w złym formacie, pomijał kroki lub gubił, co już zrobił w trakcie sekwencji wielu narzędzi. To nie subtelne bugi; widać, jak się dzieją. Ale są też szalenie frustrujące do naprawienia ręcznie, bo wzorce awarii są specyficzne dla modelu i zależą od formułowania promptu w sposób trudny do ogarnięcia.

Było pięć powtarzających się wzorców, według opisu PR-a:

  • Pomijanie zalecanych wstępnych sprawdzeń przed destrukcyjnymi wywołaniami narzędzi.
  • Produkowanie argumentów narzędzi jako surowych stringów, gdy schemat oczekiwał obiektów strukturyzowanych lub liczb.
  • Gubienie informacji, które wywołanie w łańcuchu już się powiodło, skutkujące duplikatami wywołań.
  • Odmowa ponownej próby po tymczasowych błędach, mimo że guidance mówił, żeby to zrobić.
  • Dryfowanie od „wykonaj plan" do „przeplanuj" przy długich kontekstach.

Żaden z nich nie jest teoretyczny. Za każdym wzorcem ciągnie się ślad issue'ów na GitHubie.

Pętla, która je naprawiła

Podejście w PR #6120 ma trzy ruchome części.

Po pierwsze, automatyczny zestaw benchmarków behawioralnych. Uprząż testowa przepuszcza agenta przez zestaw syntetycznych scenariuszy zaprojektowanych do wywołania każdego z pięciu wzorców awarii. Dla każdego scenariusza benchmark rejestruje, co model zrobił, co powinien był zrobić i czy różnica kwalifikuje się jako jeden ze znanych wzorców awarii.

Po drugie, krok generowania wytycznych. Kiedy benchmark sygnalizuje błąd, uprząż produkuje kandydujące ciągi guidance — krótkie, specyficzne dla modelu instrukcje do dodania do promptu systemowego, celujące dokładnie w wzorzec, który zawiódł. Nie „bądź staranniejszy"; raczej rzeczy w stylu „przed każdym destrukcyjnym narzędziem najpierw wywołaj odpowiednie narzędzie podglądu z identycznymi argumentami i zgłoś output". Kandydaci są generowani na podstawie konkretnych zaobserwowanych błędów, nie na podstawie ogólnego rubrikatora.

Po trzecie, krok ponownego benchmarku. Każdy kandydujący ciąg guidance jest testowany na tym samym zestawie scenariuszy. Guidance, który poprawia wyniki, zostaje. Guidance, który pogarsza inne scenariusze, odpada. Ci, którzy przeżyli, są łączeni w prompt systemowy GPT/Codex dostarczany przez Hermesa.

Dlaczego to inny rodzaj rzeczy

Historycznie prompty dostarczane z frameworkami agentowymi pisali ludzie — czasem jeden, czasem mały zespół — którzy wyrabiają sobie opinie o tym, co działa, a co nie, ręcznie przeglądając rozmowy. Ten proces ma trzy problemy: nie skaluje się na wiele modeli; nie da się go tanio powtórzyć, gdy model zostanie zaktualizowany; i produkuje prompty, w których przesądy jednej osoby są zakodowane obok prawdziwych obserwacji.

Zastąpienie pętli „człowiek pisze, człowiek ocenia" pętlą „benchmark generuje kandydatów, benchmark ich ocenia" to nie to samo, co pozwolenie AI tunować się bez nadzoru. Ludzie nadal zatwierdzają ostateczne wytyczne. Ale faktyczna praca polegająca na znajdowaniu wzorców i proponowaniu poprawek jest teraz mierzalna i powtarzalna. Kiedy wyjdzie GPT-6, ta sama uprząż uruchomi się ponownie. Kiedy pojawi się nowy wzorzec awarii, zostanie dodany nowy scenariusz i pętla ruszy od nowa. Narzut utrzymywania promptu w synchronizacji z faktycznym zachowaniem modelu spada o rząd wielkości.

Powiązane zmiany w v0.8.0 wskazują ten sam kierunek. Thinking-only prefill continuation (#5931) obsługuje konkretny przypadek, w którym model produkuje blok rozumowania bez bloku treści i się zawiesza. Guidance dyscypliny wykonawczej (#5414) dodaje ogólną regułę „nie przeplanowuj, jeśli nic się naprawdę nie zmieniło" do promptu systemowego. Coercion argumentów wywołań narzędzi (#5265) po cichu konwertuje stringi na liczby i boole, gdy schemat JSON tego oczekuje, pokrywając dokładnie ten błąd typowania argumentów, który złapał benchmark. W changelogu te trzy PR-y wyglądają na niezwiązane. Czytane razem z PR #6120 są widoczną powierzchnią celowej kampanii: uczynienia agenta bardziej niezawodnym na konkretnej rodzinie modeli poprzez mierzenie, naprawianie i ponowne mierzenie.

Cichy wniosek

To, co sprawia, że ten moment wydaje się punktem zwrotnym, a nie po prostu dobrym release'em, to podpowiedź, jak wygląda inżynieria agentów, gdy przestajesz pisać prompty ręcznie. Repozytorium jak Hermes musi celować w dwunastu dostawców i trzydzieści modeli. Ręczne śledzenie zachowania każdego z nich jest już niemożliwe. Jeśli zamiast tego potraktujesz pytanie „jak powinniśmy promptować model X" jako problem tuningu, który rozwiązuje uprząż benchmarkowa, masz proces, który skaluje się wraz z rozmiarem zoo modeli, zamiast w nim tonąć.

Nic z tego nie było nagłówkiem v0.8.0. Nagłówkiem był „release inteligencji", a demo to zmiana modelu na żywo. Ale ta cicha rzecz pod podłogą polega na tym, że Hermes ma teraz sposób na utrzymywanie agenta mądrym na każdym obsługiwanym modelu, bez poświęcania weekendu na model na ręczne dostrajanie promptu systemowego. To rodzaj zdolności, która w następnym release'ie też nie pojawi się jako osobna funkcja — pojawi się po prostu jako „niezawodność GPT na Hermesie dalej rośnie" przez sześć kolejnych wydań.

A jeśli, tak jak ja, czytasz notatki do wydań dla przyjemności — to dokładnie ten kształt rzeczy, na który warto uważać.

Więcej

Bądź na bieżąco

Aktualności społeczności o wydaniach Hermes Agent, nowych umiejętnościach i integracjach. Bez spamu, wypisz się kiedy chcesz.