ai-agenttutorialautomatiseringno-code

AI agent maken: stap-voor-stap gids

16 januari 202614 min leestijdDoor Albert Barth

AI Agent Maken: Complete Stap-voor-Stap Gids [2025]

Wil je zelf een AI agent bouwen? In deze uitgebreide gids nemen we je mee door het complete proces - van concept tot werkende automatisering. Of je nu developer bent of geen regel code kunt schrijven, na dit artikel weet je precies hoe je aan de slag kunt.

Waarom Zou Je een AI Agent Maken?

Voordat we in de techniek duiken, is het belangrijk om te begrijpen waarom AI agents zo waardevol zijn:
Tijdsbesparing: Een AI agent kan in seconden doen waar jij uren voor nodig hebt. Emails beantwoorden, data analyseren, rapporten genereren - allemaal automatisch.
Consistentie: Mensen maken fouten, vooral bij repetitieve taken. Een agent levert elke keer dezelfde kwaliteit.
Schaalbaarheid: Eén agent kan duizenden taken tegelijk afhandelen. Geen extra personeel nodig.
24/7 Beschikbaarheid: Je agent slaapt nooit. Klanten krijgen altijd antwoord, ook om 3 uur 's nachts.

Wat Heb Je Nodig om te Beginnen?

Essentiële Vereisten

  1. Een duidelijk doel - Wat moet je agent precies doen?
  2. Toegang tot een LLM - OpenAI, Anthropic, of open-source
  3. Een platform - No-code tool of development framework
  4. API keys - Voor de diensten die je agent moet gebruiken

Optioneel maar Handig

  • Basis begrip van APIs en JSON
  • Een testomgeving
  • Budget voor API kosten (~€20-50/maand om te starten)

Methode 1: AI Agent Maken met No-Code Tools

De snelste manier om te beginnen is met no-code platforms. Geen programmeerkennis vereist.

n8n: De Allrounder

n8n is een open-source workflow automation platform met krachtige AI mogelijkheden.
Waarom n8n?
  • Visuele drag-and-drop interface
  • 400+ integraties beschikbaar
  • Self-hosted of cloud optie
  • Gratis tier beschikbaar
  • Actieve community
Stap 1: Installatie
# Self-hosted met Docker
docker run -it --rm --name n8n -p 5678:5678 n8nio/n8n

# Of gebruik n8n cloud: https://n8n.io
Stap 2: Maak je eerste workflow
  1. Open n8n in je browser (localhost:5678)
  2. Klik "Add workflow"
  3. Voeg een "Webhook" trigger toe
  4. Voeg een "OpenAI" node toe
  5. Configureer je API key
  6. Verbind de nodes
Stap 3: Configureer de AI node
Stel de OpenAI node in als "Agent":
  • Model: gpt-4o of gpt-4-turbo
  • System Message: Je agent instructies
  • Tools: Welke acties mag de agent uitvoeren
Voorbeeld System Message:
Je bent een klantenservice medewerker voor TechShop.

Je taken:
- Beantwoord vragen over producten
- Help met bestellingen tracken
- Verwerk retourverzoeken

Je hebt toegang tot:
- Productdatabase (search_products)
- Bestelstatus (check_order)
- Ticket systeem (create_ticket)

Antwoord altijd vriendelijk en professioneel in het Nederlands.
Maximaal 3 zinnen per antwoord tenzij meer detail nodig is.

Flowise: Specifiek voor LLM Workflows

Flowise is een drag-and-drop tool speciaal gebouwd voor LangChain workflows.
Installatie:
npm install -g flowise
npx flowise start
Voordelen:
  • Optimaal voor chatbots en agents
  • Ingebouwde LangChain componenten
  • Makkelijk te deployen
  • Goede documentatie
Agent bouwen in Flowise:
  1. Sleep een "ChatOpenAI" node naar het canvas
  2. Voeg "Agent" node toe
  3. Verbind tools (Calculator, WebBrowser, etc.)
  4. Voeg "Memory" toe voor context
  5. Test in de ingebouwde chat

Make (voorheen Integromat)

Make is populair voor business automation en heeft nu ook AI capabilities.
Use case: Email triage agent
  1. Trigger: Nieuwe email ontvangen
  2. AI Analyse: Categoriseer email (support, sales, spam)
  3. Actie: Route naar juiste persoon/systeem
  4. Respons: Stuur automatische bevestiging

Methode 2: AI Agent Maken met Python (LangChain)

Voor meer controle en complexere agents is Python met LangChain de standaard.

Setup

# Maak virtual environment
python -m venv agent-env
source agent-env/bin/activate  # Mac/Linux
# of: agent-env\\Scripts\\activate  # Windows

# Installeer dependencies
pip install langchain langchain-openai python-dotenv

