Agenci pętlowi i grafowi: jak wybieram architekturę

2026-09-10

Każdy agent AI to model wywołujący narzędzia w określonej kolejności. Jedyne naprawdę istotne pytanie brzmi: kto tę kolejność ustala? W agencie pętlowym model decyduje w trakcie działania. W grafowym kolejność definiujesz z góry, a model uzupełnia kroki. Większość debat o frameworkach agentowych sprowadza się właśnie do tego wyboru.

Agent pętlowy to najprostsze działające rozwiązanie: wysyłasz modelowi zadanie i listę narzędzi, uruchamiasz wskazane narzędzie, dopisujesz wynik i powtarzasz, aż model odpowie bez wywołania narzędzia. To wzorzec ReAct. Gotowe implementacje oferują API użycia narzędzi OpenAI i Anthropic, Vercel AI SDK oraz createAgent z LangChain. Jest zaskakująco skuteczny — większość asystentów programistycznych i agentów badawczych opiera się dokładnie na tej pętli.

ZadanieModel decydujeUruchom narzędzieOdpowiedźwywołanie narzędziawynikbez wywołania narzędziazabezpieczenia: limit kroków · budżet tokenów · lista dozwolonych narzędzi
Agent pętlowy: model wybiera kolejny krok w trakcie działania i zatrzymuje się, gdy odpowie bez wywołania narzędzia.

Jego mocną stroną jest elastyczność: nie trzeba z góry znać przebiegu, więc dobrze pasuje do otwartych zadań — badań, debugowania czy „ustal, dlaczego to zamówienie się nie powiodło”. Ta sama cecha jest jego słabością. Liczba kroków, koszt i opóźnienie są nieznane; model może krążyć w kółko, pominąć kontrolę lub wywołać niepożądane narzędzie. W ryzach trzymają go zabezpieczenia: limit kroków (stopWhen w Vercel AI SDK), budżet tokenów, lista dozwolonych narzędzi i walidacja końcowej odpowiedzi.

Agent grafowy przedstawia proces jako jawne węzły i krawędzie: klasyfikuj, pobierz, przygotuj szkic, zweryfikuj, zapytaj człowieka, zapisz. Węzłem może być wywołanie modelu, narzędzie lub zwykły kod, a krawędzie mogą się rozgałęziać albo celowo cofać: „walidacja nie przeszła, wróć do szkicu”. Stan jest jawnym obiektem zapisywanym po każdym węźle. Najbardziej znanym przykładem jest LangGraph: w Pythonie i TypeScript dodaje checkpointy, dzięki którym wykonanie może zaczekać na ludzką akceptację, a po kilku godzinach wznowić dokładnie od miejsca przerwania.

WejścieKlasyfikujPobierz dokumentyZapytaj użytkownikaWersja roboczaZweryfikujZatwierdzenie przez człowiekaZapiszwystarczające danebrakujące danebłądpunkt kontrolny stanu
Agent grafowy: kroki i rozgałęzienia projektuje się z góry, a stan zapisuje po każdym węźle.

Jego mocną stroną jest kontrola. Wiadomo, jakie kroki mogą się wydarzyć, w jakiej kolejności i gdzie potrzebna jest zgoda człowieka. Każdy przebieg można prześledzić węzeł po węźle, kształt grafu ogranicza koszt, a błąd w piątym kroku nie uruchamia ponownie pierwszych czterech. Ceną są wcześniejsze prace projektowe i mniejsza swoboda: jeśli zadanie nie pasuje do grafu, agent nie improwizuje wyjścia.

Agent w pętliAgent grafowy

Czas do pierwszego prototypu

Zadania otwarte

Przewidywalny koszt i opóźnienie

Debugowanie i śledzenie

Zatwierdzenia przez człowieka

Długie procesy z możliwością wznowienia

Bezpieczne zapisy (pieniądze, dane osobowe)

012345
Pokaż jako tabelę
KryteriumAgent w pętliAgent grafowy
Czas do pierwszego prototypu5 / 52 / 5
Zadania otwarte5 / 52 / 5
Przewidywalny koszt i opóźnienie2 / 54 / 5
Debugowanie i śledzenie2 / 55 / 5
Zatwierdzenia przez człowieka2 / 55 / 5
Długie procesy z możliwością wznowienia1 / 55 / 5
Bezpieczne zapisy (pieniądze, dane osobowe)2 / 55 / 5
Porównanie agentów pętlowych i grafowych w siedmiu wymiarach, w skali 1–5 (więcej znaczy lepiej). Moja ocena na podstawie budowy obu rozwiązań, nie benchmark.

W zestawieniu pytanie brzmi mniej „co jest lepsze?”, a bardziej „gdzie mieści się twoje zadanie?” — między otwartym a powtarzalnym, między tanimi a kosztownymi błędami. Ciekawostka: granica jest mniej wyraźna, niż sugeruje marketing. createAgent w LangChain to pętla, ale od wersji 1.0 działa na runtime LangGraph — pętla jest po prostu najmniejszym możliwym grafem.

Rozmiar bąbelka: typowa liczba wywołań modelu na zadanie

Pokaż jako listę
  • Pojedyncze wywołanie modelu — Jeden prompt, jedna odpowiedź: największa przewidywalność, najmniejsza autonomia. (1 wywołanie modelu)
  • Agent grafowy — Zaplanowane kroki i rozgałęzienia; model działa w każdym węźle. (ustalona liczba wywołań)
  • Graf z pętlą wewnętrzną — Stały proces z jednym otwartym krokiem, np. badaniem. (stałe kroki + ograniczona pętla)
  • Agent w pętli — Model wybiera kolejne kroki aż do zakończenia. (tyle wywołań, ile zdecyduje)
Położenie podejść: większa autonomia w prawo, większa przewidywalność w górę. Mapa pojęciowa, nie pomiar.

Moja praktyczna zasada: zacząć od pętli przy eksploracji i narzędziach wewnętrznych, gdzie człowiek i tak przeczyta wynik. Przejść na graf, gdy proces się powtarza, dotyczy pieniędzy lub danych klientów, wymaga akceptacji albo trwa dłużej niż jedno żądanie. Najlepsze systemy produkcyjne zwykle łączą oba podejścia: graf obsługuje proces biznesowy, a w jednym węźle działa mała pętla — na przykład krok badawczy, który może kilka razy wyszukać informacje, zanim przekaże uporządkowany wynik kolejnemu, deterministycznemu węzłowi.

Niezależnie od wyboru zasady są takie same: typowane wejścia narzędzi, twardy budżet, log każdego kroku i żadnego zapisu do systemu źródłowego bez walidacji. W TypeScript lub Pythonie to kilkadziesiąt wierszy wokół wywołania modelu — i różnica między demem a produktem. Jeśli chcesz przekazać agentowi jakiś proces, wyślij kroki wykonywane dziś przez twój zespół. Powiem, czy pasuje do niego pętla, graf, czy graf z pętlą wewnątrz.

Daj kolejnemu produktowi kogoś, kto zostanie.

Chcesz zacząć? Napisz do mnie — mogę rozpocząć od razu i zostać na dłużej. Długoterminowa współpraca, nie przekazanie projektu po dwóch tygodniach. Omówmy projekt, wymagania i najlepszy sposób realizacji.

Zapytaj o doświadczenie lub usługi