Een hand drukt op knoppen van een bedieningspaneel, terwijl de machine erachter het werk uitvoert.
Uitgelegd12 juli · 01:447 min leestijd

Function calling: hoe een model een tool aanroept

Nee, het model draait je code niet en belt geen API. Het schrijft alleen een gestructureerd verzoek: welke functie, met welke argumenten. Jouw code voert het uit. Zie de tool-lus draaien en function calling wordt logisch.

Wat je leert

Je kunt uitleggen dat een taalmodel bij function calling geen code draait maar een gestructureerd verzoek schrijft dat jouw applicatie uitvoert, en je herkent de tool-lus en de valkuilen.

Basis ~7 minAgents & tools

Handig vooraf: Prompt en system prompt

Volg de interactieve lesDoe het zelf, stap voor stap, met een kennischeck om te zien of het zit.

Je denkt waarschijnlijk dat het model bij function calling zelf de weer-API belt, de som uitrekent of iets op je systeem draait. Dat doet het niet, geen enkele keer.

Kijk wat er wél gebeurt. Je vraagt: wat is het weer in Amsterdam? Je hebt het model één tool gegeven, get_weather(stad), met een schema dat zegt: deze functie bestaat, en er gaat een stad in. In plaats van een temperatuur te gokken, schrijft het model een gestructureerd verzoek: get_weather met stad Amsterdam. Daar stopt het. Jouw code ziet dat verzoek, belt de echte weer-API, krijgt 18 graden terug, en stuurt dat resultaat naar het model. Pas dán schrijft het model: het is 18 graden in Amsterdam. De API is nooit door het model aangeroepen. Het vroeg jou om het te doen.

Nu de definitie, want nu heb je de flow al zien draaien. Function calling, ook tool use genoemd, is de manier waarop een taalmodel verder reikt dan tekst. Je geeft het model een lijst tools met hun schema: de naam van de functie en welke argumenten erin gaan. Op je vraag kiest het model een tool en schrijft een gestructureerd verzoek, meestal als JSON, met de functienaam en de argumenten. Jouw applicatie voert die functie uit en stuurt het resultaat terug. Pas dan antwoordt het model. Het beslist wát er moet gebeuren, het doet het nooit zelf.

Function calling in drie lagen

Denk aan een gast in een restaurant. Hij leest het menu, schrijft op een bonnetje wat hij wil, en geeft dat aan de ober. Zelf loopt hij de keuken niet in. Het model is die gast: het leest welke tools er zijn, schrijft op wat het nodig heeft, de functie plus de argumenten, en schuift dat door. Jouw code is de keuken die het echte gerecht maakt en terugbrengt.

Waarom vraagt het model het aan jou, in plaats van het te doen?

Omdat het model helemaal niets kán uitvoeren. Het is en blijft een tekstvoorspeller. Kiest het een tool, dan is dat nog steeds gewoon het volgende token voorspellen, alleen nu in een vast, machine-leesbaar formaat in plaats van vrije zinnen. De tools en hun schema komen mee in wat het model bij je vraag te zien krijgt; het hoeft de API niet te kennen, alleen dat de tool bestaat en welke argumenten erin gaan.

Dat is precies waarom function calling bestaat: zo kan een model actuele data ophalen, rekenen of een actie uitvoeren, dingen die het uit zichzelf niet kan of niet actueel weet. En de twee helften wisselen strak af. OpenAI beschrijft de cyclus in vijf stappen: je vraag met de tools erbij, een tool-aanroep terug, jouw code voert die uit, het resultaat terug, en dan het antwoord. Bij Claude komt zo'n verzoek terug met stop_reason tool_use en een of meer tool_use-blokken; jouw code voert ze uit en stuurt het resultaat als een tool_result terug, en die lus draait door zolang de stop_reason tool_use blijft. Elk resultaat gaat als tokens terug de context in, het werkgeheugen van het gesprek.

Snap je deze ene aanroep, dan vallen twee grotere dingen op hun plek. MCP standaardiseert alleen wáár die tools vandaan komen, de stekkerdoos, zodat je ze niet per app opnieuw bouwt, maar kiezen doet nog steeds het model. En een AI-agent is niets anders dan deze lus, herhaald richting een doel: kiezen, uitvoeren, resultaat bekijken, opnieuw. Function calling is de atoom onder allebei.

Wat als het model de verkeerde tool kiest?

Dat kan, en het gebeurt. Het model kiest de tool en verzint de argumenten met dezelfde kans op onzin als een gewone hallucinatie: een stad die niet bestaat, een bedrag met een extra nul, de verkeerde functie voor de vraag. Het verschil is dat er nu een actie aan hangt.