Je Eerste Agent

from langchain_openai import ChatOpenAI
from langchain.agents import create_openai_tools_agent, AgentExecutor
from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder
from langchain_community.tools import DuckDuckGoSearchRun
from langchain_core.tools import tool

# 1. Definieer tools
@tool
def calculate(expression: str) -> str:
    """Bereken een wiskundige expressie. Input moet een geldige expressie zijn."""
    try:
        return str(eval(expression))
    except Exception as e:
        return f"Fout: {str(e)}"

search = DuckDuckGoSearchRun()

tools = [calculate, search]

# 2. Maak de LLM connectie
llm = ChatOpenAI(model="gpt-4o", temperature=0)

# 3. Definieer de prompt
prompt = ChatPromptTemplate.from_messages([
    ("system", """Je bent een behulpzame assistent die:
    - Vragen kan beantwoorden
    - Berekeningen kan uitvoeren
    - Online kan zoeken voor actuele informatie
    
    Gebruik de beschikbare tools om de gebruiker zo goed mogelijk te helpen.
    Antwoord altijd in het Nederlands."""),
    MessagesPlaceholder(variable_name="chat_history", optional=True),
    ("human", "{input}"),
    MessagesPlaceholder(variable_name="agent_scratchpad"),
])

# 4. Bouw de agent
agent = create_openai_tools_agent(llm, tools, prompt)
agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)

# 5. Run de agent
result = agent_executor.invoke({
    "input": "Wat is 15% van 847 euro? En wat is het laatste nieuws over AI?"
})
print(result["output"])

Custom Tools Bouwen

De kracht van agents zit in de tools. Hier een voorbeeld van een custom tool:
from langchain_core.tools import tool
import requests

@tool
def get_weather(city: str) -> str:
    """Haal het huidige weer op voor een stad. Geef de stadsnaam in het Engels."""
    api_key = "jouw-api-key"
    url = f"https://api.openweathermap.org/data/2.5/weather?q={city}&appid={api_key}&units=metric&lang=nl"
    
    response = requests.get(url)
    if response.status_code == 200:
        data = response.json()
        temp = data["main"]["temp"]
        desc = data["weather"][0]["description"]
        return f"Het weer in {city}: {temp}°C, {desc}"
    return f"Kon weer niet ophalen voor {city}"

@tool
def send_email(to: str, subject: str, body: str) -> str:
    """Verstuur een email. Parameters: to (email adres), subject (onderwerp), body (inhoud)."""
    # Implementeer je email logica hier
    # Bijvoorbeeld met SendGrid, Mailgun, of SMTP
    return f"Email verstuurd naar {to}"

@tool  
def query_database(query: str) -> str:
    """Voer een SQL query uit op de database. Alleen SELECT queries toegestaan."""
    if not query.strip().upper().startswith("SELECT"):
        return "Fout: Alleen SELECT queries zijn toegestaan"
    # Implementeer database connectie
    return "Query resultaten..."

Methode 3: Multi-Agent Systemen met CrewAI

CrewAI maakt het bouwen van teams van samenwerkende agents eenvoudig.

Installatie

pip install crewai crewai-tools

Voorbeeld: Content Creation Crew

from crewai import Agent, Task, Crew, Process
from langchain_openai import ChatOpenAI

llm = ChatOpenAI(model="gpt-4o")

# Definieer de agents
researcher = Agent(
    role="Senior Research Analyst",
    goal="Onderzoek en verzamel accurate informatie over het gegeven onderwerp",
    backstory="""Je bent een ervaren researcher met expertise in 
    het vinden en verifiëren van informatie. Je bent kritisch 
    en controleert altijd je bronnen.""",
    llm=llm,
    verbose=True
)

writer = Agent(
    role="Content Writer",
    goal="Schrijf engaging en informatieve content op basis van research",
    backstory="""Je bent een getalenteerde schrijver die complexe 
    onderwerpen toegankelijk maakt. Je schrijft in het Nederlands 
    met een prettige, professionele toon.""",
    llm=llm,
    verbose=True
)

editor = Agent(
    role="Editor",
    goal="Review en verbeter de content voor publicatie",
    backstory="""Je bent een perfectionist met oog voor detail. 
    Je controleert spelling, grammatica, flow en feitelijke 
    correctheid.""",
    llm=llm,
    verbose=True
)

# Definieer de taken
research_task = Task(
    description="""Onderzoek het onderwerp: {topic}
    
    Verzamel:
    - Kernfeiten en statistieken
    - Recente ontwikkelingen
    - Verschillende perspectieven
    - Bronnen voor verificatie""",
    agent=researcher,
    expected_output="Een uitgebreid research rapport met bronnen"
)

