en:twine
AI Strategie & Compliance● 7 september 2026

Minimal Coding Harness: goedkoper bouwen op Europese infrastructuur

Een minimal coding harness bespaart tokens door tool- en shell-output lokaal te verwerken, op open-source Europese infrastructuur.

D
Dennis Verstappen
AI Architectuur, strategie & commercie
Robin werkt aan een laptop terwijl Twijn ernaast zweeft; een lange bonnenstrook krult over de rand van het bureau

Waar lekken de tokens weg bij het bouwen met AI? Het antwoord zit vooral in de shell-output, de tools en de verificatiestappen rond het model, en veel minder in het model zelf.

Een coding harness is die laag rond een coding agent: configuratie, tools, compressie en verificatie. Wat een harness in het algemeen doet en waarom u die laag zelf wilt bezitten, staat in de gids over een eigen AI-agent bouwen. Wij bouwden er bij en:twine een geoptimaliseerde versie van bovenop het Pi-harness. Die staat nu online via de GitHub van de AiOps Community, onder MIT-licentie, als Minimal Coding Harness. Het is minder dan 900 regels code bovenop Pi.

De aanleiding was de AI Hackathon van de AiOps Community, gehost bij Yoink, met OpenValue, orq.ai en GreenPT. De opdracht was scherp: bouw een werkende duurzaamheids-tracker met zo min mogelijk tokens en zo min mogelijk LLM-calls. Plannen mocht met grote modellen, maar de bouwrun moest volledig door een open source model gedaan worden. Lynn en Dennis hebben het harness daar actief gebruikt.

Waar een coding agent zijn tokens aan kwijt is

Het budget van een coding agent gaat grotendeels op aan alles rondom het schrijven van code. De shell-output van een testrun gaat integraal de context in, inclusief honderden identieke regels. De teller die bijhoudt hoeveel u uitgeeft, is zelf een blok tekst in het gesprek. Een verificatiestap wordt een extra model-call, terwijl npm test gewoon een exitcode teruggeeft. Vijf skills die u nooit hebt aangezet, staan in elke systeemprompt.

U betaalt, met andere woorden, voor uw eigen boekhouding. Bij een open source model met een krappere context vreet die boekhouding het budget op waarmee u de daadwerkelijke opdracht had willen uitvoeren.

Drie keuzes die dat omdraaien

Achter alle drie zit hetzelfde idee: doe het lokaal als het lokaal kan.

  1. Compressie gebeurt voordat het model iets ziet. Bij output vanaf 25 regels worden drie of meer identieke regels één regel met een teller erachter. Output langer dan 8.000 tekens wordt afgekapt met behoud van kop en staart, want daar vindt u de fout. Dit gebeurt in Node, voordat het resultaat de context raakt.

  2. Het verbruiksoverzicht gaat nooit terug het gesprek in. Na elke taak ziet u in uw terminal het aantal requests, de input-tokens, cached tokens, output-tokens, de kosten en het actuele contextgebruik. In de repo heten die regels de receipts, en ze blijven puur lokaal. Het model weet er niets van en brandt er dus ook geen tokens aan. Bij een ingestelde drempel, standaard 12.000 tokens, krijgt u een waarschuwing dat het tijd is om af te ronden of /new te starten.

  3. Verifiëren kost geen request. Zet verifyCommand op "npm test" en het harness draait dat lokaal zodra het model klaar is. U krijgt pass of fail, zonder dat er een call overheen gaat.

Een skill die vooral over stoppen gaat

Het harness komt met één skill, build-more-with-less, en die gaat voor het grootste deel over ophouden. Zeven regels: de kleinste verifieerbare wijziging, geen dependencies erbij, nooit dezelfde mislukte aanpak meer dan twee keer, klaar zodra de acceptatiecriteria groen zijn.

Daar hoort ook bij dat de agent maximaal drie korte bullets terugschrijft en geen voortgangsverhaal. Dat klinkt cosmetisch. Alleen zijn output-tokens wel de duurste die u koopt. Dat levert een bouwrun op die goedkoop en snel blijft, ook op een open source model met een krappe context.

Uitbouwen is makkelijk

De kracht van Pi is dat uw eigen tools en skills er zonder omhaal bij kunnen. Een eigen skill is een SKILL.md in .pi/skills. Een eigen tool of gedragsregel is een TypeScript-bestand in .pi/extensions.

De zes meegeleverde extensies zijn samen ruim zeshonderd regels en zijn bedoeld om als voorbeeld te lezen: compress haakt in op tool_result, verify op agent_settled, budget op de usage-events. Dat is het grootste deel van de API-oppervlakte die u nodig hebt. Wilt u browsercontrole, dan zet u browser: true en zorgt u dat browser-harness in uw PATH staat.

