>_ DevTrendsnl

Taal

Home

Talen

Secties

Frontend Backend Mobiel DevOps AI / ML GameDev Blockchain Embedded Beveiliging
Shell

Hoe je stopt met het handmatig schrijven van code en begint met het ontwerpen van harnassen voor neurale netwerken

Onlangs betrapte ik mezelf op een vreemd gevoel. Je zit in een editor, lanceert een agent zoals Claude Code of Cursor, geeft het een taak, en tien minuten later sorteer je door een puinhoop van verzonnen functies en kapotte types. Proberen om een systeemprompt van vijf pagina's te dicteren maakt het meestal erger: het model vergeet het begin van de instructie tegen de derde stap.

Het blijkt dat in de technische gemeenschap rond OpenAI, Anthropic en Cursor dit probleem al is geformaliseerd tot een aparte discipline. Het wordt Harness Engineering genoemd, wat vertaald kan worden als het ontwerpen van harnassen of teugels voor agents.

Repository deusyu/harness-engineering heeft een uitgebreide kennisbank over dit onderwerp op één plek verzameld: analyses van concepten, vertalingen van tientallen Engelstalige artikelen van engineers zoals Martin Fowler, LangChain en de makers van Bun, evenals kant-en-klare templates voor het implementeren van deze aanpak in je eigen projecten.

Harness Engineering

Waar het idee vandaan kwam

Als in klassieke ontwikkeling een persoon code schrijft en de machine deze uitvoert, dan verandert de keten met de komst van autonome agents. Een persoon formuleert beperkingen en spelregels, het neurale netwerk schrijft code, en de omgeving voert controles uit en stuurt feedback terug naar de agent.

Het punt is dat de engineer stopt met het zijn van de auteur van elke regel. Het hoofdproduct van de engineer wordt een systeem van beperkingen: configuratiebestanden AGENTS.md, aangepaste linters, structurele tests en strikte poorten in CI.

De repository citeert gegevens uit een echt experiment van een van de teams: over 5 maanden heeft een team van 3-7 personen ongeveer 15.000 pull requests samengevoegd met bijna een miljoen regels code, met een gemiddelde van 3,5 PR's per persoon per dag. Het merendeel van de generatie draaide 's nachts in sessies van zes uur.

Belangrijkste principes van Harness Engineering

De auteur van de repository breekt de aanpak af in verschillende toegepaste concepten.

Repository als enige bron van waarheid

Alles wat niet in een git repository staat, bestaat niet voor de agent. Je Zoom-gesprekken, architectuurdiscussies in Slack of concepten in Google Docs worden niet in de context van het model opgenomen.

Als je besloot om een API-signatuur te wijzigen of een mapstructuur afsprak, dan zou dit in de repository moeten leven als geversioneerde bestanden. Alle specificaties en taakplannen worden onmiddellijk vastgelegd in een branch.

Een kaart in plaats van een encyclopedie

Een veelgemaakte fout bij het opzetten van agentische ontwikkeling is het creëren van een enorm systeembestand met alle projectinstructies. Models raken overweldigd door lange prompts.

In plaats daarvan wordt een AGENTS.md bestand van ongeveer 100 regels gebruikt. Het fungeert als een inhoudsopgave of kaart van het terrein, die de agent wijst naar welke submappen details te bekijken afhankelijk van de taak. Elke submap bevat zijn eigen lokale AGENTS.md. Dit principe wordt progressieve contextonthulling genoemd.

Mechanische controle in plaats van verbale overreding

Tekstregels in documentatie worden snel verouderd, en agents neigen ernaar ze te negeren of verkeerd te interpreteren. Linters en unit tests worden niet verouderd.

In plaats van lange architectuurstijlbeschrijvingen worden aangepaste linters geschreven. Het meest interessante deel: foutmeldingen in dergelijke linters bevatten onmiddellijk duidelijke instructies voor het oplossen van het probleem. De agent voert de controle uit, vangt de linterfout, leest de hinttekst en herschrijft zelf het problematische codegedeelte.

Codeleesbaarheid voor agents en entropiebeheer

Bij het kiezen van bibliotheken krijgen stabiele, goed gedocumenteerde technologieën met voorspelbaar gedrag prioriteit. Als een bibliotheek te complex is of donkere metaprogrammeertrucs gebruikt, zal de agent voortdurend struikelen. Soms is het gemakkelijker om een eenvoudige interne module van scratch te implementeren dan het neurale netwerk het gedrag van een ondoorzichtig extern pakket te laten raden.

Bovendien kopiëren agents graag slechte patronen als ze ze in de bestaande codebase vinden. Om te voorkomen dat de repository gaat rotten, draaien speciale refactoring-agents op de achtergrond, wier taak beperkt is tot het vinden van afwijkingen van standaarden en het maken van corrigerende PR's.

Zelfreferentiële repository

Wat project deusyu/harness-engineering aantrekkelijk maakt, is dat het gebouwd is op de principes die het beschrijft.

Binnen de repository draait een strikt scripts/check-consistency.sh script, geactiveerd via pre-commit hooks en GitHub Actions. Het script controleert dertien integriteitsniveaus:

  • Verifieert het exacte aantal artikelen dat wordt vermeld in badges en documentatie
  • Controleert dat de directorystructuur overeenkomt met de gedeclareerde bestandsboom
  • Valideert alle links en tabellen
  • Controleert afbeeldingsaudits in artikelvertalingen zodat geen diagrammen uit de originelen verloren gaan

Het proces van het toevoegen van nieuwe materialen is geautomatiseerd via een gespecialiseerde Claude-skill, waarbij agents initiële parsing en opmaak van artikelen uitvoeren, terwijl een mens alleen als eindcontroleur fungeert.

Voor wie dit project is

Als je solo pet projects schrijft of efficiënt werk met Cursor, Claude Code, Aider of lokale modellen in je team wilt opzetten, is deze repository het bookmarken waard.

Er zijn hier geen magische knoppen of kant-en-klare binaries. Dit is een handboek en een verzameling technische ervaring, die uitlegt waarom je prompts stoppen met werken over afstand en hoe je de repository configureert zodat neurale netwerken voordelen opleveren in plaats van de codebase in een puinhoop te veranderen.

De gemakkelijkste manier om te beginnen met leren is met de bestanden in de concepts/ directory, bekijk dan de implementatie van AGENTS.md in de project root en probeer een vergelijkbare structuur voor je eigen werkende repositories.

Gerelateerde projecten