الدرس 29 من 42

من الدردشة إلى الـAPI: خانة النظام

Temperature — وليه اتشالت

3 دقيقة للقراءة

أي تيوتوريال عن الـprompting اتكتب في السنين اللي فاتت فيه قسم عن الـtemperature. وكلهم بيقولوا نفس الكلام: زرار من 0 لـ1، واطي للحقايق، عالي للإبداع، و0.3 للإنتاج. أكيد قريتها عشر مرات.

على موديلات Claude الحالية، لما تبعت الـparameter دي بترجّعلك 400 error. Anthropic حاطّة temperature وtop_p وtop_k تحت إهلاك parameters الـAPI وبتقولك شيلهم من الطلبات بتاعتك. والبديل الموصى بيه كلمة واحدة: الـprompting.

الدرس ده موجود بدل ما يتشال لأن سبب شيل الزرار أنفع من الزرار نفسه.

الـtemperature كانت بتعمل إيه فعلاً

لما الموديل بيختار الـtoken الجاي، هو بيختار من توزيع احتمالات. الـtemperature كانت بتمدّد التوزيع ده قبل الاختيار. الدرجة الواطية بتسطّح الذيل الطويل وبتخلّي الاختيار الأول شبه مضمون. والعالية بتسطّح القمة وبتخلّي الـtokens قليلة الاحتمال تطلع.

الميكانيزم ده حقيقي، ولسه بينطبق في أي مكان الـparameter لسه متقبولة فيه — لقطات Claude الأقدم، وشركات تانية، كل واحدة بمدى وافتراضي مختلفين. لو بتشتغل على واحدة من دول، اقرا مرجع الـparameters بتاع الشركة نفسها مش بوست في مدوّنة؛ المديات مش واحدة بين المزوّدين، وده لوحده سبب كويس إنك ما تحفظش رقم.

الحتة اللي كل الناس غلطت فيها

النصيحة المعتادة كانت "استخدم temperature واطية لما تكون عايز تكرار ثابت". وإرشادات الترحيل بتاعة Anthropic بتلغي الفكرة دي على طول:

لو كنت بتستخدم temperature = 0 عشان الحتمية، خلي بالك إنها ما ضمنتش أبداً مخرجات متطابقة على الموديلات السابقة.

يعني ما اشتغلتش أصلاً. مش "بتشتغل أقل دلوقتي" — هي ما عملتش الشغلانة اللي اشتهرت بيها، على أي موديل، في أي وقت. الـtemperature كانت بتضيّق التوزيع؛ ما كانتش بتثبّت المخرج. الناس كانت بتشغّل الـprompt مرتين على 0.0، وتلاقي إجابتين متقاربين، فتستنتج إن الزرار هو اللي ماسك — واللي كان ماسك فعلاً هو prompt ما لهوش غير إجابة واحدة معقولة.

ودي الخلاصة، وبتتعمّم بعيد عن الـparameter دي: الإعداد اللي بيترابط مع النتيجة اللي عايزها مش هو الإعداد اللي بيتحكّم فيها.

تعمل إيه بدالها

كل حاجة كان بيتلجأ للزرار عشانها، الـprompt بيعملها أحسن وأوضح:

كنت عايز الزرار لإيهاللي بيوصّلك فعلاً
ردود ثابتة وقابلة للتكرارمواصفات مخرج محكمة كفاية إن شكل واحد بس من الإجابة يعدّي — الطول، الصيغة، اللي لازم يظهر واللي ممنوع
صياغات متنوّعة، اختيارات كتيراطلبها صراحة: "إدّيني خمس بدايل، كل واحدة بفعل افتتاحي مختلف"
كلام أقل ولفّ أقلقيد على الطول وقاعدة "من غير مقدمات ولا خلاصات"
اختراع أقلالتأسيس: الصق المصدر واطلب إجابات منه هو بس (الوحدة 8)

العمود اليمين ده كله ينقال، ويتراجع، وبيعيش بعد تغيير الموديل. الرقم اللي في ملف إعدادات مش أي حاجة من دي.

مدّيت إيدك على زرار الـtemperature. وبعدين؟

كنت بتحاول تصلّح إيه؟

ليه ده حصل من الأساس

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

الكورس ده بيقول الكلام ده من الوحدة 2، في درس مواصفات المخرج. والمنصّة دلوقتي خلّته إجباري. لو كنت بتحكم الـprompts بدل ما تلعب في الإعدادات، مفيش حاجة هتتغيّر في شغلك — وده أحلى كلام ممكن إهلاك من الشركة يقوله عن مهارة.

مساعد Bayt Coffee اللي هاجر على وشك تبنيه بياخد ثباته من system prompt محكم وصيغة مخرج مقفولة، مش من رقم. دي كانت دايماً الطريقة الأحسن؛ دلوقتي هي الطريقة الوحيدة.

الوحدة الجاية: توسيع هيكل الخمس خانات لـsystem prompt إنتاجي حقيقي. :::

اختبار

الوحدة 6: من الدردشة إلى الـAPI

خذ الاختبار
هل كان هذا الدرس مفيدًا؟

سجّل الدخول للتقييم