Ga naar hoofdinhoud
50% korting alle plannen, beperkte tijd. Vanaf $2.48/mo
11 min left
AI en machine learning

Ik draai mijn AI-agents 24/7 op een server van $5. Mijn Mac slaapt.

S Door Steve 11 min leestijd
A closed MacBook on a desk beside a small always-on server, with a glowing link running between them and the headline Leave Your Mac Alone, Use a $5 VPS for Your AI Agents

De laatste keer dat ik een nachtelijke agentrun kwijtraakte, crashte er niets. Geen enkele fout. Ik had een lange migratie gestart op een repo die ik maandenlang had ontweken, keek hoe hij zich door het saaie begin worstelde en klapte toen de laptop dicht omdat mijn dag erop zat. De volgende ochtend klapte ik hem weer open in een koffiebar. De sessie was weg. Niet mislukt. Gestopt, ergens halverwege, met een half afgemaakte branch en geen enkel spoor van wat hij daarna zou gaan doen.

En ik had de fix al toegepast. Dát is wat me pakte.

Dit gaat dus over waarom die fix nooit ging werken, en over de extreem saaie gehuurde machine die het werk in plaats daarvan doet. Daarop draai ik nu mijn AI-agents 24/7, en over de energie-instellingen van mijn laptop denk ik helemaal niet meer na.

De fix die iedereen aanraadt

Drie macOS-slaappaden vergeleken: caffeinate kan de timer voor inactiviteitsslaap tegenhouden, het normaal dichtklappen van het deksel is een aparte trigger die toch geforceerde slaap veroorzaakt, en disablesleep inschakelen houdt de Mac wakker met gesloten deksel, ten koste van batterijverbruik en warmte als het apparaat wordt weggestopt.

caffeinate -dimsu. Of een menubalk-app met een koffiekopje als icoon. Of, als je verder hebt gegraven, sudo pmset -a disablesleep 1, oftewel de nucleaire optie en degene die opduikt in het meest zelfverzekerd klinkende advies. Die heb ik uitgevoerd. Het voelde alsof ik het probleem had opgelost.

macOS heeft meer dan één manier om in slaap te vallen, en de twee die hier tellen staan los van elkaar: inactiviteitsslaap is een timer die afloopt als er niets gebeurt, terwijl het dichtklappen van het deksel normaal gesproken via een apart pad geforceerde slaap veroorzaakt. Wat caffeinate aanmaakt, is een set power assertions, en de caffeinate-referentie van ss64 laat zien dat zijn flags schermslaap, inactiviteitsslaap, schijfslaap en systeemslaap afdekken. Apple's documentatie over energiebeheer maakt het belangrijke onderscheid: een assertion voor inactiviteitsslaap overschrijft nog steeds geen normale sluiting van het deksel, het Apple-menu of een lage batterij.

Tools die je machine wakker houden werken dus wél op de slaapcondities waarvoor ze gebouwd zijn. Maar het normaal dichtklappen van het deksel is een ander probleem, en caffeinate is geen serverstrategie met gesloten deksel.

Opmerking: disablesleep is het vreemde geval. Het komt helemaal niet voor in de standaard referentie van pmset-opties . De fix waar mensen naar grijpen is een niet-gedocumenteerde instelling. Het is geen power assertion. Hij kan een MacBook wakker houden met gesloten deksel, ook op batterij, totdat je hem weer uitzet of de batterij leeg is.

Een laptop heeft de verkeerde vorm voor een 24/7-taak

Er was een periode in de jaren negentig waarin mensen productiewebservers draaiden op desktoptowers onder iemands bureau, en iedereen in het gebouw leerde om niet tegen de stekkerdoos te schoppen. Dat hebben we niet opgelost met een bordje op de stekkerdoos. We hebben het opgelost door de werklast te verplaatsen naar een machine wier enige taak was om stil te staan en aan de stroom te blijven.

Hetzelfde soort probleem, dertig jaar later. Een MacBook is een machine die ontworpen is om dichtgeklapt en meegenomen te worden. Dat is geen bug in het energiebeheer. Dat ís het product. Elke wakkerhoud-fix is een discussie met een ontwerpbeslissing die iemand bewust heeft genomen, en die discussie kun je een tijdje winnen, ten koste van er voor altijd aan te moeten denken.

