ReAct wyjaśnione: jak agenci AI łączą rozumowanie z działaniami w rzeczywistym świecie
Jak framework ReAct łączy rozumowanie z wykorzystaniem narzędzi w agentach sztucznej inteligencji oraz w jaki sposób różni się od modeli opartych na łańcuchu myśli, uczeniu się wzmacniającym i rozumowaniu.
Sztuczna inteligencja rozwija się daleko poza zwykłe chatboty do generowania tekstu.
Współczesne systemy AI potrafią przeglądać internet, korzystać z API, wykonywać zapytania do bazy danych, uruchamiać kod, pobierać dokumenty, a następnie wykorzystywać to, co znalazły, aby ustalić swoje dalsze kroki. Ale co tak naprawdę pozwala sztucznej inteligencji przejść od tylko myślenia o zadaniu do podejmowania działań w jego sprawie?
Kluczowym pojęciem stojącym za tą zmianą jest ReAct – skrót od Reason + Act.
ReAct to zarówno technika sterowania, jak i szersza ramowa struktura dla agentów. łączy kroki rozumowania z konkretnymi działaniami, takimi jak wyszukiwania, wywołania API, obliczenia oraz inne operacje z użyciem narzędzi. Model następnie analizuje wyniki tych działań i wykorzystuje je do podjęcia decyzji o dalszych krokach. Yao i jego współpracownicy przedstawili tę strukturę w 2022 roku.
Czym jest ReAct?
Prosty sposób na zrozumienie ReAct to ten cykl:
Rozważ → Działaj → Obserwuj → Rozważ → Działaj → Obserwuj → Odpowiedź końcowa
Załóżmy, że zadasz pytanie systemowi AI:
">Znajdź najnowsze informacje o firmie i podsumuj jej ostatnie zmiany."
Bazowy model może po prostu odpowiedzieć na podstawie tego, co już wie w swojej pamięci.
System oparty na ReAct radzi sobie z tym inaczej:
- Rozumowanie: Określ, jakie informacje są faktycznie potrzebne.
- Działanie: Przeprowadź wyszukiwanie, aby je znaleźć.
- Obserwacja: Przejrzyj wyniki wyszukiwania.
- Rozumowanie: Zdecyduj, czy nadal potrzebne są dodatkowe informacje.
- Działanie: Wyszukaj ponownie lub przejdź do innego narzędzia.
- Odpowiedź końcowa: Gdy zebrano wystarczająco dużo informacji, sformułuj odpowiedź.
To cykliczne przetwarzanie informacji jest dokładnie tym, co sprawia, że ReAct jest cenny przy zadaniami wymagających dostępu do informacji zewnętrznych lub narzędzi.
ReAct kontra Chain-of-Thought
ReAct ma wiele wspólnego z koncepcją rozumowania krok po kroku, ale istnieje kluczowa różnica między nimi.
Chain-of-Thought polega głównie na rozwiązywaniu problemu wewnętrznie, poprzez logiczne rozważania.
ReAct łączy to rozumowanie z rzeczywistą interakcją ze światem zewnętrznym.
Oto szybki sposób na zapamiętanie:
CoT = Rozmyślaj ReAct = Rozmyślaj → Działaj → Obserwuj → Rozmyślaj
Dzięki temu ReAct jest szczególnie przydatny, gdy system musi wyjść poza siebie i współpracować z otoczeniem zewnętrznym, zamiast polegać wyłącznie na swojej wewnętrznej wiedzy.
ReAct to nie uczenie się przez wzmacnianie
To kwestia, która sprawia wiele trudności wielu osobom.
Mimo że cykl ReAct może przypominać agenta wchodzącego w interakcję z otoczeniem w sposób przypominający uczenie się przez wzmacnianie, sam w sobie nie jest metodą uczenia się przez wzmacnianie.
Wynik uzyskany dzięki wywołaniu narzędzia nie jest automatycznie sygnałem nagrody w rozumieniu uczenia się przez wzmacnianie.
To, co ma znaczenie, jest prostsze: obserwacje pochodzące z działań mogą wpłynąć na to, co system zdecyduje się zrobić dalej.
Gdzie pasują modele rozumowania?
Kolejną koncepcją, którą warto zrozumieć, jest idea modelu rozumowania.
Takie modele są projektowane tak, aby przeznaczyć dodatkowe zasoby obliczeniowe na trudniejsze zadania, takie jak:
- Matematyka
- Programowanie
- Planowanie
- Rozwiązywanie zadań wieloetapowych
Modele uniwersalne potrafią również rozumować, ale są zazwyczaj dostosowywane bardziej do szybkiej i efektywnej interakcji na co dzień niż do głębokiego rozwiązywania problemów.
To daje nam kolejne przydatne porównanie:
Model uniwersalny → szeroka, efektywna interakcja Model rozumujący → dodatkowe obliczenia stosowane w trudnych problemach
Mimo to stosowanie większej ilości mechanizmów rozumowania w przypadku problemu nie gwarantuje poprawnego wyniku.
Nawet model rozumujący może błędnie interpretować fakty, popełniać błędy logiczne lub opierać się na błędnych założeniach. Dodatkowe obliczenia zwiększają szanse na rozwiązanie trudnego problemu, ale nie eliminują możliwości błędu.
Rola obliczeń w czasie inferencji
Część powodu, dla którego modele rozumujące zachowują się inaczej przy trudnych zadaniach, wynika z obliczeń w czasie inferencji.
Zamiast stosować tę samą stałą ilość obliczeń do każdej prośby, system może zwiększyć intensywność obliczeń specjalnie w przypadku trudniejszych problemów.
Wzorzec wygląda następująco:
Prosty problem → mniej rozumowania → szybsza odpowiedź
Trudny problem → więcej rozumowania → większa ilość obliczeń → potencjalnie lepszy wynik
To daje systemom AI drugi element wpływu: wydajność zależy nie tylko od tego, czego nauczyły się podczas treningu, ale także od ilości zasobów obliczeniowych wykorzystywanych w momencie rozwiązywania konkretnego problemu.
ReAct, wywoływanie narzędzi, RAG i agenci
Te cztery koncepcje pokrywają się w praktyce, ale każda odnosi się do czegoś odrębnego.
Wywoływanie narzędzi oznacza sytuację, gdy model prosi o uruchomienie zewnętrznego narzędzia w jego imieniu.
ReAct to cykl powtarzających się działań polegających na rozumowaniu, działaniu i obserwowaniu rezultatów.
RAG pobiera informacje z zewnątrz i przekazuje je modelowi, dzięki czemu jego wyniki opierają się na rzeczywistych danych.
Agent AI to bardziej kompletny system, który może dążyć do celu poprzez planowanie, wykorzystywanie narzędzi, śledzenie stanu oraz podejmowanie serii decyzji w czasie.
Typowy współczesny agent może postępować w następujący sposób: zaczyna od tego, czego chce użytkownik, przechodzi do rozważań na temat tego celu, wybiera narzędzie do użycia, uruchamia je, sprawdza uzyskane wyniki, ocenia, czy to wystarczy, a następnie albo kontynuuje działanie, albo dostosowuje swój plan przed podaniem ostatecznej odpowiedzi.
Narzędzia, których może używać agent, mogą być czymkolwiek – od wyszukiwarek internetowych i API po bazy danych, środowiska do wykonywania kodu, wyszukiwanie plików lub inne aplikacje zewnętrzne.
Weryfikacja sprawia, że agenci są bardziej niezawodni
Poza działaniem i obserwowaniem, systemy zmechanizowane mogą dodawać warstwy weryfikacji i refleksji.
Powszechny wzorzec jest następujący:
Generowanie → Weryfikacja → Korekta w razie potrzeby → Ostateczna odpowiedź
Weryfikacja to etap, w którym system sprawdza, czy to, co pobrał lub wygenerował, jest rzeczywiście poprawne.
Refleksja to etap, w którym system analizuje swoją poprzednią próbę i decyduje, czy musi spróbować ponownie.
Oba te podejścia mogą uczynić niektóre procesy bardziej niezawodnymi, ale wiążą się z kosztami: dodatkowym opóźnieniem, większym obciążeniem obliczeniowym oraz brakiem absolutnej gwarancji poprawności ostatecznego wyniku.
Bardziej szeroki kontekst
Rozwój systemów AI można postrzegać jako serię warstwowych możliwości.
Formułowanie zapytań polega na podawaniu modelowi instrukcji.
Rozumowanie umożliwia mu radzenie sobie z trudniejszymi problemami.
Wywoływanie narzędzi pozwala mu na interakcję z innymi systemami poza jego własnymi granicami.
ReAct łączy rozumowanie z działaniem i obserwacją.
Agenty łączą to wszystko w systemy ukierunkowane na cel, zdolne do planowania, działania, obserwacji, weryfikacji oraz powtarzania tego cyklu w razie potrzeby.
Główny wniosek jest prosty:
Sztuczna inteligencja nie jest ograniczona do generowania jednej odpowiedzi. Dzisiejsze systemy sztucznej inteligencji potrafią rozumować to, czego faktycznie potrzebują, działać na podstawie tego rozumowania, obserwować to, co się dzieje, i wykorzystywać te obserwacje do podjęcia decyzji o kolejnym kroku.
To przejście — od zwykłego wytwarzania wyników do aktywnego dążenia do celu poprzez działanie — jest jedną z podstawowych koncepcji leżących u podstaw dzisiejszych agentów sztucznej inteligencji.