08 · LLM · 4 min czytania · aktualizacja
Czym są agenci AI oparci na LLM i jak model wywołuje narzędzia?
W skrócie
Agent AI to LLM działający w pętli: planuje, wywołuje narzędzia jak wyszukiwarka czy kod, czyta wyniki i decyduje, co dalej. Błędy kumulują się z krokami.
Co to jest
Agent AI oparty na LLM to system, w którym model językowy nie tylko odpowiada tekstem, ale w pętli wybiera działania: wywołuje narzędzia (wyszukiwarkę, kalkulator, interpreter kodu, API, bazę danych), odczytuje ich wyniki i na tej podstawie decyduje o kolejnym kroku, aż uzna zadanie za wykonane. Używanie narzędzi (tool use, function calling) to zdolność modelu do wygenerowania poprawnie sformatowanego wywołania funkcji zamiast zwykłego tekstu.
Sam LLM nie ma rąk: nie umie niczego wyszukać, uruchomić ani zapisać. Narzędzia uzupełniają jego słabości — arytmetykę robi kalkulator, aktualne fakty dostarcza wyszukiwarka, a kod weryfikuje interpreter. Model wnosi to, w czym jest dobry: rozumienie celu, planowanie i interpretację wyników.
Słowo „agent” jest nadużywane. Na skali autonomii jest wszystko: od pojedynczego wywołania narzędzia, przez zaprogramowany ciąg kroków, po system, który sam decyduje, ile kroków i jakich narzędzi potrzebuje.
Mechanizm — dlaczego tak działa
Wywołanie narzędzia to też generowanie tekstu. Aplikacja opisuje modelowi dostępne narzędzia: nazwę, przeznaczenie i schemat argumentów. Model, zamiast odpowiedzi, generuje ustrukturyzowane wywołanie, np. {"narzędzie": "pogoda", "miasto": "Gdańsk"}. Aplikacja — nie model — wykonuje funkcję i dopisuje wynik do kontekstu. Model czyta wynik i generuje dalej. Modele są dostrajane na takich przebiegach, by wiedziały, kiedy i jak sięgać po narzędzia (Schick i in., 2023).
Pętla rozumuj–działaj. Wzorzec ReAct (Yao i in., 2023) przeplata myśl („muszę sprawdzić aktualny kurs”), działanie (wywołanie narzędzia) i obserwację (wynik). Rozumowanie pomaga planować i interpretować wyniki, a działania dostarczają faktów, które ograniczają halucynacje w samym rozumowaniu. Cały stan agenta to kontekst: historia myśli, wywołań i wyników.
Dlaczego to trudne: kumulacja błędów. W zadaniu wieloetapowym błąd na jednym kroku — źle odczytany wynik, zła ścieżka pliku, zmyślony argument — przenosi się na kolejne. Jeśli kroki są w przybliżeniu niezależne, prawdopodobieństwo sukcesu całości to iloczyn prawdopodobieństw sukcesu kroków i maleje wykładniczo z długością zadania. Dlatego agenci świetni w demonstracjach zawodzą w długich, realnych zadaniach, a największy postęp daje poprawa niezawodności pojedynczego kroku oraz zdolność do wykrywania i naprawiania własnych błędów.
Kontekst się zapełnia. Wyniki narzędzi bywają długie (strony internetowe, logi), a każdy krok dopisuje tokeny. Agent musi streszczać, zapisywać notatki w plikach lub delegować podzadania, żeby nie wyczerpać okna kontekstu.
Bezpieczeństwo. Agent działający w świecie może wyrządzić realne szkody: usunąć pliki, wysłać wiadomość, wydać pieniądze. Treści z zewnątrz (strona, e-mail) mogą zawierać wstrzyknięte polecenia, które model weźmie za instrukcje. Stąd zasada minimalnych uprawnień, piaskownice i zatwierdzanie przez człowieka działań nieodwracalnych.
Na przykładzie
Pytanie: „Ile kosztuje 250 euro w złotych po dzisiejszym kursie?”. Bez narzędzi model poda kurs z pamięci, czyli nieaktualny. Agent: (1) myśl — „potrzebuję bieżącego kursu”; (2) działanie — wywołanie narzędzia kurs_walut(waluta="EUR"); (3) obserwacja — aplikacja zwraca kurs; (4) działanie — kalkulator("250 * kurs"); (5) odpowiedź z wynikiem i datą kursu. Model ani razu nie musiał znać kursu ani liczyć w pamięci — zaplanował i zinterpretował.
Teraz rachunek niezawodności. Jeśli każdy krok udaje się z prawdopodobieństwem 0,95, zadanie z 5 krokami kończy się sukcesem w 0,95⁵ ≈ 77% przypadków, z 10 krokami — w 60%, z 20 — tylko w 36%. Poprawa pojedynczego kroku do 0,99 daje przy 20 krokach 82%. Ta prosta potęga wyjaśnia, dlaczego różnica między „prawie zawsze działa” a „zawsze działa” jest dla agentów tak ważna. Założenie niezależności to uproszczenie: dobry agent może wykryć błąd i go naprawić, a zły może wpaść w pętlę.
W praktyce
- Zacznij od najprostszego rozwiązania: jeden prompt, potem stały ciąg kroków; pełną autonomię wprowadzaj tylko, gdy liczba i kolejność kroków naprawdę nie dają się przewidzieć.
- Opisuj narzędzia jak dokumentację dla nowego pracownika: kiedy używać, czego się spodziewać, przykłady argumentów; waliduj argumenty schematem JSON.
- Zwracaj z narzędzi zwięzłe, czytelne wyniki i komunikaty błędów, które mówią modelowi, co poprawić.
- Ogranicz uprawnienia, dodaj limit kroków i kosztu, wymagaj potwierdzenia przy działaniach nieodwracalnych.
- Oceniaj agenta na zestawie realistycznych zadań z automatycznym sprawdzeniem wyniku (np. testy kodu), a nie na pojedynczych demonstracjach.
Najczęstsze pytania
- Czym agent różni się od czatu?
- Czat odpowiada w jednym kroku na podstawie tego, co ma w kontekście. Agent działa w pętli, sam zdobywa informacje przez narzędzia i podejmuje kolejne decyzje na podstawie wyników — może wykonać dziesiątki kroków bez udziału człowieka.
- Czy model sam uruchamia narzędzia?
- Nie. Model generuje tylko opis wywołania. Wykonuje je aplikacja, która może wywołanie zablokować, poprosić o zgodę użytkownika lub zwrócić błąd.
- Dlaczego agenci tak często się mylą?
- Bo błędy kumulują się przez wiele kroków, kontekst zapełnia się szumem, a model bywa zbyt pewny swoich wcześniejszych decyzji. Pomagają krótsze zadania, lepsze narzędzia, weryfikacja wyników i punkty kontrolne z udziałem człowieka.
Źródła
- Yao S. i in., 2023, „ReAct: Synergizing Reasoning and Acting in Language Models”, ICLR 2023.
- Schick T. i in., 2023, „Toolformer: Language Models Can Teach Themselves to Use Tools”, NeurIPS 2023.
- Shinn N. i in., 2023, „Reflexion: Language Agents with Verbal Reinforcement Learning”, NeurIPS 2023.
- Jimenez C. E. i in., 2024, „SWE-bench: Can Language Models Resolve Real-World GitHub Issues?”, ICLR 2024.
- Russell S., Norvig P., 2020, „Artificial Intelligence: A Modern Approach”, 4th ed., Pearson, rozdz. 2 (agenci inteligentni).