Context
De AI Orchestrator liet zien dat het kan: AI die zelfstandig plannen uitwerkt en uitvoert. Hij liep ook tegen een grens aan. Mijn gebruikslimieten raakten op en hij maakte meer merge requests dan ik op tijd kon controleren. De vraag die overbleef: kan ik dezelfde werkwijze lokaal laten draaien, met voorspelbare kosten, en met een duidelijk punt waar ik zelf beslis?
Aanpak
Een klein, lokaal softwarebedrijf van AI-agents, draaiend op mijn eigen MacBook. Paperclip is het orkestratieplatform: daarin staat de organisatie "Ezra Dev Studio" met vier agents in een vaste keten. De Orchestrator (Product Owner) ontvangt een opdracht en verdeelt die over de projecten. De Lead Developer maakt er een plan en subtaken van. De Developer voert uit, de Code Reviewer beoordeelt onafhankelijk. Taken zijn tickets met subtaken, zoals in Jira, en alles waar een mens iets moet beslissen, komt in mijn Inbox terecht.
Hermes is de agent-runtime: Paperclip start per taak de lokale Hermes-CLI. ObsidianAITools levert het model erachter, voor een vast bedrag van $7 per maand zonder kosten per token. Ik begon met Claude Code als runtime en stapte over naar deze combinatie. Het team werkt inmiddels aan mijn eigen projecten: Taskly, WhatsNext, deze website en Vireo, plus een testproject om veilig te kunnen oefenen.
Paperclip
Orkestratieplatform met "Ezra Dev Studio": vier agents in een vaste keten, taken als tickets en beslissingen in mijn Inbox.Hermes
Agent-runtime: Paperclip start per taak de lokale Hermes-CLI.ObsidianAITools
Het model erachter, voor een vast bedrag van $7 per maand zonder kosten per token.
Technische diepgang
Beperkte autonomie als uitgangspunt. Er is geen agent die uit zichzelf aan de slag gaat: de heartbeat staat uit, dus er draait alleen werk dat expliciet is toegewezen. Elke agent doet één run tegelijk, met een cooldown ertussen, en een dispatch bestaat uit maximaal drie subtaken voordat er teruggekoppeld wordt. Paperclip heeft geen eigen daglimiet, dus een klein script telt de runs per dag en waarschuwt me bij te veel. Het is bewust een waarschuwing, geen automatische rem.
De mens beslist over wat live gaat. Aanvankelijk hadden de agents helemaal
geen git-rechten. De werkwijze waar ik naartoe bouw: elke taak op een eigen
branch vanaf acc, waarna de agent zelf pusht en een merge request opent. De
Code Reviewer moet die goedkeuren voordat er gemerged kan worden. Alleen ik
kan acc naar main brengen, en dat is dus de echte release. Elk project
krijgt eigen, tot dat project beperkte tokens, één voor het werk en één alleen
voor het reviewen, zodat een lek nooit een ander project raakt. Beschermde
branches in GitLab moeten dit afdwingen, in plaats van dat het alleen in de
instructies van de agents staat.
Instructies per rol. Elke agent heeft een eigen, korte instructie met rol, plaats in de organisatie, veiligheidsregels en een vast rapportageformaat. De Orchestrator weet niets van code en de Code Reviewer past niets aan: een rol hoeft zo minder uit te leggen en kan minder fout doen.
Opdracht
De Orchestrator (Product Owner) ontvangt de opdracht en verdeelt die over de projecten.Plan
De Lead Developer maakt er een plan en subtaken van.Uitvoering
De Developer werkt op een eigen branch vanafacc, pusht en opent een merge request.Review
De Code Reviewer beoordeelt onafhankelijk en moet goedkeuren voor er gemerged kan worden.Release
Alleen ik brengaccnaarmain: dat is de echte release.
Resultaat en beperkingen
Een pilot die aantoonbaar werkt. Een opdracht ging door de hele keten en leverde een merge-klare branch op voor WhatsNext, die ik zelf als merge request heb gemerged. De agents wezen onderweg ook zelf op een achtergebleven taak en op ongecommitte wijzigingen in een ander project, zonder dat ik daarom vroeg.
Wat het niet is: een volwassen, zelfdraaiende ontwikkelafdeling. De branch- en tokenworkflow wordt nog per project ingericht. De limieten van ObsidianAITools zijn onbekend en niet zichtbaar, dus ik weet niet wanneer ik er tegenaan loop. En bewust draait het op kleine schaal: weinig projecten en één run tegelijk, zodat ik kan zien wat er gebeurt voordat ik het opschaal.


