إعداد المشهد بفعالية
تقنيات التأطير: «أنت...»، و«بالنظر إلى أن...»، و«الهدف هو...»
إعداد المشهد بفعالية درس مجاني في AI Prompt Engineering على CoddyKit. هذا هو الدرس 3 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في AI Prompt Engineering، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة AI Prompt Engineering 4 دروس في المجموع.
إطارات افتتاحية فعّالة
الجملة الأولى في مطالبتك هي الأهم. فهي تحدد سياق التشغيل للنموذج، أي المنظور الذي سيفسر من خلاله كل ما يأتي بعدها.
تشمل الإطارات الافتتاحية الفعّالة: أنت... والسياق هو... ونظرًا إلى أن... والهدف هو.... وينشّط كل منها بُعدًا مختلفًا من أبعاد السياق قبل بدء المهمة الفعلية.
إطار «أنت...»
يُسند إطار أنت... شخصيةً إلى النموذج. وهذا ينشّط المفردات، وأسلوب الاستدلال، والأولويات المرتبطة بذلك الدور.
المفتاح هو التحديد. فعبارة «أنت خبير» ضعيفة، بينما عبارة «أنت مهندس Python متمرس لديك 10 سنوات من الخبرة، وتُعطي الأولوية لقابلية القراءة على الحلول المبتكرة بلا داعٍ» قوية.
تكون أطر الشخصية أكثر فاعلية عندما توحي الشخصية بطريقة محددة في التفكير والتواصل تحتاج إليها.
import anthropic
client = anthropic.Anthropic(api_key='sk-ant-your-key-here')
persona_prompts = [
'You are a Socratic philosophy professor. Ask 3 probing questions about this claim: AI will replace programmers.',
'You are a skeptical venture capitalist who has seen 500 pitches. Give brutal feedback on this pitch: We are building an AI writing assistant.',
'You are a patient kindergarten teacher. Explain what a computer does in 3 sentences for 5-year-olds.'
]
for prompt in persona_prompts:
response = client.messages.create(
model='claude-opus-4-5',
max_tokens=150,
messages=[{'role': 'user', 'content': prompt}]
)
print(f'--- Persona ---')
print(prompt[:80] + '...')
print(response.content[0].text.strip())
print()إطار «أنت...» في رسائل النظام
أفضل مكان لوضع إطار الشخصية هو رسالة النظام، وليس رسالة المستخدم. تظل شخصيات رسالة النظام نشطة طوال المحادثة — ولا تحتاج إلى تكرارها.
يمكن لشخصية نظام مصاغة جيدًا أن تغيّر تمامًا طريقة استجابة المساعد بالذكاء الاصطناعي عبر عشرات الأسئلة اللاحقة.
import openai
client = openai.OpenAI(api_key='sk-your-key-here')
# Persona set once in system; stays active for all turns
system_persona = (
'You are Marcus, a senior software architect at a Fortune 500 company. '
'You have 20 years of experience with distributed systems. '
'Your communication style: direct, pragmatic, no buzzwords. '
'You always ask about scale and failure modes before giving architecture advice. '
'If a question lacks context, ask one clarifying question before answering.'
)
response = client.chat.completions.create(
model='gpt-4o',
messages=[
{'role': 'system', 'content': system_persona},
{'role': 'user', 'content': 'Should we use microservices for our new product?'}
]
)
print(response.choices[0].message.content)إطار «السياق هو...»
يحدد إطار السياق هو... الخلفية الموقفية من دون تعيين شخصية. استخدمه عندما تحتاج إلى أن يستدل النموذج على موقفك الخاص بدلًا من تبنّي شخصية معينة.
ويكون هذا الإطار فعالًا خصوصًا في المهام التقنية والتحليلية التي تريد فيها أن يستدل النموذج بصفته نفسها، مع إدراك كامل لقيودك.
import anthropic
client = anthropic.Anthropic(api_key='sk-ant-your-key-here')
response = client.messages.create(
model='claude-opus-4-5',
max_tokens=300,
messages=[{
'role': 'user',
'content': (
'The context is: we are a 5-person startup with $2M in seed funding. '
'Our Python monolith handles 10,000 users and is starting to show performance issues. '
'We have one backend engineer and cannot hire more for 6 months. '
'We need to choose between refactoring the monolith vs migrating to microservices.\n\n'
'Give a recommendation with 3 supporting reasons. Be direct.'
)
}]
)
print(response.content[0].text)إطار «بما أن...»
يحدد إطار بما أن... مقدمة أو افتراضًا يشكّل الاستجابة بأكملها. استخدمه لإرساء حقائق يجب على النموذج التعامل معها على أنها صحيحة لأغراض المهمة.
ويكون هذا الإطار قويًا في التحليل الافتراضي، والتخطيط المشروط، والكتابة القائمة على السيناريوهات، عندما تحتاج إلى أن يستدل النموذج انطلاقًا من نقطة بداية محددة.
import openai
client = openai.OpenAI(api_key='sk-your-key-here')
scenarios = [
'Given that our user base will grow 10x in 6 months, what architecture changes should we make today?',
'Given that we must launch in 2 weeks with the current team, which features should we cut from the MVP?',
'Given that our API key was exposed publicly for 3 hours, what steps should we take in the next 24 hours?'
]
for scenario in scenarios:
response = client.chat.completions.create(
model='gpt-4o',
max_tokens=120,
messages=[{
'role': 'user',
'content': scenario + ' (Answer in 3 bullet points.)'
}]
)
print(f'Scenario: {scenario[:60]}...')
print(response.choices[0].message.content.strip())
print()إطار «الهدف هو...»
يحدد إطار الهدف هو... الغرض النهائي من المخرجات. وهو يختلف عن تعليمات المهمة — إذ يشرح لماذا تحتاج إلى هذه المخرجات وما الذي يجب أن تحققه.
يساعد هذا الإطار النموذج على اتخاذ قرارات دقيقة أفضل: ما درجة الإقناع التي يستخدمها، وما الاعتراضات التي يستبقها، وما التفاصيل التي يدرجها أو يحذفها.
import anthropic
client = anthropic.Anthropic(api_key='sk-ant-your-key-here')
goal_frames = [
(
'The goal is to get the reader to schedule a 30-minute demo call. '
'Write a 100-word cold outreach email for our AI data pipeline tool '
'targeting data engineers at e-commerce companies.'
),
(
'The goal is to help the reader pass a senior Python interview at a FAANG company. '
'Explain Python decorators with one conceptual explanation and one practical code example.'
)
]
for prompt in goal_frames:
response = client.messages.create(
model='claude-opus-4-5',
max_tokens=200,
messages=[{'role': 'user', 'content': prompt}]
)
print('--- Goal Frame ---')
print(prompt[:80] + '...')
print(response.content[0].text.strip())
print()دمج إطارات البداية
تجمع أقوى المطالبات عدة إطارات بداية قبل تعليمات المهمة. ومن البنى النموذجية عالية الأداء:
- أنت... [الشخصية]
- السياق هو... [الموقف]
- الهدف هو... [الغرض النهائي]
- بما أن... [الافتراض أو القيد الأساسي]
- [تعليمات المهمة]
يضيف كل إطار طبقة من التوجيه. ومعًا، لا يتركون للنموذج مساحة كبيرة للتخمين.
import openai
client = openai.OpenAI(api_key='sk-your-key-here')
combined_frame_prompt = (
'You are a senior product manager with 10 years of B2B SaaS experience.\n'
'The context is: our team is debating whether to build a native mobile app '
'or keep investing in our responsive web app.\n'
'The goal is: to help our leadership team make a clear go/no-go decision at '
'next week\'s board meeting.\n'
'Given that: we have 3 engineers, $300k runway, and 85% of current users are on desktop.\n\n'
'Write a 250-word recommendation memo with a clear position (build or wait) '
'and 3 supporting arguments. End with one risk to monitor.'
)
response = client.chat.completions.create(
model='gpt-4o',
messages=[{'role': 'user', 'content': combined_frame_prompt}]
)
print(response.choices[0].message.content)تحديد النبرة والأسلوب باستخدام الإطارات
يمكن لإطارات البداية أيضًا تحديد النبرة والأسلوب من دون استخدام كلمة «نبرة» على الإطلاق. فوصف الشخصية والموقف يحدد السجل اللغوي ضمنيًا:
- «أنت مرشد ودود وصبور تتحدث إلى طالب يواجه صعوبات» ← ستكون الاستجابة ودودة ومشجعة تلقائيًا
- «أنت ضابط لوجستيات عسكري مباشر لا يساوم» ← ستكون الاستجابة مباشرة ودقيقة تلقائيًا
- «أنت صحفي تقني بارع في صياغته، تكتب لصالح Wired» ← ستكون الاستجابة ذكية وسهلة الفهم تلقائيًا
import anthropic
client = anthropic.Anthropic(api_key='sk-ant-your-key-here')
frames = [
'You are a warm, patient mentor. Explain why learning to code is hard but worth it.',
'You are a no-nonsense military logistics officer. Explain why learning to code is hard but worth it.',
'You are a witty tech journalist writing for Wired. Explain why learning to code is hard but worth it.'
]
for frame in frames:
response = client.messages.create(
model='claude-opus-4-5',
max_tokens=80,
messages=[{'role': 'user', 'content': frame + ' (2 sentences only)'}]
)
print(f'Frame: {frame[:55]}...')
print(response.content[0].text.strip())
print()تحديد الصرامة التحليلية باستخدام الإطارات
عندما تحتاج إلى تحليل صارم ونقدي بدلًا من الموافقة المتحمسة، فابدأ بإطار يفعّل صراحةً عقلية متشككة أو تحليلية:
- «أنت مراجع نقدي تتمثل مهمتك في العثور على العيوب...»
- «تولَّ دور محامي الشيطان وتحدَّ ما يلي...»
- «افترض عكس الرأي السائد وجادل...»
- «قدّم أقوى صياغة للحجة الأضعف ضد...»
import openai
client = openai.OpenAI(api_key='sk-your-key-here')
analytical_frames = [
'You are a critical reviewer whose job is to find fatal flaws. Review this startup idea: a subscription box for AI prompt templates.',
'Play devil\'s advocate. Challenge this claim: AI will make every knowledge worker 10x more productive.',
'Steelman the weakest argument against remote work, then give the strongest counter-argument.'
]
for frame in analytical_frames:
response = client.chat.completions.create(
model='gpt-4o',
max_tokens=120,
messages=[{'role': 'user', 'content': frame + ' (3 sentences max)'}]
)
print(f'Frame type: analytical/critical')
print(f'Prompt: {frame[:60]}...')
print(response.choices[0].message.content.strip())
print()متى لا تستخدم إطار الشخصية
إطارات الشخصية ليست دائمًا الأداة المناسبة. تجنّبها عندما:
- تحتاج إلى استخراج بيانات موضوعية — فالشخصية تضيف تحيزًا
- تعالج بيانات منظمة — فالشخصية تشتت الانتباه
- تكون المهمة ميكانيكية بحتة — فلا تتضمن أي استدلال
- تريد تقييم النموذج الحقيقي — فالشخصية تشكّل الرأي
في مهام مثل «حوّل CSV إلى JSON» أو «احسب عدد الجمل في هذه الفقرة»، لا تحتاج إلى أي إطار — اكتفِ بالتعليمات.
import anthropic
client = anthropic.Anthropic(api_key='sk-ant-your-key-here')
# Persona frame is unhelpful here — just adds tokens
prompt_with_unnecessary_frame = (
'You are an expert data processing specialist with years of experience. '
'Convert the following to JSON: Name: Alice, Age: 30, City: London'
)
# Clean, direct instruction
prompt_direct = (
'Convert to a JSON object with keys name, age, city:\n'
'Name: Alice, Age: 30, City: London'
)
for label, prompt in [('WITH UNNECESSARY FRAME', prompt_with_unnecessary_frame), ('DIRECT', prompt_direct)]:
response = client.messages.create(
model='claude-opus-4-5',
max_tokens=50,
messages=[{'role': 'user', 'content': prompt}]
)
print(f'[{label}]')
print(response.content[0].text.strip())
print()اختبار إطاراتك
أفضل طريقة لمعرفة الإطارات المناسبة لحالة استخدامك هي إجراء اختبارات A/B: نفّذ المهمة نفسها باستخدام إطارات بداية مختلفة، ثم قارن المخرجات.
اختبر الأبعاد التالية:
- من دون إطار مقابل إطار شخصية
- شخصية غامضة مقابل شخصية محددة
- إطار السياق فقط مقابل إطار السياق مع إطار الهدف
- إطار واحد مقابل إطارات مدمجة
احتفظ بسجل للإطارات التي تنتج أفضل مخرجات لكل فئة من المهام في عملك.
import openai
client = openai.OpenAI(api_key='sk-your-key-here')
task = 'Explain the pros and cons of using TypeScript over JavaScript.'
frames = {
'No frame': task,
'Persona frame': f'You are a TypeScript advocate who also knows JavaScript deeply. {task}',
'Goal frame': f'The goal is to help a JavaScript developer decide if switching to TypeScript is worth it. {task}',
'Combined frame': f'You are a pragmatic senior engineer. The goal is to help a JavaScript developer decide. {task} Give a balanced view in 3 bullet points.'
}
for label, prompt in frames.items():
response = client.chat.completions.create(
model='gpt-4o', max_tokens=80,
messages=[{'role': 'user', 'content': prompt}]
)
print(f'[{label}]: {response.choices[0].message.content.strip()[:120]}...')
print()اختبار المعرفة
يريد مطوّر أن يقدم الذكاء الاصطناعي ملاحظات نقدية وقاسية على العرض التقديمي لمشروعه الناشئ — لا تشجيع، ولا موازنة، بل نقد عدائي بحت. أي إطار بداية يحقق ذلك بأفضل شكل؟
إعداد المشهد — مراجعة
توجّه إطارات البداية النموذج قبل أن يقرأ تعليمات المهمة. وهذه أكثر الإطارات الأربعة فعالية:
- «أنت...»: تعيّن شخصية ذات خبرة محددة، وأسلوب تواصل، وأولويات
- «السياق هو...»: تحدد الخلفية الموقفية من دون شخصية
- «بما أن...»: ترسي المقدمات أو القيود التي يجب على النموذج التعامل معها على أنها صحيحة
- «الهدف هو...»: تحدد الغرض النهائي من المخرجات
ادمج الإطارات في المهام المعقدة. ولا تستخدم أي إطار في المهام الميكانيكية البحتة. اختبر تنويعات الإطارات لمعرفة ما يناسب حالة استخدامك بأفضل شكل.
الأسئلة الشائعة
هل درس «إعداد المشهد بفعالية» مجاني؟
نعم — نص درس «إعداد المشهد بفعالية» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة AI Prompt Engineering، انتقل إلى CoddyKit PRO. تتضمن دورة AI Prompt Engineering 4 دروس في المجموع.
ماذا ستتعلم في «إعداد المشهد بفعالية»؟
تقنيات التأطير: «أنت...»، و«بالنظر إلى أن...»، و«الهدف هو...» تتمرن على AI Prompt Engineering مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ AI Prompt Engineering؟
لا تُشترط خبرة سابقة. AI Prompt Engineering على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 4.
كم من الوقت يستغرق درس «إعداد المشهد بفعالية»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس AI Prompt Engineering هذا؟
نعم. كل درس في AI Prompt Engineering يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- ما المقصود بالسياق في صياغة مطالبات الذكاء الاصطناعي
- تقديم المعلومات الخلفية
- إعداد المشهد بفعالية
- طول السياق وملاءمته