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
- Een duidelijk doel - Wat moet je agent precies doen?
- Toegang tot een LLM - OpenAI, Anthropic, of open-source
- Een platform - No-code tool of development framework
- 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.ioStap 2: Maak je eerste workflow
- Open n8n in je browser (localhost:5678)
- Klik "Add workflow"
- Voeg een "Webhook" trigger toe
- Voeg een "OpenAI" node toe
- Configureer je API key
- 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 startVoordelen:
- Optimaal voor chatbots en agents
- Ingebouwde LangChain componenten
- Makkelijk te deployen
- Goede documentatie
Agent bouwen in Flowise:
- Sleep een "ChatOpenAI" node naar het canvas
- Voeg "Agent" node toe
- Verbind tools (Calculator, WebBrowser, etc.)
- Voeg "Memory" toe voor context
- 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
- Trigger: Nieuwe email ontvangen
- AI Analyse: Categoriseer email (support, sales, spam)
- Actie: Route naar juiste persoon/systeem
- 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-dotenvJe 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-toolsVoorbeeld: 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-codeEffectief 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 delen3. 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 NoneHosting 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)
| Model | Input (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 Case | Calls/Dag | Tokens/Call | Kosten/Maand |
|---|---|---|---|
| Hobby project | 50 | 1000 | ~€5-15 |
| Small business | 500 | 2000 | ~€50-150 |
| Enterprise | 5000+ | 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:
- Begin klein - Start met één duidelijke use case
- Kies de juiste tool - No-code voor snelheid, code voor flexibiliteit
- Test grondig - Agents kunnen onverwacht gedrag vertonen
- Monitor kosten - API calls kunnen oplopen
- 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
- Wat is een AI Agent? Uitleg voor Beginners
- Claude Code: De Complete Handleiding
- n8n Tutorial: Workflows Automatiseren
- Prompt Engineering: Complete Gids
---
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.
Meer artikelen
Welke ChatGPT versie moet je kiezen?
Free, Plus of Team? Complete vergelijking van alle ChatGPT versies met prijzen en aanbevelingen.
AI tutorial voor beginners: leer AI in 1 uur
Start met AI in 1 uur. Geen technische kennis nodig. Praktische oefeningen en uitleg in jip-en-janneke taal voor iedereen die AI wil leren gebruiken.
Hoe maak je een app van je website? Complete gids 2026
Zet je website om naar een app. PWA, native wrapper of rebuild? Complete gids met voor- en nadelen, stap-voor-stap uitleg en kostenanalyse.