Menu
flag Ar iconالعربيةdown icon

سلسلة التفكير (Chain of Thought): فكّر خطوة بخطوة

سلسلة التفكير (chain of thought) تطلب من النموذج أن يكتب استدلاله قبل أن يعطي الإجابة. تفيد أكثر ما تفيد في مسائل الرياضيات والمنطق متعددة الخطوات، وتقل أهميتها مع نماذج الاستدلال التي تفكر أصلًا قبل أن تجيب.

يمكنك تعديل كل موجّه في هذه الصفحة ثم فتحه في ChatGPT أو Claude أو أي تطبيق ذكاء اصطناعي آخر.

سلسلة التفكير (chain of thought prompting) تطلب من النموذج اللغوي أن يكتب الخطوات الوسيطة لمسألة قبل أن يعطي الإجابة النهائية. في المسائل التي تحتاج إلى عدة خطوات، مثل المسائل الكلامية والألغاز المنطقية والجداول الزمنية، يؤدي العمل المكشوف عادةً إلى إجابات صحيحة أكثر من الإجابة الفورية، ويترك لك خطوات يمكنك فحصها. أقصر صيغة لها جملة واحدة تضيفها إلى الموجّه: "لنفكر خطوة بخطوة".

لماذا تفيد كتابة الخطوات

ينتج النموذج رده توكنًا واحدًا في كل مرة، وكل ما كتبه يصبح مُدخلًا للتوكن التالي. إذا طلب الموجّه الإجابة فورًا، يضطر النموذج إلى إنتاجها قبل أن توجد أي نتيجة وسيطة مكتوبة. أما إذا كتب أولًا "مبيعات القهوة يوم الاثنين بلغت 168$"، فهذا الرقم أصبح في السياق، وتستطيع الخطوة التالية البناء عليه بدلًا من حمله ضمنيًا.

