اختيار المعلمات لحالة الاستخدام
إعدادات موصى بها للأسئلة والأجوبة الواقعية، والكتابة الإبداعية، والبرمجة، والمحادثة
اختيار المعلمات لحالة الاستخدام درس مجاني في AI Prompt Engineering على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في AI Prompt Engineering، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة AI Prompt Engineering 4 دروس في المجموع.
إطار اتخاذ قرار المعلمات
لا يعتمد اختيار معلمات أخذ العينات على التخمين — بل يتبع منطقًا يستند إلى متطلبات مهمتك. ويحدد بُعدان أساسيان الإعداد المناسب:
- دقة المخرجات: ما مدى أهمية أن تكون المخرجات صحيحة وقابلة للتنبؤ؟
- تنوع المخرجات: ما مدى أهمية أن تختلف المخرجات وأن تستكشف احتمالات متعددة؟
دقة عالية ← درجة حرارة منخفضة. تنوع عالٍ ← درجة حرارة مرتفعة. وتقع معظم المهام في مكان ما بين هذين الطرفين.
الأسئلة والأجوبة الواقعية: الدقة أولًا
عادةً ما تكون هناك إجابة صحيحة واحدة في الأسئلة والأجوبة الواقعية. وتزيد أي عشوائية من احتمال الحصول على إجابة خاطئة. استخدم:
- temperature = 0: فك الترميز الجشع، حتمي بالكامل
- top_p = 1.0: اتركه دون تقييد؛ فعند temperature=0 لا يكون لـ top-p أي تأثير
يضمن ذلك أن يختار النموذج دائمًا إجابته الأكثر ثقة، وهي الأرجح أن تكون صحيحة.
import openai
client = openai.OpenAI(api_key='sk-...')
# Factual Q&A configuration
def factual_qa(question):
resp = client.chat.completions.create(
model='gpt-4o',
messages=[
{'role': 'system', 'content': 'Answer factual questions concisely and accurately.'},
{'role': 'user', 'content': question}
],
temperature=0,
top_p=1.0
)
return resp.choices[0].message.content
answer = factual_qa('What is the boiling point of water at sea level?')
print(answer) # Always: '100 degrees Celsius (212 degrees Fahrenheit).'توليد التعليمات البرمجية: قريب من الفك الجشع
يجب أن تكون التعليمات البرمجية صحيحة نحويًا ودقيقة دلاليًا. وتؤدي العشوائية إلى أخطاء نحوية أو أسماء متغيرات خاطئة أو منطق غير صحيح. استخدم:
- temperature = 0–0.2: قريب جدًا من الفك الجشع — يسمح بتنوع طفيف، لكنه يفضّل بقوة اختيارات الرموز الصحيحة
- top_p = 0.95: يستبعد الرموز الموجودة في ذيل التوزيع المتطرف، التي قد تسبب أخطاء نحوية
# Code generation configuration
def generate_code(task):
resp = client.chat.completions.create(
model='gpt-4o',
messages=[
{'role': 'system', 'content': 'You are an expert Python programmer. Write clean, correct code.'},
{'role': 'user', 'content': task}
],
temperature=0.1,
top_p=0.95
)
return resp.choices[0].message.content
code = generate_code('Write a Python function that merges two sorted lists.')
print(code)التلخيص: إعدادات متوسطة
يحتاج التلخيص إلى الدقة (لعدم تحريف الحقائق)، لكنه يستفيد من قدر بسيط من التنوع (إذ يمكن لتشغيلات مختلفة أن تركز على جوانب مختلفة). استخدم:
- temperature = 0.3–0.5: تحافظ العشوائية الخفيفة على صياغة طبيعية
- top_p = 1.0: لا حاجة إلى تقييد النواة عند استخدام درجة حرارة منخفضة
# Summarization configuration
def summarize(text):
resp = client.chat.completions.create(
model='gpt-4o',
messages=[
{'role': 'system', 'content': 'Summarize the following text in 3 sentences.'},
{'role': 'user', 'content': text}
],
temperature=0.4,
top_p=1.0
)
return resp.choices[0].message.content
summary = summarize(long_article)
print(summary)المحادثة التفاعلية: تنوع طبيعي
تستفيد استجابات المحادثة من التنوع الطبيعي — فلا ينبغي أن ينتج السؤال نفسه الصياغة ذاتها تمامًا في كل مرة. لكن العشوائية المفرطة تجعل الاستجابات غير مترابطة. استخدم:
- temperature = 0.7–0.9: محادثة طبيعية ومتنوعة
- top_p = 0.9–0.95: يستبعد الرموز غير المحتملة في ذيل التوزيع، التي تؤدي إلى صياغة غير طبيعية
# Chat configuration
def chat_response(user_message, history):
messages = history + [{'role': 'user', 'content': user_message}]
resp = client.chat.completions.create(
model='gpt-4o',
messages=[
{'role': 'system', 'content': 'You are a friendly, helpful assistant.'},
*messages
],
temperature=0.8,
top_p=0.9
)
reply = resp.choices[0].message.content
history.append({'role': 'user', 'content': user_message})
history.append({'role': 'assistant', 'content': reply})
return reply, historyالكتابة الإبداعية: تنوع عالٍ
تقدّر الكتابة الإبداعية الأصالة والعناصر غير المتوقعة. وتنتج درجات الحرارة المنخفضة مخرجات مبتذلة وقابلة للتنبؤ. أما درجات الحرارة المرتفعة فتنتج اختيارات حيوية وغير متوقعة — مع أن ارتفاعها المفرط يؤدي إلى عدم الترابط. استخدم:
- temperature = 0.9–1.2: مفردات متنوعة واختيارات كلمات غير بديهية
- top_p = 0.95: يمنع الرموز غير المترابطة في ذيل التوزيع مع السماح باستكشاف واسع
# Creative writing configuration
def write_story_opening(prompt):
resp = client.chat.completions.create(
model='gpt-4o',
messages=[
{'role': 'system', 'content': 'You are a creative fiction writer. Write vivid, original prose.'},
{'role': 'user', 'content': f'Write a story opening for: {prompt}'}
],
temperature=1.1,
top_p=0.95
)
return resp.choices[0].message.content
opening = write_story_opening('A detective discovers her partner is the killer.')
print(opening)العصف الذهني وتوليد الأفكار
في العصف الذهني، الهدف هو تحقيق أقصى تنوع للأفكار، حتى إن كانت غير مألوفة أو غير متوقعة. استخدم أعلى درجة حرارة عملية:
- temperature = 1.0–1.5: استكشاف واسع لمساحة الأفكار
- top_p = 0.95–1.0: أقل قدر من التقييد
شغّل العملية عدة مرات واجمع جميع المخرجات، ثم صفِّ أفضل الأفكار يدويًا. وتستفيد مطالبات العصف الذهني من طلب التنوع صراحةً: "قدّم لي 10 أساليب مختلفة، بما في ذلك الأساليب غير المألوفة."
# Brainstorming: run multiple times for variety
def brainstorm(topic, n_runs=5):
ideas = []
for _ in range(n_runs):
resp = client.chat.completions.create(
model='gpt-4o',
messages=[
{'role': 'system', 'content': 'Generate creative, diverse ideas. Include unusual approaches.'},
{'role': 'user', 'content': f'Give me 3 ideas for: {topic}'}
],
temperature=1.3,
top_p=0.95
)
ideas.append(resp.choices[0].message.content)
return ideas
all_ideas = brainstorm('reducing customer churn')اختبار حساسية المعلمات
قبل اعتماد المعلمات، أجرِ اختبارات حساسية المعلمات: ثبّت المطالبة، وغيّر معلمة واحدة في كل مرة، وقيّم جودة المخرجات عند كل إعداد.
def sensitivity_test(prompt, evaluator, temperatures, n_samples=5):
results = {}
for temp in temperatures:
scores = []
for _ in range(n_samples):
resp = client.chat.completions.create(
model='gpt-4o',
messages=[{'role': 'user', 'content': prompt}],
temperature=temp
)
score = evaluator(resp.choices[0].message.content)
scores.append(score)
results[temp] = sum(scores) / len(scores)
for temp, score in sorted(results.items()):
print(f'T={temp}: avg score = {score:.2f}')
best_temp = max(results, key=results.get)
print(f'Best temperature: {best_temp}')
return best_tempمتى تترك الإعدادات الافتراضية
لا تحتاج كل التطبيقات إلى معلمات مخصصة. اترك المعلمات على إعداداتها الافتراضية عندما:
- تكون حالة الاستخدام محادثة عامة — إذ تكون درجة الحرارة الافتراضية (1.0 في معظم واجهات API) مضبوطة جيدًا
- تكون في مرحلة إنشاء نموذج أولي ولم تعرف الإعدادات المناسبة بعد
- تكون المهمة متوازنة بين الدقة والإبداع (مثل صياغة رسائل البريد الإلكتروني)
قاعدة عامة: خصّص المعلمات فقط عندما يتسبب السلوك الافتراضي في مشكلة جودة قابلة للقياس أثناء الاختبار. إذ إن ضبط المعلمات مبكرًا يضيف تعقيدًا من دون فائدة قابلة للقياس.
# Defaults are often correct
default_resp = client.chat.completions.create(
model='gpt-4o',
messages=[{'role': 'user', 'content': 'Draft a professional email declining a meeting.'}]
# No temperature or top_p specified — API defaults apply
# OpenAI default: temperature=1, top_p=1
)
print(default_resp.choices[0].message.content)بطاقة مرجعية سريعة
جدول موجز بالإعدادات الموصى بها حسب حالة الاستخدام:
PARAMETER_PRESETS = {
# task: (temperature, top_p, notes)
'factual_qa': (0.0, 1.0, 'greedy, max accuracy'),
'classification': (0.0, 1.0, 'deterministic labels'),
'code_generation': (0.1, 0.95, 'near-greedy, avoid tail tokens'),
'data_extraction': (0.2, 1.0, 'slight variation for robustness'),
'summarization': (0.4, 1.0, 'preserve facts, vary phrasing'),
'translation': (0.3, 1.0, 'accurate but natural'),
'chat': (0.8, 0.9, 'natural conversation'),
'email_drafting': (0.7, 0.9, 'professional but varied'),
'creative_writing': (1.1, 0.95, 'vivid, original'),
'brainstorming': (1.3, 0.95, 'maximum diversity'),
}
for task, (temp, top_p, notes) in PARAMETER_PRESETS.items():
print(f'{task:22} temp={temp}, top_p={top_p} | {notes}')عقوبات التكرار والحضور
تكمّل معلمتان إضافيتان درجة الحرارة وtop-p:
- frequency_penalty (0–2): يقلل احتمال الرموز بما يتناسب مع عدد مرات ظهورها في المخرجات حتى الآن — ويمنع تكرار الكلمات
- presence_penalty (0–2): يقلل احتمال أي رمز ظهر من قبل — ويشجع على تنوع الموضوعات
في الكتابة الإبداعية: أضف frequency_penalty=0.5 لتقليل تكرار اختيارات الكلمات من دون تغيير درجة الحرارة.
resp = client.chat.completions.create(
model='gpt-4o',
messages=[{'role': 'user', 'content': 'Write a paragraph about coffee.'}],
temperature=1.0,
top_p=0.95,
frequency_penalty=0.5, # discourage repeating the same words
presence_penalty=0.3 # encourage introducing new topics/aspects
)
print(resp.choices[0].message.content)اختبار المعرفة
في مهمة تُولّد تعليمات Python برمجية ستُنفَّذ في بيئة الإنتاج، ما إعداد المعلمات الأنسب؟
مراجعة سريعة: اختيار معلمات أخذ العينات
طابق المعلمات مع احتياجاتك من الدقة مقابل التنوع:
- الحقائق/التعليمات البرمجية: temp=0–0.2، top_p=0.95 — الدقة أولًا
- التلخيص: temp=0.3–0.5 — توازن
- المحادثة: temp=0.7–0.9، top_p=0.9 — تنوع طبيعي
- الإبداع: temp=0.9–1.2، top_p=0.95 — تنوع
- العصف الذهني: temp=1.3، top_p=0.95 — أقصى استكشاف
أجرِ اختبارات حساسية المعلمات. واترك الإعدادات الافتراضية عندما لا تلاحظ مشكلة في الجودة. وأضف frequency_penalty عند وجود مشكلات التكرار. بهذا يختتم المقرر 19. التالي: اختبار المطالبات والانحدار.
تعلم AI Prompt Engineering مع معلم ذكاء اصطناعي — مجانًا
اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.
- الدورات
- 53
- الدروس
- 199
الأسئلة الشائعة
هل درس «اختيار المعلمات لحالة الاستخدام» مجاني؟
نعم — نص درس «اختيار المعلمات لحالة الاستخدام» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة AI Prompt Engineering، انتقل إلى CoddyKit PRO. تتضمن دورة AI Prompt Engineering 4 دروس في المجموع.
ماذا ستتعلم في «اختيار المعلمات لحالة الاستخدام»؟
إعدادات موصى بها للأسئلة والأجوبة الواقعية، والكتابة الإبداعية، والبرمجة، والمحادثة تتمرن على AI Prompt Engineering مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ AI Prompt Engineering؟
لا تُشترط خبرة سابقة. AI Prompt Engineering على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «اختيار المعلمات لحالة الاستخدام»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس AI Prompt Engineering هذا؟
نعم. كل درس في AI Prompt Engineering يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- ما درجة الحرارة في LLMs؟
- أخذ عينات النواة Top-p
- أخذ عينات Top-k
- اختيار المعلمات لحالة الاستخدام