موجّه الدور (role prompting) يعني أن تخبر النموذج من يكون قبل أن تخبره بما يفعل: "أنت مدرّس رياضيات صبور"، "تصرّف كأنك مدير توظيف لوظيفة مطوّر مبتدئ". يغيّر الدور لمن تُكتب الإجابة، وأي كلمات تستخدم، وإلى أي عمق تذهب، وإلى أي شيء تنتبه. لكنه لا يعطي النموذج معرفة لا يملكها أصلًا: الدور طريقة لتوجيه الإجابة، لا لإضافة الحقائق.
ما الذي يغيّره الدور
الدور طريقة مختصرة لضبط عدة أشياء دفعة واحدة:
- الجمهور والمفردات. مدرّس المبتدئين يعرّف المصطلحات ويستخدم التشبيهات، والمهندس الخبير الذي يكتب لزملائه يتجاوز الاثنين.
- المعيار. المحرر الصارم ينبّه إلى جملة يمررها القارئ الودود. الدور يحدد ما يُعدّ مشكلة.
- التركيز. مراجع الأمان ومراجع الأداء يقرآن الدالة نفسها ويلاحظان أشياء مختلفة.
- السلوك. المحاور يطرح الأسئلة وينتظر، والمدرّس يمكن أن يُطلب منه إعطاء تلميحات بدلًا من الإجابات.
تنقّل بين التبويبات الثلاثة التالية. المهمة متطابقة في كل منها، والدور وحده يتغير.
واجهة API (واجهة برمجة التطبيقات) مجموعة قواعد تتيح لبرنامج أن يتواصل مع برنامج آخر. تحدد الطلبات التي يمكنك إرسالها، وكيف ترسلها، وما الذي تحصل عليه. مثلًا، يستخدم تطبيق الطقس واجهة API لخدمة أرصاد جوية لجلب التوقعات. تتيح واجهات API للمطوّرين استخدام ميزات أنظمة أخرى وبياناتها دون معرفة طريقة عمل تلك الأنظمة من الداخل.
عبارة "أنت خبير" بالكاد حرّكت الإجابة: أبقت الشكل العام نفسه وأضافت مصطلحات، لأن كلمة "خبير" لا تقول شيئًا عن القارئ. أما الدور المحدد فغيّر المفردات والمثال ونقطة المرجع، لأنه سمّى جمهورًا وشيئًا يعرفه هذا الجمهور مسبقًا.
ما لا يغيّره الدور
الدور لا يستطيع إضافة المعرفة. عبارة "أنت محامي ضرائب عالمي" لا تعطي النموذج قواعد الضرائب لهذا العام إذا لم يتعلمها قط، والشخصية الواثقة قد تجعل الإجابة الخاطئة تبدو أكثر سلطة، لا أقل. لا تعتمد على وصف الخبير لتحسين الدقة. إذا كانت الصحة مهمة، فأعطِ النموذج الحقائق أو المستندات التي يحتاجها واطلب منه أن يقول متى يكون غير متأكد، وتشرح صفحة هلوسة الذكاء الاصطناعي موجّهات تساعد في ذلك.
والأمر نفسه ينطبق على الأشخاص الحقيقيين. عبارة "أجب كما كان سيجيب مبرمج مشهور" تعطيك تقليدًا لأسلوب ذلك الشخص العلني. النموذج لا يعرف آراءه الخاصة، فكل ما يقوله بصوته عن سؤال جديد مختلق.
اكتب أدوارًا محددة
الدور المفيد يسمّي عادةً أربعة أشياء: الوظيفة، والجمهور، والهدف، والمعيار. قارن:
- "أنت كاتب" تصبح "أنت محرر في مدونة تقنية تحذف أي جملة لا تساعد المبتدئ على متابعة الخطوات."
- "أنت مبرمج" تصبح "أنت مطوّر Python خبير تراجع pull request لزميل مبتدئ. أشر إلى الأخطاء أولًا، ثم سهولة القراءة، واشرح كل نقطة حتى يتعلم منها." راجع موجّهات لمراجعة الكود لموجّهات مراجعة كاملة.
- "تصرّف كأنك معلّم" تصبح "تصرّف كأنك معلّم كيمياء يجهّز طالبًا في الخامسة عشرة للامتحان. اطرح عليّ أسئلة بدلًا من إعطاء الإجابات، وأعطني تلميحًا عندما أخطئ."
الدور جزء واحد من الموجّه، لا الموجّه كله. يعمل مع مهمة واضحة، والسياق الذي لا يستطيع النموذج تخمينه، وشكل الإجابة الذي تريده، ويشرح دليل كتابة الموجّهات الأجزاء الأخرى. وإذا شدّ الدور والمهمة في اتجاهين مختلفين، مثل "مراجع صارم" يُطلب منه "طمأنة الكاتب"، يحاول الرد فعل الأمرين وكثيرًا ما لا يحسن أيًا منهما.
موجّهات "تصرّف كأنك" للتدريب
انتشرت صيغة "تصرّف كأنك" (Act as) عبر مجموعات الموجّهات المتداولة، حيث يؤدي النموذج دور محاور في مقابلة عمل، أو شريك لممارسة لغة، أو حتى طرفية Linux. تمثيل الأدوار مفيد لأي شيء تريد التدرّب عليه: المقابلات، أو محادثة صعبة، أو عرض تقديمي، أو لغة جديدة.
الفرق بين تمثيل أدوار ينجح وآخر ينهار هو القواعد. أخبر الدور ماذا يفعل في كل دور من المحادثة، ومتى ينتظرك، ومتى يتوقف. من دونها، قد يدير النموذج الجلسة كلها في رد واحد: خمسة أسئلة دفعة واحدة، أو سؤال تليه إجابة نموذجية.
ممتاز، لنبدأ. سأبدأ بسؤال في الأساسيات.
السؤال 1: في JavaScript، ما الفرق بين let وconst وvar؟
خذ وقتك وأجب كما تجيب في مقابلة حقيقية.
غيّر الوظيفة والموضوع لتتدرّب على مقابلتك أنت. جملة "انتظر إجابتي" هي ما يُبقي النموذج على سؤال واحد في كل دور، وجملة "بعد خمسة أسئلة، توقف" تعطي الجلسة نهاية وملخّصًا.
أين يوضع الدور
الدور الذي تريده في كل رد مكانه موجّه النظام: حقل النظام في واجهة API، أو التعليمات المخصصة وتعليمات المشروع في تطبيقات المحادثة. هناك ينطبق على المحادثة كلها دون تكرار. وللطلب لمرة واحدة، ضع الدور في الجملة الأولى من رسالتك، قبل المهمة.
import anthropic
client = anthropic.Anthropic()
MODEL = "your-model-id" # e.g. from your provider's model list
message = client.messages.create(
model=MODEL,
max_tokens=500,
system="You are a patient programming tutor for adults in their first month of coding. Give hints before full solutions.",
messages=[{"role": "user", "content": "Why does my loop print the last item twice?"}],
)
print(message.content[0].text)
تعمل الأدوار أيضًا في منتصف المحادثة. بعد أن يكتب النموذج مسودة، فإن طلب "الآن تصرّف كأنك مراجع متشكك للمسودة أعلاه واذكر أضعف ثلاث نقاط فيها" يكشف كثيرًا مشكلات مرّت عليها المحاولة الأولى سريعًا، لأن الدور الجديد يغيّر ما يبحث عنه النموذج.
الأسئلة الشائعة
ما هو موجّه الدور؟
موجّه الدور هو أن تخبر النموذج من يكون قبل أن تخبره بما يفعل، مثل "أنت مدرّس رياضيات صبور لأطفال في الثانية عشرة" أو "تصرّف كأنك تجري مقابلة لوظيفة مطوّر مبتدئ". يشكّل الدور جمهور الرد ومفرداته وعمقه وتركيزه، وفي المحادثة قد يغيّر سلوك النموذج، كأن يطرح الأسئلة بدلًا من الإجابة عنها.
هل يجعل إخبار الذكاء الاصطناعي بأنه خبير إجاباته أدق؟
لا تعتمد على ذلك. وصف مثل "أنت خبير عالمي" لا يعطي النموذج معرفة يفتقدها، وقد يجعل الإجابة الخاطئة تبدو أكثر ثقة. لتحسين الدقة، أعطِ النموذج الحقائق أو المصادر التي يحتاجها، واطلب منه أن يقول متى يكون غير متأكد، وتحقق من النتيجة.
أين أضع الدور؟
للدور الذي يجب أن يستمر طوال المحادثة، ضعه في موجّه النظام: حقل النظام في واجهة API، أو التعليمات المخصصة وتعليمات المشروع في تطبيقات المحادثة. وللطلب لمرة واحدة، ضعه في الجملة الأولى من رسالتك، قبل المهمة.
ما هي موجّهات "تصرّف كأنك"؟
هي موجّهات تبدأ بعبارة "تصرّف كأنك" (Act as) وتعطي النموذج دورًا يؤديه: محاور في مقابلة، أو شريك لممارسة لغة، أو طرفية Linux، أو مرشد سياحي. نشرت مجموعات الموجّهات المتداولة هذا النمط. وتنجح أفضل عندما تقول أيضًا ماذا يفعل الدور في كل دور من المحادثة ومتى يتوقف.
ما الذي يجعل موجّه الدور جيدًا؟
التحديد. سمِّ الوظيفة والجمهور والهدف والمعيار: "مطوّر Python خبير يراجع pull request لزميل مبتدئ، الأخطاء أولًا ثم سهولة القراءة" يعطي النموذج أكثر بكثير مما يعطيه "خبير". ثم اكتب بقية الموجّه كالمعتاد: المهمة والسياق والصيغة.