Core prompt engineering techniques — أساليب هندسة الموجّهات
هندسة الموجّهات (Prompt engineering) هي مجموعة من التقنيات والمنهجيات المتنوعة التي تهدف إلى تحسين التفاعل مع نماذج اللغة الكبيرة (LLM) للحصول على النتائج المرجوة. تشمل هذه الأساليب هيكلة الاستعلامات، وتوفير السياق، والتحكم في أسلوب المخرجات، وتعزيز قدرة النموذج على الاستدلال. وبما أن النماذج اللغوية الكبيرة تولّد استجاباتها عبر توقع الرموز المميزة (tokens) التالية بناءً على الموجّه المُدخل، فإن جودة وهيكلية هذا الموجّه تؤثر بشكل مباشر على النتيجة. تسمح الأساليب الأساسية لهندسة الموجّهات للمطورين والمستخدمين بالتحكم الفعّال في سلوك النموذج، وتقليل الأخطاء، وتكييفه مع مهام محددة دون الحاجة إلى تعديل المعلمات الداخلية للنموذج.
المبادئ الأساسية وهيكلية الموجّه
على الرغم من اختلاف التطبيقات المحددة، غالبًا ما تُبنى الموجّهات الفعالة على مبادئ وهيكلية مشتركة:
- الإرشادات التجريبية: كإحدى الهياكل العملية (وليس كمعيار صناعي)، يُقترح الالتزام بالمبادئ التالية: أعطِ توجيهًا، حدد التنسيق، قدّم أمثلة، قيّم الجودة، وقسّم المهمة.
- غالبًا ما يتضمن الموجّه الفعال المكونات التالية:
- مقدمة/دور: تحدد سياق المهمة أو الدور/الشخصية التي سيلعبها النموذج.
- تعليمات: إرشادات واضحة حول ما يجب القيام به.
- سياق: المعلومات الضرورية (سواء كانت ثابتة أو مسترجعة ديناميكيًا عبر RAG).
- أمثلة (Few-shot): عرض للتنسيق/الأسلوب المطلوب.
- طلب الإجابة: تحديد واضح لما يجب على النموذج توليده.
- رسالة النظام (System Prompt): في واجهات الدردشة عبر API (على سبيل المثال، لدى نماذج OpenAI و Anthropic)، تسمح هذه الرسالة بتحديد تعليمات ودور عالمي للجلسة بأكملها.
- التنسيق: يساعد استخدام Markdown أو JSON أو XML أو YAML في هيكلة الموجّه وتسهيل تحليل الاستجابة. تعتبر الفواصل (```, `"""`, علامات XML) مهمة لفصل التعليمات عن البيانات.
التقنيات الأساسية للتعليمات والأمثلة
- تعليمات واضحة ومحددة: وصف المهمة والنتيجة المرجوة والقيود بأكبر قدر ممكن من الدقة، وتجنب الغموض.
- التوجيه بالأدوار (Role Prompting): إسناد دور للنموذج ("أنت خبير في...") للتحكم في النبرة والأسلوب وقاعدة المعرفة.
- التوجيه بدون أمثلة (Zero-shot Prompting): طلب بدون أمثلة. يكون فعالًا للمهام البسيطة أو المألوفة لدى النموذج.
- التوجيه بقليل من الأمثلة (Few-Shot Prompting): تقديم عدة أمثلة (عادة من 2 إلى 5) بصيغة "سؤال-جواب" لتوضيح المهمة. حالة خاصة منه هي التوجيه بمثال واحد (One-shot Prompting). مفيد بشكل خاص للتنسيقات أو الأساليب المعقدة. يتطلب الحذر لتجنب التحيز (anchoring) أو التقاط أنماط خاطئة من الأمثلة.
تقنيات إدارة السياق
- التوليد المعزز بالاسترجاع (Retrieval-Augmented Generation - RAG): إضافة معلومات ذات صلة ديناميكيًا من قواعد بيانات خارجية إلى الموجّه قبل إرساله إلى LLM. هذه الطريقة، التي اقترحتها Meta AI لأول مرة في عام 2020، تُعد أساسية لمكافحة الهلوسات وضمان حداثة البيانات.
- التقطيع (Chunking): تقسيم النصوص الكبيرة إلى أجزاء أصغر (chunks) لتناسب نافذة السياق الخاصة بالنموذج. تشمل الاستراتيجيات التقسيم حسب الجمل، أو الفقرات، أو الرموز المميزة (مع تداخل).
- التلخيص: ضغط النصوص الطويلة أو سجل المحادثات لنقل المعنى الأساسي ضمن سياق محدود.
Reasoning Techniques - تقنيات تحسين الاستدلال
تهدف هذه التقنيات إلى جعل النموذج "يفكر" بطريقة أكثر دقة ومنهجية. تظهر فعالية العديد منها، خاصة CoT، في النماذج كبيرة الحجم (عادةً أكثر من 100 مليار معلمة).
- سلسلة الفكر (Chain-of-Thought - CoT): توجيه النموذج لتوليد سلسلة من الخطوات المنطقية قبل الوصول إلى الإجابة النهائية. يحسن بشكل كبير النتائج في الرياضيات والمنطق والمهام متعددة الخطوات.
- Zero-shot CoT: أبسط أشكالها، ولا يتطلب أمثلة. مجرد إضافة عبارة مثل «Let's think step by step» (دعنا نفكر خطوة بخطوة) إلى الموجّه يمكن أن تبدأ سلسلة الاستدلال.
- تنويعات على CoT:
- Auto-CoT: التوليد التلقائي لأمثلة الاستدلال لاستخدامها في التوجيه بقليل من الأمثلة.
- الاتساق الذاتي (Self-Consistency): توليد عدة سلاسل استدلال واختيار الإجابة الأكثر تكرارًا عن طريق "التصويت"، مما يزيد من الموثوقية.
- شجرة الأفكار (Tree-of-Thoughts - ToT): استكشاف مسارات استدلال متعددة على شكل شجرة، مع إمكانية التراجع وتقييم الخطوات الوسيطة. أظهرت هذه التقنية فعالية عالية في المهام المعقدة، على سبيل المثال، زيادة نسبة النجاح في حل "لعبة 24" من ~4% إلى ~74%.
- Graph-of-Thought (GoT)، وLogiCoT، وغيرها من التقنيات التي تهدف إلى استدلالات أكثر تعقيدًا أو يمكن التحقق منها منطقيًا.
- ReAct (Reason and Act): تقنية تطور CoT. تمثل دورة تكرارية حيث يتناوب النموذج بين خطوات الاستدلال (Thought) واتخاذ إجراءات باستخدام أدوات (Act)، محدثًا فهمه بناءً على الملاحظات (Observation).
- التنقيح الذاتي (Self-Refine): عملية تكرارية يقوم فيها النموذج أولاً بتوليد إجابة، ثم ينتقدها، وأخيرًا يحسنها بناءً على نقده الذاتي. يمكن تكرار دورة "التوليد-النقد-التحسين" هذه عدة مرات.
- التوجيه بأسلوب "خذ خطوة للوراء" (Take a Step Back Prompting): يقوم النموذج أولاً بصياغة مبادئ عامة أو مفاهيم مجردة، ثم يطبقها على المهمة المحددة.
التقنيات المتقدمة: الوكلاء والأدوات
- استخدام الأدوات (Tool Usage) / استدعاء الدوال (Function Calling): منح LLM القدرة على استدعاء واجهات برمجة التطبيقات (API) الخارجية (مثل البحث، الآلة الحاسبة، قاعدة البيانات). يقوم النموذج بتوليد طلب منظم لاستدعاء الأداة، والذي ينفذه التطبيق، ثم يتم إرجاع النتيجة إلى النموذج. تدعم النماذج اللغوية الكبيرة الحديثة (مثل GPT-4، Claude 3) هذه الميزة بشكل مدمج.
- الوكلاء (Agents): أنظمة قائمة على LLM يمكنها التخطيط واستخدام الأدوات والتصرف بشكل مستقل لتحقيق هدف ما. غالبًا ما تستخدم دورات شبيهة بـ ReAct. تعمل أطر العمل (مثل LangChain وAutoGen وCrewAI) على تبسيط إنشائها.
- الأنظمة متعددة الوكلاء: تفاعل عدة وكلاء متخصصين لحل المهام المعقدة.
تقنيات تقليل الأخطاء والهلوسات
- RAG: ربط الإجابات بالبيانات الواقعية المسترجعة.
- تعليمات لتقييد الإجابة: طلب الإجابة بناءً على السياق المقدم فقط أو الإشارة إلى عدم اليقين ("إذا كانت الإجابة غير معروفة، قل 'لا أعرف'").
- طلب الاقتباس: مطالبة النموذج بذكر المصادر أو اقتباس أجزاء من السياق الذي استندت إليه الإجابة.
- التحقق والنقد الذاتي: استخدام تقنيات مثل سلسلة التحقق (Chain-of-Verification - CoVe) (توليد إجابة ثم التحقق منها وتصحيحها)، أو Self-Refine، أو الطلب المباشر من النموذج التحقق من إجابته بحثًا عن الأخطاء.
- CoT: يمكن أن يقلل الاستدلال خطوة بخطوة من الأخطاء المنطقية بحد ذاته.
تقنيات التقييم والتكرار
على الرغم من أن التقييم عملية منفصلة، إلا أن بعض جوانبها تعد جزءًا من هندسة الموجّهات:
- اختبار أ/ب (A/B Testing) للموجهات: مقارنة فعالية إصدارات مختلفة من الموجّهات على نفس المهام.
- استخدام LLM للتقييم: تطبيق نموذج قوي (مثل GPT-4) لتقييم جودة الإجابات التي تم إنشاؤها بواسطة موجّه أو نموذج آخر (LLM-as-a-Judge).
أنماط الموجّهات
هياكل شائعة قابلة لإعادة الاستخدام:
- نمط الشخصية (Persona Pattern).
- نمط تخصيص المخرجات (Output Customization Pattern).
- نمط طلب التوضيحات (Question Refinement Pattern).
- نمط التحقق المعرفي / النقد الذاتي (Cognitive Verifier / Self-Critique Pattern).
- نمط الاستدلال خطوة بخطوة (Step-by-Step / Chain-of-Thought Pattern).
- نمط القالب (Template Pattern).
انظر أيضًا
- نماذج اللغة الكبيرة
- Chain-of-Thought Prompting
- الهلوسات والإجابات غير الصحيحة للنماذج اللغوية الكبيرة
المراجع
- Radford, A. et al. (2019). Language Models are Unsupervised Multitask Learners. PDF.
- Brown, T. B. et al. (2020). Language Models are Few-Shot Learners. arXiv:2005.14165.
- Lewis, P. et al. (2020). Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks. arXiv:2005.11401.
- Li, X. L.; Liang, P. (2021). Prefix-Tuning: Optimizing Continuous Prompts for Generation. arXiv:2101.00190.
- Liu, Y. et al. (2021). Fantastically Ordered Prompts and Where to Find Them: Overcoming Few-Shot Prompt Order Sensitivity. arXiv:2104.08786.
- Bai, Y. et al. (2022). Constitutional AI: Harmlessness from AI Feedback. arXiv:2212.08073.
- Wei, J. et al. (2022). Chain-of-Thought Prompting Elicits Reasoning in Large Language Models. arXiv:2201.11903.
- Wang, X. et al. (2022). Self-Consistency Improves Chain of Thought Reasoning in Language Models. arXiv:2203.11171.
- Kojima, T. et al. (2022). Large Language Models are Zero-Shot Reasoners. arXiv:2205.11916.
- Zhang, Z. et al. (2022). Automatic Chain of Thought Prompting in Large Language Models. arXiv:2210.03493.
- Zhou, D. et al. (2022). Least-to-Most Prompting Enables Complex Reasoning in Large Language Models. arXiv:2205.10625.
- Yao, S. et al. (2022). ReAct: Synergizing Reasoning and Acting in Language Models. arXiv:2210.03629.
- Besta, M. et al. (2023). Graph of Thoughts: Solving Elaborate Problems with Large Language Models. arXiv:2308.09687.
- Madaan, A. et al. (2023). Self-Refine: Iterative Refinement with Self-Feedback. arXiv:2303.17651.
- Schick, T. et al. (2023). Toolformer: Language Models Can Teach Themselves to Use Tools. arXiv:2302.04761.
- Rafailov, R. et al. (2023). Direct Preference Optimization: Your Language Model is Secretly a Reward Model. arXiv:2305.18290.
- Wang, Y. et al. (2023). Self-Instruct: Aligning Language Models with Self-Generated Instructions. arXiv:2212.10560.
- Yao, S. et al. (2023). Tree of Thoughts: Deliberate Problem Solving with Large Language Models. arXiv:2305.10601.
- Chen, S. Y. et al. (2023). Extending Context Window of Large Language Models via Positional Interpolation. arXiv:2306.15595.
- Chang, K. et al. (2024). Efficient Prompting Methods for Large Language Models: A Survey. arXiv:2404.01077.
- Genkina, D. (2024). AI Prompt Engineering Is Dead. IEEE Spectrum. [١].
- Li, Z. et al. (2024). Prompt Compression for Large Language Models: A Survey. arXiv:2410.12388.
- Liang, X. et al. (2024). Internal Consistency and Self-Feedback in Large Language Models: A Survey. arXiv:2407.14507.
- Han, H. et al. (2025). Retrieval-Augmented Generation with Graphs (GraphRAG). arXiv:2501.00309.
- Li, W. et al. (2025). A Survey of Automatic Prompt Engineering: An Optimization Perspective. arXiv:2502.11560.
- Wu, Z. et al. (2025). The Dark Side of Function Calling: Pathways to Jailbreaking Large Language Models. EMNLP 2025. PDF.
- Yang, B. et al. (2025). Hallucination Detection in Large Language Models with Metamorphic Relations. arXiv:2502.15844.