Definitie: Function calling, ook tool use genoemd, is een mogelijkheid van grote taalmodellen om tijdens een gesprek aan te geven dat een externe functie moet worden aangeroepen, met welke gegevens. Het model voert die functie niet zelf uit: de applicatie eromheen doet dat en geeft het resultaat terug, waarna het model zijn antwoord afmaakt.

In het kort

  • OpenAI introduceerde function calling in juni 2023. Anthropic noemt hetzelfde principe bij Claude tool use; Google Gemini en open modellen ondersteunen het ook.
  • Je beschrijft beschikbare functies met een JSON Schema: naam, doel en verwachte argumenten.
  • Het model kiest een functie en levert de argumenten als gestructureerde JSON. Jouw code voert de functie uit.
  • Omdat een model zo acties kan starten, zijn controle op argumenten, beperkte rechten en menselijke goedkeuring bij ingrijpende acties belangrijk.

Wat is function calling?

Een taalmodel kan tekst lezen en schrijven, maar weet niets van jouw voorraad, je agenda of de status van een bestelling. Het kan ook niets uitvoeren in je systemen. Function calling lost dat op: je vertelt het model welke functies beschikbaar zijn, en het model geeft aan wanneer het er een nodig heeft.

Een voorbeeld. Een klant vraagt in een chat: waar is mijn bestelling 4512? Het model ziet dat er een functie bestaat om de status van een bestelling op te halen. In plaats van een antwoord te verzinnen, geeft het terug: roep de functie bestelstatus aan met bestelnummer 4512. Jouw applicatie haalt de status op uit het systeem en geeft die terug aan het model. Het model schrijft dan een antwoord op basis van de echte gegevens.

Techsy benadrukt het belangrijkste punt: het model voert de functie nooit zelf uit. Het genereert alleen een gestructureerd verzoek. Jouw applicatie beslist of en hoe dat verzoek wordt uitgevoerd.

Function calling of tool use?

De begrippen betekenen in de praktijk hetzelfde. OpenAI sprak eerst van function calling en noemt de parameter in de API inmiddels tools. Anthropic gebruikt bij Claude de term tool use. Een tool kan een functie in je eigen code zijn, maar ook een zoekfunctie, een rekenmodule of een koppeling met een ander systeem.

Hoe werkt function calling?

  1. Tools beschrijven. Je geeft het model een lijst met functies. Per functie een naam, een korte beschrijving en de argumenten in JSON Schema, zoals een bestelnummer als tekst.
  2. Vraag sturen. De gebruiker stelt een vraag, die samen met de toolbeschrijvingen naar het model gaat.
  3. Model kiest. Het model beslist of een tool nodig is. Zo ja, dan geeft het de naam en de argumenten terug in plaats van een gewoon antwoord.
  4. Applicatie voert uit. Jouw code controleert de argumenten, roept de functie aan en krijgt een resultaat.
  5. Resultaat terug. Het resultaat gaat terug naar het model, gekoppeld aan de aanroep.
  6. Antwoord. Het model gebruikt het resultaat om zijn antwoord te formuleren, of vraagt om nog een tool.

Die herhaling heet ook wel de tool-use-lus. Volgens Techsy ondersteunen OpenAI, Anthropic en Gemini ook parallelle aanroepen: meerdere tools in één stap, bijvoorbeeld het weer in drie steden tegelijk.

Voorbeelden van function calling

Toepassing Tool Wat het model doet
Klantenservice Bestelstatus ophalen Geeft het bestelnummer door en verwoordt de status
Planning Beschikbare tijden opvragen, afspraak inplannen Stelt een tijd voor en vraagt om bevestiging
Rapportage Gegevens ophalen uit een database Kiest de juiste periode en vat de cijfers samen
Rekenwerk Rekenmodule Laat exacte berekeningen over aan code in plaats van zelf te rekenen
Zoeken Zoekfunctie in documenten of op het web Haalt actuele of eigen informatie op
CRM Contact aanmaken of bijwerken Zet gegevens uit een e-mail in de juiste velden

ThriveStack noemt exacte berekeningen, live databasevragen, webzoekopdrachten en acties via externe API’s als de belangrijkste mogelijkheden.

