De fundamentele beperking van de meeste AI-assistenten is dat ze reactief zijn. Ze zitten stil totdat je een bericht stuurt, verwerken je verzoek, antwoorden en gaan weer slapen. Het zijn geavanceerde antwoordapparaten — capabel, maar passief. Ze nemen nooit initiatief. Ze controleren nooit iets. Ze zeggen nooit "hé, ik merkte iets op dat je moet weten."
Dit is een vreemde beperking als je erover nadenkt. De nuttigste menselijke assistenten beantwoorden niet alleen vragen — ze beheren proactief taken, volgen deadlines op, monitoren situaties en brengen informatie naar boven voordat je erom vraagt. Een assistent die alleen reageert wanneer er tegen hem gesproken wordt is behulpzaam; een assistent die behoeften anticipeert is onmisbaar.
NanoClaw's systeem voor geplande taken overbrugt die kloof. Het is een cron-achtige planner ingebouwd in het hostproces die agent-containers start op opgegeven tijden, met opgegeven instructies, en de resultaten aflevert aan opgegeven WhatsApp-groepen. De agent wacht niet tot je iets vraagt — het handelt volgens een schema dat jij definieert, met dezelfde tools en mogelijkheden als in een normaal gesprek.
Hoe geplande taken werken
De mechaniek is eenvoudig. Je vertelt je NanoClaw-assistent, in natuurlijke taal, wat je wilt dat het doet en wanneer. "Elke ochtend om 8 uur, controleer Hacker News op artikelen over AI-agents en stuur me een samenvatting." "Elke vrijdag om 17:00, herinner me eraan mijn urenstaat in te dienen." "Controleer elke dag de prijs van vluchten naar Tokyo en vertel me als het onder de $800 zakt." NanoClaw's hostproces parseert het schema, slaat het op in SQLite en draait een timerlus die elke minuut controleert op taken die aan de beurt zijn. Wanneer een taak aan de beurt is, start de host een container — identiek aan de containers die voor normale gesprekken worden gebruikt — met de taakinstructies als het initiële bericht. De agent draait, voert de acties uit die de taak vereist (webbrowsing, bestandstoegang, API-aanroepen) en stuurt het resultaat terug naar de opgegeven WhatsApp-groep.
De taak draait in dezelfde geïsoleerde containeromgeving als elke andere agentinteractie. Het heeft dezelfde tools, dezelfde beveiligingsgrenzen, hetzelfde CLAUDE.md-geheugen voor context. Het enige verschil is dat de trigger een timer is in plaats van een gebruikersbericht.
Patronen die echt werken
De geplande-taakpatronen die gebruikers het meest waardevol vinden, vallen doorgaans in een paar categorieën, en ze zijn interessanter dan simpele herinneringen.
De eerste is monitoring. "Controleer deze website elk uur en vertel me als er iets verandert." Dit is verrassend krachtig omdat de agent niet alleen op veranderingen controleert — het begrijpt ze. Een prijsmonitoringtaak meldt niet alleen "de prijs veranderde van €899 naar €749." Het meldt "de vlucht naar Tokyo daalde 17% vannacht — dat is de laagste prijs in de drie weken dat ik het volg. Wil je dat ik blijf kijken of is dit goed genoeg om te boeken?"
De tweede is digestgeneratie. "Elke ochtend, vat de topverhalen samen van deze drie nieuwsbronnen die relevant zijn voor mijn werk in AI-infrastructuur." De agent browst de sites, leest de artikelen, filtert op relevantie op basis van wat het weet over je interesses (uit CLAUDE.md-geheugen) en levert een gepersonaliseerde briefing. Dit vervangt de 30 minuten die je zou besteden aan het scrollen door nieuwsfeeds met een leesmoment van 2 minuten dat al gefilterd is op wat voor jou belangrijk is.
De derde is terugkerende administratieve taken. "Elke maandagochtend, controleer de GitHub-issues van mijn project en vat samen wat nieuw is, wat stilstaat en wat aandacht nodig heeft." De agent gebruikt webbrowsing (of MCP als je de GitHub MCP-server hebt geconfigureerd) om de data op te halen, analyseert het en levert een bruikbare samenvatting. Het is het soort taak dat een mens 15 minuten kost om door GitHub's UI te klikken, maar een agent 30 seconden aan API-aanroepen.
De vierde is deadlinebeheer. "Mijn belastingaangiftedeadline is 15 april. Vanaf 1 maart, herinner me wekelijks. Vanaf 1 april, herinner me dagelijks." De agent stuurt niet zomaar een herinnering — het stuurt een contextuele. "Je belastingdeadline is over 8 dagen. De vorige keer dat we hierover spraken, noemde je dat je nog wachtte op je jaaropgave van je freelance-opdrachtgever. Is die al binnen?"
De architectuur erachter
Het systeem voor geplande taken is bewust eenvoudig — misschien 50 regels code in NanoClaw's kern. Het slaat taken op in een SQLite-tabel met kolommen voor de cron-expressie, de instructietekst, de doelgroep en de laatste uitvoertijd. Een setInterval-lus controleert elke minuut op taken die aan de beurt zijn en start containers voor elke match. Deze eenvoud is opzettelijk. De complexiteit van geplande taken zit niet in de planning — het zit in de uitvoering. Het moeilijke deel van "controleer Hacker News elke ochtend" is niet het draaien van code om 8 uur. Het is een website browsen, artikelen lezen, relevantie beoordelen en een samenhangende samenvatting schrijven. Dat moeilijke deel wordt afgehandeld door Claude in de container, met dezelfde Agent SDK en tools die normale gesprekken afhandelen.
Het alternatief — het bouwen van een geavanceerde taakuitvoeringsengine met retry-logica, dependencybeheer en workflowgrafieken — zou duizenden regels code toevoegen om een probleem op te lossen dat de AI zelf beter afhandelt. Claude weet al hoe het een mislukt webverzoek moet herhalen, hoe het moet omgaan met een website die tijdelijk onbereikbaar is, en hoe het een bruikbaar resultaat moet produceren zelfs wanneer sommige databronnen niet beschikbaar zijn. De planner hoeft het alleen op het juiste moment te triggeren.
Taken beheren via gesprek
Taakbeheer verloopt via dezelfde WhatsApp-interface als al het andere. "Laat mijn geplande taken zien" toont ze. "Annuleer de vluchtprijscontrole" verwijdert het. "Verander de nieuwsdigest naar 7 uur in plaats van 8 uur" werkt het schema bij. "Pauzeer alle taken tot maandag" schort ze tijdelijk op.
De gespreksinterface betekent dat je geen taakbeheer-UI hoeft te leren of cron-syntax hoeft te onthouden. Je beschrijft wat je wilt in natuurlijke taal, en de agent vertaalt het naar een geplande taak. Als het schema ambigu is — "herinner me elke paar dagen" — vraagt de agent om verduidelijking in plaats van te gokken.
Taken zijn afgebakend per WhatsApp-groep, wat betekent dat de taken van je werkgroep niet verschijnen in je gezinsgroep en andersom. Het beheerkanaal (je directe bericht met de assistent) kan alle taken over alle groepen zien en beheren, maar groepsleden zien alleen taken die bij hun groep horen.
De verschuiving van reactief naar proactief
Het systeem voor geplande taken verandert de relatie tussen jou en je AI-assistent op een manier die moeilijk te waarderen is totdat je het een paar weken hebt gebruikt. De assistent stopt met iets te zijn waar je naartoe gaat wanneer je een vraag hebt en wordt iets dat naar jou toekomt wanneer er iets is dat de moeite waard is om te weten.
Je ochtend begint met een gepersonaliseerde nieuwsdigest in plaats van door social media te scrollen. Je project blijft op koers omdat de assistent stilstaande issues naar boven haalt voordat ze problemen worden. Je reisplannen profiteren van continue prijsmonitoring die handmatig vervelend zou zijn. Je deadlines worden beheerd door iets dat context onthoudt en gepast escaleert.
De technische implementatie is eenvoudig — een timerlus en een SQLite-tabel. Maar de gedragsverandering die het mogelijk maakt is significant. Een reactieve assistent is een tool die je gebruikt. Een proactieve assistent is een partner die naast je werkt en de monitoring- en onderhoudstaken afhandelt die belangrijk zijn maar makkelijk te vergeten. Het verschil tussen de twee is vijftig regels planningscode en een AI die capabel genoeg is om nuttig werk te doen zonder precies verteld te worden hoe.