Je kunt verder gaan en de slaapstand helemaal uitschakelen. Gefeliciteerd: je bezit nu een permanent draaiende server met een batterij erin, plus een systeembrede instelling die je moet onthouden terug te draaien voordat de laptop in een tas gaat. De eerste haastige inpakbeurt stopt de run niet. Hij laat de machine wakker achter, batterij leegtrekkend en warmte opbouwend precies waar je dat echt niet wilt.

Nieuw is dit allemaal ook niet. Zelfgehoste agent-daemons lopen om dezelfde reden tegen dezelfde muur aan: ze moeten draaien wanneer je niet aan je bureau zit, wat de laptop uitsluit voordat je ook maar iets hebt geconfigureerd. Dat geldt al een tijd voor deze categorie. Het had me alleen nog geen nacht werk gekost.

Je agent denkt niet op die machine

Een kleine VPS draait de agent-CLI, de repo en bestanden, contextopbouw, tooluitvoering en sessiestatus als een CPU- en RAM-belasting zonder lokaal model, en wisselt API-verzoeken en modelantwoorden uit met een gehost AI-model dat de inferentie elders op GPU- en acceleratorrekenkracht afhandelt.

De eigen systeemvereisten van Claude Code vragen om 4 GB or more of RAM and an x64 or ARM64 processor. Dat is de hardwareregel, in zijn geheel. Geen GPU-regel. Geen VRAM-regel. Helemaal niets over een model, want er staat er geen op jouw machine.

Het heeft me beschamend lang gekost om dit te laten bezinken, en het is de reden dat de prijs ophoudt verdacht te klinken. Het agentproces op jouw machine doet drie dingen: context samenstellen en als API-aanroepen versturen, de gespreksstatus tussen beurten bewaren, en de tools uitvoeren waar het model om vraagt. Dat is coördinatiewerk. (Ik bleef in dit verhaal naar de GPU zoeken. Er is geen GPU in dit verhaal.) Het dure deel, het deel dat een rek vol accelerators wil, gebeurt in het datacenter van iemand anders.

De agent denkt niet op die machine. Hij belt iets op dat dat wel doet.

Daarom kost een machine die dit kan wat hij kost. Eind augustus 2026 is DigitalOceans goedkoopste Basic Droplet $4 per maand voor 512 MiB en één vCPU, en begint Vultrs Cloud Compute-ladder bij $2,50 voor een instance van 512 MB met alleen IPv6 en bereikt $5 bij 1 GB. Twee aanbieders, dezelfde vorm van bodem. Beide onderste sporten liggen onder de 4 GB uit die vereistenregel, en de plannen in de $5-klasse ook. Draai je specifiek Claude Code, dan is 4 GB de gepubliceerde ondergrens. Het goedkope uiteinde werkt alleen als de agent die je daadwerkelijk draait lagere eisen stelt.

Eén afbakening, want dit misverstaan kost geld: dit geldt voor agents die een gehost model aanroepen. Wil je een model dat lokaal draait op hardware die van jou is, dan gaat hier niets van op. Een machine met een gigabyte RAM draait geen model waarmee je zou willen programmeren.

De machine is goedkoop omdat het dure deel ergens anders gebeurt.

Wat een Mac mini kost, en wat je ervoor krijgt

Een Mac mini kost nu $899, en je kunt er pas op 22 september een krijgen. De basisconfiguratie met M6 (12-core CPU, 12-core GPU, 16 GB geheugen, 256 GB opslag) is te pre-orderen en wordt op die dag verzonden; het lanceerartikel van TechCrunch noemt het bedrag. Apple biedt er niets onder aan.

Bij dat bedrag loont het even stil te staan. Dezelfde 16 GB, dezelfde 256 GB: die geheugen-en-opslagconfiguratie kwam in oktober 2024 uit voor $599. Anderhalf keer zoveel voor de basis-Mac mini, binnen twee jaar. Daartussen zat een stap van $799, toen Apple in mei 2026 stopte met de 256 GB-configuratie en de instapprijs meebewoog. Dat is de bodem waarop het koop-hem-gewoon-argument staat, en die bodem blijft schuiven.

