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.
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.
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.
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)
Pokaż jako tabelę
| Kryterium | Agent w pętli | Agent grafowy |
|---|---|---|
| Czas do pierwszego prototypu | 5 / 5 | 2 / 5 |
| Zadania otwarte | 5 / 5 | 2 / 5 |
| Przewidywalny koszt i opóźnienie | 2 / 5 | 4 / 5 |
| Debugowanie i śledzenie | 2 / 5 | 5 / 5 |
| Zatwierdzenia przez człowieka | 2 / 5 | 5 / 5 |
| Długie procesy z możliwością wznowienia | 1 / 5 | 5 / 5 |
| Bezpieczne zapisy (pieniądze, dane osobowe) | 2 / 5 | 5 / 5 |
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)
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.