Preskočiť na obsah
2.5Expert7 min

Vzor Reflexion: Agenti, ktorí sa učia z chýb

Blck Alpaca·
Definition

Vzor Reflexion je architektúra agenta, pri ktorej LLM agent reflektuje nad minulými pokusmi: Actor vytvorí riešenie, Evaluator ho ohodnotí a model Self-Reflection z toho napíše jazykovú kritiku do pamäťového bufra. Pri ďalšom pokuse Actor túto reflexiu prečíta a opraví sa, úplne bez trénovania modelu.

Key Takeaways

  • Reflexion (Shinn et al., arXiv:2303.11366, NeurIPS 2023) umožňuje agentom učiť sa z chýb in-context: Actor vytvára, Evaluator hodnotí, Self-Reflection píše verbálnu kritiku do epizodickej pamäte.
  • Sebakorekcia prebieha čisto jazykovo. Nemenia sa žiadne váhy modelu. Nejde o skutočné trénovanie, ale o verbálny reinforcement naprieč viacerými pokusmi.
  • Najsilnejšou oblasťou použitia sú iteratívne úlohy s jasným kontrolným signálom: pri HumanEval (generovanie Python kódu) dosiahol Reflexion 91 % pass@1 oproti približne 80 % GPT-4 baseline.
  • Bez spoľahlivého evaluátora sa vzor zlomí: pri MBPP Reflexion podliezol GPT-4 baseline, pretože samostatne vygenerované unit testy poskytovali príliš veľa falošne pozitívnych výsledkov.
  • Reflexion stojí približne 10- až 30-násobok jediného CoT prechodu a beží striktne sekvenčne. Hodí sa pre dávkové a back-office úlohy, nie pre chat v reálnom čase.
  • Iterácie vždy tvrdo obmedzte a podľa možnosti nasaďte externý ground-truth signál (unit testy, RAG evaluátor, regex). Samotné sebahodnotenie je nespoľahlivé.

Vzor Reflexion je architektúra agenta, pri ktorej LLM agent systematicky premýšľa nad svojimi vlastnými minulými pokusmi a tým sa zlepšuje. Namiesto jedinej odpovede agent prejde viacerými pokusmi: Actor vytvorí riešenie, Evaluator ho ohodnotí a model Self-Reflection z hodnotenia a priebehu napíše jazykovú kritiku. Táto kritika skončí v pamäťovom bufri a riadi ďalší pokus. Pozoruhodné: nemenia sa žiadne váhy modelu. Zlepšenie je čisto jazykové.

Postup vychádza z práce Shinn, Cassano, Berman, Gopinath, Narasimhan a Yao: Reflexion: Language Agents with Verbal Reinforcement Learning (arXiv:2303.11366, marec 2023, NeurIPS 2023). Bola to prvá široko citovaná demonštrácia, že samostatne verbalizovaná analýza chýb LLM je silnejším učebným signálom pre in-context zlepšenie než jednoduchá numerická odmena.

To najdôležitejšie v troch vetách

  • Čo to je: Slučka z Actora, Evaluátora a Self-Reflection s epizodickou pamäťou. Agent sa učí z chýb in-context naprieč viacerými pokusmi, bez fine-tuningu.
  • Kedy sa oplatí: Pri iteratívnych úlohách s jasným, automatizovateľným kontrolným signálom, napríklad generovanie kódu s unit testami. Tu merateľne zvyšuje mieru úspešnosti.
  • Kde je hranica: Vysoké náklady (rádovo 10- až 30-násobok jedného CoT volania), striktne sekvenčný a bez spoľahlivého evaluátora nepoužiteľný. Nie je náhradou za skutočné trénovanie.

Ako funguje slučka Reflexion

Vzor pozostáva z troch komponentov, ktoré spolupracujú v slučke:

  1. Actor – vytvára riešenie, respektíve cestu k riešeniu. Typicky je to sám ReAct alebo Chain-of-Thought agent.
  2. Evaluator – hodnotí pokus. Hodnotenie môže byť binárne (prešlo/neprešlo), skalárne alebo prostredníctvom externej testovacej sady.
  3. Model Self-Reflection – premieňa hodnotenie plus priebeh na verbálnu spätnú väzbu: odsek prirodzene jazykovej kritiky. Tento text sa ukladá do epizodického pamäťového bufra.

