هندسة السياق
هندسة المطالبة تتعلق بالكلمات التي تختارها. أما هندسة السياق فتتعلق بـمساحة العمل التي تسلّمها للنموذج — ما فيها، وبأي ترتيب هي، وما تركته خارجها عن قصد.
التمييز مهم لأن نافذة السياق ليست دفتر ملاحظات. إنها مورد محدود ومكلِف وانتباهي. كيفية ملئها تغيّر ما يركّز عليه النموذج، وكم يكلّفك، وما إذا كان سيبقى مفيدًا مع نموّ الجلسات.
ميزانية السياق
لكل نموذج حجم سياق أقصى — سقف صارم يُقاس بالرموز. فكّر فيه كميزانية. تنفقها على:
- مطالبة النظام الخاصة بك والتعليمات الثابتة
- المستندات المسترجَعة، ومقتطفات قاعدة الشيفرة، وتعريفات الأدوات
- سجل المحادثة
- مُخرَج النموذج (الذي يُحتسب أيضًا على حساب النافذة في الجلسات متعددة الأدوار)
عندما تنفد، لا بدّ أن يتنازل شيء ما. فإما أن يُسقَط محتوى قديم، أو تصطدم الجلسة بحائط.
تعامل معظم أدلة المبتدئين نافذة السياق بمنطق "الأكثر أفضل". أما هندسة السياق فتعاملها كمورد ينبغي تخصيصه بعناية: أنفقه على ما يحتاجه النموذج فعلًا لهذا الدور، لا على كل ما قد يكون ذا صلة.
تعفّن السياق و"الضياع في المنتصف"
هناك ظاهرة موثّقة جيدًا في نماذج اللغة الكبيرة ذات السياق الطويل: تولي النماذج انتباهًا غير متناسب للمحتوى القريب من بداية سياقها ونهايته، ويتدهور استرجاعها للمحتوى المدفون في المنتصف. أطلق الباحثون الذين درسوا هذا الأثر عليه اسم "الضياع في المنتصف".
النتيجة العملية: إن حشوت سياقًا من 100,000 رمز بالمستندات ودفنت أهمّ تعليمة في الموضع 60,000، فقد يتجاهلها النموذج فعليًا — لا لأنه عاجز عن القراءة لهذا الحدّ، بل لأن الانتباه ليس موزّعًا بالتساوي عبر النافذة.
"تعفّن السياق" هو النمط الأوسع: مع نموّ الجلسة، تميل جودة الاستجابات إلى الانجراف. تُخفَّف التعليمات المبكرة. ويزاحم التبادل المتكرّر المهمة الأصلية. ويبدأ النموذج في المراوغة، أو تكرار نفسه، أو فقدان خيط ما طلبته فعلًا.
هذه ليست عللًا يمكنك إصلاحها تمامًا بمطالبة أفضل. إنها خصائص بنيوية لكيفية عمل الانتباه على نطاق واسع. الاستجابة الهندسية هي إبقاء السياق أصغر وأحدّ، لا ملؤه والأمل.
الترتيب يهمّ
المكان الذي تضع فيه المحتوى لا يقلّ أهميةً عمّا تُدرجه. ممارسة جيدة راسخة:
| الموضع | ماذا تضع هناك |
|---|---|
| القمة تمامًا (مطالبة النظام) | تعليمات ثابتة ومعمّرة. الشخصية، والقواعد، ومتطلبات التنسيق. |
| بعد مطالبة النظام | المهمة الحالية، بعبارات بسيطة. |
| قبيل دور المستخدم الأخير | السياق الأكثر حسمًا وتحديدًا لهذا الطلب بالذات. |
| المنتصف | المستندات الداعمة، والمقاطع المسترجَعة — مرتّبة بحسب الصلة، لا التسلسل الزمني. |
| سجل المحادثة | فقط ما يلزم للاستمرارية. قلّمه بحزم. |
القاعدة العامة: كلما اقتربنا من الدور الحالي، حظي بانتباه أكبر. التعليمات الحاسمة التي تعيش في منتصف سجل طويل فقط معرّضة للخطر.
الاسترجاع بدل الحشو
الإغراء هو إدراج كل شيء: كل المستندات، وقاعدة الشيفرة كاملة، والمحادثة بأكملها. قاوِمه.
النهج الأفضل هو الاسترجاع الانتقائي: حدِّد ما يحتاجه النموذج فعلًا لهذا الطلب المحدّد، واحقن ذلك فقط. مقطع مسترجَع بإحكام من 2,000 رمز من المستند الصحيح يتفوّق على إغراق من 40,000 رمز حيث تكون الإجابة في مكان ما بالمنتصف.
ولهذا وُجد التوليد المعزَّز بالاسترجاع (RAG) — لا لمجرد تجاوز حدود السياق، بل لتحسين الجودة بإبقاء السياق مُنسَّقًا.
بالنسبة للجلسات التفاعلية، ينطبق المنطق نفسه: بدلًا من تراكم كل شيء، اضغط السجل أو امسحه دوريًا لإزالة المحتوى الذي لم يعد ذا صلة بالمهمة الحالية. أمرا /compact و/clear في Claude Code هما أداتا هندسة سياق، لا مجرد إدارة جلسة.
زاوية التكلفة
الرموز التي ترسلها هي رموز تدفع ثمنها — مالًا وزمن استجابة. حشو السياق بمواد ذات صلة فضفاضة يضخّم الاثنين. هندسة السياق وكفاءة التكلفة هما المشكلة نفسها.
وبشكل أكثر تحديدًا:
- مطالبة نظام منتفخة تنسخها من قالب يُدفع ثمنها في كل استدعاء على حدة.
- سجل محادثة قديم تحمله معك لأنه "قد يكون مفيدًا" يُدفع ثمنه في كل استدعاء على حدة.
- مستندات تحقنها "تحسّبًا" يُدفع ثمنها في كل استدعاء على حدة.
تقليم ما لا حاجة لوجوده هو في آنٍ واحد أفضل للجودة وأرخص في التشغيل.
تكتيكات عملية لمستخدمي Claude
في Claude.ai:
- استخدم محادثات منفصلة للمهام المنفصلة. لا تدع ظهيرةً من الاستطرادات تلوّث سياق مشروع مركّز.
- لخّص الخيوط الطويلة قبل طرح سؤال معقّد يعتمد عليها. الملخّص الصريح كثيرًا ما يكون أنفع من السجل الخام.
- ضع الشيء المحدّد الذي تريده في نهاية رسالة طويلة، لا مدفونًا في المنتصف.
في Claude Code:
- أبقِ ملف
CLAUDE.mdالخاص بك رشيقًا. كل سطر فيه يُحقَن في كل جلسة. انظر CLAUDE.md وإدارة السياق. - استخدم
/clearعند التحوّل إلى مهمة مختلفة فعلًا. واستخدم/compactعندما تريد المتابعة لكن الجلسة تنمو. - أشِر إلى الملفات بمسارها بدلًا من لصق محتوياتها عندما لا يكون الملف الكامل لازمًا للخطوة الحالية.
على مستوى واجهة API:
- صمّم مطالبات النظام لتحتوي فقط على ما يحتاجه كل طلب حقًا. انقل التعليمات الخاصة بالمهمة إلى دور المستخدم.
- لحالات الاستخدام كثيفة المستندات، استرجِع واحقن المقاطع ذات الصلة بدلًا من رفع مجموعة نصوص كاملة.
- هيكِل المطالبة بحيث تأتي البادئة الثابتة القابلة لإعادة الاستخدام أولًا — هذا يتيح أيضًا التخزين المؤقت للمطالبة، وهو رفيق طبيعي لهندسة السياق.
التحوّل في العقلية
هندسة المطالبة تسأل: "ماذا ينبغي أن أقول؟" هندسة السياق تسأل: "ماذا ينبغي أن يرى النموذج، وبأي ترتيب، وما الذي ينبغي أن أُبقيه خارجه عن قصد؟"
السؤال الثاني أصعب، لكنه السؤال الذي يحدّد الجودة فعلًا على نطاق واسع.