هذا هو الحدس. أما الدليل فجاء من بحثين عام 2022. أظهر Wei وزملاؤه في "Chain-of-Thought Prompting Elicits Reasoning in Large Language Models" أن الأمثلة المحلولة المكتوب استدلالها حسّنت النماذج الكبيرة في مهام الحساب والفهم العام والاستدلال الرمزي. ووجدوا أيضًا أن الفائدة تعتمد على الحجم: النماذج الأصغر لم تستفد، وكثيرًا ما كتبت استدلالًا سلسًا يقود إلى إجابات خاطئة. ثم أظهر Kojima وزملاؤه في "Large Language Models are Zero-Shot Reasoners" أن جملة واحدة دون أمثلة، "لنفكر خطوة بخطوة" (Let's think step by step)، حسّنت النتائج أيضًا تحسينًا كبيرًا، وإن كان عمومًا أقل مما حققته الأمثلة المحلولة.

الإجابة المباشرة مقابل سلسلة التفكير

يطرح التبويبان السؤال نفسه. الأول يطلب المبلغ فقط، والثاني يطلب طريقة الحل ويضع الإجابة في سطر أخير ثابت. سطر الإجابة يبقى بالكلمة الإنجليزية Answer: لأن كود Python لاحقًا في هذه الصفحة يبحث عنها.

يبيع مقهى القهوة بسعر 3.50$ والكعك بسعر 2.25$. يوم الاثنين باع 48 كوب قهوة وعددًا من قطع الكعك، وكان إجمالي دخله 213$. يوم الثلاثاء باع قهوة أقل بعشرة أكواب من الاثنين، وضعف عدد قطع الكعك. كم كان دخله يوم الثلاثاء؟ أجب بالمبلغ فقط.
Try it
Example replyReplies vary between models and runs.

258$

يُظهر الرد المباشر زلة نموذجية: 258هيقهوةالاثنينبقيمة168 هي قهوة الاثنين بقيمة 168 مضافًا إليها كعك الثلاثاء بقيمة 90$، أي أنه نسي أن الثلاثاء شهد بيع قهوة أقل بعشرة أكواب. أما الرد خطوة بخطوة فيعطي عدد أكواب الثلاثاء سطرًا خاصًا، فلا يمكن تخطي تلك الخطوة بصمت. قد يجيب نموذج حالي عن النسخة المباشرة إجابة صحيحة أيضًا، لكن الفجوة تتسع كلما طالت المسائل وازداد اعتماد الخطوات على بعضها.

وللخطوات المكتوبة فائدة ثانية: عندما تكون الإجابة خاطئة، ترى أي خطوة انكسرت، وتستطيع إصلاح الموجّه أو المُدخل عند تلك النقطة.

سلسلة التفكير بالأمثلة (few-shot)

التقنية الأصلية عند Wei وزملائه تضع في الموجّه أمثلة محلولة تُظهر إجاباتها استدلالها، فيجيب النموذج عن السؤال الجديد بالطريقة نفسها. المثال التالي مقتبس من الشكل الأول في بحثهم، والسؤال الذي يليه جديد. غيّر السؤال لتجرب سؤالك.

سلسلة التفكير بالأمثلة
Fill in
Parts
س: لدى روجر 5 كرات تنس. اشترى علبتين أخريين من كرات التنس. في كل علبة 3 كرات. كم كرة لديه الآن؟ ج: بدأ روجر بخمس كرات. علبتان في كل منهما 3 كرات تعني 6 كرات. 5 + 6 = 11. الإجابة هي 11.
س: كان على رفوف مكتبة 120 كتابًا. أعارت 45 كتابًا، واستعادت 18، وتلقت تبرعًا بثلاثين كتابًا. كم كتابًا على رفوفها الآن؟ ج:
Try it
Example replyReplies vary between models and runs.

بدأت المكتبة بـ 120 كتابًا. إعارة 45 تركت 75 على الرفوف. استعادة 18 جعلتها 93. التبرع بثلاثين أوصلها إلى 123. الإجابة هي 123.

تعطيك سلسلة التفكير بالأمثلة تحكمًا في شكل الاستدلال: طوله، وما يوضحه، وطريقة ذكر الإجابة. عبارة "الإجابة هي 11" في المثال خاتمة ثابتة، ونسخها الرد. أما سلسلة التفكير دون أمثلة فأسرع كتابة لكنها تترك هذه الخيارات للنموذج. لمزيد عن بناء مجموعات الأمثلة، راجع الموجّه بالأمثلة، وللنسخة المعتمدة على التعليمة وحدها، راجع الموجّه دون أمثلة.

ضع الإجابة في سطر مستقل

عندما يحتوي الرد على استدلال، تكون الإجابة في مكان ما داخل فقرة، وهذه مشكلة عندما يحتاج برنامج إلى قراءتها. اطلب الإجابة بصيغة ثابتة في السطر الأخير، كما يفعل موجّه المقهى بعبارة "Answer: $X"، واقرأ ذلك السطر في الكود. إذا فضّلت كلمة عربية مثل "الإجابة:" في الموجّه، فغيّر النمط Answer: في الكود ليطابقها.

import re

matches = re.findall(r"^Answer:\s*(.+)$", reply, re.MULTILINE)
answer = matches[-1] if matches else None

أخذ آخر تطابق مهم، لأن الاستدلال نفسه قد يحتوي سطرًا يبدأ بـ "Answer:" قبل أن يصحح النموذج نفسه. وإذا كان المستخدمون يجب أن يروا الإجابة فقط، فاطلب الاستدلال داخل زوج من الوسوم والإجابة داخل زوج آخر، ثم اعرض الثاني فقط. تشرح صفحة المخرجات المنظمة طلب JSON عندما تحتاج إلى أكثر من حقل.

نماذج الاستدلال

بعض النماذج الحالية مبنية لتفكر قبل أن تجيب: تولّد استدلالًا داخليًا، غالبًا مخفيًا أو ملخّصًا، قبل الرد الظاهر. معها تقل أهمية عبارة "لنفكر خطوة بخطوة" كثيرًا، لأن الخطوات تحدث سواء طلبتها أم لا. وإضافتها في العادة تطيل الرد الظاهر فقط.

ما يظل مفيدًا مع نموذج الاستدلال هو كل ما يحيط بالاستدلال: عرض كامل للمسألة، والقيود التي يجب أن تحققها الإجابة الصحيحة، وصيغة الإجابة النهائية. صِف شكل الإجابة الجيدة بدلًا من أن تكتب كل خطوة سلفًا، فالوصفة الثابتة للخطوات قد تبعد النموذج عن طريق أفضل كان سيجده بنفسه.

متى لا تستخدم سلسلة التفكير

سلسلة التفكير تكلّف توكنات ووقتًا، ولا تؤتي ثمارها إلا عندما تكون للمهمة خطوات يعتمد بعضها على بعض. في البحث عن معلومة أو الترجمة أو إعادة الصياغة أو التصنيف البسيط، تطيل الرد فقط. وقد يكتب النموذج استدلالًا يبدو سليمًا ويصل مع ذلك إلى إجابة خاطئة، فتحقق من النتيجة النهائية بشكل مستقل، لا من الخطوات التي قادت إليها فقط.

وفي المسائل الصعبة التي قد تنحرف فيها سلسلة واحدة، يبني امتدادان عليها. الاتساق الذاتي يولّد عدة سلاسل ويأخذ الإجابة التي تصل إليها معظمها، وشجرة الأفكار تستكشف عدة مسارات استدلال جزئية وتقارن بينها قبل الالتزام بأحدها.

الأسئلة الشائعة

ما هي سلسلة التفكير في كتابة الموجّهات؟

سلسلة التفكير (chain of thought أو CoT) تطلب من النموذج اللغوي أن يكتب الخطوات الوسيطة لمسألة قبل إجابته النهائية، إما بعرض أمثلة محلولة تتضمن استدلالها، أو بإضافة تعليمة مثل "لنفكر خطوة بخطوة". في المسائل متعددة الخطوات يؤدي ذلك عادةً إلى إجابات صحيحة أكثر، ويتيح لك فحص كل خطوة.

هل ما زالت عبارة "لنفكر خطوة بخطوة" تنجح؟

مع نماذج المحادثة العادية ما زالت تفيد في المسائل التي تحتاج إلى عدة خطوات، خاصة عندما يدفع الموجّه لولاها نحو إجابة فورية. أما نماذج الاستدلال، التي تفكر قبل أن ترد، فتفعل ذلك داخليًا أصلًا، فلا تضيف العبارة لها إلا ردًا أطول. مع هذه النماذج، اعرض المسألة وصيغة الإجابة بوضوح بدلًا من ذلك.

متى تفيد سلسلة التفكير ومتى لا تفيد؟

تفيد في المهام التي تحتاج إلى عدة خطوات يعتمد بعضها على بعض: المسائل الكلامية، والحساب، والألغاز المنطقية، والجدولة بقيود، وتتبّع ما يفعله الكود. ولا تضيف كثيرًا في البحث عن معلومة أو الترجمة أو إعادة الصياغة أو التصنيف البسيط، حيث تجعل الرد أطول وأبطأ فقط.

ما الفرق بين سلسلة التفكير zero-shot وfew-shot؟

سلسلة التفكير few-shot، التي قدّمها Wei وزملاؤه عام 2022، تضع في الموجّه أمثلة محلولة مع استدلالها، فيحاكي النموذج أسلوب الاستدلال ذاك. أما سلسلة التفكير zero-shot، من بحث Kojima وزملائه عام 2022، فلا تستخدم أمثلة وتضيف ببساطة تعليمة مثل "لنفكر خطوة بخطوة". كتابة zero-shot أسرع، وfew-shot تعطي تحكمًا أكبر في شكل الخطوات.

هل الاستدلال المكتوب هو فعلًا الطريقة التي وصل بها النموذج إلى الإجابة؟

ليس بالضرورة. الخطوات نص يولّده النموذج، وقد تبدو سليمة بينما الإجابة النهائية خاطئة، أو تحتوي خطأ بينما تصادف الإجابة أن تكون صحيحة. تعامل مع الاستدلال على أنه شيء تفحصه لا دليل، وتحقق من الإجابة النهائية بشكل مستقل.

Coddy programming languages illustration

تعلّم البرمجة مع Coddy

ابدأ الآن