Hoe Je Je Eerste AI-Agent Bouwt in 15 Minuten
Je hebt geen framework, cursus of doctoraat nodig. Je hebt Node.js, de Anthropic SDK en 25 regels TypeScript nodig. Deze tutorial bouwt een echte, werkende agent — een gestructureerde content-samenvatter die je in dezelfde sessie naar Cloudflare kunt deployen. De enige vereiste is een gratis API-sleutel.
Elke woensdag. 28.400+ operators. Geen opvulling.
✓ Controleer je inbox — klik op de bevestigingslink om je aanmelding te voltooien.
✓ Je bent aangemeld!
✓ Je staat al op de lijst.
Inhoudsopgave
Bijgewerkt juni 2026.
TL;DR: Je hebt geen framework, cursus of doctoraat nodig. Je hebt Node.js, de Anthropic SDK en 25 regels TypeScript nodig. Deze tutorial bouwt een echte, werkende agent — een gestructureerde content-samenvatter die je in dezelfde sessie naar Cloudflare kunt deployen. De enige vereiste is een gratis API-sleutel.
[Operator’s blik] Wat ik het vaakst hoor van oprichters die met AI willen automatiseren, is “ik moet eerst meer leren”. Dat hoeft niet. Het agentpatroon is eenvoudig, en de snelste manier om het te begrijpen is er een te bouwen. Hier is precies het pad dat ik zou nemen als ik vandaag vanaf nul zou beginnen.
Waarom de meeste “bouw een AI-agent”-tutorials je in de steek laten
Ze gebruiken óf Python (prima voor ML-engineers, wrijving voor iedereen anders), verbergen de echte code achter een framework zoals LangChain, óf bouwen iets te abstracts om met je echte werk te verbinden.
Deze tutorial doet drie dingen anders:
- Alleen TypeScript — als je ooit JavaScript hebt geschreven, kun je dit volgen
- Geen framework — je ziet elke regel code die het model raakt
- Een nuttige output — je bouwt een gestructureerde samenvatter die je daadwerkelijk kunt gebruiken op klantmails, reviews of vergadernotities
Wat je gaat bouwen
Een content-samenvatter-agent: plak een willekeurig tekstblok en krijg een gestructureerde samenvatting terug in een consistent formaat. Eén HTTP-verzoek erin, één nette samenvatting eruit.
Waarom dit als eerste project: het patroon — systeemprompt + gebruikersinvoer → gestructureerde uitvoer — is de basis van elke agent die ik draai. Verwissel de systeemprompt en je hebt een vraagbeantwoorder, een toonherschrijver, een classifier of een conceptgenerator. Leer dit één keer en je hebt 80% geleerd van wat productieagents daadwerkelijk doen.
Vereisten (2 minuten)
- Node.js 18+ — controleer met
node --version. Installeer indien nodig vanaf nodejs.org. - Een Anthropic API-sleutel — meld je aan bij Claude en haal een sleutel op uit de console. De gratis laag werkt.
- Een terminal en een teksteditor.
Geen Docker. Geen virtuele omgeving. Geen pip install van wat dan ook.
Stap 1: Het project aanmaken (2 minuten)
mkdir my-first-agent && cd my-first-agent
npm init -y
npm install @anthropic-ai/sdk
npm install -D tsx typescriptVoeg een script toe aan package.json zodat je de agent gemakkelijk kunt uitvoeren:
{
"scripts": {
"agent": "tsx agent.ts"
}
}Stap 2: De agent schrijven (5 minuten)
Maak agent.ts aan en plak dit:
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({
apiKey: process.env.ANTHROPIC_API_KEY,
});
const SYSTEM_PROMPT = `You are a precise content summarizer. When given any block of text, return a structured summary in this exact format:
**One-line summary:** <the core point in one sentence>
**Key points:**
- <point 1>
- <point 2>
- <point 3 if applicable>
**Action item (if any):** <one concrete next step, or "None">
Be specific. No filler. Under 150 words total.`;
async function summarize(text: string): Promise<string> {
const message = await client.messages.create({
model: "claude-haiku-4-5",
max_tokens: 512,
system: SYSTEM_PROMPT,
messages: [{ role: "user", content: text }],
});
const block = message.content[0];
if (block.type !== "text") throw new Error("Unexpected response type");
return block.text;
}
const sample = `
Hey team — following up on the Q2 review meeting.
We agreed to push the launch to July 15th instead of June 30th
due to the payment integration delay. Marketing needs the new
landing page copy by June 20th or we can't start the email campaign.
Budget for the launch campaign is confirmed at $8,000.
Please confirm receipt.
`;
const result = await summarize(sample);
console.log(result);Stap 3: Uitvoeren (1 minuut)
ANTHROPIC_API_KEY=sk-ant-... npm run agentVerwachte uitvoer:
**One-line summary:** Launch pushed to July 15th due to payment delay; landing page copy needed by June 20th to unblock email campaign.
**Key points:**
- Launch date moved from June 30th to July 15th
- Landing page copy deadline: June 20th (blocks email campaign)
- Campaign budget confirmed at $8,000
**Action item (if any):** Confirm receipt and deliver landing page copy by June 20th.Dat is een werkende AI-agent. Echte invoer, een aangepaste systeemprompt, gestructureerde uitvoer. Het geheel is 30 regels code.
Stap 4: Pas hem aan voor jouw use case
De systeemprompt is het enige wat deze agent van jou maakt. Hier zijn drie kant-en-klare alternatieven:
Classifier voor klantreviews:
Classify this customer review as POSITIVE, NEGATIVE, or MIXED.
Then extract the main complaint or praise in one sentence.
Format: SENTIMENT: <label>
RESUME: <one sentence>Vergadertranscript → actiepunten:
Extract all action items from this meeting transcript.
Format each as: [OWNER if mentioned] [ACTION] by [DEADLINE if mentioned]
If owner or deadline is not stated, leave those fields blank.
Return a numbered list. No preamble.Toonherschrijver voor social:
Rewrite this text in a direct, confident, first-person tone for LinkedIn.
Remove hedging language ("I think", "maybe", "sort of").
Keep it under 200 words. Return only the rewritten text, no commentary.Elk hiervan is dezelfde agent van 30 regels met een andere systeemprompt. Je hebt geen nieuw project nodig voor elk ervan — werk gewoon SYSTEM_PROMPT bij en voer het opnieuw uit.
Stap 5: Naar productie deployen
Een lokaal script is een prototype. Een productieagent draait volgens een schema of als reactie op gebeurtenissen. Het pad dat ik gebruik: Cloudflare Workers.
Workers zijn gratis tot 100k verzoeken/dag, deployen in seconden en geven je crontriggers, KV-opslag en queues zonder dat je enige infrastructuur hoeft te beheren.
Installeer Wrangler en zet een Worker op:
npm install -g wrangler
wrangler init my-agent-worker --template worker-typescript
cd my-agent-worker
npm install @anthropic-ai/sdkSla je API-sleutel op als een secret (nooit in de code):
wrangler secret put ANTHROPIC_API_KEYVervang src/index.ts door:
import Anthropic from "@anthropic-ai/sdk";
export default {
async fetch(request: Request, env: Env): Promise<Response> {
const { text } = await request.json<{ text: string }>();
const client = new Anthropic({ apiKey: env.ANTHROPIC_API_KEY });
const message = await client.messages.create({
model: "claude-haiku-4-5",
max_tokens: 512,
system: YOUR_SYSTEM_PROMPT,
messages: [{ role: "user", content: text }],
});
const block = message.content[0];
if (block.type !== "text") return Response.json({ error: "Bad response" }, { status: 500 });
return Response.json({ summary: block.text });
},
};Deploy:
wrangler deployJe hebt nu een live API-endpoint op https://my-agent-worker.<your-subdomain>.workers.dev. Roep het aan vanuit Zapier, een Google Sheets-script, een mobiele app — overal vandaan waar een HTTP-verzoek gedaan kan worden.
Wat je vervolgens kunt bouwen
Zodra je het basispatroon werkend hebt, komt complexiteit in drie smaken:
Toolgebruik (tool use) — laat het model beslissen wanneer het externe API’s aanroept. In plaats van altijd dezelfde logica uit te voeren, kiest het model op basis van de invoer welke tool het aanroept. Zo bouw je agents die zoeken, naar databases schrijven of notificaties versturen.
Ketening (chaining) — geef de uitvoer van de ene agent door als invoer van een andere. Een classifier routeert naar een beantwoorder; een samenvatter voedt een vertaler. De meeste agents die ik in productie draai, zijn ketens van twee of drie stappen, geen losse aanroepen.
Crontriggers — voeg [triggers] crons = ["0 8 * * *"] toe aan wrangler.toml en je agent draait volgens een schema. Geen polling, geen altijd-aan server. Zo werkt de contentpijplijn die ik gebruik om deze site te draaien.
Ik heb alle drie de patronen behandeld met volledige TypeScript-code in De agentstack die ik gebruik om 30+ productieagents te draaien — dat artikel pakt op waar dit eindigt.
De operator’s eindconclusie
Het gat tussen “nadenken over het bouwen van een agent” en “een gedeployde agent hebben” is ongeveer 15 minuten en 30 regels code. De systeemprompt is het product — steek je energie daarin, niet in het kiezen van een framework. Als de agent je één uur per week bespaart, is dat 50 uur per jaar. Bouw eerst de eenvoudige versie, kijk of die zijn nut bewijst, en voeg dan pas complexiteit toe wanneer de use case erom vraagt.
Elke woensdag. 28.400+ operators. Geen opvulling.
✓ Controleer je inbox — klik op de bevestigingslink om je aanmelding te voltooien.
✓ Je bent aangemeld!
✓ Je staat al op de lijst.
Ontvang het AI-playbook in je inbox
Elke woensdag. 28.400+ operators. Geen opvulling.
Controleer je inbox.
We hebben je een bevestigingsmail gestuurd — klik op de link om je aanmelding te voltooien. Controleer je spam als je hem niet binnen een minuut ziet.
Je bent aangemeld.
Welkom — de volgende editie valt binnenkort in je inbox.
Je staat al op de lijst — kijk er elke woensdag naar uit.