Function calling, structured output en MCP

Begrip Wat het is
Function calling Het model kiest een functie en levert argumenten; jouw code voert uit
Structured output Het model geeft zijn antwoord in een vast formaat, zonder dat er iets wordt aangeroepen
MCP Een standaardprotocol om tools en databronnen op één manier aan te bieden aan AI-toepassingen

Techsy beschrijft het Model Context Protocol als een standaardisatielaag bovenop function calling, niet als vervanging ervan. Een AI-agent gebruikt function calling om in meerdere stappen een taak uit te voeren.

Wat gaat er vaak mis?

  • Vage toolbeschrijvingen. Het model kiest een tool op basis van de beschrijving. Is die onduidelijk, dan kiest het de verkeerde of geen tool.
  • Te veel tools tegelijk. Een lange lijst met overlappende tools maakt de keuze lastiger.
  • Geen foutafhandeling. Een systeem kan onbereikbaar zijn of een fout teruggeven. Het model moet een duidelijke foutmelding krijgen, zodat het dat eerlijk kan melden.
  • Blind uitvoeren. Een aanroep die zonder controle een e-mail verstuurt of een record verwijdert, is een risico.

Waar let je op bij function calling?

Zodra een model acties kan starten, wordt beveiliging belangrijk. Venice stelt het kort: behandel tool-argumenten als niet vertrouwde invoer. Techsy noemt prompt injection als belangrijk risico: tekst in een e-mail of document kan het model proberen te verleiden tot een ongewenste aanroep. Aanbevolen maatregelen zijn:

  • Valideer argumenten voordat ze een database, betaling of ander systeem raken.
  • Geef tools minimale rechten. Een tool die alleen hoeft te lezen, krijgt geen schrijfrechten.
  • Vraag menselijke goedkeuring voor acties met gevolgen, zoals versturen, verwijderen of betalen.
  • Schoon resultaten op voordat ze terug naar het model gaan.
  • Log elke aanroep, zodat achteraf te zien is wat er gebeurde.

Daarnaast helpt een goed ontwerp. Venice adviseert korte, duidelijke namen en beschrijvingen, smal afgebakende tools en beknopte resultaten.

Wat betekent dit voor jouw project?

Function calling maakt van een taalmodel een onderdeel van een proces. Daarmee wordt de vraag belangrijker wie wat mag. Bij Marketooo, mijn eigen platform dat nog in actieve ontwikkeling is, is de bouwles: maak verantwoordelijkheden zichtbaar voordat een systeem iets uitvoert. Het juiste account, de juiste campagne en een controleerbaar besluit gaan vooraf aan de uitvoering. Dat geldt net zo goed als een taalmodel de actie voorstelt.

Ik wil vooraf duidelijk hebben wat we met een eerste versie bedoelen. Bij function calling is dat vaak: welke tools mag het model gebruiken, welke alleen lezen, en waar beslist een mens.

Vraag? Stuur me welke taak een AI-assistent in jullie proces zou moeten ondersteunen en met welke systemen. Dan bepalen we samen de logische eerste stap. Lees ook hoe ik een maatwerk webapplicatie opzet.

Veelgestelde vragen over function calling / tool use

Wat is function calling bij een LLM?

Function calling is de mogelijkheid van een taalmodel om aan te geven dat een externe functie moet worden aangeroepen, met de bijbehorende argumenten in JSON. De applicatie voert de functie uit en geeft het resultaat terug aan het model.

Wat is het verschil tussen function calling en tool use?

In de praktijk niets. OpenAI gebruikte de term function calling, Anthropic noemt het bij Claude tool use. Beide beschrijven hetzelfde principe: het model kiest een tool, de applicatie voert die uit.

Voert het taalmodel de functie zelf uit?

Nee. Het model levert alleen de naam van de functie en de argumenten. De applicatie bepaalt of de functie wordt uitgevoerd, controleert de argumenten en stuurt het resultaat terug.

Verwante termen

MCP · AI-agent · Agentic AI · LLM-API / AI-integratie · API · Prompt engineering

← Terug naar de kennisbank