هندسة الأوامر (Prompt Engineering): دليلك الشامل لاستغلال قوة الذكاء الاصطناعي
مرحباً بكم يا أصدقاء "طيور معلوماتية"! في عالم يتسارع فيه تطور الذكاء الاصطناعي، أصبح التفاعل الفعال مع هذه التقنيات أمراً لا غنى عنه. ربما سمعت عن نماذج اللغة الكبيرة (LLMs) مثل ChatGPT وGemini وClaude، وكيف أنها أحدثت ثورة في طريقة عملنا وتفكيرنا. ولكن هل تساءلت يوماً عن سر الحصول على أفضل النتائج منها؟ السر يكمن في فن وعلم "هندسة الأوامر" (Prompt Engineering).
هندسة الأوامر هي مجموعة من الاستراتيجيات المدهشة التي تمكنك من استخلاص أقصى فائدة من الذكاء الاصطناعي. إنها ليست مجرد كتابة سؤال، بل هي فن صياغة الأوامر بطريقة تجعل النموذج يفهم بالضبط ما تريده وينتج لك الاستجابة الأكثر دقة وإفادة. في هذا المقال، سنغوص في أعماق دليل "جوجل" لهندسة الأوامر، وسنكشف لكم كل ما تحتاجون لمعرفته لتصبحوا خبراء في هذا المجال.
كيف تعمل نماذج اللغة الكبيرة (LLMs)؟ فهم الأساسيات
لفهم هندسة الأوامر، يجب أولاً أن نفهم كيف تعمل نماذج اللغة الكبيرة. تخيل أنك تتحدث إلى هذه النماذج: أنت تكتب مدخلاتك بلغة طبيعية (وهو ما يُعرف بالـ "أمر" أو "الموجه")، وهي بدورها تنتج مخرجاتها غالباً بلغة طبيعية أيضاً.
تعتمد هذه النماذج على مبدأ "محرك التنبؤ". إنها تأخذ أمرك ثم تتنبأ بما تعتقد أنه التسلسل التالي الأكثر احتمالاً للكلمات أو "الرموز" (Tokens) بناءً على البيانات التي تدربت عليها. الرمز الواحد يمكن أن يكون كلمة كاملة، أو جزءاً من كلمة، أو حتى حرفاً. النموذج يضيف الرمز الذي تنبأ به إلى أمرك الأصلي، ثم يتنبأ بالرمز التالي، وهكذا دواليك حتى يشعر بأنه أنتج الإجابة المناسبة.
هذا يعني أن "أمرك" له أهمية قصوى. كيف تنظم صياغته، الكلمات التي تستخدمها، والأمثلة التي تقدمها، كل هذه الأمور هي جزء أساسي من هندسة الأوامر التي تؤثر بشكل مباشر على جودة المخرجات.
إعدادات أساسية لتحسين تجربة استخدام LLMs
كل نموذج لغوي كبير يختلف عن الآخر، وحتى الفروقات البسيطة يمكن أن تحدث فرقاً كبيراً في النتائج. ضبط الإعدادات بشكل صحيح سيساعدك على تحقيق أقصى استفادة من أوامرك. إليك أهم هذه الإعدادات:
طول المخرجات (Output Length): تحكم في حجم استجابات النموذج
يحدد هذا الإعداد الحد الأقصى لعدد الرموز التي يجب أن ينتجها النموذج استجابةً لأمرك. كلما زاد طول المخرجات، زادت الإجابة المحتملة. إذا سألت "كم 2+2؟"، فلن يكتب لك النموذج فقرات طويلة لأن الإجابة بسيطة. لكن إذا طلبت كود برمجي معقد، فقد يكون لهذا الإعداد تأثير كبير.
نقطة مهمة جداً: تقليل طول المخرجات لا يجعل النموذج أكثر إيجازاً في أسلوبه أو نصه، بل يجعله يتوقف ببساطة عن التنبؤ بالمزيد من الرموز بمجرد الوصول إلى الحد الأقصى. إذا ضبطته على عدد رموز قليل جداً، فقد تحصل على إجابة غير مكتملة، كما في مثال قصة "دب الباندا"، حيث توقف النموذج عن الكتابة بعد 5 أو 50 رمزاً، بدلاً من إكمال القصة بشكل موجز.
ضوابط العينة (Sampling Controls): بين الإبداع والدقة
نماذج اللغة الكبيرة لا تتنبأ برمز واحد فقط، بل تتنبأ باحتمالات لكل رمز محتمل في مفرداتها. هناك ثلاثة إعدادات رئيسية ضمن ضوابط العينة تؤثر على كيفية اختيار النموذج لهذه الرموز:
درجة الحرارة (Temperature): مفتاح الإبداع أو الثبات
الـ "Temperature" هو الإعداد الأهم في ضوابط العينة. إنه يتحكم في عشوائية اختيار الرموز. ببساطة: كلما ارتفعت درجة الحرارة، كانت الاستجابات أكثر إبداعاً أو تفردًا. وكلما انخفضت، كانت أقل إبداعاً وأكثر اتساقاً. فمثلاً، إذا طلبت من النموذج كتابة قصة عن دب باندا بدرجة حرارة عالية (مثل 1)، فستحصل على قصص مختلفة تماماً في كل مرة. أما إذا ضبطت درجة الحرارة على صفر، فستحصل على استجابات متسقة جداً ومتشابهة في كل مرة.
نصيحة: اضبط درجة الحرارة بناءً على حالة الاستخدام. هل تحتاج لإبداع أم لدقة واتساق؟
Top K و Top P: تحكم إضافي في التنوع
على الرغم من أن درجة الحرارة هي الأهم، إلا أن Top K و Top P يقدمان تحكماً إضافياً في تنوع الاستجابات:
- Top K: يختار أفضل "K" من الرموز الأكثر احتمالاً. كلما زاد Top K، زادت الإبداعية والتنوع.
- Top P: يحد من مجموعة المفردات التي يختار منها النموذج بناءً على الاحتمال التراكمي. هذا الإعداد أقل شيوعاً للاستخدام المباشر.
نقاط بداية مقترحة: كبداية عامة، يمكنك تجربة درجة حرارة 0.2، و Top P بقيمة 0.95، و Top K بقيمة 30 للحصول على نتائج متماسكة ومبتكرة بشكل معقول. إذا أردت المزيد من الإبداع، ارفع قيم Top P و Top K. ولنتائج أكثر اتساقاً، قللها.
تقنيات متقدمة في هندسة الأوامر: كيف تحصل على أفضل النتائج؟
الآن، لننتقل إلى التقنيات الفعلية التي ستجعلك خبيراً في هندسة الأوامر:
الصياغة العامة للأوامر (Zero-Shot Prompting): البداية البسيطة
هذه هي أبسط أنواع صياغة الأوامر. لا تقدم للنموذج أي أمثلة على المخرجات التي تريدها. أنت ببساطة تقدم وصفاً دقيقاً للمهمة التي تريد إنجازها، سواء كانت كتابة قصة، إجراء عملية حسابية، أو كتابة كود. فكلما كانت المهمة بسيطة، قل عدد الأمثلة التي تحتاجها. فمثلاً، يمكنك أن تطلب من النموذج تصنيف مراجعة فيلم إلى إيجابية أو سلبية أو محايدة مباشرة.
الأوامر ذات الأمثلة (One-Shot & Few-Shot Prompting): تعليم النموذج بالأمثلة
هذه التقنية تتضمن تزويد النموذج بمثال واحد (One-Shot) أو أكثر (Few-Shot) لتوجيهه. عندما تستخدم هذه التقنية، يحاول النموذج تقليد النمط الذي قدمته في الأمثلة. وهذا مفيد جداً إذا كنت تريد مخرجات بتنسيق معين أو نمط محدد.
يعتمد عدد الأمثلة التي تحتاجها على تعقيد المهمة، جودة الأمثلة التي تقدمها، وقدرات نموذج الذكاء الاصطناعي الذي تستخدمه. كقاعدة عامة، يفضل استخدام 3 إلى 5 أمثلة لـ Few-Shot Prompting. فمثلاً، إذا كنت تريد من النموذج تحويل طلبات البيتزا إلى تنسيق JSON محدد، ستقدم له أمثلة لكيفية تحويل طلبات معينة إلى بنية JSON التي تريدها بالضبط، مما يضمن الاتساق في جميع التحويلات.
رسالة النظام والأوامر السياقية والقائمة على الأدوار (System, Contextual, Role Prompting): تحديد الهوية والسياق
جوهر هذه التقنيات هو جعل النموذج يتصرف بصفة معينة (دور) أو ضمن سياق محدد:
- رسالة النظام (System Message): تحدد السياق العام والغرض الكلي للنموذج، مثل "ترجمة لغة" أو "تصنيف مراجعة". تجد هذا الإعداد غالباً في واجهات الاستخدام كـ "تعليمات النظام" أو "النبرة والأسلوب الاختياري".
- الأوامر السياقية (Contextual Prompting): توفر تفاصيل محددة أو معلومات خلفية ذات صلة بالمحادثة أو المهمة الحالية. فمثلاً، يمكنك أن تخبر النموذج أن "أنت تكتب لمدونة عن ألعاب الفيديو القديمة من الثمانينيات"، ثم تطلب منه "اقتراح ثلاثة مواضيع لمقال". سيفهم النموذج السياق ويكتب المقترحات بما يتناسب مع ألعاب الثمانينيات.
- الأوامر القائمة على الأدوار (Role Prompting): تعين شخصية أو هوية محددة للنموذج. بمجرد أن تعطي النموذج هذا الدور (مثل "تصرّف كخبير سياحي")، سيبدأ في تبني سلوكيات وصفات هذا الدور. هذا قوي جداً في الأطر العاملة (Agentic frameworks) مثل CrewAI. فمثلاً، يمكنك أن تطلب من النموذج "أن يتصرف كدليل سفر"، ثم تسأله عن "ثلاثة أماكن للزيارة في أمستردام (متاحف فقط)"، وسيقدم لك اقتراحات متاحف كخبير سياحي.
أمر "الخطوة إلى الوراء" (Step-Back Prompting): التفكير بعمق قبل الإجابة
هذه التقنية فريدة بعض الشيء: تطلب من النموذج أولاً أن يفكر في سؤال عام يتعلق بالمهمة المحددة، ثم تستخدم الإجابة على هذا السؤال العام في أمر لاحق للمهمة المحددة. الهدف هو مساعدة النموذج على تفعيل المعرفة الخلفية وعمليات التفكير ذات الصلة قبل محاولة حل المشكلة المحددة. هذا يشجع النموذج على التفكير النقدي وتطبيق معرفته بطرق جديدة ومبتكرة.
مثال: بدلاً من طلب "اكتب قصة لمستوى جديد في لعبة إطلاق نار" مباشرةً (والتي قد ينتج عنها قصة عامة)، اطلب أولاً: "بناءً على ألعاب إطلاق النار الشهيرة، ما هي خمسة إعدادات خيالية رئيسية تسهم في قصة مستوى مليئة بالتحدي والتشويق؟". بعد الحصول على الإجابة، استخدمها كـ "سياق" ثم اطلب "استخدم أحد هذه الثيمات لكتابة قصة لمستوى جديد...". بهذه الطريقة، تكون الإجابة أكثر دقة وعمقاً.
سلسلة التفكير (Chain of Thought): الدليل خطوة بخطوة
هذه التقنية غيّرت مفهوم نماذج اللغة الكبيرة بالكامل. ببساطة، تطلب من النموذج أن "يفكر خطوة بخطوة" أو "يعرض عمله خطوة بخطوة" قبل إعطاء الإجابة النهائية. هذا يحسن بشكل كبير دقة وجودة المخرجات، خاصة في المهام التي تتطلب المنطق والاستدلال والمسائل الرياضية والعلمية.
على الرغم من أن العديد من النماذج الحديثة تقوم بذلك افتراضياً، إلا أنها تظل تقنية قوية جداً للنماذج الأصغر أو الأقدم. فمثلاً، عند سؤال "عندما كان عمري 3 سنوات، كان شريكي أكبر مني بثلاثة أضعاف. الآن عمري 20 سنة. كم عمر شريكي؟"، بطلب "فكر خطوة بخطوة"، سيقوم النموذج بتحليل المشكلة على مراحل ليعطي الإجابة الصحيحة. يمكنك أيضاً دمجها مع تقنية "الأوامر ذات الأمثلة" لتقديم مثال على طريقة التفكير التي تريدها.
الاتساق الذاتي (Self-Consistency): دقة الإجابات المتعددة
تجمع هذه التقنية بين أخذ العينات والتصويت الأغلبي لتوليد مسارات تفكير متنوعة واختيار الإجابة الأكثر اتساقاً. ببساطة، تقوم بتشغيل نفس الأمر عدة مرات (مثلاً 5 مرات)، ثم تطلب من النموذج التصويت على أي منها هو الإجابة الصحيحة أو الأفضل. هذا يحسن دقة وتماسك الاستجابات.
مثال: لتصنيف بريد إلكتروني على أنه "مهم" أو "غير مهم"، تطلب من النموذج "التفكير خطوة بخطوة وشرح السبب" عدة مرات. إذا كان البريد الإلكتروني يحتوي على بلاغ عن خطأ برمجي، فقد تصنفه بعض الاستجابات على أنه "مهم"، وبعضها على أنه "غير مهم". إذا كانت الأغلبية (مثلاً 2 من 3) صنفته "مهم"، فإن النموذج يختار ذلك كإجابة نهائية. ومع ذلك، تأتي هذه التقنية بتكلفة أعلى ووقت استجابة أطول نظراً لتكرار التشغيل.
شجرة الأفكار (Tree of Thoughts): مسارات تفكير متعددة
تسمح هذه التقنية لـ LLMs باستكشاف مسارات تفكير متعددة في وقت واحد بدلاً من اتباع سلسلة تفكير خطية واحدة. فكر في الأمر كشجرة: من أمرك الرئيسي تتفرع خطوات متعددة، وفي كل خطوة، يتم اختبار مخرجات مختلفة، مما يؤدي إلى مجموعة جديدة من المخرجات، وهكذا حتى تصل إلى النتيجة النهائية. هذه التقنية تجمع بين "الاتساق الذاتي" و "سلسلة التفكير".
تعد شجرة الأفكار مناسبة بشكل خاص للمهام المعقدة التي تتطلب استكشافاً معمقاً، ولكنها تتطلب عادةً تنفيذها باستخدام الكود أو أطر عمل مخصصة، لأن التفاعل المباشر مع مربع الأمر قد يكون غير عملي.
ReAct (Reason and Act): التفكير والعمل بالأدوات الخارجية
ReAct (اختصار لـ Reason and Act، أي "فكر وتصرف") هي نموذج لتمكين نماذج اللغة الكبيرة من حل المهام المعقدة باستخدام الاستدلال باللغة الطبيعية مقترناً بأدوات خارجية مثل محركات البحث أو مفسرات الكود. تحاكي هذه التقنية طريقة عمل البشر في العالم الحقيقي: يخطط النموذج (يفكر)، ثم ينفذ الإجراءات (يتصرف)، ويلاحظ النتائج، ثم يكرر الدورة إذا لزم الأمر.
العديد من النماذج الرائدة اليوم لديها هذه القدرة مدمجة (مثل Gemini 2.5 Pro)، حيث يمكنك تشغيل أو إيقاف أدوات مختلفة مثل البحث عبر جوجل أو تنفيذ الكود. إذا كنت تستخدم نماذج أقدم أو أصغر، يمكنك الاستفادة من ReAct باستخدام أطر عمل مثل LangChain وCrewAI التي توفر هذه القدرات البرمجية لتنفيذ الوظائف والبحث.
مثال: يمكنك أن تسأل النموذج "كم عدد أطفال أعضاء فرقة ميتاليكا؟". مع تفعيل أداة البحث، سيبدأ النموذج "بالتفكير" (بالبحث عن كل عضو على حدة)، ثم "التصرف" (باستخدام أداة البحث)، ثم "ملاحظة" النتائج وتجميعها للحصول على الإجابة النهائية.
هندسة الأوامر التلقائية (Automatic Prompt Engineering): دع الذكاء الاصطناعي يكتب أوامرك
ماذا لو كان الذكاء الاصطناعي نفسه يكتب لك الأوامر؟ هذا ممكن! يمكن للنماذج الكبيرة كتابة أوامر معقدة نيابة عنك. على سبيل المثال، إذا كنت تريد من النموذج كتابة كود برمجي، يمكنك أن تقدم له وصفاً موجزاً لما تريد بناءه (مثل "وصف متطلبات المنتج" - PRD)، ثم تطلب من النموذج "كتابة PRD مفصلة بناءً على وصفي". بعد أن يكتب النموذج الـ PRD، يمكنك أن تأخذها وتضعها في نموذج آخر (أو نفس النموذج) وتطلب منه "كتابة كود بناءً على هذا الـ PRD". هذه الطريقة تضيف الكثير من التفاصيل والدقة إلى أمرك الأصلي.
استخدام الكود في الأوامر (Prompting using Code): ضمان الدقة
العديد من النماذج لديها القدرة على كتابة وتنفيذ الكود. في بعض الحالات، تكون قدرة النموذج على كتابة الكود أفضل بكثير من قدرته على الإجابة على الأسئلة مباشرةً بدون كود، خاصة في المسائل التي تتطلب دقة حسابية أو منطقية. فبدلاً من أن تسأل "كم عدد حروف الراء في كلمة Strawberry؟" مباشرةً (والتي قد يخطئ فيها بعض النماذج)، يمكنك أن تطلب من النموذج "كتابة كود لعد حروف الراء في كلمة معينة، بدءاً بكلمة Strawberry، ثم تنفيذ هذا الكود". بهذه الطريقة، تضمن دقة الإجابة لأنها مبنية على تنفيذ برمجي.
أفضل الممارسات في هندسة الأوامر: نصائح عملية
لتحقيق أقصى استفادة من نماذج اللغة الكبيرة، اتبع هذه الممارسات:
- تقديم الأمثلة: استخدم تقنيات One-Shot وFew-Shot عندما تسعى للحصول على مخرجات متسقة أو بتنسيق معين.
- التصميم ببساطة: ابدأ بأوامر بسيطة وأضف التعليمات أو التفاصيل الدقيقة فقط عند الضرورة القصوى. اسأل نفسك دائماً: هل هذا أبسط إصدار لما أطلبه؟
- التحديد الدقيق للمخرجات: كن واضحاً جداً بشأن ما تتوقعه كإجابة. إذا كنت تتوقع استجابة بتنسيق JSON، فاذكر ذلك صراحة. كلما كنت محدداً، قلت احتمالية "تخمين" النموذج.
- استخدام التعليمات بدل القيود: بدلاً من أن تقول "لا تفعل كذا"، قل "افعل كذا". فالتعليمات تقدم توجيهات واضحة حول التنسيق أو الأسلوب أو المحتوى المطلوب، بينما القيود تحدد الحدود فقط.
- التحكم في طول الرموز القصوى: (خاصة للاستخدامات الإنتاجية على نطاق واسع) يعد هذا مهماً لتحسين زمن الاستجابة والتكلفة.
- استخدام المتغيرات: في الأوامر المبرمجة، استخدم المتغيرات (مثال: "أنت دليل سفر. أخبرني حقيقة عن المدينة: [اسم المدينة]"). هذا يسمح لك بتغيير المدخلات بسهولة دون إعادة كتابة الأمر بالكامل.
- البقاء على اطلاع: تابع التحديثات وقدرات النماذج الجديدة باستمرار. فمعرفة ما يمكن للنموذج فعله (وما لا يمكنه فعله) ستساعدك على صياغة أوامرك بشكل أكثر فعالية.
خاتمة: كن خبيرًا في هندسة الأوامر
هندسة الأوامر ليست مجرد مهارة، بل هي مفتاح لإطلاق العنان للإمكانيات الهائلة للذكاء الاصطناعي. من خلال فهم كيفية عمل نماذج اللغة الكبيرة وتطبيق هذه التقنيات المتقدمة، يمكنك تحويل تفاعلاتك مع الذكاء الاصطناعي من مجرد محادثات عادية إلى أدوات قوية لإنتاج عمل عالي الجودة والدقة.
نأمل أن يكون هذا الدليل قد قدم لك رؤى قيمة ومفاتيح عملية لتصبح مهندساً بارعاً للأوامر. ندعوكم لمتابعة المزيد من المواضيع المفيدة على مدونة طيور معلوماتية، ولا تنسوا مشاركة آرائكم وأسئلتكم في التعليقات أدناه. تفضلوا أيضاً بزيارة قناتنا على يوتيوب للمزيد من الفيديوهات التعليمية الشيقة. إلى اللقاء في المقال القادم!
اترك تعليقك