Hermes — eigen AI-agentinfrastructuur
Een eigen AI-agentplatform over twee videokaarten, met systematisch getoetste modellen en een op doorvoer gemeten opstelling.
De opzet
Een zelf opgezet platform waarop AI-agents lokaal draaien op eigen hardware, gebouwd rond Hermes Agent van Nous Research. Een sterk model in de cloud doet als orkestrator de dure redenering; een vloot lokale modellen voert het werk uit op eigen kaarten, zonder tokenkosten. In één machine zitten twee ongelijke videokaarten — een RTX 4070 SUPER met 12 GB en een RTX 2060 met 6 GB — aangevuld met een Mac mini over het netwerk. Elke kaart draait zijn eigen model-instantie, hard vastgezet op die kaart; een derde instantie verdeelt één groter model via layer-splitting over beide kaarten tegelijk. Dat vastzetten bleek minder triviaal dan het lijkt: een grafische backend stond standaard aan en negeerde de GPU-toewijzing volledig, waardoor een zogenaamd vastgezette instantie modellen alsnog op de verkeerde kaart laadde.
Toetsen met bewijs op schijf
Voor elk model gebruikte ik dezelfde toets: laat het via zijn gereedschap een bestand schrijven met een uniek codewoord, en controleer daarna zelf op schijf of dat er echt staat. Die laatste stap is essentieel, want een model rapporteert met groot zelfvertrouwen succes zonder ook maar één keer zijn gereedschap te hebben aangeroepen. De uitkomsten waren regelmatig contra-intuïtief: het grootste model in de verzameling verzon voltooide taken en zelfverzonnen testresultaten, terwijl juist het kleinste betrouwbaar bleek. Groter is hier dus niet beter, en de enige manier om daarachter te komen is meten.
Doorvoer gemeten
Daarnaast heb ik de opstelling met identieke prompts doorgemeten. De belangrijkste uitkomst: twee kaarten samen zijn alleen sneller wanneer het model daardoor volledig in videogeheugen past. Bij het model waarbij dat lukte steeg de doorvoer van ruim 20 naar ongeveer 73 tokens per seconde, meer dan drie keer zo snel; een ander model werd door precies dezelfde ingreep juist langzamer, omdat de synchronisatie tussen twee kaarten meer kostte dan die opleverde. Daaruit volgde de vuistregel voor de hele opzet: een model moet ruim in het geheugen van zijn kaart passen, anders draait het er niet.
Uitbreiden via het pluginsysteem
Waar het platform tekortkwam heb ik het uitgebreid via het eigen pluginsysteem, zonder de kern aan te passen. Het ingebouwde delegeren kon maar één vast model aanroepen voor álle subtaken, dus bouwde ik een uitbreiding die per taak kiest hoe zwaar het model moet zijn en op welke kaart het draait, met een automatische keuze op basis van hoe druk elke kaart is. Omdat meerdere agents tegelijk dezelfde kaart konden claimen en elkaars geheugen wegdrukten, kwam daar een slot omheen: een agent claimt eerst de kaarten die hij nodig heeft en wacht tot ze vrij zijn, zodat werk op verschillende kaarten wél parallel loopt. Twee subtiele fouten in die uitbreiding — een configuratiebestand dat door één dubbele punt niet meer laadde en een zoekpatroon dat een agent eenendertig minuten liet hangen — kwamen alleen boven water door bewijs op schijf te forceren.
Wat het platform nu doet
De opzet doet inmiddels echt werk: via een takenbord met meerdere agents, elk met hun eigen model en kaart, is onder andere een volledige browsergame van de grond af opgebouwd, en met een zelfgebouwde uitbreiding is er lokale beeldgeneratie aan gekoppeld, zodat ook dat zonder cloud en zonder kosten werkt. De kernles is dezelfde als in securitywerk: vertrouw geen enkele statusmelding, dwing bewijs af en meet.
Contact
Beschikbaar voor een afstudeerstage cyber security vanaf november 2026 of februari 2027.