Veelgestelde vragen

Eerlijke antwoorden over wat Agents Never Sleep doet, wat het niet doet, en waar de eerlijke grenzen liggen.

Brieven aan de redactie — elke vraag krijgt een recht antwoord.
Brieven aan de redactie — elke vraag krijgt een recht antwoord.
Wat is Agents Never Sleep?

Agents Never Sleep (ANS) is een open-source governance-laag waarmee een coding agent een backlog aan tickets onbewaakt kan afwerken. Het geeft de run een duurzame per-ticket state machine, deterministische testpoorten, git-gebaseerde omkeerbaarheid en een ASK/PARK/HALT-autonomiecontract, zodat één onbeantwoordbare vraag nooit de rest van de backlog bevriest. Het schrijft zelf geen code — het bepaalt hoe een agent die code schrijft zich gedraagt terwijl niemand toekijkt.

Is het veilig om agents onbewaakt te draaien?

ANS vermindert het risico, het elimineert het niet. Deterministische poorten vangen wat je tests vangen, git-snapshots maken elke wijziging omkeerbaar, en deny-hooks blokkeren regelrecht onomkeerbare acties zoals force-pushes of destructieve SQL. Maar de deterministische poort is alleen zo goed als je testsuite, en een verkeerd geclassificeerde aanname blijft mogelijk — precies daarom wordt elke aanname die de run maakt gecommit, zodat hij in daglicht kan worden teruggedraaid. Jouw uitvoeringsomgeving (een container, een wegwerp-checkout, een gebruiker met minimale rechten) blijft de primaire veiligheidslaag; ANS gaat ervan uit dat je die hebt.

Hoe stel ik ANS in voor een project — en kan ik bepaalde acties vooraf autoriseren?

Draai ans-run init in een net gekloonde repo: het detecteert je agent-CLI en testpoorten, print een eerlijke enforcement-maturity-melding, en zet de per-project config (.claude/agents-never-sleep.json) op met autonomie UIT, plus een paar inerte voorbeeldtickets die het nooit automatisch zal draaien. Het schrijft niets naar je host- of globale config. Voor de volledige interactieve setup schrijft een korte wizard dezelfde config weg en legt, één keer per gebruiker, vast dat je hem vertrouwt. Dit is bewust een handmatige, menselijke stap — een onbewaakte run kan nooit zijn eigen config opstellen of goedkeuren. Tijdens setup kun je ook een specifieke klasse uit de deny-list floor vooraf autoriseren — bijvoorbeeld de run toestaan een wegwerp-Redis-instantie te flushen — als expliciete, opt-in consent. Die consent wordt buiten de repository opgeslagen, vastgevroren bij launch, en tilt alleen ooit een actie van PARK naar toegestaan wanneer die overeenkomt met een klasse waarvoor je consent hebt gegeven; ontbreekt het of is het foutief geformatteerd, dan houdt de floor stand. Al het andere op de floor — force-pushes, het verwijderen van remote branches, destructieve SQL — blijft sowieso geblokkeerd. Bij setup kies je ook welke Hard-PARK-categorieën een consensus-assisted resolution attempt mogen krijgen voordat ze parkeren.

Welke coding agents worden vandaag ondersteund?

Claude Code is het enige platform waar de enforcement-hooks (deny-irreversible, never-stop, never-ASK) live geverifieerd zijn op het echte tool. Gemini CLI, OpenAI Codex CLI, GitHub Copilot CLI, Cursor en Windsurf zijn gebouwd volgens het gedocumenteerde hook-contract van elk platform en gedekt door de hermetische testsuite, maar nog niet bevestigd op het echte tool. Aider wordt ondersteund via een launcher-preset-wrapper (launch-vlaggen plus git-revert-omkeerbaarheid) in plaats van native hooks. Ondersteuning voor Hermes staat op de roadmap, is niet uitgeleverd.

Wat gebeurt er als een deterministische poort (test) faalt?

