ReAct Prompting (HE)
ReAct (ראשי תיבות של Reason + Act, בתרגום מאנגלית — «חשוב ופעל») — זוהי פרדיגמת תכנון בקשות (prompting) עבור מודלי שפה גדולים (LLM), המאפשרת להם לפתור משימות מורכבות באמצעות חילופין של היסקים מילוליים (מחשבות) ופעולות המתקשרות עם הסביבה החיצונית[1]. השיטה הוצעה ב-2022 על ידי חוקרים מ-Google Research ומאוניברסיטת פרינסטון והפכה לגישה מהותית בפיתוח סוכנים אינטליגנטיים.
החידוש המרכזי של 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: ניקולה טסלה נולד בכפר סמיליאן, האימפריה האוסטרית (קרואטיה של ימינו).
Thought 3: סמיליאן אינו בירה. לפיכך, לשאלה אין תשובה חד-משמעית בניסוח זה. עם זאת, טסלה חי ועבד זמן רב בארה"ב. ייתכן שהכוונה היא לבירת המדינה שבה ביצע את גילוייו המרכזיים. מדובר בשאלה מורכבת יותר. עלי לקבוע עובדה המבוססת על מקום הלידה. עיר לידתו אינה בירה.
Final Answer: הממציא הקשור לזרם החילופי, ניקולה טסלה, נולד בסמיליאן (קרואטיה), שאינה בירה.
מחשבה (Thought)
המודל מייצר היסק פנימי שבו הוא מנתח את המשימה, מפרק אותה לתת-משימות, מגבש או מתקן תוכנית פעולה ומעריך את המצב הנוכחי. שלב זה אינו משפיע על הסביבה החיצונית, אלא משמש לתכנון פנימי.
פעולה (Action)
על בסיס היסקו, המודל מבצע פעולה חיצונית תוך פנייה לאחד הכלים הזמינים. דוגמאות לפעולות:
- Search [שאילתה] — לחיפוש מידע בבסיס ידע (למשל, ויקיפדיה).
- 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 הפך לאבן דרך חשובה בפיתוח AI, וסימן את המעבר ממערכות גנרטיביות למערכות סוכניות. הוא הניח את היסוד הרעיוני והמעשי לרוב ה-framework המודרניים ליצירת סוכנים, כגון:
- 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]