Alejandro Rioja.
AI Agents

Hoe Je Je Eerste AI-Agent Bouwt in 15 Minuten

Alejandro Rioja
Alejandro Rioja
6 min lezen
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.

Gratis nieuwsbrief

Elke woensdag. 28.400+ operators. Geen opvulling.

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:

  1. Alleen TypeScript — als je ooit JavaScript hebt geschreven, kun je dit volgen
  2. Geen framework — je ziet elke regel code die het model raakt
  3. 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)

Geen Docker. Geen virtuele omgeving. Geen pip install van wat dan ook.

Stap 1: Het project aanmaken (2 minuten)

bash
mkdir my-first-agent && cd my-first-agent
npm init -y
npm install @anthropic-ai/sdk
npm install -D tsx typescript

Voeg een script toe aan package.json zodat je de agent gemakkelijk kunt uitvoeren:

json
{
  "scripts": {
    "agent": "tsx agent.ts"
  }
}

Stap 2: De agent schrijven (5 minuten)

Maak agent.ts aan en plak dit:

typescript
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)

bash
ANTHROPIC_API_KEY=sk-ant-... npm run agent

Verwachte uitvoer:

code
**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:

code
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:

code
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:

code
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:

bash
npm install -g wrangler
wrangler init my-agent-worker --template worker-typescript
cd my-agent-worker
npm install @anthropic-ai/sdk

Sla je API-sleutel op als een secret (nooit in de code):

bash
wrangler secret put ANTHROPIC_API_KEY

Vervang src/index.ts door:

typescript
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:

bash
wrangler deploy

Je 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.

Lees verder

Ontvang het AI-playbook in je inbox

Elke woensdag. 28.400+ operators. Geen opvulling.

↵ alle resultaten bekijken esc esc om te sluiten