HarnessDev: LLM's die hun eigen infrastructuur bouwen
ByteDance en een groep universiteiten hebben HarnessDev gelanceerd, een framework waarmee large language models (LLM's) hun eigen "agent operating systems" kunnen schrijven, genaamd Agent Harnesses. Het team geeft een LLM een minimale starterkit en laat het de rest uitwerken. Dit laat zien hoe AI de bestuurslaag kan construeren die zijn eigen loops voor toolgebruik, verificatiestappen en foutafhandeling uitvoert — zonder dat een mens elke regel hoeft te typen.
Waarom een zelfgebouwde harness belangrijk is
AI-agents zijn geëvolueerd van assistenten die reageren op een enkele prompt naar werkers die meerdere stappen uitvoeren, API's aanroepen, databases bevragen en resultaten samenvoegen. Tot nu toe schreven ontwikkelaars handmatig de orchestratiecode die het model vertelt wanneer het een zoektool moet aanroepen, hoe het tussenliggende statussen moet opslaan en hoe het een definitief antwoord moet verifiëren. HarnessDev draait dit model om: een seed harness levert net genoeg steunstructuur — basisfuncties voor loops, het selecteren van tools en het bijhouden van de status — en de LLM breidt dit uit tot een volledig functionele runtime.
In de benchmark van het paper produceerde het model 18 verschillende harnesses, waarbij meer dan 17.000 regels code aan de oorspronkelijke seed werden toegevoegd. Elke harness beheerde de volledige levenscyclus van een taak: het uitvoeren van loops, het kiezen van de juiste tool, het behouden van context, het bijhouden van de status, het verifiëren van resultaten en het herstellen van fouten.
De verborgen kosten die de studie aan het licht bracht
De cijfers zien er indrukwekkend uit, maar de auteurs waarschuwen dat een ruwe implementatie niet hetzelfde is als praktisch gebruik.
- Niet-gebruikte componenten – Een aanzienlijk deel van de gegenereerde code werd nooit uitgevoerd tijdens de daadwerkelijke taakuitvoering. De LLM schreef functies die de agent nooit aanriep, waardoor de codebase werd opgeblazen zonder waarde toe te voegen.
- Model lock-in – Harnesses neigden afgestemd te zijn op de specifieke LLM die ze had gecreëerd. Wanneer dezelfde harness aan een ander model werd gegeven, daalde de prestatie merkbaar, wat suggereert dat de automatisch gegenereerde besturingslogica model-specifieke eigenaardigheden bevat.
- Verificatiekloven – Eén testharness rapporteerde een succespercentage van 99% (99 van de 100 runs), maar was slechts in 48% van de gevallen correct. Zonder sterke verificatie kan een agent met veel zelfvertrouwen foute antwoorden presenteren.
- Token-overhead – Het tokenverbruik — een graadmeter voor de rekenkosten — varieerde enorm. Eén harness had zeven keer zoveel tokens nodig als een andere om hetzelfde resultaat te bereiken, wat zorgen oproept over de schaalbaarheid in productieomgevingen.
Deze bevindingen onderstrepen de noodzaak van gedisciplineerd ontwerp, zelfs wanneer de code voortkomt uit een LLM.
Waar ontwikkelaars rekening mee moeten houden
- Beschouw harness-ontwerp als architectuur – Vertrouw er niet op dat het model "gewoon werkt". Definieer duidelijke modules voor loopcontrole, toolselectie, statusafhandeling en verificatie voordat je de LLM de details laat invullen.
- Bouw sterke verificatie – Voeg expliciete controles toe die de bewering van een agent vergelijken met de werkelijkheid (ground truth) of een secundair model. De nauwkeurigheid van 48% uit de studie, ondanks een zelfgerapporteerd succespercentage van 99%, laat zien dat verificatie geen bijzaak mag zijn.
- Houd rekening met token-budgetten – Complexere harnesses kunnen het aantal tokens doen exploderen. Analyseer verschillende harness-varianten vroegtijdig om verborgen kostenexplosies te voorkomen.
- Test over verschillende modellen heen – Draai dezelfde harness met meerdere LLM-backends. Als de prestaties sterk achteruitgaan, heb je mogelijk een model-agnostischer ontwerp of aparte harnesses per model nodig.
Conclusie: HarnessDev bewijst dat LLM's hun eigen besturingssysteem-achtige besturingscode kunnen opstellen.
