Robocikowo>ROBOCIKOWO
Mechanizm rozszerzający

Tool-augmented LLM

Architektura modeli językowych, które mogą korzystać z zewnętrznych narzędzi i API podczas wykonywania zadań.
Kluczowa innowacja
Rozszerza duże modele językowe o zdolność wywoływania zewnętrznych narzędzi (wyszukiwarek, kalkulatorów, API, interpreterów kodu) przez generowanie ustrukturyzowanych wywołań w trakcie generowania tekstu, pozwalając modelowi korzystać z aktualnej wiedzy i precyzyjnych obliczeń niedostępnych w parametrach modelu.
Kategoria
Mechanizm rozszerzający
Poziom abstrakcji
Wzorzec
Poziom operacji
ModelInferencjaOrkiestracjaTooling
Zastosowania
Agenci AI z dostępem do internetuAutomatyzacja zadań biurowychGenerowanie i wykonywanie koduPobieranie aktualnych danych (pogoda, kursy walut)Integracja z systemami CRM/ERP

Jak działa

Model jest trenowany lub instruowany do generowania wywołań narzędzi w specjalnym formacie (np. JSON). System wykonuje wywołanie narzędzia i zwraca wynik do modelu, który kontynuuje generowanie odpowiedzi z nową informacją.

Rozwiązany problem

Modele językowe są ograniczone do wiedzy z treningu i nie mogą wykonywać działań w świecie zewnętrznym. Augmentacja narzędziami pozwala LLM na wywoływanie funkcji, API i programów.

Komponenty

Specyfikacja narzędziaInformuje model o dostępnych narzędziach, ich interfejsach i oczekiwanych parametrach wywołania

Formalna definicja interfejsu narzędzia przekazywana modelowi — zazwyczaj w formacie JSON Schema lub OpenAPI — opisująca nazwę narzędzia, jego parametry i typy danych wejściowych. Podawana w prompcie systemowym lub osobnym polu API.

JSON SchemaNarzędzia opisane przez schematy JSON z nazwami, opisami i typami parametrów — standard stosowany przez OpenAI, Anthropic i Google.
Opis w języku naturalnymNarzędzia opisane tekstowo w prompcie bez formalnego schematu — stosowane we wczesnych podejściach opartych na promptowaniu.
Model Context Protocol (MCP)Ustandaryzowany protokół opisujący narzędzia dostępne przez zewnętrzne serwery MCP.

Oficjalna

Generowanie wywołania narzędziaProdukcja ustrukturyzowanego wywołania narzędzia w trakcie dekodacji modelu

Moduł odpowiedzialny za generowanie ustrukturyzowanego wywołania narzędzia przez model LLM — zazwyczaj w postaci specjalnych tokenów, bloku JSON lub obiektu function_call. Model decyduje kiedy i z jakimi argumentami wywołać narzędzie na podstawie kontekstu.

OUTUstrukturyzowany obiekt wywołania narzędzia: nazwa funkcji + argumenty w formacie JSON, lub specjalne tokeny API call w stylu Toolformer.
Function calling (OpenAI/Anthropic)Model produkuje strukturyzowany obiekt function_call zamiast tekstu; host parsuje i wykonuje wywołanie.
ReAct — wywołanie przez tekst rozumowaniaModel naprzemiennie generuje ślad rozumowania i wywołania narzędzi jako tekst parsowany przez środowisko uruchomieniowe.
Toolformer — tokeny API call w tekścieSpecjalne tokeny w stylu [API(args) → wynik] osadzone w generowanym tekście, zdefiniowane w oryginalnym paperze Schick i in. (2023).
Executor narzędzi / HostWykonanie wywołań narzędzi i zwrot wyników do modelu w celu kontynuacji generowania

Środowisko uruchomieniowe poza modelem, które przechwytuje wywołania narzędzi generowane przez LLM, wykonuje je (wywołując API, uruchamiając kod, przeszukując bazę danych) i zwraca wyniki do modelu jako nowy kontekst.

Bezpośrednie wywołanie APIHost wywołuje zewnętrzne API (wyszukiwarka, baza danych, usługa) na podstawie parametrów z wywołania narzędzia.
Izolowane środowisko wykonania koduKod generowany przez model uruchamiany w sandboxie (np. interpreter Pythona) — stosowane w Code Interpreter / Advanced Data Analysis.
Serwer MCPWyspecjalizowany serwer implementujący protokół MCP jako standardowy interfejs narzędzi.

Oficjalna

Wstrzykiwanie wyników narzędzi do kontekstuIntegracja wyników narzędzi z kontekstem modelu w celu dalszego generowania

Mechanizm zwrotu wyników wykonania narzędzia do okna kontekstu modelu, umożliwiający modelowi kontynuowanie generowania z uwzględnieniem uzyskanych danych. Wyniki mogą być wstrzykiwane jako blok tool_result, nowa wiadomość lub specjalne tokeny.