Pri ďalšom pokuse sa text reflexie predradí kontextu Actora. „Aktualizácia policy" je teda čisto jazyková, nemenia sa žiadne váhy. Pamäť je zámerne udržiavaná malá, typicky sa ponechá jedna až tri reflexie.

Priebeh v skratke:

```
Pokus_k: Actor → Evaluator → Self-Reflect → [pripojiť do pamäte]
Pokus_k+1: Actor vidí pamäť → opätovný pokus
... až do úspechu alebo dosiahnutia max. pokusov
```

Konceptuálny náskok oproti klasickému reinforcement learningu: štandardné RL potrebuje veľa vzoriek a drahý fine-tuning, aby sa naučilo zo spätnej väzby. Reflexion učí in-context naprieč niekoľkými pokusmi, čo je rádovo lacnejšie a rýchlejšie na nastavenie.

Kedy vzor Reflexion zvyšuje mieru úspešnosti

Úžitok stojí a padá s kvalitou signálu evaluátora. Najsilnejším doloženým príkladom je generovanie kódu, pretože tam existuje automatický oracle: unit testy.

Benchmark

Reflexion

Porovnanie/baseline

Interpretácia

HumanEval pass@1 (Python)

91 %

~80 % GPT-4 baseline (v čase práce)

Jasný zisk vďaka test-oracle

ALFWorld (miera úspešnosti)

takmer dokonalá po niekoľkých pokusoch

Iteratívna úloha so spätnou väzbou

HotpotQA (Distractor)

výrazné absolútne zisky oproti CoT/ReAct

CoT, samotný ReAct

Reasoning úloha profituje

MBPP pass@1 (Python)

podliezol baseline

~80 % GPT-4 baseline

Varovný signál: slabý evaluátor

Ideálna konštelácia pre Reflexion je tým jasne vymedzená: úloha je iteratívna, neúspešný pokus je lacno opakovateľný a existuje automatizovateľný kontrolný signál. To platí pre generovanie kódu a opravu bugov, pre úlohy s overiteľnými medzivýsledkami a pre textové vyhľadávacie/akčné prostredia ako ALFWorld. V rozhodovacej matici základného prieskumu je pre agentov na generovanie kódu a opravu bugov výslovne uvedená kombinácia „Reflexion + ReAct" s poznámkou: potrebuje unit testy ako oracle.

Hranice: náklady, omyly a žiadne skutočné učenie

Reflexion nie je samospádový proces. Najdôležitejšie slabiny, všetky doložené z práce a praxe:

  • Prípad MBPP (sekcia práce 4.4): Pri MBPP Reflexion podliezol GPT-4 baseline, pretože samostatne vygenerované unit testy mali vysokú mieru falošne pozitívnych. Agent vyhlásil pokus predčasne za úspešný. Toto je kanonické varovanie proti predpokladu „Reflexion vždy zlepšuje výkon".
  • Konfabulované reflexie: Ak model diagnostikuje nesprávne, prečo zlyhal, ďalší pokus zdedí nesprávnu korekciu. Sebakritika teda môže agenta aj zviesť na scestie.
  • Reward-hacking: Agent sa môže naučiť oklamať evaluátora namiesto toho, aby vyriešil samotnú úlohu.
  • Vágne reflexie bez oracle: Pri kreatívnom písaní alebo otvorenom prieskume chýba jasný kontrolný signál. Reflexie potom sploštejú na všeobecné frázy.
  • Náklady a latencia: Na pokus hrubo dvoj- až päťnásobok behu ReAct, vynásobené K pokusmi. Pokusy sú nevyhnutne sekvenčné, každý potrebuje predchádzajúcu reflexiu. Použitia v reálnom čase väčšinou odpadajú.

Zásadný konceptuálny bod pre rozhodujúcich: Reflexion nie je skutočné učenie. Nemenia sa žiadne váhy, „naučené" žije v kontextovom okne aktuálnej epizódy. Trvalé znalosti vznikajú až vtedy, keď sa reflexie persistentne uložia externe.