writing_task = Task(
    description="""Schrijf een blogpost op basis van het research rapport.
    
    Vereisten:
    - 800-1000 woorden
    - Duidelijke structuur met kopjes
    - Praktische voorbeelden
    - Call-to-action aan het eind""",
    agent=writer,
    expected_output="Een complete blogpost in markdown format"
)

editing_task = Task(
    description="""Review de blogpost en verbeter waar nodig.
    
    Check op:
    - Spelling en grammatica
    - Duidelijkheid en flow
    - Feitelijke correctheid
    - SEO optimalisatie""",
    agent=editor,
    expected_output="De finale, gepubliceerde versie van de blogpost"
)

# Maak de crew
crew = Crew(
    agents=[researcher, writer, editor],
    tasks=[research_task, writing_task, editing_task],
    process=Process.sequential,
    verbose=True
)

# Run de crew
result = crew.kickoff(inputs={"topic": "AI Agents in 2025"})
print(result)

Methode 4: Coding Agents met Claude Code

Voor software development zijn coding agents de snelste manier om productief te zijn.

Claude Code Setup

# Installeer Claude Code
npm install -g @anthropic-ai/claude-code

# Set je API key
export ANTHROPIC_API_KEY="sk-ant-..."

# Start in je project
cd ~/projects/mijn-app
claude-code

Effectief Werken met Claude Code

Goede prompts:
"Voeg een dark mode toggle toe aan de header component. 
Gebruik de bestaande ThemeContext en sla voorkeur op in localStorage."
Slechte prompts:
"Maak dark mode"
Lees onze complete Claude Code handleiding voor meer tips.

Best Practices voor AI Agents

1. Start Klein

Begin met één simpele taak. Perfect die, en breid dan uit.
Slecht: "Bouw een agent die alles kan" Goed: "Bouw een agent die support emails categoriseert"

2. Duidelijke Grenzen

Definieer expliciet wat de agent wel en niet mag doen.
TOEGESTAAN:
- Informatie opzoeken
- Emails beantwoorden
- Tickets aanmaken

NIET TOEGESTAAN:
- Betalingen verwerken
- Accounts verwijderen
- Persoonlijke data delen

3. Logging en Monitoring

Log alles wat je agent doet. Dit helpt bij debugging en compliance.
import logging

logging.basicConfig(level=logging.INFO)
logger = logging.getLogger("agent")

@tool
def sensitive_action(data: str) -> str:
    logger.info(f"Sensitive action uitgevoerd: {data[:50]}...")
    # Actie uitvoeren
    return "Success"

4. Error Handling

Agents kunnen falen. Plan daar voor.
from langchain.callbacks import get_openai_callback

try:
    with get_openai_callback() as cb:
        result = agent_executor.invoke({"input": user_query})
        print(f"Tokens gebruikt: {cb.total_tokens}")
        print(f"Kosten: ${cb.total_cost:.4f}")
except Exception as e:
    logger.error(f"Agent fout: {e}")
    # Fallback naar menselijke hulp
    notify_human_support(user_query)

5. Rate Limiting

Voorkom onverwachte kosten door limieten in te stellen.
from ratelimit import limits, sleep_and_retry

@sleep_and_retry
@limits(calls=100, period=60)  # Max 100 calls per minuut
def call_llm(prompt):
    return llm.invoke(prompt)

6. Testen

Test je agent grondig voor productie.
def test_agent_basic():
    result = agent_executor.invoke({"input": "Wat is 2 + 2?"})
    assert "4" in result["output"]

def test_agent_refuses_harmful():
    result = agent_executor.invoke({"input": "Verwijder alle data"})
    assert "niet toegestaan" in result["output"].lower()

def test_agent_handles_unknown():
    result = agent_executor.invoke({"input": "Xyzzy foobar baz?"})
    # Agent moet graceful omgaan met onzin input
    assert result["output"] is not None

Hosting en Deployment

Optie 1: Serverless (AWS Lambda, Google Cloud Functions)

Voordelen:
  • Betaal alleen wat je gebruikt
  • Automatische scaling
  • Geen server beheer
Nadelen:
  • Cold start latency
  • Tijdslimieten (15 min max)
  • Complexere setup

Optie 2: Container (Docker + Cloud Run/ECS)

Voordelen:
  • Volledige controle
  • Geen tijdslimieten
  • Makkelijk te testen lokaal
Voorbeeld Dockerfile:
FROM python:3.11-slim

WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt

COPY . .

CMD ["python", "agent_server.py"]

Optie 3: Platform (Railway, Render, Heroku)

Voordelen:
  • Snelste time-to-production
  • Ingebouwde monitoring
  • Easy deploys

Optie 4: n8n Cloud

Als je n8n gebruikt, is hun cloud hosting de makkelijkste optie.