De harness classificeert de fout. Als het lijkt te zijn geïntroduceerd door de huidige diff, wordt de wijziging teruggedraaid naar de laatste groene commit en wordt het ticket vastgelegd als FAILED_RETRYABLE zodat het opnieuw geprobeerd kan worden. Als de fout pre-existent, flaky of omgevingsgebonden lijkt, blijft het werk behouden maar wordt het vertrouwen verlaagd en genoteerd als blinde vlek in plaats van een schone doorgang. ANS verwijdert of slaat nooit een falende test over om een groen resultaat te forceren — dat zou precies het signaal verbergen waarvoor de poort bestaat.

Wat voor dingen worden geparkeerd in plaats van automatisch beslist?

Alles met een grote blast radius: welke richting een database-migratie op moet, een wijziging aan een publiek of gedeeld API-contract, alles wat een security- of tenant-isolatiegrens raakt, en alles met geld, facturatie of prijsstelling. Een park is geen mislukking — het legt vast waarom, de kandidaat-interpretaties, en de exacte beslissing die op een mens wacht, waarna de run doorgaat naar het volgende onafhankelijke ticket.

Wat is het runrapport?

Eén gerangschikte samenvatting (night-report.md) geschreven wanneer de run eindigt. Hij noemt wat klaar en te vertrouwen is, wat klaar is maar daglicht-review nodig heeft, wat geparkeerd is (met de exacte benodigde beslissing), wat geblokkeerd is door de omgeving, en eventuele blinde vlekken die de run onderweg tegenkwam. Hij bestaat zodat een mens beslissingen en uitkomsten beoordeelt, geen ruwe stroom logs.

Heeft ANS een API-sleutel of abonnement nodig?

Nee. De open-source harness is MIT-gelicentieerd, gebruikt alleen de Python-standaardbibliotheek, heeft geen runtime-afhankelijkheden, en draait op welke credentials je coding agent ook al gebruikt. Er is een optionele gedelegeerde reviewstap die de Tokonomix-gateway kan aanroepen voor een tweede mening over een risicovolle diff, maar dat is opt-in en budget-gated — de kernharness werkt volledig op je eigen sleutels zonder dat.

Onder welke licentie is Agents Never Sleep uitgebracht?

MIT. De broncode is publiek op GitHub.

Hoe verschilt dit van gewoon een agent in een lus draaien?

Een kale lus heeft geen principieel antwoord op wat te doen wanneer de agent twijfelt — hij stopt en wacht op niemand, of hij gokt en doet mogelijk iets onomkeerbaars. ANS vervangt dat gat door een duurzame per-ticket state machine, een deterministische poort als enige harde blokkade, git-gebaseerde snapshot-en-revert bij elke wijziging, en een expliciet ASK/PARK/HALT-contract dat op tool-niveau wordt afgedwongen in plaats van overgelaten aan het oordeel van de agent tijdens de run. De lus bestaat uit dezelfde twee commando's; wat anders is, is alles wat bepaalt wat er tussen die twee gebeurt.

Wat is Managed ANS?

Managed ANS is in ontwikkeling, nog niet beschikbaar. Het is gepland als een governance-laag bovenop de open-source harness voor teams die vloten onbewaakte agents draaien: één token per vloot, een harde budgetlimiet afgedwongen bij de gateway, model- en provider-allowlists, EU-dataresidentie-routering, en centrale facturatie en gebruiksinzicht. De open-source harness blijft volledig functioneel op je eigen sleutels, of je de managed tier nu ooit gebruikt of niet. Lees meer →

Kan ANS code naar productie of naar een remote repository pushen?

Nee — met opzet. ANS pusht nooit naar een remote branch; werk blijft bestaan als lokale, omkeerbare git-commits die een mens bewust kan beoordelen en pushen. Deny-hooks blokkeren daarnaast uitgaande of onomkeerbare acties zoals force-pushes en het verwijderen van remote branches op tool-niveau. Een mens beslist altijd wanneer werk de machine verlaat.

Waar meld ik een bug of stel ik een vraag?

Open een issue op de GitHub-repository. Daar worden ook roadmap-items zoals bredere platformenforcement en de PyPI-publicatie bijgehouden.

Lees de kleine lettertjes — wij zetten ze in grote letters.
Lees de kleine lettertjes — wij zetten ze in grote letters.

Contact

Vragen, of wil je meedoen?

De ANS Assistant antwoordt op basis van de documentatie — en kan je in contact brengen met het team.