Náklady v porovnaní

Nasledujúce hodnoty sú orientačné (rádové veľkosti), syntetizované z údajov práce a terénnych správ. Nenahrádzajú meranie na vlastnej záťaži.

Vzor

Tokeny (relatívne k jednému CoT volaniu = 1)

Latencia (pri N krokoch s nástrojmi)

Zložitosť

ReAct

3–10×

N × sekvenčne

nízka

Reflexion (K=3 pokusy)

10–30×

K × ReAct, sekvenčne

stredná

Plan-and-Execute

2–6×

1 plán + N sekvenčne

stredná

ReWOO

1,5–3×

1 plán + N nástrojov + 1 solver

stredná

Reflexion teda zámerne leží v hornom cenovom pásme. Kto ho nasadí bez tvrdej hranice iterácií, riskuje, že slučka vyženie náklady do výšky.

Praktický príklad: sebakorigujúci sa kódový agent

Konkrétny scenár z doloženej oblasti použitia. Agentúra má postaviť agenta, ktorý k popisu funkcie dodá spustiteľný Python kód. Pseudokód slučky Reflexion:

```text
pokus = 0
reflexie = []
pokiaľ pokus < MAX_POKUSOV (napr. 3):
kod = Actor.generuj(uloha, kontext=reflexie) # Actor
vysledok = Evaluator.spusti_unit_testy(kod) # Evaluator = test-oracle
ak vysledok.vsetky_presli:
vrat kod # ukončenie pri úspechu
kritika = SelfReflect.analyzuj(kod, vysledok.chyby) # verbálna kritika
reflexie.append(kritika) # obmedz pamäť na 1–3 záznamy
pokus += 1
```

V logike výsledku HumanEval: prvý návrh zlyhá na dvoch z desiatich testov. Self-Reflection si zaznamená v zmysle „okrajový prípad prázdny zoznam neošetrený, off-by-one v slučke". Druhý pokus prečíta túto poznámku, opraví oboje a prejde všetkými testami. Práve tento vzor nesie zlepšenie HumanEval z približne 80 % na 91 % pass@1.

Dve nezjednateľné produkčné ponaučenia z prieskumu:

  • Iterácie vždy obmedzte. V CrewAI cez max_reasoning_attempts, v LangGraph cez podmienku revision_number ≤ N. Inak môže slučka eskalovať.
  • Externý ground-truth signál využívajte, kde sa dá – unit testy, RAG evaluátor, regex-match. Čisté sebahodnotenie je nespoľahlivé; prípad MBPP je výstrahou.

Kto má opakujúce sa typy úloh, môže reflexie navyše ukladať do vektorovej databázy, kľúčované podľa typu úlohy. Tak vzniká emergentná knižnica zručností, ktorá pôsobí aj za hranicami jednotlivých epizód, premostenie k prístupom typu skill-library ako Agent Workflow Memory (arXiv:2409.07429).

Zaradenie v ekosystéme frameworkov (stav 2026)

  • LangGraph: oficiálny tutoriál s tromi variantmi – Basic Reflection (pár generátor-reflektor), Reflexion (Draft-Responder → spustenie nástroja → slučka Revisor s explicitnou pamäťou reflexií) a LATS (Reflexion plus stromové prehľadávanie). Silným produkčným vzorom je pritom štruktúrovaný výstup, ktorý zhŕňa answer, reflection (čo chýba, čo je nadbytočné) a následné search_queries.
  • CrewAI: dvojstupňovo. Na úrovni agenta cez Agent(reasoning=True, max_reasoning_attempts=N), na úrovni crew cez dedikovaný Critic Agent v Hierarchical Process.
  • AutoGen: dokumentovaný ako „Reflection" design pattern s Coder a Reviewer agentom, ktorí iterujú až do konvergencie alebo do max_iterations. Poznámka: AutoGen je oficiálne v režime údržby, Microsoft odkazuje nové projekty na Microsoft Agent Framework s cyklom SPAR (Sense, Plan, Act, Reflect).
  • n8n: žiadny natívny uzol Reflexion. Realizovateľné ako workflow slučka – generátorský agent → kritický agent → IF uzol na úsudok → späť ku generátoru alebo koniec. Vhodné pre dávkové a back-office úlohy, nie pre chat s nízkou latenciou.

