---
title: "Vzor ReAct: Thought, Action, Observation"
description: "Vzor ReAct (Reasoning and Acting) je návrhový vzor agentov, pri ktorom LLM strieda uvažovanie (Thought), volanie nástroja (Action) a čítanie výsledku (Observation)."
locale: "sk"
canonical: "https://blckalpaca.at/sk/vedomosti/ai-agenti/prehlad-architektur-ai-agentov/vzor-react-vysvetlenie"
category: "AI agenti"
topic: "Prehľad architektúr AI agentov"
updated: "2026-10-17T15:33:24.430Z"
source: "Blck Alpaca e.U., blckalpaca.at"
---

# Vzor ReAct: Thought, Action, Observation

Vzor ReAct (Reasoning and Acting) je návrhový vzor agentov, pri ktorom LLM strieda uvažovanie (Thought), volanie nástroja (Action) a čítanie výsledku (Observation). Táto slučka sa opakuje, kým agent nevydá finálnu odpoveď. Predstavili ho Yao et al. (2022).

## Na prvý pohľad

- ReAct prepája verbálne uvažovanie (Thought) s volaniami nástrojov (Action) a ich výsledkami (Observation) v jedinom kontexte. Zaviedli ho Yao et al. (arXiv:2210.03629, október 2022, ICLR 2023).
- Hlavnou silnou stránkou je kombinácia využívania nástrojov a transparentnosti: úplný trace Thought/Action/Observation je sledovateľný a uľahčuje debugging aj preukazovanie súladu, napríklad s GDPR.
- Typickými druhmi zlyhaní sú nekonečné slučky, reasoning drift (zotrvávanie na nesprávnom predpoklade) a halucinovanie argumentov nástrojov, najmä pri slabších modeloch.
- Najdôležitejšie protiopatrenie: tvrdé limity iterácií (napríklad recursion_limit v LangGraph, max_iter v CrewAI) a function calling namiesto JSON argumentov vo voľnom texte.
- Praktická horná hranica je väčšinou 10-25 krokov, potom začne prevládať strata kontextu a reasoning drift; ReAct je sekvenčný, a preto obmedzený latenciou.
- Odporúčanie z praxe (Anthropic, Cognition): začať s najjednoduchším vzorom, väčšinou s ReAct, a eskalovať až vtedy, keď si to vynútia namerané zlyhania.

