Function calling is a model capability in which a language model, instead of replying with text, returns a structured request to run a named function with specific arguments, such as issue_refund(order=1042, amount=300). The application receives that request and decides whether to run it. It is the mechanism that lets an AI agent act on other systems.
Why does function calling matter once agents act?
Because the gap between the model's request and the application running it is the most important control point in an agent. The model proposes; the application executes. Whatever check you want on an action has to happen in that gap.
Many early agent builds closed the gap entirely: every function call the model produced ran immediately. That works for looking things up. It is not acceptable for refunds, account changes or payments, where a single wrong argument becomes a wrong transaction.
How does function calling work in practice?
The developer describes each available function to the model: its name, what it does, and the arguments it takes with their types. During a task, the model decides a function would help and returns a call in the defined format. The application validates it, runs it, and sends the result back to the model, which continues.
In a governed setup, a step is added. Before running the call, the application sends it to a control layer that asks: does this agent's role cover this function? Is it certified for this capability at the depth this action needs? Do the arguments rest on facts strong enough to support it? Is the amount within the customer's limit? The answer is a verdict: allowed, held for a person, refused, or withheld.
What does that look like in an example?
A telecoms retailer's service agent handles a complaint about a double charge. The model returns issue_credit(account=…, amount=45). The control layer finds the agent is certified to issue credits up to the retailer's limit, the duplicate charge appears in the signed billing record, and 45 is under the limit. The call runs. On a later case, the model returns a credit of 450. The same check finds the amount above the limit, holds the call, and routes a draft to a team leader.
How is function calling different from tool use?
Function calling is the specific format a model uses to ask for something to be run. Tool use is the broader idea of an agent using external capabilities, which may be implemented through function calling, through generated code, or through other mechanisms. Function calling is how; tool use is what. For the wider picture of how an agent acts, see what an AI agent is.
Is it related to the "functions" in the NIST AI RMF?
No, the word is shared by accident. The NIST AI Risk Management Framework is organised into four functions, Govern, Map, Measure and Manage, which describe areas of risk management activity. See the NIST AI RMF Govern function for AI agents and the Measure function. Function calling is a model feature; NIST functions are management practice.
Where Pryme fits
Pryme sits in the gap between the model's function call and its execution. Each call is checked against the minimum chain and the verdict is filed, whichever model or framework produced it. A refused call never reaches the target system. See the governed agentic operating system, explained.
Questions people ask
Can a model call a function it was not given?
It can produce a request for one, especially under prompt injection. The application should refuse any call to a function not registered for that agent, and record the attempt.
Should argument values come from the model?
Some must, but the important ones should be checked against source records. A refund amount the model computed should match the transaction it refers to before the call runs.