ReAct Prompting — توجيه ReAct
ReAct (اختصار لـ Reason + Act، أي "فكر وتصرف") هو نموذج لتصميم الموجهات (prompting) لـنماذج اللغة الكبيرة (LLM)، يسمح لها بحل المهام المعقدة من خلال التناوب بين الاستدلال اللفظي (الأفكار) والإجراءات التي تتفاعل مع بيئة خارجية[1]. اقترح باحثون من Google Research وجامعة برينستون هذه الطريقة في عام 2022، وأصبحت نهجًا أساسيًا في تطوير العملاء الأذكياء.
يكمن الابتكار الرئيسي لنموذج ReAct في دمج الاستدلال المنطقي، الذي يميز تقنيات مثل سلسلة الأفكار (Chain-of-Thought أو CoT)، مع تنفيذ إجراءات خارجية مثل البحث عن المعلومات أو التفاعل مع واجهات برمجة التطبيقات (API). وهذا يسمح للنموذج بتعديل خطته ديناميكيًا، والتحقق من الحقائق، والتغلب على قيود معرفته الخاصة التي غالبًا ما تكون قديمة أو غير مكتملة[2].
الخلفية وتاريخ الإنشاء
قبل ظهور ReAct، كان هناك نهجان رئيسيان منفصلان لاستخدام نماذج اللغة الكبيرة لحل المهام المعقدة:
- سلسلة الأفكار (Chain-of-Thought, CoT): يقوم النموذج بتوليد استدلالات منطقية متسلسلة لحل المهمة، ولكنه يفعل ذلك في "فراغ معلوماتي"، معتمدًا فقط على معرفته الداخلية. يؤدي هذا غالبًا إلى أخطاء واقعية و"هلوسات"[1].
- تخطيط الإجراءات فقط (Act-Only): يقوم النموذج بتوليد سلسلة من الإجراءات للتفاعل مع بيئة خارجية (على سبيل المثال، في الألعاب النصية)، ولكن دون تخطيط واضح عالي المستوى. تعاني هذه الأنظمة من ضعف في التعامل مع الأخطاء ولا تستطيع تكييف استراتيجيتها عند مواجهة ظروف غير متوقعة.
تم إنشاء ReAct للجمع بين نقاط القوة في كلا النهجين بشكل تآزري. فهو يسمح للنموذج ليس فقط بالاستدلال، بل أيضًا بـربط استدلالاته بالحقائق من العالم الخارجي، وتكييف إجراءاته بناءً على التغذية الراجعة التي يتلقاها.
آلية العمل: دورة «الفكرة – الإجراء – الملاحظة»
يعمل ReAct ضمن دورة تكرارية تشمل ثلاثة مكونات رئيسية. يقوم النموذج بتوليد مسار بشكل متسلسل يتكون من خطوات Thought (فكرة)، وAction (إجراء)، وObservation (ملاحظة).
مثال على بنية الموجه:
السؤال: ما هي عاصمة المدينة التي ولد فيها المخترع المعروف بالتيار المتردد؟
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 [معلمات] — لاستدعاء واجهة برمجة تطبيقات خارجية.
Observation - الملاحظة
يقوم النظام أو الأداة الخارجية بتنفيذ الإجراء وإرجاع النتيجة (ملاحظة). قد تكون هذه النتيجة جزءًا من نص، أو استجابة من واجهة برمجة تطبيقات، أو رسالة خطأ. يستخدم النموذج هذه الملاحظة لتكوين الفكرة التالية، مما يغلق حلقة التغذية الراجعة[2].
النتائج التجريبية والفعالية
اختبر مطورو ReAct الطريقة على مجموعة واسعة من المهام، وأظهروا تفوقها على نهجي CoT و Act-Only.
| مؤشر الأداء | المهمة | 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 قد لا يكون مرتبطًا بالتآزر الحقيقي بين الاستدلال والإجراء بقدر ما هو مرتبط بـالتشابه النحوي بين الأمثلة في الموجه والمهمة الحالية. قد يتبع النموذج قالب `Thought-Action-Observation` دون فهم كامل لدلالات الاستدلال[3].
- التكاليف الحسابية: تتطلب كل دورة من دورات ReAct استدعاء واحدًا على الأقل لنموذج اللغة الكبير واستدعاء واحدًا لأداة خارجية، مما يجعله بطيئًا ومكلفًا مقارنة بالتوجيه القياسي.
- الاعتماد على الأدوات: تعتمد فعالية العميل بشكل مباشر على جودة وموثوقية الأدوات المتاحة. يمكن أن تؤدي استجابة غير صحيحة أو مشوشة من واجهة برمجة التطبيقات إلى توجيه استدلالات النموذج في مسار خاطئ.
الأهمية والتطور المستقبلي
أصبح ReAct علامة فارقة في تطور الذكاء الاصطناعي، إيذانًا بالانتقال من الأنظمة التوليدية إلى الأنظمة الوكيلة (agentic systems). لقد وضع الأساس المفاهيمي والعملي لمعظم الأطر الحديثة لإنشاء العملاء، مثل:
- 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. [١]
- ↑ 2.0 2.1 «ReAct: Synergizing Reasoning and Acting in Language Models». Google Research Blog. [٢]
- ↑ Verma, V., et al. (2024). «On the Brittle Foundations of ReAct Prompting for Agentic Large Language Models». arXiv preprint arXiv:2405.13966. [٣]