De andere kant heeft meer in zijn voordeel dan me lief is. Het apparaat is helemaal van jou, met restwaarde en zonder maandelijkse regel. Stroom valt in rust nauwelijks op: Apple publiceert 4 W in rust voor de M4-configuratie, wat neerkomt op ongeveer $6,40 per jaar bij de gemiddelde Amerikaanse consumentenprijs voor elektriciteit van juni 2026. Echte workloads trekken meer, dus ik ga niet doen alsof 4 W het bedrijfsgetal is. En gehuurde rekenkracht is alleen goedkoop onderaan de ladder. Dezelfde DigitalOcean-lijst die op $4 begint, eindigt op $96 per maand voor een machine met 16 GB, en drie jaar daarvan kost een veelvoud van de Mac mini.

Dus ja. Als de vraag is wat een bepaalde hoeveelheid rekenkracht kost om te bezitten versus te huren over drie jaar, koop dan de Mac mini. Die vraag heeft een antwoord en het is niet het antwoord waar ik voor pleit.

Twee dingen die een Mac mini je oplevert en die de vergelijking veranderen. Het eerste is macOS zelf: een agent die daar draait, kun je via macOS-automatisering en app-rechten koppelen aan Notities, Berichten, Opdrachten, Agenda en Herinneringen. Een headless Linux-machine heeft die lokale apps niet. Als het werk van jouw agent bestaat uit omgaan met die apps, is de Mac mini de juiste machine en ik zal niet doen alsof dat anders is.

Het tweede is lokale inferentie, waar veel snel geheugen naast een snelle chip echt sterke waarde biedt en geen enkele goedkope VPS kan meekomen. De reageerders in een Hacker News-draadje dat hier precies over gaat brengen dat goed naar voren en ik denk dat ze gelijk hebben. Het is alleen een andere vraag dan de mijne.

Geen van beide is een oplossing voor een laptop die dichtgaat. Een desktop kopen zodat een laptop niet in slaap valt, is hardware kopen om een topologieprobleem op te lossen.

Wat er veranderde nadat ik het verhuisde

Ik ben een paar weken vergeten dat het bestond. Dat is de review.

Ik heb hem opgestart, de agent erheen verhuisd, een paar keer gecontroleerd omdat ik hem nog niet vertrouwde, en toen ben ik gestopt met controleren. Runs lopen af. Het deksel heeft nergens meer iets mee te maken. Mijn Mac slaapt nu, en dat is precies wat ik van een laptop wil.

De wrijving is echt, dus hier is hij. Ik ben de lokale machine kwijt: alles wat de agent deed door mijn eigen desktop aan te raken, kan hij nu niet meer, en dat brak twee kleine workflows die ik zonder nadenken had gebouwd. Er is nu een server, met SSH erop, een firewall ervoor en een distributie die updates wil, en dat is een kleine permanente belasting op mijn aandacht. Wie je vertelt dat een gehuurde machine nul onderhoud kost, slaat een stap over. En hij is goedkoop omdat de inferentie op afstand gebeurt: de dag dat ik er iets lokaal op wil draaien, is het goedkope niveau niet langer het bedrag.

Een agent die je direct in een SSH-shell start, kan sterven zodra die verbinding wegvalt. Start hem eerst binnen een persistente sessie. tmux is het standaardantwoord, en sessies levend houden op een externe machine geeft de details.

Dan de scherpste tegenwerping die hierop komt: is een gehuurde machine niet een slechter thuis voor een agent dan hardware die je fysiek bezit? Voor een operator-achtige agent met toegang tot je persoonlijke bestanden: terecht. Voor een codeeragent is een VPS die je met rootrechten beheert en met een firewall die je zelf hebt ingesteld, een ander risicoprofiel dan een agentdienst die je breed blootstelt aan het publieke internet. Het blijft een virtuele machine op andermans hardware, en alles wat je vanaf internet bereikbaar laat, hoort nog steeds bij je aanvalsoppervlak. En het deel dat je controle verlaat, de API-aanroep die je code naar een modelaanbieder meeneemt, vertrekt sowieso. Mac of Linux, die vertrouwensgrens is dezelfde.

Wat ik wilde was een machine waar ik niet meer om hoefde te geven. Opstarten, dichttimmeren, de agent erop zetten, vergeten. Als je er een opzet: een simpele Linux-VPS is alles wat deze werklast vraagt, en de onze geeft je root via SSH een minuut nadat je een regio en een distributie hebt gekozen. Ongeveer het ceremonieel dat dit verdient.

