הבעיה: נימוק בלי פעולה, פעולה בלי נימוק
לפני ReAct, שתי גישות עיקריות התמודדו בנפרד עם שני חלקים של אותה בעיה. "שרשור-מחשבה" (Chain of Thought) גרם למודל-שפה לנמק צעד-אחר-צעד לפני מתן תשובה, אבל בלי גישה למידע-חיצוני-מעודכן — מה שהותיר אותו חשוף להזיות ולשגיאות שמצטברות לאורך הנימוק, בלי דרך לתקן אותן תוך-כדי. מנגד, שיטות שרק ביצעו פעולות (הרצת-כלים, שאילתות-חיפוש) בלי נימוק מפורש שקדם להן, התקשו לתכנן רצף-פעולות ארוך או לפרש נכון את תוצאות הפעולה כדי להחליט מה לעשות הלאה.
מחברי המאמר תיארו את הפער הזה כמגבלה עקרונית של כל אחת מהגישות בנפרד, לא רק כפער-ביצועים מקרי. נימוק-בלבד הוא, במילותיהם, מנותק מהעולם-החיצוני: אין לו שום ערוץ לקבל מידע חדש או לתקן הנחה-שגויה תוך-כדי-תהליך, ולכן הוא נשען כל-כולו על מה שהמודל "זוכר" מנתוני-האימון שלו — כולל טעויות שהוא זוכר בביטחון-מלא. פעולה-בלבד, מהצד השני, בלי שכבת-נימוק גלויה שמלווה כל צעד, מתקשה במיוחד במשימות שדורשות תכנון-רב-שלבי ארוך או שיפוט על תוצאת-פעולה עמומה, כי אין לה מנגנון-פנימי לעצור, "לחשוב שוב", ולשנות כיוון לפני שהיא ממשיכה לצעד הבא.
הרעיון: מחשבה, פעולה ותצפית, לסירוגין
מאמר ReAct, שפרסמו חוקרים מאוניברסיטת פרינסטון ומ-Google Research באוקטובר 2022, הציע לגרום למודל לייצר, בתוך אותו רצף-טקסט-יחיד, שני סוגי-שורות לסירוגין: "מחשבה" (Thought) — נימוק מפורש על מה שצריך לבדוק או לעשות בשלב הבא — ואחריה "פעולה" (Action) — קריאה בפועל לכלי-חיצוני, כמו חיפוש במאגר-ידע. תוצאת-הפעולה חוזרת אל המודל כ"תצפית" (Observation), ומזינה את המחשבה הבאה. המעגל חוזר-על-עצמו עד להשלמת המשימה — כך שכל צעד-פעולה נשען על נימוק גלוי שקדם לו, וניתן לעקוב אחריו ולבקר אותו בדיעבד, בניגוד לשרשרת-מחשבה סגורה שאין לה עוגן במידע חיצוני.
המאמר בחן את השיטה בשני אופנים שונים, לא רק כדרך-הנחיה יחידה. באופן הראשון, "הנחיה" (Prompting) — מספר-דוגמאות-הדגמה בודד בתוך הפרומפט עצמו, בלי כל אימון-מחדש של המודל. באופן השני, "אימון-דק" (Fine-tuning) על תבנית ReAct עצמה — וכאן נמצאה תוצאה בולטת: כשמודל קטן-יחסית (PaLM בגודל 8 מיליארד פרמטרים) אומן-דק על כ-3,000 דוגמאות בלבד בתבנית ReAct, הוא עלה בביצועיו על כל שיטות ה-Prompting שהופעלו על מודל גדול-בהרבה (PaLM בגודל 62 מיליארד פרמטרים) — עדות לכך שהתבנית עצמה, לא רק גודל-המודל, היא מה שתורם לאיכות-הנימוק.
התוצאות: HotpotQA, Fever, ALFWorld ו-WebShop, וההגהה האנושית
המאמר בחן את הגישה על ארבעה מבחני-הערכה שונים, שכל אחד מודד יכולת שונה. HotpotQA הוא מבחן שאילת-שאלות-מרובות-שלבים שדורש נימוק על-פני שתי פסקאות-ויקיפדיה או יותר, נמדד לפי התאמה-מדויקת של התשובה; FEVER הוא מבחן אימות-עובדות, שבו כל טענה מסומנת "נתמכת", "מופרכת" או "אין מספיק מידע" ביחס לפסקת-ויקיפדיה, נמדד לפי דיוק. בשני המבחנים האלה ReAct צמצם משמעותית תופעות-הזיה בהשוואה לשרשור-מחשבה בלבד, בזכות שאיבת-מידע אמיתי ממאגר-ויקיפדיה תוך-כדי הנימוק.
ALFWorld ו-WebShop הם שני מבחני קבלת-החלטות-אינטראקטיביים בסביבות-סימולציה: ב-ALFWorld סוכן צריך להשיג יעד-ביתי (למשל "לבדוק מסמך לאור מנורת-שולחן") על-ידי ניווט-ואינטראקציה עם בית מדומה דרך פקודות-טקסט; ב-WebShop סוכן צריך לרכוש מוצר מתוך קטלוג של כ-1.18 מיליון מוצרים אמיתיים, לפי הוראה בשפה-טבעית. ב-ALFWorld ReAct עלה על שיטות מבוססות-חיקוי ולמידת-חיזוק בשיעור-הצלחה מוחלט של 34 אחוזים, וב-WebShop ב-10 אחוזים — תוך שימוש באחת או שתי דוגמאות-הדגמה בלבד בתוך הפרומפט. יתרון נוסף שהמחברים הדגימו במפורש: מכיוון שכל צעד-פעולה מלווה בנימוק-גלוי, אדם יכול לערוך ידנית שורת-"מחשבה" בודדת בתוך תרשים-פעולה שגוי — למשל להסיר משפט-הזיה או להוסיף רמז — ולגרום למודל לשנות התנהגות ולהצליח במשימה, צורת-שיתוף-פעולה-אדם-מכונה שלא הייתה אפשרית מול מדיניות-פעולה סגורה של שיטת-למידת-חיזוק רגילה.
מ-2022 להיום: ICLR 2023, ותבנית שהמשיכה להתפתח במחקר
המאמר התקבל לכנס ICLR 2023, אחד מכנסי-המחקר המרכזיים בתחום למידת-המכונה, וגרסתו-הסופית ("camera ready") פורסמה במרץ 2023. מאז, תבנית "נמק-ופעל" הפכה לרכיב-יסוד כמעט בכל מסגרת-פיתוח לבניית סוכני-AI, והביטוי "סוכן-ReAct" (ReAct Agent) עצמו הפך לשם נפוץ במסגרות כאלה, המשמש לתאר בדיוק את הלולאה הזו — תכנון-פעולה-תצפית-חוזרת — גם כשמימוש-הקוד בפועל שונה במפורט מהפרומפט המדויק שהוצג במאמר המקורי. גם מודלים שאינם מיישמים את הפורמט המדויק (שורות "מחשבה"/"פעולה"/"תצפית" מוגדרות) שאולים ממנו את העיקרון הבסיסי: לגרום למודל לחשוב-בקול-רם לפני שהוא פועל, ולתת לתוצאת-הפעולה להשפיע על הצעד הבא.
ReAct גם לא נשאר מאמר בודד: אותה קבוצת-מחברים כמעט-זהה — שישה מתוך שבעת מחברי ReAct, בהם שאניו יאו וקרתיק נרסימחן — פרסמה כבר במאי 2023 את Tree of Thoughts, מאמר שמכליל את רעיון-הנימוק-הרציף למבנה-עץ: במקום מסלול-מחשבה ליניארי יחיד, המודל בוחן כמה מסלולי-מחשבה מקבילים ובוחר ביניהם, הרחבה מפורשת מעבר לשרשור-מחשבה הרגיל. במרץ 2023 פרסמו שאניו יאו וקרתיק נרסימחן, יחד עם נח שין וחוקרים נוספים, גם את Reflexion: מסגרת שבה סוכן-שפה מבקר-במילים את הכישלון של ניסיון קודם, שומר את הביקורת בזיכרון-אפיזודי, ומשתמש בה בניסיון הבא — למידה מ"משוב-לשוני" בלי עדכון-משקלות של המודל עצמו, שהגיעה לדיוק של 91 אחוזים במבחן-הקידוד HumanEval, מעל 80 האחוזים של GPT-4 שקדם לו. שני קווי-המחקר האלה ממחישים ש-ReAct הפך לנקודת-פתיחה לזרם-מחקר שלם על נימוק-סוכן, לא רק לתבנית-הנדסית בודדת.
מגבלות שהמחברים עצמם תיעדו: לולאות-חוזרות וטווח-הפרומפט
המאמר המקורי לא הציג את ReAct כפתרון-מושלם, אלא תיעד במפורש כמה תבניות-כשל חוזרות. הנפוצה שבהן: "לולאת-חזרה" (Repetition), שבה המודל מייצר שוב-ושוב את אותה "מחשבה" ו"פעולה" קודמת בלי להתקדם — תופעה ספציפית לתבנית ReAct, שנובעת מכך שהמודל "רואה" את הרצף-שהוא-עצמו-ייצר כהקשר לצעד הבא, ולפעמים נתקע בו. תבנית-כשל שנייה, אחראית לכ-23 אחוזים משגיאות ReAct במבחן HotpotQA לפי ניתוח המחברים: תוצאת-חיפוש לא-אינפורמטיבית שמטעה את הנימוק ומקשה על המודל להתאושש ממנה, בניגוד לבן-אדם שהיה פשוט מנסח-מחדש את השאילתה.
המחברים ציינו גם מגבלה מבנית של השיטה עצמה: משימות מורכבות עם מרחב-פעולות גדול דורשות יותר דוגמאות-הדגמה כדי שהמודל ילמד היטב את התבנית — ומספר-הדוגמאות הזה עלול בקלות לחרוג ממגבלת-אורך-הקלט של המודל, מה שמציב תקרה מעשית על כמה "ידע-פעולה" אפשר לדחוס לפרומפט בודד. ולבסוף, המחברים היו גלויים לגבי מקום השיטה ביחס לפתרונות-ייעודיים: גם עם השיפור המשמעותי על שיטות-קודמות, ReAct נותר עדיין רחוק-משמעותית מגישות state-of-the-art ספציפיות-לתחום שפותחו במיוחד עבור כל אחד מארבעת המבחנים בנפרד — התרומה שלו היא כלליות ופרשנות, לא ניצחון על כל בנצ'מרק.
נמק-ופעל מול קריאת-כלים הנדסית: מה בדיוק שונה
כדאי להבחין בין ReAct כתבנית-מחקר לבין המימוש-ההנדסי שהתעשייה בנתה סביבה מאז. "קריאה-לפונקציה" (Function Calling) ו"קריאת-כלים" (Tool Calling), הכלים שהפכו סטנדרטיים בממשקי-התכנות של ספקי-מודלים מאז 2023, נותנים למודל ערוץ-מובנה ואמין לבחור פעולה ולהחזיר אותה בפורמט-נתונים קבוע — אבל הם, מצד עצמם, לא מחייבים שום נימוק-גלוי שמלווה את הבחירה. מודל יכול, מבחינה טכנית, לקרוא לפונקציה בלי לומר מילה על למה הוא בחר בה. תבנית ReAct היא בדיוק השכבה שמעל: היא זו שקובעת שכל קריאת-כלי כזו צריכה להיות מלווה ב"מחשבה" גלויה שקדמה לה — לא רק תוצאה, אלא גם הנימוק שהוביל אליה.
ההבדל הזה נעשה מוחשי דווקא בהשוואה לשרשור-מחשבה: שרשור-מחשבה, כפי שתואר במאמר המקורי שלו מ-2022 (Wei ואחרים, חוקרי Google Brain), מייצר אך-ורק טקסט-נימוק פנימי — הוא לא ניגש בזמן-ריצה לשום מקור-מידע חיצוני, ולכן לא יכול לתקן הנחה-שגויה על-סמך עובדה חדשה. ReAct שואל את אותה שאלת "מה הצעד הבא", אבל עונה עליה תוך-כדי גישה בפועל לעולם-החיצוני, ולא רק מתוך זיכרון-האימון של המודל. שלוש הגישות — שרשור-מחשבה, קריאת-כלים רגילה, ונמק-ופעל — אינן דורג-איכות אחד-מול-השני אלא שלושה פתרונות לשלוש בעיות-חלקיות שונות, שרוב מערכות-הסוכן המודרניות מרכיבות יחד.