Oficjalna

Implementacja

Pułapki implementacyjne
Halucynacje w argumentach wywołania narzędziWysoka

Model może generować wywołania narzędzi z wymyślonymi lub nieprawidłowymi parametrami — np. fikcyjne nazwy funkcji, błędne typy danych, nieprawidłowe formaty dat lub identyfikatorów. Powoduje to ciche błędy wykonania po stronie hosta.

Rozwiązanie:Waliduj wszystkie argumenty wywołania narzędzi względem schematu przed wykonaniem; stosuj schematy z rygorystycznymi typami i ograniczeniami; loguj i monitoruj wywołania zakończone błędem.
Wstrzykiwanie promptów przez wyniki narzędziKrytyczna

Wyniki zwrócone przez narzędzia (strony webowe, dokumenty, odpowiedzi API) mogą zawierać złośliwe instrukcje, które model traktuje jako polecenia systemowe — klasyczny atak prompt injection przez obserwowaną treść.

Rozwiązanie:Izoluj wyniki narzędzi od instrukcji systemowych; stosuj wyraźne ograniczniki i metadane źródła; wymagaj potwierdzenia użytkownika przed wykonaniem działań nieodwracalnych opartych na obserwowanej treści.
Nadmierne lub nieskończone pętle wywołań narzędziWysoka

Bez twardych limitów model może wywoływać narzędzia w pętli — np. wielokrotnie przeszukując sieć w poszukiwaniu informacji niedostępnych w żadnym źródle — wyczerpując budżet tokenów i generując zbędne koszty API.

Rozwiązanie:Ustaw twardy limit wywołań narzędzi na turę/sesję; wdrażaj detekcję powtarzających się wywołań; wymagaj użytkownika w pętli dla krytycznych lub kosztownych wywołań.
Przepełnienie kontekstu przez wyniki narzędziWysoka

Wyniki zewnętrznych API lub wyszukiwarek mogą być bardzo długie (strony HTML, odpowiedzi JSON z wieloma polami), szybko wypełniając okno kontekstu i powodując utratę wcześniejszego kontekstu konwersacji.

Rozwiązanie:Stosuj ekstrakcję lub podsumowanie wyników narzędzi przed wstrzyknięciem do kontekstu; ograniczaj rozmiar wyników przez parametry API (limit tokenów, paginację); monitoruj budżet tokenów kontekstu.
Niepotrzebne wywołania narzędzi dla znanych faktówŚrednia

Model może wywoływać narzędzia (np. wyszukiwarkę) dla informacji obecnych w jego parametrycznej wiedzy, niepotrzebnie zwiększając opóźnienie i koszt. Dotyczy szczególnie modeli z niskim progiem pewności do wnioskowania.

Rozwiązanie:Kalibruj progi pewności modelu; w systemowych promptach wyraźnie instruuj, kiedy wywoływać narzędzia a kiedy polegać na wiedzy parametrycznej; stosuj mechanizmy refleksji przed wywołaniem narzędzia.

Ewolucja

Oryginalny paper · 2023 · NeurIPS 2023 · Timo Schick
Toolformer: Language Models Can Teach Themselves to Use Tools
Timo Schick, Jane Dwivedi-Yu, Roberto Dessì, Roberta Raileanu, Maria Lomeli, Luke Zettlemoyer, Nicola Cancedda, Thomas Scialom
2021
WebGPT — augmentacja GPT-3 przeglądarką internetową
Punkt przełomowy

Nakano i in. (OpenAI) wzbogacają GPT-3 o możliwość przeszukiwania sieci przez interfejs tekstowej przeglądarki. Pierwsza demonstracja, że LLM może korzystać z zewnętrznego źródła informacji przez uczenie ze wzmocnieniem z ludzką informacją zwrotną.

2022
TALM — bootstrapping narzędzi przez samoczynną anotację

Parisi i in. (Google) proponują TALM (Tool Augmented Language Models), gdzie LLM iteracyjnie rozszerza zbiór wywołań narzędzi przez odfiltrowanie tych, które poprawiają wyniki — wczesny krok ku samodzielnemu uczeniu się użycia narzędzi.

2022
ReAct — naprzemienne rozumowanie i działanie z narzędziami
Punkt przełomowy

Yao i in. (Princeton / Google) proponują ReAct: LLM naprzemiennie generuje ślady rozumowania (Thought) i wywołania narzędzi (Action), otrzymując obserwacje (Observation) ze środowiska. Ustanawia wzorzec interleaved reasoning + tool use.

2023
Toolformer — LLM uczący się samodzielnie używać narzędzi
Punkt przełomowy

Schick i in. (Meta AI) publikują Toolformer — model trenowany przez samoczynną anotację wywołań API w tekstach, bez dużych ręcznie oznaczonych zbiorów danych. Model uczy się kiedy i jak wywoływać narzędzia (kalkulator, wyszukiwarka, tłumacz, QA system) i integrować ich wyniki.