Bekijk Linux-plannen

Bouw op een Linux VPS met root-toegang, NVMe en AMD EPYC-kracht.

Bekijk Linux-plannen

Wat ik zou zeggen tegen iemand die vandaag begint

Drie dingen, en dan ben ik klaar.

Wat ik nu draai: één kleine gehuurde Linux-machine, een gigabyte of twee RAM, één vCPU, NVMe-opslag, in een regio bij mij in de buurt. Dat is wat mijn werklast nodig heeft; publiceert jouw agent een hogere ondergrens, gebruik die dan. Erop: de agent-CLI, tmux, een firewall, onbeheerde updates. Hij krijgt ongeveer evenveel aandacht van mij als mijn router.

Het advies, voor wat het waard is: zet de agent op de goedkoopste machine die aan zijn gepubliceerde eisen voldoet voordat je iets koopt. Niet als permanent besluit. Als test. Binnen een week weet je of je werklast API-orkestratie is, in welk geval je klaar bent en zojuist $899 hebt gehouden, of dat hij echt eigen hardware nodig heeft.

Het enige wat ik niet opnieuw zou doen: wekenlang aan energiebeheer sleutelen. Ik probeerde caffeinate, daarna een menubalk-app, daarna disablesleep, daarna een geplande wekker, en behandelde elke mislukking als een configuratiebug die ik nog niet had gevonden. Dat was het niet. Het teken lag er zo: elke fix maakte de machine een beetje slechter in het zijn van een laptop. Een nacht werk verliezen was een dure manier om dat op te merken.

Veelgestelde vragen

Houdt Caffeinate een Mac wakker als het deksel dicht is?

Nr. caffeinate gebruikt power assertions om slaapcondities zoals inactiviteitsslaap en schermslaap tegen te houden. Apples eigen documentatie over die assertion zegt dat het systeem alsnog in slaap kan gaan door het sluiten van het deksel, het Apple-menu of een lage batterij. Het normaal dichtklappen van het deksel veroorzaakt geforceerde slaap, die deze assertions niet tegenhouden, en daarom werken wakkerhoud-tools betrouwbaar tot precies het moment waarop het deksel dichtgaat.

Hoeveel RAM heeft een AI-codeeragent nodig op een server?

Minder dan de meeste mensen verwachten, want het model draait er niet op. De gepubliceerde systeemvereisten van Claude Code vragen om 4 GB RAM of meer en een x64- of ARM64-processor, zonder GPU-eis, omdat de inferentie op de hardware van de modelaanbieder plaatsvindt. De ondergrens wordt bepaald door het gereedschap van de agent zelf (je checkout, je buildstappen, je taalruntime), niet door het model.

Is een Mac mini goedkoper dan drie jaar een server huren?

Dat hangt af van hoeveel machine je nodig hebt. Onderaan de huurmarkt kost drie jaar van een kleine machine een fractie van een Mac mini, die nu begint bij $899 voor de basis-M6-configuratie, met verzending op 22 september. Klim de ladder op en gekochte hardware wint, omdat de aanschafprijs ophoudt en de maandrekening niet. Hoe dan ook beantwoordt dat een kostenvraag, niet de vraag waar de altijd-aan werklast van een draagbare machine hoort te wonen.

Wat houdt een agentsessie draaiende nadat ik de verbinding met de server verbreek?

Een terminal-multiplexer. Start de agent binnen een tmux (of screen)-sessie op de server en koppel los; hij blijft draaien nadat je SSH-verbinding wegvalt, en je koppelt later vanaf elke plek weer aan. Zonder zo'n sessie kan het sluiten van je terminal een proces doden dat rechtstreeks aan die shell hangt, waarmee je op een server precies het probleem reproduceert waarvoor je de laptop verliet.

Delen

Discussie

Reacties

Log in om mee te praten.

Meer van de blog

Blijf lezen.

Klaar om uit te rollen? Vanaf $2,48/mnd.

Onafhankelijke cloud, sinds 2008. AMD EPYC, NVMe, 40 Gbps. 14 dagen niet-goed-geld-terug.