Zacznijmy od problemu, nie od definicji.
Masz firmę. Masz chatbota. Ktoś pyta: "Jaka jest wasza polityka zwrotów?" Model odpowiada pewnie i szczegółowo. I jest w połowie w błędzie — bo polityka zmieniła się trzy miesiące temu, a model zna tylko wersję z danych treningowych.
Uczysz model na nowych danych? Kosztowne i wolne. A polityka znowu zmieni się za miesiąc. I jeszcze raz. I jeszcze raz.
To jest moment w którym ludzie wymyślili RAG. I to jest dobry punkt wyjścia do zrozumienia całej trójki.
RAG: model który czyta przed odpowiedzią
RAG (Retrieval-Augmented Generation) rozwiązuje jeden konkretny problem: model wie tylko tyle ile zapamiętał podczas treningu. Twoje dokumenty, aktualne dane, wiedza wewnętrzna firmy — tego nie ma w żadnym modelu.
Rozwiązanie jest eleganckie w swojej prostocie: zanim model odpowie, niech najpierw znajdzie relevantne fragmenty w Twoich danych. Dodaj te fragmenty do pytania. Teraz model odpowiada mając przed sobą zarówno swoje wyszkolone rozumowanie jak i aktualne fakty z Twoich źródeł.
Jak to działa w praktyce:
Twoje dokumenty (polityki, FAQ, instrukcje, artykuły) są wcześniej przetworzone — każdy fragment zamieniony na wektor liczbowy i zapisany w bazie wektorowej. Gdy przychodzi pytanie od użytkownika, system robi to samo z pytaniem: zamienia je na wektor, szuka najbardziej podobnych fragmentów w bazie, dołącza je do kontekstu modelu. Model czyta pytanie plus pobrane fragmenty i odpowiada.
Polityka zwrotów zmienia się? Aktualizujesz dokument w bazie. Chatbot od razu wie o zmianie. Bez retrenowania, bez deploymentu nowego modelu.
Dlaczego RAG działa tak dobrze dla wielu zastosowań:
RAG radykalnie redukuje halucynacje. Zamiast model "wymyślał" fakty których nie zna, dostaje konkretne fragmenty do cytowania. Wyniki są bardziej przewidywalne i weryfikowalne. Można sprawdzić źródło każdej odpowiedzi.
To jest też pierwsza rzecz którą firmy wdrażają przy enterprise AI — baza wiedzy firmowej zasilana RAG-iem. Działa. Ma sens. Jest relatywnie prosta do zbudowania.
Dlaczego RAG nie zawsze wystarcza
Zostańmy przy tej samej firmie. Teraz ktoś pyta coś innego: "Przeanalizuj sprzedaż z ostatniego kwartału, porównaj z trendami rynkowymi, wskaż które segmenty tracą i zaproponuj kampanie na przyszły miesiąc."
RAG pobierze jakieś dokumenty i model coś odpowie. Ale to zadanie nie jest jednym pytaniem. To sekwencja:
- Pobierz dane sprzedażowe z ostatniego kwartału
- Przeanalizuj wyniki per segment
- Wyszukaj aktualne trendy rynkowe (to jest zewnętrzne źródło, nie Twoje dokumenty)
- Porównaj swoje wyniki z trendami
- Zidentyfikuj underperformujące segmenty
- Sprawdź co działało w poprzednich kampaniach
- Zaproponuj konkretne działania
RAG wykona punkt 1 i może punkt 6. Reszta — zwłaszcza punkt 3 (zewnętrzna informacja), punkt 5 (analiza wymagająca iteracji) i punkt 7 (decyzja oparta na poprzednich krokach) — wymaga czegoś więcej.
RAG jest pipeline'em który działa raz. Jedno zapytanie, jedno pobranie, jedna odpowiedź. Gdy zadanie wymaga wielu kroków, każdy zależny od poprzedniego — RAG nie ma mechanizmu żeby to zorganizować.
Drugi problem: RAG tylko czyta, nie działa.
Użytkownik pyta asystenta: "Zarezerwuj mi salę konferencyjną na jutro na 14:00." RAG pobierze regulamin rezerwacji sal. Model powie co trzeba zrobić. Ale sam nic nie zarezerwuje.
To nie jest wada RAG — to jest po prostu granica jego projektu. RAG augmentuje kontekst modelu. Nie daje mu rąk do działania.
RAG: dwa tory — wcześniejsze indeksowanie danych i pipeline zapytania w czasie rzeczywistym
Agent AI: model który działa, nie tylko odpowiada
Agent AI to odpowiedź na oba problemy. Pętla zamiast pipeline'u. Akcje zamiast tylko odpowiedzi.
Gdy agent dostaje cel — rozkłada go na kroki, wykonuje każdy krok z pomocą narzędzi, obserwuje wynik, planuje następny krok. Jeśli coś nie wyjdzie jak powinno, może spróbować inaczej. To jest agent loop — percepcja, planowanie, działanie, ocena, powtórz.
Narzędzia to klucz. Przez MCP agent może połączyć się z bazą danych i zapytać SQL-em, wywołać API CRM, wyszukać informację w internecie, wykonać skrypt Pythona, wysłać e-mail. Nie imituje kliknięć człowieka — wywołuje API przez standardowy protokół.
Wracamy do analizy sprzedaży. Agent dostaje to samo zadanie:
- Wywołuje narzędzie
query_databasez pytaniem SQL o sprzedaż ostatniego kwartału. Dostaje wyniki. - Analizuje wyniki. Widzi że segment B wypada najgorzej.
- Wywołuje narzędzie
web_searchz zapytaniem o trendy w segmencie B. Dostaje artykuły. - Porównuje. Formułuje wnioski.
- Wywołuje
query_past_campaignsżeby sprawdzić co poprzednio działało w B. - Syntetyzuje rekomendacje.
Każdy krok jest możliwy. Agent realizuje zadanie które RAG mógł tylko częściowo obsłużyć.
Agent AI: pętla percepcja → planowanie → akcja → ocena, z narzędziami przez MCP
Dlaczego jeden agent też ma swoje limity
Wróćmy do analizy sprzedaży. Agent ją wykona. Ale sekwencyjnie: krok 1, wynik, krok 2, wynik, krok 3... Każde wywołanie narzędzia czeka na poprzednie. Każdy etap analizy blokuje następny.
Przy złożonych zadaniach pojawia się też inny problem: agent generalistyczny jest jak pracownik który musi być jednocześnie analitykiem danych, badaczem rynku i strategiem marketingowym. Radzi sobie, ale nie tak dobrze jak każdy z tych specjalistów osobno.
Wyobraź sobie inny scenariusz: chcesz wiedzieć co robi Twoja konkurencja. Skąd taka wiedza pochodzi?
- Wewnętrzne CRM — notatki ze spotkań, powody przegranych dealsów
- Zewnętrzne newsy i raporty — aktualności o firmie
- Oferty pracy konkurenta — wskaźnik ich strategii (kogo rekrutują mówi wiele)
- Rejestr spółek — zmiany finansowe, nowe udziały
Jeden agent musiałby odpytać każde z tych źródeł sekwencyjnie. Cztery zapytania, cztery kroki, a wszystko czeka w kolejce.
Agentic RAG: zespół zamiast jednego agenta
Agentic RAG to kolejna ewolucja. Zamiast jednego agenta który robi wszystko po kolei — orkiestrator który deleguje do wyspecjalizowanych subagentów, a te działają równolegle.
Ta sama analiza konkurencji w systemie Agentic RAG:
Orkiestrator dostaje zadanie i natychmiast widzi że ma cztery niezależne od siebie ścieżki. Deleguje równocześnie:
- Subagent 1 → pobiera dane z CRM przez MCP serwer wewnętrzny
- Subagent 2 → wyszukuje aktualne newsy przez MCP serwer wyszukiwarki
- Subagent 3 → sprawdza oferty pracy przez MCP serwer cloud
Wszystkie trzy działają jednocześnie. Orkiestrator czeka na wyniki, zbiera je i syntezuje raport.
To co Agent AI wykonałby w 12 seryjnych krokach, Agentic RAG wykonuje w 4 krokach — z których trzy toczą się równolegle.
Druga wartość: specjalizacja. Subagent który zajmuje się tylko danymi z CRM może być dokładnie dostrojony do tego formatu danych, specyficznych zapytań, typowych anomalii. Jest lepszy od generalisty w swojej wąskiej dziedzinie.
MCP jest tutaj spoiwem — standardowy protokół przez który każdy subagent komunikuje się ze swoimi źródłami danych. Zamiast każdy agent implementował własną integrację z każdym systemem, każde źródło danych wystawia serwer MCP raz i wszystkie agenty go używają.
Agentic RAG: orkiestrator deleguje do wyspecjalizowanych subagentów działających równolegle przez MCP
Kiedy co stosować
Trzy podejścia, trzy różne sytuacje. Nie ma "najlepszego" — jest właściwe dla konkretnego problemu.
RAG gdy masz bazę wiedzy i potrzebujesz modelu który odpowiada na pytania z tej wiedzy. FAQ, dokumentacja produktu, polityki firmy, internal knowledge base. Stosunkowo prosta implementacja, dobra jakość, niski koszt. Nie nadaje się gdy zadanie wymaga iteracji lub akcji.
Agent AI gdy zadanie wymaga działania — wywołania systemu, wykonania kodu, przeprowadzenia wieloetapowej analizy gdzie każdy krok zależy od poprzedniego. Automatyzacja procesów, asystenci operacyjni, systemy które "coś robią" a nie tylko "coś mówią."
Agentic RAG gdy:
- zadanie jest złożone i wymaga wielu niezależnych źródeł danych jednocześnie
- chcesz skrócić czas przez równoległe przetwarzanie
- różne części zadania wymagają wyspecjalizowanego podejścia
- skala jest duża i jeden agent byłby wąskim gardłem
To też jest bardziej złożone w implementacji — wymaga przemyślanej architektura, dobrego orkiestratora, mechanizmów obsługi błędów między agentami.
Praktyczna heurystyka: zacznij od RAG. Jeśli użytkownicy potrzebują żeby system coś robił, a nie tylko odpowiadał — przejdź do agenta. Jeśli agent staje się zbyt wolny lub zbyt generalny dla złożonych zadań — czas na architekturę wieloagentową.
Pojęcia ze słownika: RAG · Agent AI · MCP · Agent loop · Chain-of-thought · Enterprise RAG · Multi-agent system · Agent orchestration

