A function calling (tool calling, tool use) az a modern AI-képesség, amely lehetővé teszi, hogy egy nyelvi modell (LLM) ne csak szöveget generáljon, hanem „eszközöket” is használhasson — API-t hívhat, adatbázisból lekérdezhet, fájlt feldolgozhat, kódot futtathat. A felhasználó kérdést tesz fel — pl. „mennyi a tegnapi bevétel?” — a modell felismeri, hogy ehhez egy belső adatbázist kell lekérdeznie, és a tool-on át megteszi. Ez teszi lehetővé az AI ügynököket és a komplex AI-asszisztenseket.
Így is ismerheted
Magyarul függvény-hívás, eszközhívás, tool-használat. Angolul a klasszikus function calling, tool calling, tool use. Az OpenAI bevezette „function calling” néven 2023-ban, az Anthropic Claude „tool use” néven. A két név ugyanazt a koncepciót takarja, csak a vendor-specifikus elnevezés.
Mire jó cégeknek?
Három fő hatás:
Real-time adat-hozzáférés: a klasszikus LLM csak a tréning-adatát „tudja”. A function calling lehetővé teszi, hogy aktuális adatokra reagáljon — CRM-lekérdezés, készlet-státusz, naptári elérhetőség.
Cselekvés-képesség: az AI nemcsak válaszol, hanem csinálni tud dolgokat — meeting-időpontot foglal, e-mailt küld, CRM-bejegyzést frissít.
Komplex munkafolyamatok: az AI több lépéses feladatokat tud végrehajtani — pl. „elemezd ezt a leadet, keress hasonló ügyfeleinket a CRM-ben, és írj ajánlat-vázlatot”.
Hogyan néz ki egy function call?
A klasszikus folyamat:
- A fejlesztő definiálja az „eszközöket” — pl. „get_customer_info(customer_id)”, „send_email(to, subject, body)”, „search_documents(query)”.
- Minden eszközhöz tartozik egy JSON-séma — milyen paramétereket vár.
- A felhasználó kérdést tesz fel.
- Az LLM eldönti, kell-e valamilyen eszközhöz nyúlnia, és ha igen, melyikhez milyen paraméterekkel.
- A rendszer (a saját kódod) végrehajtja az eszközhívást, és az eredményt visszaadja az LLM-nek.
- Az LLM az eredmény alapján generál választ a felhasználónak.
Példa: ügyfél-CRM-lekérdezés
A fejlesztő egy „get_customer” eszközt definiál:
{
name: "get_customer",
description: "Lekérdezi az ügyfél adatait a CRM-ből",
parameters: {
type: "object",
properties: {
customer_email: { type: "string" }
},
required: ["customer_email"]
}
}
Beszélgetés:
Felhasználó: „Mit tudunk a kovacs.janos@example.com ügyfélről?”
LLM (belsőleg): meghívja a get_customer eszközt a customer_email = „kovacs.janos@example.com” paraméterrel.
Rendszer: lekérdezi a CRM-et, visszaad: {„name”: „Kovács János”, „company”: „Példa Kft.”, „last_purchase”: „2025-12-15″, „status”: „VIP”}.
LLM (a felhasználónak): „Kovács János, Példa Kft., VIP-státuszban. Legutóbb 2025. december 15-én vásárolt. Szeretnél bővebb infót valamelyik területről?”
Multi-tool kompozíció
Az LLM több eszközt is használhat egymás után egy feladat megoldására. Pl.:
Felhasználó: „Foglalj le Kovács Jánossal egy meetinget hétfő reggelre.”
- Az LLM
get_customer-rel megkeresi Kovács János naptárát. - Lekérdezi a saját naptárát
get_calendar-ral. - Talál egy közös szabad slotot.
- Meghívót küld
send_calendar_inviteeszközzel. - Választ ad: „Lefoglaltam hétfő 10:00-ra. Mindkettőtök naptárában megjelent.”
Ez az „AI ügynök” minta — function calling teszi lehetővé.
Mibe kerül?
A function calling nem külön díjazott — az LLM hívások (input + output token) költségéből áll. Plusz a saját eszközeid (CRM-API, naptár-API stb.) használati költsége.
Tipikus többletköltség egy átlagos ügynöki feladatnál: 5-15 LLM-hívás × 1000-3000 token = 10-50 ezer token / feladat. GPT-4o-n ~$0.10-0.50 / feladat.
Mire figyelj?
Az első tipp: egyértelmű eszközleírás. A „description” és a paraméter-séma minőségén múlik, jól választ-e az LLM. Tervezz alaposan és tesztelj.
A második: validáció a fogadásnál. Az LLM néha rosszul hívja meg az eszközt (rossz paraméter, kitalált érték). A saját kódod ellenőrizze, mielőtt végrehajtja.
A harmadik: biztonság. Egy LLM, ami eszközöket használ, súlyos károkat is okozhat — pl. „delete_all_customers” eszköz létrehozás kifejezetten kockázatos. „Least privilege” elv: csak a minimálisan szükséges jogosultságot add.
A negyedik: prompt injection-védelem. Egy gyenge tool-architektúra prompt-injection-ön át kompromittálható. Részletesen a prompt injection cikkben.
Az ötödik: logolás. Minden eszközhívás logolva. Audit-naplók kötelezőek.
A hatodik: retry / hibakezelés. Az eszközhívás bukhat (API-down, timeout). Tervezz retry-mechanizmust és „graceful degradation”-t.
Ha cégednél function calling-alapú AI-rendszert tervezel — ügynöki workflow, integrált asszisztens, multi-tool kompozíció —, az AI és automatizáció szolgáltatásunkból induljunk. Kapcsolódó: AI ügynök, OpenAI API, strukturált AI válasz.