Robocikowo>ROBOCIKOWO
Wnioskowanie

TAO Loop

2022AktywnyOpublikowano: 5 czerwca 2026Aktualizacja: 5 czerwca 2026Opublikowany
Thought–Action–Observation (TAO) to wzorzec pętli agenta, w którym model na każdym kroku najpierw zapisuje myśl o tym, co zrobić, następnie emituje akcję (np. wywołanie narzędzia), a w kolejnej turze otrzymuje obserwację będącą wynikiem akcji. Cykl powtarza się aż do osiągnięcia celu lub limitu iteracji.
Kluczowa innowacja
Standaryzuje pętlę pracy agenta LLM jako trzy jawne fazy — Thought (wewnętrzne rozumowanie), Action (wywołanie narzędzia) i Observation (wynik narzędzia wstrzyknięty z powrotem do kontekstu) — zamieniając ad-hoc prompting w przewidywalny, debugowalny cykl sterowania.
Kategoria
Wnioskowanie
Poziom abstrakcji
Wzorzec
Poziom operacji
Środowisko agentoweOrkiestracjaInferencja
Zastosowania
Pętle wykonawcze agentów AI (LangChain Agent Executor, LangGraph, OpenAI Agents SDK)Agenci RAG z iteracyjnym wyszukiwaniemAgenci nawigujący po stronach internetowych i dokumentachAgenci kodujący (przeczytaj plik → zaplanuj → edytuj → uruchom testy → obserwuj wynik)Workflowy z wieloma narzędziami i decyzjami warunkowymiTool-using benchmarki (HotpotQA, ALFWorld, WebShop)Debugowanie zachowania agenta przez czytelne ślady myślenia

Jak działa