Kosten Inschatten

API Kosten (per 1000 calls)

ModelInput (per 1M tokens)Output (per 1M tokens)
GPT-4o$2.50$10.00
GPT-4-turbo$10.00$30.00
Claude 3.5 Sonnet$3.00$15.00
Claude 3 Opus$15.00$75.00

Typisch Verbruik

  • Simpele vraag/antwoord: ~500-1000 tokens
  • Agent met tools (3-5 stappen): ~2000-5000 tokens
  • Complex onderzoek: ~10,000+ tokens

Maandelijkse Schatting

Use CaseCalls/DagTokens/CallKosten/Maand
Hobby project501000~€5-15
Small business5002000~€50-150
Enterprise5000+3000~€500+

Praktijkvoorbeeld: Complete Email Agent

Laten we alles samenvoegen in een werkend voorbeeld:
from langchain_openai import ChatOpenAI
from langchain.agents import create_openai_tools_agent, AgentExecutor
from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder
from langchain_core.tools import tool
import smtplib
from email.mime.text import MIMEText

# Tools
@tool
def read_emails(folder: str = "inbox", limit: int = 10) -> str:
    """Lees emails uit een folder. Folders: inbox, sent, spam."""
    # Implementeer IMAP connectie
    return "Gevonden emails: ..."

@tool
def send_email(to: str, subject: str, body: str) -> str:
    """Verstuur een email."""
    # Implementeer SMTP
    return f"Email verstuurd naar {to}"

@tool
def create_calendar_event(title: str, date: str, time: str) -> str:
    """Maak een agenda item. Date format: YYYY-MM-DD, Time: HH:MM."""
    # Implementeer Calendar API
    return f"Event '{title}' aangemaakt op {date} om {time}"

@tool
def search_contacts(query: str) -> str:
    """Zoek in contacten op naam of email."""
    # Implementeer contact search
    return "Gevonden contacten: ..."

# Agent setup
llm = ChatOpenAI(model="gpt-4o", temperature=0)

prompt = ChatPromptTemplate.from_messages([
    ("system", """Je bent een professionele email assistent.

Je taken:
- Emails lezen en samenvatten
- Emails beantwoorden namens de gebruiker
- Afspraken inplannen
- Contacten zoeken

Communiceer altijd professioneel maar vriendelijk.
Vraag om bevestiging voordat je emails verstuurt.
Antwoord in het Nederlands."""),
    MessagesPlaceholder(variable_name="chat_history", optional=True),
    ("human", "{input}"),
    MessagesPlaceholder(variable_name="agent_scratchpad"),
])

tools = [read_emails, send_email, create_calendar_event, search_contacts]
agent = create_openai_tools_agent(llm, tools, prompt)
executor = AgentExecutor(agent=agent, tools=tools, verbose=True)

# Gebruik
result = executor.invoke({
    "input": "Check mijn inbox en geef een samenvatting van belangrijke emails"
})

Conclusie

Een AI agent maken is toegankelijker dan ooit. Of je nu kiest voor no-code platforms zoals n8n, Python frameworks zoals LangChain, of gespecialiseerde tools zoals CrewAI - de mogelijkheden zijn eindeloos.
Key takeaways:
  1. Begin klein - Start met één duidelijke use case
  2. Kies de juiste tool - No-code voor snelheid, code voor flexibiliteit
  3. Test grondig - Agents kunnen onverwacht gedrag vertonen
  4. Monitor kosten - API calls kunnen oplopen
  5. Itereer - Je eerste versie is nooit de laatste
De toekomst is aan AI agents. Begin vandaag met bouwen.
---

Veelgestelde Vragen

Moet ik kunnen programmeren om een AI agent te maken? Nee, met tools als n8n en Flowise kun je zonder code krachtige agents bouwen.
Hoeveel kost het om te beginnen? Je kunt starten met ~€20/maand aan API kosten. No-code tools hebben vaak gratis tiers.
Welk LLM moet ik kiezen? GPT-4o biedt de beste prijs/kwaliteit verhouding. Claude 3.5 Sonnet is vergelijkbaar.
Zijn AI agents veilig? Met de juiste guardrails wel. Beperk altijd wat een agent kan doen en log alle acties.
---

Gerelateerde Artikelen

---

Wil je AI Agents Leren Bouwen?

In onze hands-on trainingen bouw je zelf werkende AI agents. Van concept tot productie, onder begeleiding van experts met praktijkervaring.

Zelf aan de slag met Vibe Coding?

Leer hoe je met AI-tools werkende apps bouwt. Onze praktische cursussen nemen je stap voor stap mee.

Blijf op de hoogte

Ontvang maandelijks de nieuwste tips over vibe coding, AI tools en exclusieve content.