Volání funkcí (function calling)

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íč.

Je pro vás článek užitečný a čerpáte z něj? Zkopírujte si citaci