Daarom telt de volgorde: jouw code voert uit, dus jij zit aan de knoppen. Valideer de argumenten voor je ze gebruikt, en vraag om toestemming bij alles wat geld kost, data verandert of niet terug te draaien is. Een tool die alleen mág opzoeken is ongevaarlijker dan een die mág afschrijven. Het model levert het verzoek; of het echt gebeurt, bepaal jij.

Check: snap je wie wat doet?

Je vraagt naar het weer. Het model geeft get_weather met stad Amsterdam terug. Wie belt de weer-API?

Zodra je function calling ziet als een gast die een bonnetje schrijft terwijl jouw keuken kookt, verdwijnt de magie. De vraag is niet meer of de AI slim genoeg is om je systemen te bedienen. Het is een ontwerpvraag: welke tools geef je het model in handen, welke argumenten vertrouw je blind, en waar zet je de controle. En die vraag beantwoord jij, niet het model.

Veelgestelde vragen

Alisina Nawabi
Geschreven doorAlisina Nawabi

AI Product Engineer & Solutions Architect

Van tool-aanroep naar werkend systeem

Function calling is de motor onder elke AI die verder reikt dan praten. Ik denk mee waar tools passen, ontwerp de schema's en de validatie, en bouw het end-to-end op je eigen data en systemen.

Meer informatie

Dit artikel is geproduceerd samen met het Agent Team. Meer over de redactie.

Genoemde integraties

Dit artikel noemt deze tools. Ik koppel ze op maat aan je eigen systemen.

Jouw leerpad

Elke les staat op zichzelf, maar samen vormen ze een pad. Dit is waar deze les in dat pad zit.

Eerst dit

  • Een prompt is geen toverspreuk maar alles wat het model ziet. De system prompt stuurt vooraf, en volgorde bepaalt wat echt aankomt.

    Start de les
  • Contextsterk verwant

    Het model onthoudt je gesprek niet. Elke beurt stuurt de hele geschiedenis opnieuw mee, en dat bepaalt je kosten, je snelheid en wat het model vergeet.

    Start de les

Hierna

  • Wat is een AI-agentsterk verwant

    Een agent is een model in een lus: doel, gereedschap kiezen, resultaat bekijken, bijsturen. Geen magie, wel een loop met tools.

    Start de les

Gerelateerde artikelen

Wat is MCP? Zo krijgt AI toegang tot je tools en data
Uitgelegd
7 min

9 jul 02:01

Wat is MCP? Zo krijgt AI toegang tot je tools en data

MCP is geen AI-model en geen product, maar een open standaard: de USB-C-poort voor AI. Zo werkt het protocol waarmee elke AI-app op dezelfde manier bij je tools en data komt.

Google's Gemini Spark landt op de Mac en mag nu aan je lokale bestanden
Nieuws
6 min

2 jul 18:09

Google's Gemini Spark landt op de Mac en mag nu aan je lokale bestanden

Google brengt zijn autonome AI-agent Gemini Spark naar macOS, waar hij voor het eerst lokale bestanden mag lezen en ordenen. Met MCP-ondersteuning, real-time tracking en een prijskaartje van 99 dollar per maand.

Adobe koppelt zijn marketing-AI aan Claude Enterprise en Microsoft Copilot, met grote bureaunetwerken aan boord
Nieuws
5 min

22 jun 14:20

Adobe koppelt zijn marketing-AI aan Claude Enterprise en Microsoft Copilot, met grote bureaunetwerken aan boord

Op Cannes Lions maakt Adobe zijn agentische marketing-AI beschikbaar in Claude Enterprise en Microsoft 365 Copilot Cowork, en haalt het WPP, Omnicom, Accenture Song en Stagwell nadrukkelijk aan boord van CX Enterprise.

Anthropic bevestigt facturatiefout van 16,6 miljoen dollar
Nieuws
5

13 jul 12:12

Anthropic bevestigt facturatiefout van 16,6 miljoen dollar

Anthropic bevestigt dat zijn systeem spookfacturen tot 16,6 miljoen dollar stuurde naar een klant zonder API-gebruik. Een audit vond eerder al 1,7 miljoen aan overfacturering. Waarom Nederlandse bedrijven hun AI-rekening moeten controleren.

Waarom AI varieert: temperatuur en toeval
Uitgelegd
6 min

12 jul 02:32

Waarom AI varieert: temperatuur en toeval

Vraag AI drie keer hetzelfde en je krijgt drie antwoorden. Geen bug: het model trekt elk woord uit een kansverdeling, en temperatuur bepaalt hoe wild die trekking uitpakt.

Hoe leer je AI jouw kennis: prompten, RAG of fine-tunen?
Uitgelegd
7 min

11 jul 23:11

Hoe leer je AI jouw kennis: prompten, RAG of fine-tunen?

Om AI jullie spullen te laten kennen hoef je bijna nooit een eigen model te trainen. Prompten geeft instructies, RAG zoekt je documenten erbij, fine-tunen verandert het gedrag. Zo kies je het juiste gereedschap.