AI agent bouwen met Claude op een VPS
Ontdek hoe u Claude als brein koppelt aan een eigen VPS. Leer de Messages API, tool use en MCP combineren voor een autonome agent die u volledig in eigen beheer uitvoert.
Wat het bouwen van een agent met Claude inhoudt
Het bouwen van een agent met Claude betekent dat u Claude gebruikt als de kern voor redeneringen, terwijl de lus, de tools en de data op uw eigen server staan. Claude bepaalt wat er moet gebeuren; uw VPS voert dit uit. U stuurt de taak en de huidige status naar Claude, Claude antwoordt met een antwoord of een verzoek om een van uw tools te gebruiken, uw code voert de tool uit en stuurt het resultaat terug, en de lus gaat door totdat de taak is voltooid. De intelligentie is een dienst die u via internet aanroept. Alles daaromheen is van u.
Deze scheiding is de kracht ervan. U beschikt over redeneervermogen van topniveau zonder zelf een model te hoeven draaien, en u behoudt volledige controle over waar de agent toegang toe heeft, omdat de tools op hardware draaien die uw eigendom is. Als u al een eerste Claude-programma heeft gebouwd, behandelt de handleiding voor de eerste Claude-app op een VPS de basis waarop dit artikel voortbouwt.
Claude is het brein: de Messages API
Elke aanroep naar Claude verloopt via één endpoint, de Messages API. U verstuurt het gesprek tot dusver en de lijst met tools die de agent mag gebruiken; Claude stuurt zijn volgende bericht terug. Dat bericht is ofwel een definitief antwoord, ofwel een verzoek om een tool aan te roepen. Voor de zelfbouw-methode bestaat er geen afzonderlijke "agent API": toolgebruik is een functionaliteit van dit ene endpoint, en de lus daaromheen moet u zelf beheren.
Claude is stateless tussen aanroepen, wat betekent dat het uit zichzelf niets onthoudt. Elk verzoek bevat het volledige gesprek. Uw code houdt de geschiedenis bij en verstuurt deze bij elke beurt, wat de reden is waarom elke beurt in een lange sessie meer tokens kost dan de vorige. Dat is minder een beperking dan een ontwerpkeuze: omdat de status op uw server leeft, bepaalt u precies wat Claude ziet, en wordt er niets over de taak opgeslagen op een plek waar u geen controle over heeft. Het betekent wel dat de prompt blijft groeien, en hoewel het contextvenster van Claude dat comfortabel opvangt, zal een lokaal model in dezelfde lus dat niet doen. Dat is waarom Ollama num_ctx moet worden verhoogd voordat het stopt met het afkappen van lange prompts.
Het gebruik van tools is de agent-loop
De agent-loop met Claude is eenvoudig te beschrijven. U verstuurt een verzoek waarin uw tools zijn opgenomen. Claude leest de taak en, indien actie vereist is, antwoordt met een verzoek om een tool te gebruiken, waarbij de naam van de tool en de bijbehorende invoer worden gespecificeerd. Uw code voert die tool uit en stuurt het resultaat vervolgens in het volgende verzoek terug naar Claude. Claude leest het resultaat en vraagt ofwel om een andere tool, of schrijft het definitieve antwoord. Wanneer er niet langer om tools wordt gevraagd, is de taak voltooid.
U kunt deze loop handmatig in enkele regels schrijven, wat veel mensen ook doen, omdat het proces inzichtelijk en eenvoudig te controleren is. De officiële SDK's bieden ook een tool runner die de loop voor u aanstuurt: u levert de tool-functies aan, en de SDK regelt de interactie door Claude aan te roepen, uw tools uit te voeren en de resultaten terug te koppelen totdat Claude klaar is. In beide gevallen is de structuur identiek. De runner bespaart u enkel het zelf schrijven van de loop. Als de loop nog abstract aanvoelt, is de oplossing om een minimale versie te schrijven voordat u een runner gebruikt; dit is de stap waar alles in dit stapsgewijze pad voor het vanaf nul leren bouwen van AI-agents op voortbouwt.
Drie manieren om te bouwen, en welke geschikt zijn voor een VPS
Er zijn drie manieren om een Claude-agent te bouwen, en ze verschillen in de hoeveelheid infrastructuur die u zelf beheert.
De eerste is uw eigen code die de Claude API aanroept met uw eigen tools. U schrijft de loop, of gebruikt de tool runner van de SDK, en u host het geheel op uw VPS. Dit is de meest gekozen optie, omdat u volledige controle heeft over de tools, de data en de beveiliging, en het draait als een standaardprogramma op uw server. Het grootste deel van deze handleiding gaat uit van deze aanpak.
De tweede is de Claude Agent SDK. Dit is Claude Code, de coding agent, verpakt als een bibliotheek waarop u kunt voortbouwen. Het bevat een volledige agent-loop en ingebouwde tools voor het lezen en schrijven van bestanden, het uitvoeren van shell-commando's en het zoeken, zodat u deze niet vanaf nul hoeft samen te stellen. Het draait ook op uw eigen server, wat het zeer geschikt maakt voor een VPS wanneer u een capabele file-and-shell agent wilt zonder zelf het raamwerk te hoeven bouwen. Een agent die bestanden leest en shell-commando's uitvoert, heeft beveiliging nodig voordat deze onbeheerd kan werken, en veilig Claude Code draaien op een server behandelt het permissiesysteem, de sandbox en de isolatie-opties.
De derde is Managed Agents, waarbij Anthropic de loop uitvoert. Standaard worden de tools van de agent uitgevoerd in een sandbox die door Anthropic wordt gehost, waardoor de werkomgeving van de agent zich op de infrastructuur van Anthropic bevindt in plaats van op uw VPS. Sinds 11 oktober 2026 is er een self-hosted sandbox-optie, nog in bèta, waarmee een worker-proces op uw eigen server de tool-aanroepen kan uitvoeren terwijl de loop bij Anthropic blijft. Kies voor Managed Agents wanneer u zo min mogelijk operationeel werk wilt en het niet nodig is dat de loop zelf op uw eigen machine draait. Voor de andere twee is uw server de thuisbasis van de volledige agent, en daar gaat de rest van deze handleiding over.
Tools verbinden met MCP
Welk pad u ook kiest, u zult de agent willen verbinden met echte systemen, en het Model Context Protocol is de gestructureerde manier om dit te doen. MCP is een open standaard voor het ontsluiten van tools en data aan een agent. In plaats van voor elke service handmatig een integratie te schrijven, wijst u Claude naar een MCP-server die deze mogelijkheden al als tools aanbiedt. U kunt MCP-servers draaien als kleine services op dezelfde VPS, elk met alleen de toegang die nodig is, wat ik behandel in het draaien van MCP-servers op een VPS.
Het kiezen van een model
Claude is beschikbaar in verschillende modellen, waarbij de keuze een afweging is tussen capaciteit, snelheid en kosten. Per 11 oktober 2026 bestaat het huidige aanbod uit Claude Opus 5.5 (claude-opus-5-5), dat Anthropic aanbeveelt als startpunt voor de meeste workloads en voor langlopende agent-gebaseerde programmeertaken en kenniswerk; Claude Sonnet 5.5 (claude-sonnet-5-5), een gebalanceerde optie die goedkoper en sneller is; en Claude Haiku 5.5 (claude-haiku-5-5), het snelste en goedkoopste model voor eenvoudige, grootschalige taken. Daarboven staat Claude Fable 5.1 (claude-fable-5-1), het krachtigste model dat beschikbaar is voor alle klanten, bedoeld voor complexe redeneertaken en langdurig agent-gebaseerd werk. Oudere modellen zoals Claude Opus 4.8 en Claude Fable 5 zijn nog steeds beschikbaar, maar worden nu als legacy aangemerkt. Gebruik de exacte model-identifier in uw code, zonder toevoeging van een datum.
Een praktische methode is om modellen te combineren. Laat een goedkoper model routinematige tool-aanroepen afhandelen en een krachtiger model de complexe beslissingen nemen. Omdat het model slechts een string in uw verzoek is, is wisselen een wijziging van één regel. Begin daarom met een krachtig standaardmodel en schaal af waar snelheid of kosten belangrijker zijn dan de laatste procenten aan kwaliteit.
Draai het als een beveiligde service op uw VPS
Een agent is alleen nuttig als deze blijft draaien, en is alleen veilig als deze is ingesloten. Op een VPS bereikt u beide door de agent te draaien als een beveiligde systeemservice in plaats van als een programma dat u handmatig in een terminal start. Als service start het programma bij het opstarten, herstart het bij een crash en schrijft het logs naar de journal. In de beveiligde modus draait het als een gebruiker zonder privileges met alleen de noodzakelijke toegang, waardoor de impact van een bug of een foutieve instructie beperkt blijft. Een service-unit kan beperken wat het proces mag aanraken en hoeveel geheugen, CPU en taken het mag gebruiken, maar het kan niet beoordelen wat de agent met die toegang besluit te doen. De rest hoort daarom thuis in de agent-harness zelf; dit is de taak die de DeepSeek Harness-plugins die de moeite waard zijn om te installeren op een andere stack uitvoeren: uitgavenlimieten, toegangsregels per tool en het scannen op prompt-injectie.
De belangrijkste regel is om uw Claude API key aan de serverzijde te houden. De key betaalt voor en autoriseert elke aanroep, dus deze hoort in een bestand dat alleen leesbaar is voor de gebruiker van de agent, geladen in de service als een omgevingsvariabele, en mag nooit in code, in een repository of op een plek waar een browser bij kan, worden geplaatst. Genereer hier een volledige, beveiligde service-unit voor uw agent:
Voltooi daarna de server zelf. Gebruik uitsluitend SSH-keys en beveilig het account van waaruit u beheert, zoals beschreven in SSH-beveiliging op een VPS. Als u de agent liever vanuit een interactieve sessie aanstuurt terwijl u deze opbouwt, is Claude Code draaien op een VPS met tmux een goed hulpmiddel. Zodra u een tweede sessie op dezelfde machine heeft geopend, kunnen de twee onderling werk uitwisselen in plaats van dat u elke instructie van het ene naar het andere venster moet overbrengen. En als u de concepten achter dit alles wilt begrijpen, zonder deze aan één specifiek model te koppelen, legt de zustergids over het bouwen van uw eigen AI-agent op een VPS de fundamenten uit.
Als u op zoek bent naar een terminal-gebaseerde programmeerassistent, behandelt het draaien van een AI-programmeeragent op een VPS Aider en Goose.
FAQ
Welk Claude-model moet ik gebruiken om een agent te bouwen?
Begin met Claude Opus 5.5 (claude-opus-5-5), wat Anthropic aanbeveelt voor de meeste workloads, en pas dit naar behoefte aan. Claude Sonnet 5.5 (claude-sonnet-5-5) is goedkoper en sneller voor het meeste werk, Claude Haiku 5.5 (claude-haiku-5-5) is het meest geschikt voor eenvoudige stappen met een hoog volume, en Claude Fable 5.1 (claude-fable-5-1) is het meest capabel voor de zwaarste taken. Een veelgebruikt patroon is om een goedkoper model te gebruiken voor routinematige stappen en een krachtiger model voor complexe beslissingen, aangezien wisselen slechts een wijziging van één regel code vereist.
Draai ik de volledige agent op mijn VPS, of doet Anthropic dat?
Dit hangt af van de gekozen aanpak. Als u uw eigen loop schrijft tegen de Claude API, of de Claude Agent SDK gebruikt, draait de agent volledig op uw VPS en gaan alleen de model-aanroepen naar Anthropic. Als u Managed Agents gebruikt, draait Anthropic de loop en host het standaard de sandbox waar tools worden uitgevoerd, waardoor er minder op uw server draait; een self-hosted sandbox-optie, in bèta sinds 11 oktober 2026, verplaatst de uitvoering van tools naar uw eigen machine terwijl de loop bij Anthropic blijft. Gebruik een van de eerste twee opties voor een agent die volledig op uw eigen machine draait.
Wat is het verschil tussen de Claude API en de Claude Agent SDK?
De Claude API is het ruwe Messages-eindpunt: u verstuurt een conversatie en tools, en u schrijft zelf de agent-loop eromheen, of u gebruikt de tool runner van de SDK om deze aan te sturen. De Claude Agent SDK is een bibliotheek op een hoger niveau, Claude Code verpakt om op voort te bouwen, die een volledige loop en ingebouwde tools voor bestanden, shell en zoekopdrachten bevat. Gebruik de API wanneer u alles zelf wilt definiëren, en de Agent SDK wanneer u een capabele agent wilt zonder zelf de infrastructuur te hoeven bouwen.
Hoe houd ik mijn Claude API-sleutel veilig op een server?
Houd deze aan de serverzijde en buiten uw code. Sla de sleutel op in een bestand dat alleen leesbaar is voor het account waaronder de agent draait, laad deze in de service als een omgevingsvariabele, en commit deze nooit naar een repository of stel deze bloot aan een browser. Omdat elk verzoek aan Claude vanaf uw server komt, hoeft de sleutel nooit het apparaat van een gebruiker te bereiken, wat een server-gebaseerde agent eenvoudiger te beveiligen maakt dan een agent die in een client-applicatie is ingebed.
Moet ik zelf een model hosten om een agent met Claude te bouwen?
Nee. Bij Claude is het model een gehoste service die u aanroept via de API, dus er hoeft niets op een GPU te draaien. Uw VPS draait de agent-loop, de tools en de data, en het redeneren vindt plaats aan de kant van Anthropic. Dit stelt een bescheiden server in staat om een capabele agent te draaien. Als u in plaats daarvan een volledig lokaal model wilt, is dat het self-hosted pad dat wordt behandeld in de bijbehorende handleiding over het bouwen van uw eigen AI-agent.