W każdej iteracji agenta model generuje strukturalny krok złożony z trzech sekcji. (1) Thought: krótka notatka rozumowania w języku naturalnym o tym, co model wie i co zamierza zrobić dalej. (2) Action: wywołanie narzędzia w ustalonym formacie (JSON, function call, lub specjalny token typu „Action: search[query]"). (3) Observation: wynik wykonania akcji (zwrot z API, fragment dokumentu, błąd) wstrzyknięty do kontekstu jako osobna wiadomość albo blok tekstu. Model widzi pełną historię (T,A,O,T,A,O,...) w kolejnej turze i albo emituje kolejny krok TAO, albo wystawia "Final Answer". Pętla jest ograniczona przez max_iterations, budżet tokenów i regułę zatrzymania po Final Answer.

Rozwiązany problem

Czysty LLM, nawet z function callingiem, łatwo „przeskakuje" wprost do akcji, traci wątek lub halucynuje wynik narzędzia bez czekania na rzeczywistą odpowiedź. TAO wymusza trójfazową dyscyplinę: rozumuj, działaj, obserwuj — eliminując zlewanie się rozumowania z wykonaniem, ułatwiając debugging i pozwalając na multi-step problem solving z narzędziami.

Implementacja

Pułapki implementacyjne
Halucynowane ObservationKrytyczna

Model emituje od razu Action i fałszywą Observation w jednej turze, zanim narzędzie naprawdę zwróci wynik. Mitigacja: parsuj odpowiedź, ucinaj po Action, przerywaj generowanie na stop-tokenie i wymuszaj rolę "tool" jako jedyne źródło Observation.

Rozwiązanie:Stop-tokeny po Action, parser, wstrzykiwanie Observation jako osobna wiadomość roli tool.
Pętle bez postępuWysoka

Agent powtarza tę samą Action z drobnymi wariantami i nie zbliża się do celu. Mitigacja: deduplikacja akcji, twardy limit max_iterations, watchdog wykrywający brak nowych obserwacji, opcjonalna faza Reflexion.

Rozwiązanie:Deduplikacja, max_iterations, watchdog, Reflexion.
Eksplozja kontekstu przez długie ObservationWysoka

Wynik narzędzia (cała strona, wynik SQL z setkami rekordów) zapełnia okno kontekstu w 2–3 iteracjach. Mitigacja: truncate Observation, streszczanie, retrieval-on-result, paginacja.

Rozwiązanie:Trunc, streszczanie, paginacja, retrieval-on-result.
Mylenie Thought z Final AnswerŚrednia

Model wpisuje wnioski końcowe do pola Thought zamiast wyemitować "Final Answer", przez co aplikacja nigdy nie kończy pętli. Mitigacja: jasne reguły w prompt systemowym, przykłady few-shot z poprawnym Final Answer, parser wymuszający format.

Rozwiązanie:Jasny prompt, few-shot, parser, fallback po max_iterations.
Prompt injection przez treść ObservationKrytyczna

Treść zwrócona z narzędzia (strona, e-mail, wynik SQL) zawiera instrukcje próbujące przejąć agenta — typowy wektor ataku w pętli TAO. Mitigacja: izolacja Observation, oznaczanie jej jako nieufnej, polityki uprawnień narzędzi.

Rozwiązanie:Izolacja Observation, sanitizacja, polityki uprawnień.

Ewolucja

Oryginalny paper · 2022 · ICLR 2023 / Princeton & Google Research · Shunyu Yao
ReAct: Synergizing Reasoning and Acting in Language Models
Shunyu Yao, Jeffrey Zhao, Dian Yu, Nan Du, Izhak Shafran, Karthik Narasimhan, Yuan Cao
2022
ReAct definiuje pętlę Thought–Action–Observation
Punkt przełomowy

Yao i in. (Princeton + Google) formalizują przeplatanie kroków rozumowania (Thought) i działania (Action) z obserwacjami zwrotnymi z narzędzi i otoczenia (Observation) — fundament wszystkich późniejszych pętli agentowych.

2023
LangChain Agent Executor popularyzuje TAO w produkcji

LangChain wprowadza ReAct Agent i Agent Executor, czyniąc pętlę "Thought / Action / Action Input / Observation" domyślnym wzorcem implementacyjnym dla agentów LLM w przemyśle.

2023
Reflexion dodaje samokrytykę do pętli

Shinn i in. rozszerzają TAO o fazę refleksji nad poprzednimi obserwacjami, pokazując, że agenci uczą się skuteczniej, gdy między iteracjami przeprowadzają jawną krytykę.

2023
Function calling przenosi Action do natywnego API
Punkt przełomowy

OpenAI Function Calling (czerwiec 2023) i kolejni dostawcy zastępują free-text "Action:" strukturalnym wywołaniem JSON, a Observation staje się dedykowaną wiadomością roli "tool" — kanoniczna implementacja TAO przesuwa się z promptu do schematu API.

2024
LangGraph i Hugging Face Agents course standaryzują nazewnictwo

LangGraph (graf stanu z węzłami Thought/Action/Observation) oraz kurs Hugging Face Agents (rozdział "The Thought-Action-Observation Cycle") utrwalają TAO jako kanoniczny opis pętli agenta niezależnie od dostawcy.

Hiperparametry (konfigurowalne osie)

Max iterationsKrytyczna

Maksymalna liczba pełnych pętli T-A-O zanim wymusimy Final Answer.

5–10Typowy zakres dla prostych agentów RAG.
20–50Agenci kodujący i webowi.
Thought verbosityWysoka

Jak długie i szczegółowe powinny być sekcje Thought — wpływa na koszt i jakość rozumowania.

Observation truncationWysoka

Limit długości Observation (np. pierwsze N tokenów wyniku narzędzia) — chroni okno kontekstu.

Stop criterionKrytyczna

Reguła zatrzymania pętli: emisja "Final Answer", brak nowej Action przez N kroków, osiągnięcie max_iterations, przekroczenie budżetu tokenów.

Paradygmat wykonania

Tryb główny
Warunkowy

Występują dwa konkurencyjne idiomy implementacji: (a) free-form ReAct-style "Thought:/Action:/Observation:" zaszyte w prompt, (b) strukturalny tool-use z osobnymi rolami "assistant" / "tool" w API czatu.

Wzorzec aktywacji
Zależne od etapu
Mechanizm routingu

Model sam decyduje, kiedy zakończyć Thought i wyemitować Action, oraz kiedy po kilku iteracjach przejść do Final Answer. Routing jest implicit w przestrzeni tokenów wyjściowych, sterowany promptem systemowym i przykładami few-shot.

Równoległość

Poziom równoległości
Sekwencyjny

TAO jest z definicji sekwencyjne — Observation zależy od Action, kolejny Thought zależy od Observation. Równoległość wprowadzają dopiero rozszerzenia (parallel tool calls w ramach jednej Action, multi-agent fan-out na poziomie wyższym).

Zakres
Inferencja

Wymagania sprzętowe

Podstawowe

TAO jest wzorcem na poziomie orkiestracji agenta — działa wszędzie, gdzie działa LLM zdolny do tool-use, niezależnie od backendu sprzętowego.