Function calling
Function calling is een mechanisme waarbij een large language model een door de ontwikkelaar gedefinieerd hulpmiddel — een functie of API — kiest en aanroept, in plaats van te antwoorden met platte tekst. Het is het wire format dat een taalmodel verandert in een agent die een database kan lezen, een e-mail kan sturen of een workflow kan triggeren.
Function calling werkt door het model een schema te geven van beschikbare tools — naam, beschrijving, argumenttypes — en het te laten antwoorden met een gestructureerde aanroep in plaats van vrije tekst. Jouw code ontvangt die aanroep, voert de functie uit en geeft het resultaat terug. Herhaal de lus en je hebt de ruggengraat van een AI-agent of een willekeurige agentic workflow.
Het eerlijke verhaal is dat het large language model nog steeds argumentwaarden hallucineert. Het verzint met overtuiging een order-ID, geeft een datum in het verkeerde formaat door, of roept delete_user aan terwijl het archive_user bedoelde. Een function-calling LLM behandelen alsof het perfect mikt, is de veelgemaakte fout.
De vuistregel is om elke aanroep te valideren alsof die van een niet-vertrouwde client komt: argumenten type-checken, allow-lists afdwingen en expliciete bevestiging vragen voor alles wat destructief is. Het standaardiseren van de toollaag met het Model Context Protocol helpt om het schema op één plek te houden, maar haalt de noodzaak van guard rails niet weg. Function calling is wat agents nuttig maakt; validatie is wat ze veilig genoeg maakt om te shippen — en de tweede helft is waar de meeste teams te weinig in investeren, zeker wanneer hallucinaties rechtstreeks in productiesystemen belanden.