On June 13, 2023, OpenAI announced a set of API updates whose most consequential piece was function calling. Developers could now describe their own functions to the gpt-4-0613 and gpt-3.5-turbo-0613 models, and the model would, when appropriate, respond not with prose but with a JSON object containing the arguments to call that function. The models were fine-tuned both to detect when a function should be called and to format the arguments to match the function’s signature.
This turned a brittle, prompt-engineering chore into a supported feature. Before it, getting a model to reliably emit machine-readable output to drive an external system meant cajoling it with examples and then parsing free text that might not be valid JSON. OpenAI’s examples were telling: turning “What’s the weather like in Boston?” into a call to get_current_weather, or “Email Anya to see if she wants to get coffee” into a call to send_email. The same release also lowered prices and extended context windows.
Function calling matters because it became the de facto plumbing of the agent era. Almost every framework that lets a model use tools, query a database, or take an action sits on top of this pattern, and the later Model Context Protocol generalized the idea of advertising callable tools to a model. For a business reader, this is the standard mechanism by which a chatbot stops merely talking and starts doing.