Volání funkcí (function calling, též tool use) je schopnost jazykového modelu vygenerovat strukturovaný požadavek na spuštění vnějšího nástroje místo obyčejné textové odpovědi. Aplikace modelu poskytne popisy dostupných funkcí – jejich jméno, účel a schéma parametrů – a model, usoudí-li, že dotaz nelze zodpovědět z vlastních vah, vrátí jméno funkce a argumenty ve strojově zpracovatelné podobě, obvykle v JSONu. Zásadní je, že model funkci sám nespouští: pouze vysloví záměr. Vykonání provede hostující aplikace, jejíž výsledek se vrátí do kontextového okna a model z něj sestaví finální odpověď. To činí volání funkcí přirozeným bezpečnostním bodem, kde má aplikace vynucovat oprávnění a validaci, protože zdrojem požadavku je text ovlivnitelný prompt injekcí. Technika překonává tři vrozené slabiny modelů: neznalost aktuálních dat, nespolehlivost v přesných výpočtech a nemožnost zapsat změnu do vnějšího systému. Standardizaci rozhraní mezi modelem a nástroji řeší Model Context Protocol a schopnost samostatně řetězit volání za sebou je základem agentních systémů.
Je to jako když se zeptáte kolegy, kolik jsme minulý měsíc prodali. Dobrý kolega si nevymyslí číslo. Řekne: „Podívám se do systému.“ Otevře výkaz, přečte hodnotu a odpoví vám. Rozdíl je v tom, že model do systému nesahá sám – řekne jen „potřebuji spustit dotaz na prodeje za červen“ a čeká, jestli mu to někdo dovolí a přinese výsledek. To je dobře: jistotu, že nesmí smazat databázi, nezajišťujete tím, že ho o to slušně požádáte, ale tím, že mu k mazání nedáte klíč.