Orchestreren van groot naar klein

Dit werkt het beste als eindstation van een keten. Dat is precies wat we op de hackathon deden. Eerst de frontend en backend plannen met een groot model. Daarna per onderdeel een bouwinstructie schrijven met exacte acceptatiecriteria. Vervolgens die instructies stuk voor stuk door het open source model laten bouwen.

Het patroon daaronder: laat het dure model denken en specificeren, laat het goedkope model typen. Een goede bouwinstructie met harde acceptatiecriteria maakt de bouwrun praktisch one-shot. Mijn indruk was dat de uiteindelijke, door DeepSeek gebouwde oplossing dicht bij de versie lag die een frontier-model ervan gemaakt had. We hebben dat niet systematisch vergeleken.

Mei schuift een bouwinstructie over de tafel naar Twijn, die de opdracht op een laptop uitvoert

Het harness is daar de ontvangende kant van. Het verwacht een afgebakende opdracht met een verificatiecommando, en het stopt zodra die groen is. Lynn beschrijft hoe we en:twine met twee mensen en meerdere AI-agents runnen, wat hetzelfde patroon laat zien buiten de bouwkant.

Draait dit volledig binnen de EU?

Er is nog een reden waarom we deze opzet interessant vinden. Het endpoint dat u kiest bepaalt wat u per token betaalt én waar uw code terechtkomt. De hele keten kan binnen de Europese Unie blijven. Het enige dat uw netwerk op gaat, is de request naar dat endpoint. Al het andere staat op uw eigen machine.

Voor dat endpoint werkt GreenPT goed, een Nederlands bedrijf uit Utrecht. GreenPT was partner van de hackathon en is het profiel waarop wij hebben afgesteld, dus lees dit als één getest endpoint en niet als een marktvergelijking. De documentatie stelt dat alle verwerking binnen de Europese Unie blijft, met Scaleway in Frankrijk voor de infrastructuur en Inceptron in Frankrijk en Finland voor de model-inference, op datacenters die op hernieuwbare energie draaien. Voor veel organisaties is het inmiddels essentieel om te weten waar hun infrastructuur staat en wie de verwerking doet.

Wilt u strenger, dan is baseUrl gewoon een instelling. Zet er een lokale Ollama- of vLLM-server neer en er verlaat helemaal niets uw machine. Het harness ziet het verschil niet.

Aan de slag

De installatiestappen staan in de README van de repo. U hebt Node 20.12 of nieuwer nodig en een OpenAI-compatibel endpoint met een model en een sleutel.

De sleutel gaat in het genegeerde .env, nooit in de config. In harness.config.mjs zet u baseUrl, model en workspacePath. Dat laatste wijst naar de repo die gebouwd moet worden, zodat het harness buiten uw applicatie blijft.

Het harness is afgesteld en getest op GreenPT met glm-5.2-honey, dat volgens GreenPT de coding-prestaties van GLM 5.2 combineert met Honey’s compressieregels aan de endpoint-kant. Geeft uw sleutel die variant niet, gebruik dan glm-5.2 met compression: "skill", dan laadt het harness de meegeleverde Honey Lean-regels lokaal. Elk ander OpenAI-compatibel endpoint werkt ook.

Het harness is open source, dus issues en pull requests zijn welkom op de repo. Loopt u vast bij het opzetten of aanpassen, neem dan contact met ons op.

Credits

Minimal Coding Harness is een open source samenwerking tussen de AiOps Community en en:twine. Het project wordt gehost op de GitHub van AiOps Community en ontwikkeld vanuit en:twine.

Het is een configuratie- en extensielaag bovenop Pi van Mario Zechner, onderhouden door Earendil Works, gepind op versie 0.81.1 als lokale dependency. Pi doet het zware werk, wij hebben er een dunne, zuinige laag omheen gezet. De meegeleverde Honey Lean-skill is van GreenPT en behoudt zijn eigen MIT-licentie.

Onze content is AI-ondersteund. We gebruiken AI bij onderzoek en het maken van concepten. Een mens controleert en bewerkt de tekst en neemt verantwoordelijkheid voor alles wat we publiceren. Lees hoe wij onze content maken.

VOLGENDE STAPAAN DE SLAG

Wilt u dit voor uw eigen bedrijf in kaart brengen?

De AI Readiness Scan duurt 10 minuten en geeft direct inzicht in welke processen u als eerste zou moeten aanpakken, met indicatie van ROI per use case.