Function calling (zwane też „tool use”) pozwala LLM wywoływać funkcje z Państwa kodu poprzez wygenerowanie JSON-a zgodnego ze zdefiniowanym schematem. Konkretnie: deklarujesz funkcję `utworz_oferte(klient_id, kwota, produkty)` z jej schematem JSON, model decyduje, kiedy ją wywołać na podstawie rozmowy, generuje argumenty, Twój kod ją wykonuje, a Ty zwracasz wynik do modelu, który kontynuuje rozmowę. To klocek, który zamienia chatbot odpowiadający w agenta AI działającego.
Wszystkie duże LLM-y wspierają to w 2026 r.: Claude (tools), OpenAI (function calling), Mistral, Gemini. Kluczowe wzorce produkcyjne: jasne opisy funkcji (model wybiera właściwą funkcję na podstawie opisu), ścisłe schematy JSON (z required, enum, precyzyjnymi typami), obsługa błędów (zwracanie ustrukturyzowanego komunikatu błędu do modelu, który może ponowić próbę) i jawny limit liczby wywołań w pętli, by agent nie poszedł w niekontrolowany loop. Protokół MCP standaryzuje to wszystko ponad warstwą, by narzędzia były przenośne między modelami.
Bezpośrednie zastosowania biznesowe: agent czytający Państwa CRM, kwalifikujący przychodzącego leada, tworzący szansę sprzedaży, wysyłający e-mail, aktualizujący status. Albo odpytujący ERP, by sprawdzić stan magazynu zanim odpowie klientowi. Albo wywołujący narzędzia weryfikacji faktów, by ograniczyć halucynacje. To również techniczny fundament, na którym budujemy agenta AI na zamówienie — znacznie pewniejszego niż czysty chatbot, ponieważ model nie „wie” wyniku, on go czyta z Państwa realnego systemu.
Dobre praktyki function calling w produkcji
- Wyraźny opis funkcji: „użyj tej funkcji, gdy klient prosi o X, nie używaj do Y”.
- Ścisły JSON schema z typami, enumami, required — mniej powierzchni błędów przy walidacji.
- Zwracanie błędów do modelu w ustrukturyzowanej formie, by mógł skorygować i ponowić próbę.
- Limit liczby wywołań w pętli (typowo 5–10) i logowanie pełnego śladu do debugowania.