Vzor **ReAct** (Reasoning and Acting) je návrhový vzor agentov, pri ktorom [LLM](https://blckalpaca.at/sk/slovnik/llm) strieda uvažovanie (**Thought**), volanie nástroja (**Action**) a spätné čítanie výsledku (**Observation**). Táto slučka sa opakuje, kým [agent](https://blckalpaca.at/sk/slovnik/agent) nevydá finálnu odpoveď. Predstavili ho Yao et al. (arXiv:2210.03629, október 2022, ICLR 2023). [Uvažovanie riadi výber nástroja](https://blckalpaca.at/sk/vedomosti/ai-agenti/co-su-ai-agenti/reasoning-a-planning-agentov) a pozorovania z nástrojov uvažovanie korigujú.

- **Čo to je:** Slučka z krokov Thought, Action a Observation, v ktorej LLM prepája myslenie a konanie a využíva nástroje v tom istom kontexte.
- **Na čo je dobrý:** Úlohy podporené nástrojmi a ukotvené vo faktoch, s úplne sledovateľným priebehom. ReAct je štandardný východiskový bod pre projekty s agentmi.
- **Na čo si dať pozor:** Nekonečné slučky, reasoning drift a halucinované argumenty nástrojov; zachytíš ich tvrdými limitmi iterácií a function callingom.

## Odkiaľ ReAct pochádza a aký problém rieši

ReAct vznikol ako odpoveď na dve protichodné slabiny skorších prístupov. Čistý [Chain-of-Thought (CoT)](https://blckalpaca.at/sk/slovnik/chain-of-thought-prompting) uvažuje výlučne interne, a preto halucinuje fakty: chýba mu akékoľvek ukotvenie vo vonkajšom svete. Agenti založení čisto na akciách, napríklad skoré prístupy WebGPT alebo SayCan, naopak nedokážu abstraktne uvažovať o dlhodobých cieľoch ani sa zotaviť z výnimiek.

ReAct spája oboje: **verbálne uvažovanie** je v tom istom kontexte ako akcie. LLM tak získa pracovnú pamäť pre celú trajektóriu a agent sa stane interpretovateľným. Formálne ReAct rozširuje priestor akcií: okrem externých akcií, ktoré vyvolávajú skutočné pozorovania, existujú jazykové „akcie“ (Thoughts), ktoré v prostredí nič nemenia, iba dopĺňajú interný kontext agenta. Pozoruhodné je, že vzor funguje už s jedným až dvoma príkladmi v kontexte (in-context), **bez fine-tuningu**.

## Slučka podrobne: Thought, Action, Observation

Kanonický priebeh: `User Query → [LLM: Thought] → [LLM: Action] → [Prostredie: Observation] → [LLM: Thought] → … → Finish[odpoveď]`. Tri kroky do seba zapadajú takto:

| Krok | Význam | Kto ho vytvára |
| --- | --- | --- |
| **Thought** | Uvažovanie vo voľnom texte: agent zvažuje, čo musí urobiť ďalej a prečo. Aktualizuje iba interný kontext, nie prostredie. | LLM |
| **Action** | Konkrétne volanie nástroja s argumentmi (napr. vyhľadávanie, volanie [API](https://blckalpaca.at/sk/slovnik/api), databázový dopyt) alebo `Finish[odpoveď]` na ukončenie. | LLM |
| **Observation** | Výsledok akcie, ktorý vráti prostredie (výsledky vyhľadávania, odpoveď API, chybové hlásenie). Vstupuje do ďalšieho Thought. | Prostredie / nástroj |

Tento cyklus beží, kým model nevygeneruje `Action: Finish[odpoveď]`. Praktická horná hranica je väčšinou **10-25 krokov**, potom prevládne strata kontextu alebo reasoning drift.

## Pseudokód slučky ReAct

1. `context = systemPrompt + toolDescriptions + userQuery`
2. `krok = 0`
3. `MAX_KROKOV = 15   # tvrdý limit proti nekonečným slučkám`
4. `while krok < MAX_KROKOV:`
5.     `vystup = LLM(context)   # vytvorí Thought + Action`
6.     `if vystup.action == "Finish":`
7.         `return vystup.action.argument   # finálna odpoveď`
8.     `observation = vykonajNastroj(vystup.action)   # externé volanie`
9.     `context = context + vystup.thought + vystup.action + observation   # pripojenie pozorovania`
10.     `krok += 1`
11. `return "Limit dosiahnutý, riešenie sa nenašlo."   # riadené ukončenie`

Kľúčový bod: v každej iterácii sa celý doterajší priebeh posiela do LLM znova. To je zdroj silnej stránky (úplná pamäť) aj hlavnej slabiny (náklady).

## Silné stránky a hranice podľa výskumu

Pôvodná štúdia preukazuje výhody ReAct na viacerých benchmarkoch. Dôležité: čísla pochádzajú z podmienok rokov 2022/2023 (modely triedy [GPT](https://blckalpaca.at/sk/slovnik/gpt)-3 a PaLM) a treba ich čítať ako **relatívne hodnoty**, nie ako dnešné absolútne hodnoty.

- **ALFWorld** (textové úlohy v domácnosti): +34 absolútnych percentuálnych bodov oproti referenčným metódam založeným na imitačnom učení alebo RL, s jedným až dvoma príkladmi.
- **WebShop** (navigácia v e-shope): +10 absolútnych percentuálnych bodov úspešnosti oproti IL/IL+RL.
- **HotpotQA** a **Fever**: konkurencieschopné až lepšie ako čistý CoT, resp. čisté generovanie akcií; najsilnejšou konfiguráciou je hybrid, ktorý prepína medzi internými znalosťami modelu a uvažovaním podporeným nástrojmi.

Z hľadiska nákladov je ReAct drahý a pomalý. Spotreba tokenov rastie ako O(N · T): N krokov krát kumulovaná dĺžka kontextu, pretože každý krok znova platí za prefix (systémový [prompt](https://blckalpaca.at/sk/slovnik/prompt), popisy nástrojov, celý priebeh). Latencia je striktne sekvenčná, teda približne N × (čas odpovede LLM + čas odpovede nástroja). Práve toto opakovanie prefixu je slabina, ktorú nástupnícky vzor [ReWOO](https://blckalpaca.at/sk/vedomosti/ai-agenti/prehlad-architektur-ai-agentov) rieši iba dvoma volaniami LLM.

## Druhy zlyhaní a protiopatrenia

Tri druhy zlyhaní sa v praxi vyskytujú obzvlášť často:

- **Nekonečné slučky:** Bez tvrdého obmedzenia počtu krokov môže agent donekonečna uvažovať v kruhu. **Protiopatrenie:** explicitné limity, napríklad `recursion_limit` v LangGraph, `max_tool_iterations` pri AssistantAgent v AutoGen (alternatívne podmienka ukončenia ako MaxMessageTermination), `max_iter` v CrewAI. V LangGraph poskytuje `create_react_agent` kanál `remaining_steps` a ukončí beh s upozornením, keď zostáva menej ako dva kroky.
- **Reasoning drift / šírenie chýb:** Keď sa model upne na nesprávny Thought, interpretuje nasledujúce Observations tak, aby s ním boli v súlade. **Protiopatrenie:** kratšie trajektórie, priebežná validácia a pri overiteľných úlohách externý reflexný alebo kontrolný signál (prepojenie na vzor Reflexion).
- **Halucinované argumenty nástrojov a halucinované pozorovania:** Pri nejednoznačných popisoch nástrojov si model argumenty vymýšľa; slabšie modely si občas „domyslia“ aj pozorovania namiesto toho, aby počkali na skutočný výsledok nástroja. Chybne sformované JSON argumenty nástrojov sú podľa výskumu najčastejšou produkčnou chybou pri slabších modeloch. **Protiopatrenie:** používať štruktúrovaný výstup, resp. **režim function calling**, kedykoľvek ho poskytovateľ podporuje, a formulovať popisy nástrojov presne.

K tomu sa pridáva už spomínané nafukovanie kontextu: každý krok znova posiela celý priebeh.

## Konkrétny príklad: rešeršný agent pre marketingovú agentúru

Predpokladajme, že agentúra stavia agenta, ktorý zisťuje aktuálny počet zamestnancov klientskej firmy. Slučka by mohla prebehnúť takto:

1. **Thought:** „Aktuálne číslo nepoznám a musím ho vyhľadať.“ → **Action:** `Vyhľadaj["počet zamestnancov firma X 2026"]` → **Observation:** výsledok s tlačovou správou.
2. **Thought:** „Správa uvádza rozpätie, potrebujem presné číslo.“ → **Action:** `Otvor[URL tlačovej správy]` → **Observation:** plný text s údajom „približne 1 200 zamestnancov“.
3. **Thought:** „Tým je otázka zodpovedaná.“ → **Action:** `Finish["cca 1 200 zamestnancov, stav 2026"]`.

Tri kroky, tri volania LLM, úplne zaznamenaný priebeh. Ak nastavíš `MAX_KROKOV = 15`, agent je chránený pred nekonečnými slučkami. Ak nič nenájde, korektne skončí namiesto toho, aby zbytočne míňal tokeny. Práve tento sledovateľný priebeh je pre marketingové tímy bez vývojárskeho zázemia skutočnou výhodou: napríklad v [n8n](https://blckalpaca.at/sk/slovnik/n8n) zobrazí detail vykonania každé volanie LLM a nástroja ako auditovateľný log.

## Frameworky a odporúčania z praxe (stav 2026)

ReAct je natívne dostupný vo všetkých bežných stackoch: **LangGraph** (`create_react_agent`), **CrewAI** (každý agent je interne ReAct agent), **AutoGen**, resp. **Microsoft Agent Framework** (AutoGen je k roku 2026 v režime údržby; Microsoft odkazuje nové projekty na Agent Framework) a **n8n**. Tam uzol [AI Agent](https://blckalpaca.at/sk/slovnik/ai-agent) od verzie [n8n 1.82.0](https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent/) realizuje slučku uvažovania a akcií ako Tools Agent cez natívny function calling; výber samostatného typu agenta ReAct bol zrušený. V [LangChain](https://blckalpaca.at/sk/slovnik/langchain) sa `create_react_agent` k roku 2026 presúva z `langgraph.prebuilt` do `langchain.agents.create_agent` s middleware dekorátormi.

Najdôležitejší poznatok z praxe pochádza od spoločností Anthropic („Building Effective Agents“, december 2024) a Cognition: **začať s najjednoduchším vzorom, väčšinou s ReAct, a eskalovať až vtedy, keď si to vynútia namerané zlyhania.** Moderné špičkové modely ovládajú slučku uvažovania a akcií natívne cez function calling; explicitný ReAct prompting je často zbytočný. Rozhodujúce sú potom pamäť, horné hranice iterácií a tracing. Nástroje na observability (LangSmith, Arize Phoenix, Langfuse) v produkcii prakticky patria k základu. Automatické zaznamenávanie udalostí predpisuje [EU AI Act](https://blckalpaca.at/sk/slovnik/eu-ai-act) pre vysokorizikové systémy [AI](https://blckalpaca.at/sk/slovnik/ai) ([čl. 12 AI Act](https://artificialintelligenceact.eu/article/12/)), typickí marketingoví a rešeršní agenti však pod ne spravidla nespadajú. Trvalo uložený trace sa napriek tomu oplatí pre debugging a sledovateľnosť. Ak obsahuje osobné údaje, platí minimalizácia údajov a minimalizácia uchovávania podľa [čl. 5 GDPR](https://dsgvo-gesetz.de/art-5-dsgvo/): odstrániť PII a stanoviť lehotu na vymazanie.

## Pre agentúry a manažérov v B2B

ReAct je pragmatický začiatok pre takmer každý projekt s agentmi: zákaznícke chatboty napojené na [CRM](https://blckalpaca.at/sk/slovnik/crm) a znalostnú databázu, triedenie požiadaviek podpory alebo rešeršné úlohy. Rýchlo ho nastavíš a je úplne auditovateľný. V B2B prostredí regiónu DACH záleží na oboch. Náklady a latencia však rastú s každým krokom. Preto od začiatku nastav tvrdé limity iterácií, používaj function calling namiesto argumentov vo voľnom texte a ukladaj trace pre audit a debugging. Ak ako agentúra chceš navrhnúť agenta alebo dať preveriť stabilitu existujúceho workflowu, ozvi sa nám. Pomôžeme ti s výberom, architektúrou a realizáciou v súlade s predpismi.

## Často kladené otázky

### Čo znamená ReAct?

ReAct znamená Reasoning and Acting. LLM prepája uvažovanie vo voľnom texte (Thought) s volaniami nástrojov (Action) a číta ich výsledky (Observation). Tieto tri kroky tvoria slučku, ktorá beží, kým agent nevydá finálnu odpoveď. Vzor zaviedli Yao et al. v roku 2022.
### V čom sa ReAct líši od Chain-of-Thought (CoT)?

Chain-of-Thought uvažuje čisto interne, bez prístupu k vonkajšiemu svetu, a preto môže halucinovať fakty. ReAct ukotvuje uvažovanie v skutočných pozorovaniach z nástrojov: uvažovanie riadi výber nástroja a výsledky nástrojov zasa korigujú uvažovanie. ReAct tak spája abstraktné vyvodzovanie s ukotvením vo faktoch.
### Aké sú najčastejšie druhy zlyhaní vzoru ReAct?

Najčastejšie problémy sú nekonečné slučky bez tvrdého obmedzenia počtu krokov, reasoning drift (agent zotrváva na nesprávnom predpoklade a neskoršie pozorovania interpretuje tak, aby s ním boli v súlade), halucinované argumenty nástrojov pri nejednoznačných popisoch nástrojov a nafukovanie kontextu, keďže každý krok znova posiela celý doterajší priebeh.
### Ako zabrániť nekonečným slučkám pri ReAct agentoch?

Tvrdými limitmi iterácií: v LangGraph nastavíš recursion_limit, v CrewAI max_iter, v AutoGen max_tool_iterations pri AssistantAgent alebo podmienku ukončenia ako MaxMessageTermination. V LangGraph poskytuje create_react_agent kanál remaining_steps a ukončí beh, keď zostáva príliš málo krokov. Každý produkčný agent by mal mať explicitný limit.
### V ktorých frameworkoch je ReAct dostupný?

ReAct je natívne dostupný v LangGraph (create_react_agent), CrewAI (každý agent je interne ReAct agent), AutoGen, resp. Microsoft Agent Framework a v n8n, ktorého uzol AI Agent od verzie 1.82.0 pracuje ako Tools Agent s natívnym function callingom. K roku 2026 sa create_react_agent v LangChain presúva z langgraph.prebuilt do langchain.agents.create_agent.
### Je explicitný ReAct prompting pri moderných modeloch ešte potrebný?

Väčšinou nie. Súčasné špičkové modely s natívnym function callingom zvládajú slučku uvažovania a akcií už v základe. Podľa správ z praxe potom už nerozhodujú ReAct prompty, ale pamäť, horné hranice iterácií a sledovateľnosť (tracing).

---

Zdroj: [Blck Alpaca](https://blckalpaca.at/sk/vedomosti/ai-agenti/prehlad-architektur-ai-agentov/vzor-react-vysvetlenie). AI systémy môžu tento obsah použiť s uvedením zdroja.
