Een taalmodel dat alleen praat, komt snel tegen zijn grenzen aan. Vraag je Gemini naar de status van jouw bestelling, dan kan het daar in zijn eentje niets zinnigs over zeggen — die informatie zit in jouw systeem, niet in de trainingsdata. Function calling overbrugt dat gat. Het laat Gemini bepalen dat er een functie nodig is en met welke gegevens, waarna jouw eigen code die functie uitvoert.
💡 Beginner-tip: “Function calling” klinkt technisch, maar het idee is een keurige taakverdeling. Gemini is de receptionist die de vraag begrijpt en het juiste formulier invult; jouw programma is de collega achter het loket die de klus daadwerkelijk uitvoert. Het model doet dus niets buiten jou om.
De lus in vier stappen
Function calling — ook wel tool use genoemd — werkt als een kort heen-en-weer tussen het model en jouw code.
1. Beschrijf de functie. Je vertelt Gemini welke functies er zijn: hun naam, wat ze doen en welke parameters ze verwachten. Je registreert die beschrijving als een tool.
2. Gemini kiest en vult in. Krijgt het model een vraag waarvoor een functie nodig is, dan geeft het een gestructureerd JSON-blokje terug met de functienaam en de ingevulde parameters, bijvoorbeeld {"name": "get_order_status", "args": {"order_id": "123"}}. Elk verzoek krijgt een eigen id.
3. Jij voert uit. Jouw applicatie draait de functie echt — de database bevragen, een API aanroepen, een berekening doen. Gemini heeft hier geen toegang toe; dit is volledig jouw terrein.
4. Resultaat terug. Je stuurt de uitkomst, met datzelfde id, terug naar Gemini. Het model verwerkt het antwoord tot leesbare tekst, of besluit dat er nog een functie nodig is en de lus opnieuw begint.
⚡ Gevorderden: Je kunt ingebouwde tools en eigen functies mengen in één interactie. Zo laat je het model zich eerst oriënteren met een webzoekopdracht en daarna jouw specifieke bedrijfslogica aanroepen. Bij de nieuwere Gemini-modellen kun je de argumenten van een functie-aanroep bovendien streamen terwijl ze worden gegenereerd. De actuele werkwijze staat in de Gemini-documentatie over function calling.
Waarom dit veiliger voelt dan het klinkt
De eerste zorg bij mensen is vaak: laat ik het model dan zomaar dingen doen? Nee. Gemini beslist alleen wélke van jóuw functies wordt aangeroepen en met welke waarden. De uitvoering — en dus de macht om echt iets te veranderen — houd je zelf in handen. Wil je dat het model geen bestellingen kan annuleren, dan geef je die functie simpelweg niet mee.
Precies daarom is function calling de bouwsteen onder de meeste AI-agents: het geeft een model handen zonder dat je de controle uit handen geeft. Wil je het idee eerst in een no-code omgeving zien, dan kun je een vergelijkbaar principe uitproberen met AI-agents in Make, waar je functies aan een agent koppelt zonder te programmeren.
