Glossary

Function calling

Function calling is a mechanism where a large language model picks and invokes a developer-defined tool — a function or API — instead of answering with plain text. It is the wire format that turns a language model into an agent that can read a database, send an email or trigger a workflow.

Function calling works by giving the model a schema of available tools — name, description, argument types — and letting it respond with a structured call instead of free text. Your code receives that call, runs the function, and feeds the result back. Repeat the loop and you have the backbone of an AI agent or any agentic workflow.

The honest take is that the large language model still hallucinates argument values. It will confidently invent an order ID, pass a date in the wrong format, or call delete_user when it meant archive_user. Treating a function-calling LLM as if it has perfect aim is the common mistake.

The rule of thumb is to validate every call as if it came from an untrusted client: type-check arguments, enforce allow-lists, and require explicit confirmation for anything destructive. Standardising the tool layer with the Model Context Protocol helps keep the schema in one place, but it does not remove the need for guard rails. Function calling is what makes agents useful; validation is what makes them safe to ship — and the second half is where most teams underinvest, especially when hallucinations get routed straight into production systems.

Innotalent: curated, not placed

Need a team that ships on your clock?