Pre agentúry a B2B

Pre marketingové agentúry v regióne DACH je Reflexion správnym nástrojom pre úzko vymedzené, kontrolovateľné dávkové úlohy s nárokom na kvalitu: automatizované generovanie kódu alebo konfigurácie, obohacovanie dát s jasnými validačnými pravidlami, štruktúrovaný obsah s tvrdou schémou. Pravidlo palca: nasadzujte len vtedy, keď viete definovať automatizovateľný kontrolný signál a latencia nie je viditeľná počas rozhovoru so zákazníkom. Pre chatboty v reálnom čase je lepšou voľbou reaktívny vzor ReAct. My v Blck Alpaca zabudúvame práve toto architektonické rozhodnutie do nákladového rámca: najprv zmerať, ktoré chybové režimy sa vyskytujú, potom cielene eskalovať z jednoduchého ReAct na Reflexion, s tvrdou hranicou iterácií a externým oracle. Tak zostáva agent spoľahlivý a tokenový rozpočet kalkulovateľný.

Často kladené otázky

Aký je rozdiel medzi Reflexion a Reflection?
Reflexion s x označuje konkrétny postup z práce Shinn et al. (2023) s trojkombináciou Actor, Evaluator a Self-Reflection a epizodickou pamäťou. Reflection sa v praxi, napríklad na blogu LangChain, používa ako zastrešujúci pojem pre akúkoľvek slučku sebakritiky, vrátane jednoduchých párov generátor-kritik. V slovenčine sa oplatí rozlišovať Reflexion (Shinn et al.) oproti vzoru Reflection v širšom zmysle, aby sa predišlo nedorozumeniam.
Učí sa agent Reflexion naozaj trvalo?
Nie, nie v zmysle klasického trénovania. Nemenia sa žiadne váhy modelu. Zlepšenie vzniká in-context: verbálna kritika sa pri ďalšom pokuse načíta do kontextu Actora. Naučené platí spočiatku len v rámci tejto epizódy. Až keď reflexie ukladáte do vektorovej databázy a opätovne používate podľa typu úlohy, vzniká emergentná knižnica zručností naprieč epizódami.
Kedy by sa Reflexion nemal používať?
Pri úlohách bez jasného kontrolného signálu, napríklad kreatívne písanie alebo otvorený prieskum, reflexie degenerujú na vágne frázy. Rovnako nevhodný je pre latenčne kritické aplikácie v reálnom čase, keďže pokusy prebiehajú nevyhnutne sekvenčne. Aj pri dlhom horizonte úlohy, kde príčina chyby leží mnoho krokov pred chybovým signálom, je diagnostika náročná.
Aký drahý je vzor Reflexion v porovnaní s jednoduchým agentom?
Rádovo: jeden prechod Reflexion stojí na pokus hrubo dvoj- až päťnásobok jediného behu ReAct, vynásobené počtom pokusov K. Pri typickom K rovnom trom je to približne päť- až pätnásťnásobok jediného behu ReAct, v tabuľke relatívne k jednému CoT volaniu zhruba 10- až 30-násobok. Tieto hodnoty sú orientačné a mali by sa merať na vlastnej záťaži.
V ktorých frameworkoch je Reflexion realizovateľný?
LangGraph ponúka oficiálny tutoriál s tromi variantmi (Basic Reflection, Reflexion, LATS). CrewAI ho pokrýva dvojstupňovo: agent s reasoning=True a max_reasoning_attempts a tiež samostatný Critic Agent v Hierarchical Process. AutoGen ho dokumentuje ako Reflection design pattern s Coder a Reviewer agentom. V n8n neexistuje natívny uzol; postaví sa slučka z generátorského agenta, kritického agenta a IF uzla (stav 2026).

Ísť hlbšie?

Získajte nové analýzy priamo do schránky – alebo sa pozrite, ako tieto poznatky nasadzujeme pre firmy.