The Story Deep Dive

Wanneer een AI zijn eigen blinde vlekken diagnosticeert: in de zelfverbeteringslus van Hermes

Hermes Agent

Hermes Agent

@hermesagents

April 9, 2026

10 min lezen

Er is een specifiek type PR in releasenotes dat je twee keer moet lezen, omdat de eerste keer je niet vertelt wat er eigenlijk is gebeurd. De relevante vermelding in de Hermes Agent v0.8.0-notes is deze:

Zelfgeoptimaliseerde GPT/Codex Tool-Use Guidance — De agent diagnosticeerde en repareerde 5 faalpatronen in GPT- en Codex-toolaanroepen via geautomatiseerde gedragsbenchmarking, waardoor de betrouwbaarheid op OpenAI-modellen drastisch verbeterde. (#6120)

De eerste keer dat ik dit las, nam ik aan dat iemand het woord "zelfgeoptimaliseerd" wat losjes gebruikte. De tweede keer besefte ik dat het letterlijk bedoeld was. De agent draaide een benchmarksuite tegen zichzelf, spotte systematische fouten in hoe OpenAI-modellen zijn tools aanriepen, genereerde gerichte guidance om die fouten te verhelpen, en mat dat de fixes daadwerkelijk werkten. Mensen keurden het resultaat goed. Maar de hele diagnosticeer-en-repareer-stap was geautomatiseerd.

Dit is de moeite waard om uit te pakken, want het is het soort capability dat als één regeltje een release insluipt en verandert hoe toekomstige releases eruit kunnen zien.

Het specifieke probleem

De combinatie van Hermes Agent met OpenAI-modellen — GPT-5, Codex — was een paar releases lang zichtbaar wankel geweest. Gebruikers meldden dat Anthropic Claude soepel draaide terwijl GPT-5 soms argumenten in de verkeerde vorm produceerde, stappen oversloeg, of kwijtraakte wat het al had gedaan tijdens een multi-toolsequentie. Dit zijn geen subtiele bugs; je kunt ze zien gebeuren. Maar ze zijn ook waanzinnig frustrerend om met de hand te fixen, want de faalpatronen zijn modelspecifiek en hangen af van promptformulering op manieren die lastig te doorgronden zijn.

Er waren vijf terugkerende patronen, volgens de PR-beschrijving:

  • Het overslaan van aanbevolen voorchecks vóór destructieve toolaanroepen.
  • Toolargumenten als ruwe strings produceren waar het schema gestructureerde objecten of getallen verwachtte.
  • Kwijtraken welke toolaanroep in een keten al was gelukt, met dubbele aanroepen als gevolg.
  • Weigeren om opnieuw te proberen na tijdelijke fouten, ook al zei de guidance dat wel te doen.
  • Afdrijven van "voer het plan uit" naar "maak het plan opnieuw" bij lange contexten.

Geen van deze is theoretisch. Achter elk patroon ligt een spoor van GitHub-issues.

De lus die ze repareerde

De aanpak in PR #6120 heeft drie bewegende delen.

Ten eerste, een geautomatiseerde gedragsbenchmarksuite. Een testharnas draait de agent door een set synthetische scenario's die ontworpen zijn om elk van de vijf faalpatronen te triggeren. Per scenario registreert de benchmark wat het model deed, wat het had moeten doen, en of het verschil als een van de bekende faalpatronen telt.

Ten tweede, een guidance-generatiestap. Wanneer de benchmark een fout signaleert, produceert het harnas kandidaat-guidance-strings — korte, modelspecifieke instructies om aan de systeemprompt toe te voegen die precies het patroon aanpakken dat faalde. Niet "wees zorgvuldiger"; dingen als "roep vóór elke destructieve tool eerst de bijbehorende preview-tool aan met identieke argumenten en rapporteer de output." De kandidaten worden gegenereerd op basis van de specifiek waargenomen fouten, niet op basis van een generiek beoordelingskader.

Ten derde, een herbenchmarkstap. Elke kandidaat-guidance-string wordt getest op dezelfde scenariosuite. Guidance die scores verbetert, wordt behouden. Guidance die andere scenario's verslechtert, wordt weggegooid. De overlevende strings worden samengevoegd in de GPT/Codex-systeemprompt die Hermes levert.

Waarom dit een ander soort ding is

Historisch worden de prompts die met een agentframework worden meegeleverd geschreven door mensen — soms één persoon, soms een klein team — die meningen ontwikkelen over wat werkt en wat niet door zelf naar gesprekken te kijken. Dat proces heeft drie problemen: het schaalt niet naar veel modellen, het kan niet goedkoop opnieuw worden gedraaid als een model wordt bijgewerkt, en het produceert prompts waarin het bijgeloof van één persoon naast hun daadwerkelijke bewijsvoering is gecodeerd.

Het vervangen van de "mens schrijft, mens evalueert"-lus door een "benchmark schrijft kandidaten, benchmark evalueert ze"-lus is niet hetzelfde als een AI zichzelf onbewaakt laten tunen. Mensen keuren de uiteindelijke guidance nog steeds goed. Maar het daadwerkelijke werk van patronen vinden en fixes voorstellen is nu meetbaar en herhaalbaar. Wanneer GPT-6 uitkomt, draait hetzelfde harnas opnieuw. Wanneer een nieuw faalpatroon wordt gemeld, wordt een nieuw scenario toegevoegd en draait de lus opnieuw. De overhead van het in sync houden van de prompt met het werkelijke gedrag van het model daalt met een ordegrootte.

De gerelateerde wijzigingen in v0.8.0 wijzen dezelfde richting op. Thinking-only prefill continuation (#5931) behandelt het specifieke geval waarin een model een redeneerblok zonder inhoudsblok produceert en dan vastloopt. Executiediscipline-guidance (#5414) voegt een algemene regel "herplan niet tenzij er daadwerkelijk iets is veranderd" toe aan de systeemprompt. Coerce tool call arguments (#5265) converteert stilletjes strings naar getallen en booleans wanneer het JSON-schema dat verwacht, en dekt precies de argumenttyperingsfout af die de benchmark had gevangen. In een changelog lijken deze drie PR's ongerelateerd. Samen gelezen met PR #6120 zijn ze het zichtbare oppervlak van een doelgerichte campagne: de agent betrouwbaarder maken op een specifieke modelfamilie door te meten, te fixen, en opnieuw te meten.

De stille implicatie

Wat dit als een scharnierpunt doet aanvoelen, en niet gewoon als een goede release, is dat het een glimp geeft van hoe agent-engineering eruitziet als je stopt met prompts met de hand schrijven. Een repo als Hermes moet op twaalf providers en dertig modellen mikken. Het gedrag van elk model handmatig bijhouden is al onmogelijk. Als je in plaats daarvan "hoe moeten we model X prompten" behandelt als een tuningprobleem dat een benchmarkharnas oplost, heb je een proces dat meeschaalt met de omvang van de modeldierentuin in plaats van erin te verdrinken.

Niets hiervan was de kop van v0.8.0. De kop was "intelligentierelease" en de demo was live modelwisseling. Maar het stille ding onder de vloerplanken is dat Hermes nu een manier heeft om de agent slim te houden op elk model dat het ondersteunt, zonder dat een mens een weekend per model besteedt aan het hertunen van de systeemprompt. Dat is het soort capability dat ook in de volgende release niet als feature zal verschijnen — het zal gewoon verschijnen als "GPT-betrouwbaarheid op Hermes blijft beter worden" over de volgende zes releases op rij.

En als je, zoals ik, releasenotes leest voor de lol — dat is precies de vorm van het ding waar je op moet letten.

Meer lezen

Blijf op de hoogte

Community-updates over Hermes Agent-releases, nieuwe vaardigheden en integraties. Geen spam, altijd opzegbaar.