2023
OpenAI Function Calling — komercyjna standaryzacja wywołań narzędzi
Punkt przełomowy

OpenAI wprowadza function calling w GPT-4 i GPT-3.5 Turbo (czerwiec 2023) — ustrukturyzowane API umożliwiające modelowi generowanie wywołań funkcji w formacie JSON Schema. Staje się de facto standardem przemysłowym dla augmentacji narzędziowej.

2023
Anthropic tool use i równoległe wywołania narzędzi

Anthropic wdraża tool use w API Claude z obsługą równoległych wywołań narzędzi (parallel tool calling), gdzie model może wygenerować wiele wywołań jednocześnie wykonywanych przez host.

2024
Model Context Protocol (MCP) — standaryzacja łączności narzędzi
Punkt przełomowy

Anthropic publikuje Model Context Protocol jako otwarty standard łączący modele z zewnętrznymi serwerami narzędzi — analogicznie do Language Server Protocol dla narzędzi deweloperskich. MCP ujednolica format opisu narzędzi i protokół komunikacji między LLM a serwerami narzędzi.

Hiperparametry (konfigurowalne osie)

Zestaw dostępnych narzędziKrytyczna

Zbiór narzędzi udostępnionych modelowi — określa przestrzeń możliwych wywołań. Narzędzia mogą obejmować wyszukiwarki, kalkulatory, interpretery kodu, bazy danych, API zewnętrzne, narzędzia systemowe.

web_search + code_interpreter
calculator + calendar + email
custom_domain_api + vector_db_retrieval
Równoległe wywołania narzędziWysoka

Czy model może generować wiele wywołań narzędzi jednocześnie w jednej turze (parallel tool calling), które host wykonuje równolegle przed zwrotem wyników.

trueObsługiwane przez OpenAI i Anthropic API.
falseSekwencyjne wywołania w stylu ReAct.
Format specyfikacji narzędziWysoka

Format w jakim narzędzia są opisywane modelowi — wpływa na precyzję generowanych wywołań i kompatybilność z hostem.

JSON Schema (OpenAI/Anthropic format)
Model Context Protocol (MCP)
Opis w języku naturalnym
Maksymalna liczba wywołań narzędzi na turęŚrednia

Limit wywołań narzędzi w jednej turze konwersacyjnej; zabezpieczenie przed nieskończonymi pętlami wywołań.

1Jedno wywołanie na turę — prostsze do debugowania.
5–20Typowy limit dla agentów z wieloma narzędziami.

Wąskie gardło obliczeniowe

Opóźnienie zewnętrznych wywołań narzędzi i rozmiar kontekstu

Głównym wąskim gardłem jest czas oczekiwania na wyniki zewnętrznych narzędzi (latencja API, czas wykonania kodu) oraz liniowy wzrost długości kontekstu po wstrzyknięciu wyników — co zwiększa koszt każdego kolejnego kroku inferencji LLM.

Zależy od
Opóźnienie zewnętrznych API / narzędziAkumulacja długości kontekstu

Paradygmat wykonania

Tryb główny
Warunkowy

Bazowy LLM pozostaje gęsty (dense) — wszystkie parametry aktywne podczas każdego kroku. Warunkowy charakter dotyczy wywołania zewnętrznych narzędzi, nie wewnętrznej struktury modelu.

Wzorzec aktywacji
Zależne od wejścia
Tryby dodatkowe
Gęsty
Mechanizm routingu

Model decyduje w trakcie dekodacji, czy wywołać narzędzie (i które), czy kontynuować generowanie tekstu — na podstawie treści kontekstu i specyfikacji narzędzi. Decyzja jest endogeniczna: wynika z rozkładu prawdopodobieństwa na tokenach wyjściowych.

Równoległość

Poziom równoległości
Warunkowo równoległy

Równoległość jest możliwa gdy model generuje wiele wywołań narzędzi w jednej turze bez zależności między nimi. Wykonanie LLM jest sekwencyjne; równoległość dotyczy wyłącznie wykonania narzędzi przez host.

Zakres
Inferencja
Ograniczenia
!Gdy wynik jednego narzędzia jest wejściem dla kolejnego wywołania, wywołania muszą być sekwencyjne. Model nie może wygenerować drugiego wywołania przed otrzymaniem wyniku pierwszego.
!Gdy wywołania narzędzi są niezależne od siebie, model może je wygenerować jednocześnie (parallel tool calling), a host może je wykonać równolegle — obsługiwane przez API OpenAI i Anthropic.

Wymagania sprzętowe

Podstawowe

Tool-augmented LLM jest wzorcem architektonicznym stosowanym na poziomie środowiska uruchomieniowego — wymagania sprzętowe są determinowane wyłącznie przez bazowy LLM i narzędzia, nie przez sam mechanizm augmentacji narzędziowej.