ReAct Prompting (EL)
ReAct (συντομογραφία του Reason + Act, στα ελληνικά — «Σκέψου και Δράσε») — είναι ένα παράδειγμα σχεδίασης ερωτημάτων (prompting) για μεγάλα γλωσσικά μοντέλα (LLM), που τους επιτρέπει να επιλύουν σύνθετα προβλήματα εναλλάσσοντας λεκτικές συλλογιστικές διαδικασίες (σκέψεις) και ενέργειες που αλληλεπιδρούν με το εξωτερικό περιβάλλον[1]. Η μέθοδος προτάθηκε το 2022 από ερευνητές του Google Research και του Πανεπιστημίου Princeton και αποτέλεσε θεμελιώδη προσέγγιση στην ανάπτυξη έξυπνων πρακτόρων.
Η βασική καινοτομία του ReAct έγκειται στη συνένωση της λογικής συλλογιστικής, που χαρακτηρίζει τεχνικές όπως το Chain-of-Thought (CoT), με την εκτέλεση εξωτερικών ενεργειών, όπως η αναζήτηση πληροφοριών ή η αλληλεπίδραση με προγραμματιστικές διεπαφές (API). Αυτό επιτρέπει στο μοντέλο να προσαρμόζει δυναμικά το σχέδιό του, να επαληθεύει γεγονότα και να υπερβαίνει τους περιορισμούς των δικών του, συχνά παρωχημένων ή ελλιπών γνώσεων[2].
Προϋποθέσεις και ιστορία δημιουργίας
Πριν από την εμφάνιση του ReAct υπήρχαν δύο κύριες, αλλά αποσπασματικές προσεγγίσεις για τη χρήση LLM στην επίλυση σύνθετων προβλημάτων:
- Αλυσίδα συλλογισμών (Chain-of-Thought, CoT): Το μοντέλο παράγει βήμα-προς-βήμα λογικές συλλογιστικές διαδικασίες για την επίλυση ενός προβλήματος, αλλά το κάνει αυτό σε «πληροφοριακό κενό», βασιζόμενο αποκλειστικά στις εσωτερικές του γνώσεις. Αυτό συχνά οδηγεί σε πραγματικά λάθη και «ψευδαισθήσεις»[1].
- Σχεδιασμός ενεργειών (Act-Only): Το μοντέλο παράγει μια ακολουθία ενεργειών για αλληλεπίδραση με το εξωτερικό περιβάλλον (για παράδειγμα, σε παιχνίδια κειμένου), αλλά χωρίς ρητό υψηλού επιπέδου σχεδιασμό. Τέτοια συστήματα αντιμετωπίζουν δυσκολίες με σφάλματα και δεν μπορούν να προσαρμόσουν τη στρατηγική τους όταν αντιμετωπίζουν απρόβλεπτες καταστάσεις.
Το ReAct δημιουργήθηκε για να συνδυάσει συνεργιστικά τα δυνατά σημεία και των δύο προσεγγίσεων. Επιτρέπει στο μοντέλο όχι μόνο να συλλογίζεται, αλλά και να θεμελιώνει τη συλλογιστική του σε γεγονότα από τον εξωτερικό κόσμο, καθώς και να προσαρμόζει τις ενέργειές του βάσει της ανατροφοδότησης που λαμβάνει.
Μηχανισμός λειτουργίας: ο κύκλος «Σκέψη — Ενέργεια — Παρατήρηση»
Το ReAct λειτουργεί στο πλαίσιο ενός επαναληπτικού κύκλου που περιλαμβάνει τρία βασικά συστατικά. Το μοντέλο παράγει διαδοχικά μια τροχιά αποτελούμενη από βήματα Thought, Action και Observation.
Παράδειγμα δομής prompt:
Ερώτηση: Ποια πόλη είναι πρωτεύουσα της χώρας στην οποία γεννήθηκε ο εφευρέτης που είναι γνωστός χάρη στο εναλλασσόμενο ρεύμα;
Thought 1: Πρέπει να μάθω ποιος εφηύρε το εναλλασσόμενο ρεύμα. Στη συνέχεια να βρω τον τόπο γέννησής του και να ελέγξω αν αυτή η πόλη είναι πρωτεύουσα.
Action 1: Search[εφευρέτης εναλλασσόμενου ρεύματος]
Observation 1: Το εναλλασσόμενο ρεύμα (AC) αναπτύχθηκε και προωθήθηκε από τον Νίκολα Τέσλα.
Thought 2: Τώρα πρέπει να μάθω πού γεννήθηκε ο Νίκολα Τέσλα.
Action 2: Search[τόπος γέννησης Νίκολα Τέσλα]
Observation 2: Ο Νίκολα Τέσλα γεννήθηκε στο χωριό Smiljan, Αυστριακή Αυτοκρατορία (σύγχρονη Κροατία).
Thought 3: Το Smiljan δεν είναι πρωτεύουσα. Επομένως, η ερώτηση δεν έχει σαφή απάντηση με αυτή τη διατύπωση. Ωστόσο, ο Τέσλα έζησε και εργάστηκε για μεγάλο διάστημα στις ΗΠΑ. Ίσως εννοείται η πρωτεύουσα της χώρας όπου έκανε τις σημαντικότερες ανακαλύψεις του. Αυτό είναι πιο σύνθετο ερώτημα. Πρέπει να διαπιστώσω το γεγονός βάσει του τόπου γέννησης. Η πόλη γέννησής του δεν είναι πρωτεύουσα.
Final Answer: Ο εφευρέτης που συνδέεται με το εναλλασσόμενο ρεύμα, Νίκολα Τέσλα, γεννήθηκε στο Smiljan (Κροατία), το οποίο δεν είναι πρωτεύουσα.
Σκέψη (Thought)
Το μοντέλο παράγει έναν εσωτερικό συλλογισμό, στον οποίο αναλύει το πρόβλημα, το αποσυνθέτει σε υποπροβλήματα, διαμορφώνει ή διορθώνει το σχέδιο δράσης και αξιολογεί την τρέχουσα κατάσταση. Αυτό το βήμα δεν επηρεάζει το εξωτερικό περιβάλλον, αλλά χρησιμεύει για εσωτερικό σχεδιασμό.
Ενέργεια (Action)
Βάσει του συλλογισμού του, το μοντέλο εκτελεί μια εξωτερική ενέργεια, χρησιμοποιώντας ένα από τα διαθέσιμα εργαλεία. Παραδείγματα ενεργειών:
- Search [ερώτημα] — για αναζήτηση πληροφοριών σε βάση γνώσεων (π.χ. Wikipedia).
- Click [στοιχείο] — για πλοήγηση σε ιστοσελίδα.
- API_call [παράμετροι] — για κλήση εξωτερικού API.
Παρατήρηση (Observation)
Το σύστημα ή το εξωτερικό εργαλείο εκτελεί την ενέργεια και επιστρέφει το αποτέλεσμα (παρατήρηση). Αυτό μπορεί να είναι ένα απόσπασμα κειμένου, μια απόκριση API ή ένα μήνυμα σφάλματος. Το μοντέλο χρησιμοποιεί αυτή την παρατήρηση για να διαμορφώσει την επόμενη σκέψη, κλείνοντας τον βρόχο ανατροφοδότησης[2].
Πειραματικά αποτελέσματα και αποδοτικότητα
Οι συγγραφείς του ReAct δοκίμασαν τη μέθοδο σε ευρύ φάσμα προβλημάτων, αποδεικνύοντας την υπεροχή της έναντι των προσεγγίσεων CoT και Act-Only.
| Benchmark | Έργο | ReAct (επιτυχία/ακρίβεια) | Chain-of-Thought (επιτυχία/ακρίβεια) | Act-Only (επιτυχία/ακρίβεια) |
|---|---|---|---|---|
| FEVER | Επαλήθευση γεγονότων | 87.6% | 82.8% | 70.1% |
| HotpotQA | Ερωτήσεις πολλαπλών βημάτων | 31.8% | 36.3% | 17.0% |
| ALFWorld | Παιχνίδι κειμένου (σχεδιασμός) | 71% | 10% | 13% |
| WebShop | Πλοήγηση στο διαδίκτυο | 40% | - | 30.1% |
- Σε προβλήματα που απαιτούν επαλήθευση γεγονότων (FEVER), το ReAct υπερέχει σημαντικά του CoT, καθώς μπορεί να επαληθεύει πληροφορίες.
- Σε προβλήματα διαδραστικού σχεδιασμού (ALFWorld, WebShop), το ReAct επιδεικνύει τεράστιο πλεονέκτημα, καθώς μπορεί να προσαρμόζεται στο μεταβαλλόμενο περιβάλλον.
- Σε προβλήματα καθαρής συλλογιστικής (HotpotQA), το CoT μπορεί να παρουσιάζει συγκρίσιμα ή ακόμα και καλύτερα αποτελέσματα. Ωστόσο, η υβριδική προσέγγιση ReAct+CoT έδειξε την καλύτερη απόδοση, επιτυγχάνοντας 35% στο HotpotQA[1].
Κριτική και περιορισμοί
Παρά την αποτελεσματικότητά του, το ReAct παρουσιάζει ορισμένους περιορισμούς και αδυναμίες.
- «Ευθραυστότητα» (Brittleness): Μεταγενέστερες έρευνες έδειξαν ότι η επιτυχία του ReAct μπορεί να συνδέεται όχι τόσο με την αληθινή συνεργία συλλογισμού και δράσης, όσο με τη συντακτική ομοιότητα μεταξύ των παραδειγμάτων στο prompt και του τρέχοντος προβλήματος. Το μοντέλο μπορεί να ακολουθεί το πρότυπο `Thought-Action-Observation` χωρίς να κατανοεί πλήρως τη σημασιολογία των συλλογισμών[3].
- Υπολογιστικό κόστος: Κάθε κύκλος ReAct απαιτεί τουλάχιστον μία κλήση LLM και μία πρόσβαση σε εξωτερικό εργαλείο, καθιστώντας τον αργό και δαπανηρό σε σύγκριση με το τυπικό prompting.
- Εξάρτηση από εργαλεία: Η αποτελεσματικότητα του πράκτορα εξαρτάται άμεσα από την ποιότητα και την αξιοπιστία των διαθέσιμων εργαλείων. Μια εσφαλμένη ή «θορυβώδης» απόκριση από ένα API μπορεί να οδηγήσει τους συλλογισμούς του μοντέλου σε λανθασμένη κατεύθυνση.
Σημασία και περαιτέρω ανάπτυξη
Το ReAct αποτέλεσε σημαντικό ορόσημο στην ανάπτυξη της ΤΝ, σηματοδοτώντας τη μετάβαση από γεννητικά συστήματα σε αγεντικά συστήματα. Έθεσε τα εννοιολογικά και πρακτικά θεμέλια για τα περισσότερα σύγχρονα frameworks δημιουργίας πρακτόρων, όπως:
- LangChain
- LlamaIndex
- AutoGen
Οι ιδέες του ReAct αποτέλεσαν σημείο εκκίνησης για πιο σύνθετες αρχιτεκτονικές συλλογισμού, όπως το Reflexion (προσθέτει έναν κύκλο αυτοστοχασμού μετά από αποτυχίες) και το Tree of Thoughts (ToT) (εξερευνά πολλαπλές διαδρομές συλλογισμού παράλληλα).
Αναφορές
- Επίσημη σελίδα του έργου ReAct
- Περιγραφή του ReAct στον οδηγό Learn Prompting
- Google Research (2022). ReAct: Synergizing Reasoning and Acting in Language Models (blog post). Google Research Blog.
Βιβλιογραφία
- Yao, S. et al. (2022). ReAct: Synergizing Reasoning and Acting in Language Models. arXiv:2210.03629.
- Yao, S. et al. (2023). Tree of Thoughts: Deliberate Problem Solving with Large Language Models. arXiv:2305.10601.
- Shinn, N. et al. (2023). Reflexion: Language Agents with Verbal Reinforcement Learning. arXiv:2303.11366.
- Verma, V. et al. (2024). On the Brittle Foundations of ReAct Prompting for Agentic Large Language Models. arXiv:2405.13966.
- Yao, S. et al. (2022). WebShop: Towards Scalable Real-World Web Interaction with Grounded Language Agents. arXiv:2207.01206.
- Shridhar, M. et al. (2020). ALFWorld: Aligning Text and Embodied Environments for Interactive Learning. arXiv:2010.03768.
- Qin, L. et al. (2023). AutoGen: Enabling Next-Gen LLM Applications via Multi-Agent Collaboration. arXiv:2308.08155.
- Thorne, J. et al. (2018). FEVER: A Large-Scale Dataset for Fact Extraction and Verification. arXiv:1803.05355.
- Yang, Z. et al. (2018). HotpotQA: A Dataset for Diverse, Explainable Multi-hop Question Answering. arXiv:1809.09600.
Σημειώσεις
- ↑ 1.0 1.1 1.2 1.3 Yao, S., Zhao, J., Yu, D., et al. (2022). «ReAct: Synergizing Reasoning and Acting in Language Models». arXiv preprint arXiv:2210.03629. [1]
- ↑ 2.0 2.1 «ReAct: Synergizing Reasoning and Acting in Language Models». Google Research Blog. [2]
- ↑ Verma, V., et al. (2024). «On the Brittle Foundations of ReAct Prompting for Agentic Large Language Models». arXiv preprint arXiv:2405.13966. [3]