Cała seria Anatomia Agenta AI:
- RAG, Agent AI, Agentic RAG — czym się różnią
- Jak agent myśli — ReAct, Chain-of-Thought i pętla działania
- Jak agent pamięta — cztery typy pamięci
- n8n — Twój pierwszy agent bez kodu
- Prompt engineering dla agentów
- Co może pójść nie tak — bezpieczeństwo agentów dla builderów
- NLWeb — jak sprawić żeby Twoja strona odpowiadała agentom
- Ile kosztuje agent w produkcji
- Jak wiedzieć że agent robi to co powinien
- Agent-ready — checklista (ten artykuł)










![Artykuł 2 z serii "Agenci AI — od konceptu do produkcji" ← RAG, Agent AI, Agentic RAG — czym się różnią Poprzedni artykuł tej serii skończył się na rozróżnieniu: RAG odpowiada na pytanie, agent realizuje cel. Ale to rodzi pytanie które każdy kto buduje agenta zadaje sobie prędzej czy później: jak właściwie agent decyduje co zrobić dalej? Między "dostałem zadanie" a "zadanie wykonane" jest czarna skrzynka. Dla chatbota ta czarna skrzynka jest prosta — jeden prompt, jedna odpowiedź. Dla agenta to sekwencja decyzji, wywołań narzędzi i ocen wyniku która może trwać sekundy albo godziny. Żeby budować agentów świadomie — a nie przez próby i błędy — trzeba zrozumieć co jest w środku tej czarnej skrzynki. Pętla która napędza każdego agenta Zacznijmy od analogii. Wyobraź sobie że dostajesz zadanie: "Zarezerwuj mi hotel w Krakowie na weekend 14-15 czerwca, do 400 zł za noc, blisko centrum." Jak to robisz? Nie jednym ruchem. Najpierw szukasz opcji. Sprawdzasz ceny. Czytasz opinie. Może jedno miejsce ma dobry rating ale jest za drogie — odrzucasz. Drugie pasuje, ale patrzysz jeszcze na lokalizację. Potwierdzasz. Rezerwujesz. To jest pętla: obserwujesz → planujesz → działasz → oceniasz wynik → wracasz do początku. Agent AI działa identycznie. Każde wieloetapowe zadanie jest realizowane przez powtarzający się cykl czterech kroków — i ten cykl ma swoją nazwę: agent loop. Cztery kroki pętli Percepcja — agent patrzy na stan: co jest w oknie kontekstu, jakie były wyniki poprzednich akcji, co zwróciło ostatnie narzędzie, jaki jest cel. Planowanie — na podstawie tego co widzi, agent decyduje co zrobić dalej. To jest moment decyzji: czy cel jest osiągnięty? Jeśli nie — jaka akcja przybliży mnie do celu? Jakie narzędzie wywołać? Akcja — agent wykonuje to co zaplanował. Wywołuje narzędzie MCP, odpytuje bazę danych, robi request HTTP, pisze plik. Ocena — agent patrzy na wynik akcji. Czy to działało? Co teraz wiem więcej? Co jest następnym krokiem? Czy napotkałem błąd który wymaga innej strategii? I z powrotem do percepcji. Pętla kręci się dopóki agent nie osiągnie celu, nie napotka przeszkody której nie może pokonać, albo — i to jest ważne — nie przekroczy limitu iteracji. Limit iteracji jest krytyczny Agent bez limitu może kręcić się w pętli nieskończenie. Narzędzie zwraca błąd, agent próbuje jeszcze raz, i jeszcze raz, i jeszcze raz. Minuty zamieniają się w godziny. Tokeny i koszty rosną. Każdy agent produkcyjny musi mieć limit kroków po którym zatrzymuje się i raportuje do człowieka: "doszedłem do limitu X iteracji, oto co udało mi się ustalić, oto gdzie utknąłem." To jest pierwsza zasada którą ignoruje większość ludzi budujących swojego pierwszego agenta. ReAct — jak agent myśli zanim działa Teraz wiemy że agent kręci się w pętli. Ale co dokładnie dzieje się w kroku "planowanie"? Jak agent decyduje co zrobić? W 2022 roku badacze z Princeton i Google zaproponowali wzorzec który zmienił sposób budowania agentów: ReAct (Reasoning + Acting). Pomysł jest prosty do bólu: zanim agent wykona akcję, niech najpierw "powie na głos" co myśli. Generuje explicite reasoning — widoczny łańcuch myślenia — a potem na jego podstawie podejmuje decyzję o akcji. Wygląda to tak: Thought: Użytkownik chce hotelu w Krakowie na 14-15 czerwca do 400 zł. Powinienem najpierw sprawdzić dostępność. Action: search_hotels(city="Kraków", checkin="2026-06-14", checkout="2026-06-15", max_price=400) Observation: [3 wyniki: Hotel A — 380 zł, Hotel B — 350 zł, Hotel C — 420 zł] Thought: Hotel C jest za drogi. Hotel A i B mieszczą się w budżecie. Sprawdzam odległość od centrum. Action: get_location(hotel_id="hotel_A") Observation: 800m od Rynku Głównego Thought: 800m to blisko centrum. Hotel A kosztuje 380 zł i jest blisko. Rezerwuję. Action: book_hotel(hotel_id="hotel_A", dates=["2026-06-14"]) Trzy zalety ReAct które robią różnicę w praktyce: Debugging jest możliwy. Widzisz dokładnie skąd pochodzi każda decyzja agenta. Jeśli coś poszło nie tak — możesz śledzić rozumowanie krok po kroku i znaleźć moment gdzie agent zboczył z kursu. Narzędzia są wywoływane trafniej. Agent który "przemyśli" co wywołać zanim to zrobi, robi mniej błędnych wywołań niż agent który po prostu reaguje na ostatni wynik. Agent może się korygować. Reasoning jest widoczny — i agent może sam zauważyć że jego poprzedni krok był błędny, zanim podejmie kolejny. Chain-of-Thought — "myślmy krok po kroku" ReAct to wzorzec na poziomie architektury agenta. Chain-of-thought (CoT) to technika na poziomie promptowania modelu. Idea: zamiast prosić model o bezpośrednią odpowiedź, zachęć go żeby najpierw pokazał swoje obliczenia. Jak matematyk który nie podaje samego wyniku, ale zapisuje wszystkie kroki. Najprostszy możliwy CoT to dosłownie jedno zdanie dodane do promptu: "Myślmy krok po kroku." Brzmi banalnie. Ale działa — szczególnie przy zadaniach wieloetapowych, matematycznych i logicznych. Bardziej zaawansowany CoT to few-shot: dostarczasz modelowi przykłady pytanie + rozumowanie + odpowiedź, i model uczy się wzorca. Dla agentów operujących w specyficznej domenie — powiedzmy agent analizujący umowy prawne — few-shot CoT z przykładami z tej domeny jest jednym z najskuteczniejszych sposobów poprawy jakości. Extended thinking — CoT wbudowany w model Claude 3.7+ i kilka innych modeli poszło dalej: extended thinking jest wbudowane bezpośrednio w model, bez potrzeby specjalnego promptowania. Model generuje wewnętrzny długi łańcuch myślenia przed odpowiedzią — niewidoczny dla użytkownika (lub opcjonalnie widoczny). Efekt: znacząco lepsza jakość przy złożonych, wieloetapowych zadaniach — za cenę wyższej latencji i więcej tokenów. Dla agentów wykonujących skomplikowane analizy gdzie czas odpowiedzi jest mniej ważny niż poprawność — extended thinking jest naturalnym wyborem. Przykład który łączy wszystko: agent rezerwujący hotel Wróćmy do zadania: "Zarezerwuj hotel w Krakowie na 14-15 czerwca." Chatbot dostałby to pytanie i wygenerował listę hoteli z opisem. Odpowiedź tekstowa. Nic nie zarezerwował. Agent z agent loop, ReAct i dostępem do narzędzi wykonuje to zadanie od początku do końca: Iteracja 1: Percepcja → cel jasny, narzędzia dostępne. Planowanie → wywołaj search_hotels. Akcja → [wywołanie]. Ocena → 3 wyniki, Hotel C za drogi. Iteracja 2: Percepcja → mam 2 kandydatów. Planowanie → sprawdź lokalizację. Akcja → [wywołanie]. Ocena → Hotel A blisko centrum, Hotel B dalej. Iteracja 3: Percepcja → Hotel A: 380 zł, 800m od centrum. Spełnia wszystkie kryteria. Planowanie → rezerwuj. Akcja → [wywołanie book_hotel]. Ocena → rezerwacja potwierdzona, numer #KRK2026-0891. Wynik: "Zarezerwowałem Hotel A na 14-15 czerwca, 380 zł, 800m od Rynku Głównego. Numer rezerwacji: #KRK2026-0891." Trzy iteracje pętli. Trzy wywołania narzędzi. Jedno wykonane zadanie. Co to zmienia dla kogoś kto buduje agenta Zrozumienie agent loop, ReAct i CoT nie jest teorią akademicką — bezpośrednio wpływa na to jak projektujesz agenta. Agent loop mówi ci: musisz zdefiniować kryterium sukcesu (jak agent wie że skończył?), ustawić limit iteracji (co gdy agent utknął?), i zdecydować gdzie wstawić human-in-the-loop (które akcje wymagają potwierdzenia człowieka przed wykonaniem?). ReAct mówi ci: daj modelowi miejsce na reasoning zanim podejmie akcję. Nie optymalizuj prompta do minimum — reasoning kosztuje tokeny, ale zmniejsza błędy narzędziowe i ułatwia debugging gdy coś pójdzie nie tak. CoT mówi ci: przy złożonych zadaniach "myślmy krok po kroku" to nie magia — to zmiana trybu pracy modelu. Dla zadań domenowych few-shot CoT z przykładami z Twojej domeny jest wart inwestycji. W następnym artykule: agent myśli i działa — ale co pamięta? Jak działa pamięć agenta między krokami, między sesjami i między zadaniami — i dlaczego zły design pamięci jest jednym z najczęstszych błędów przy budowaniu agentów produkcyjnych. Pojęcia ze słownika: Agent loop · Chain-of-thought · Reasoning model · Tool use · Human-in-the-loop · Agent AI](https://webflux.pl/wp-content/uploads/2026/06/agent_mysli.webp)
