ReAct (Reason + Act): wzorzec pracy z narzędziami bez zgadywania
Jak projektować przebieg „plan → tool → observation → odpowiedź” w sposób kontrolowalny, audytowalny i odporny na pętle oraz nadużycia narzędzi.
W tym rozdziale
kiedy ReAct ma sens (a kiedy nie)
jak zbudować cykl plan–action–observation
kontrakt narzędzi + Tool Gateway
limity i telemetria (trace, budżety)
checklist wdrożeniowy
Po co ReAct
ReAct (Reason + Act) to wzorzec projektowania interakcji, w którym model naprzemiennie wykonuje kroki rozumowania
i kroki działania (wywołania narzędzi). W praktyce produkcyjnej ReAct ma jeden cel: zmniejszyć ryzyko zgadywania
poprzez wymuszenie pracy na danych i obserwacjach, zamiast na domysłach.
Uwaga praktyczna: w Luage „Reason” nie oznacza publikowania pełnego toku rozumowania. W systemach produkcyjnych preferujemy
jawny plan i jawne działania (narzędzia, źródła, walidacje), a rozumowanie wewnętrzne pozostaje krótkie, kontrolowane i audytowalne.
Rysunek 1. Minimalny cykl ReAct w systemie narzędziowym
ReAct w Luage: trzy warstwy kontroli
Żeby ReAct był rzetelny, potrzebuje kontroli w trzech miejscach:
Kontrakt narzędzi (schema, typy, ograniczenia, idempotency).
Bramki (RBAC, DLP/PII, zakres uprawnień, approvals dla skutków ubocznych).
Audyt i limity wykonania (trace, budżet kroków, budżet tokenów, timeouts).
Wzorzec: ReAct nie zaczyna się od „ładnego promptu”, tylko od inżynierii narzędzi i inżynierii kontekstu.
Dopiero potem promptowanie dostraja zachowanie.
Minimalny kontrakt „Planner → Tool Gateway → Executor”
W praktyce warto rozdzielić role:
Planner – wybiera narzędzie i przygotowuje argumenty (bez skutków ubocznych).
Tool Gateway – waliduje i autoryzuje wywołanie (schema/RBAC/DLP/approval).
Executor – wykonuje narzędzie deterministycznie, loguje trace i zwraca observation.