يعني ايه AI Context ؟
وانت بتتعامل مع أي AI Model أكيد لاحظت إنك ممكن تسأله سؤال يكون الطبيعي انه ميبقاش عارف انت عاوز ايه لوحده ومع ذلك بيعرف إنت بتتكلم عن إيه بسبب الكلام اللي حصل بينكم قبل كدة يعني مثلا تكون بتتكلم معاه عن Code معين وبعد شوية تطلب منه تعديل معين من غير متقوله قصدك ايه وهنا بيعملك المطلوب وبيعرف انت بتتكلم عن ايه ودة المصطلع بتاعنا النهاردة وهو Context "السياق"
ال Context ببساطة هو المعلومات المتاحة لل Model وقت تنفيذ طلبك واللي بيستخدمها علشان يعرف ويحلل طلبك ويولد لك إجابة مناسبة متخليكش تضطر كل شوية تكتبله انت بتتكلم عن ايه يعني كأنك بتتعامل مع صاحبك ومفهمه شوية حاجات عنك وكل ما تطلب منه حاجة بيجيب المعلومات اللي عارفها عنك ومش بيحتاج كل شوية يسألك عن كل حاجة
يعني ال Prompt اللي إنت كاتبه مش بالضرورة يكون الحاجة الوحيدة اللي ال Model شايفها لكن ممكن يكون متاح له كمان المحادثات السابقة أو تعليمات معينة أو ملفات أو معلومات إضافية وفرها له البرنامج اللي إنت بتستخدمه ودي اللي بتساعده يحلل كل اللي بتطلبه منه علشان يطلعلك الإجابات المناسبة لطلبك
تعالى بينا ناخد مثال بسيط
لو فتحت محادثة جديدة وكتبت لل AI Chat Model مثلا ايه رأيك فيه ؟
لحد هنا مفيش سياق قديم يعرف منه انت بتتكلم عن ايه علشان يجاوبك وهيبدأ يسألك تقصد ايه وترد عليه وتكملوا لكن لو عنده سياق قبلها في المحادثة هيعرف منه انت بتتكلم عن ايه يعني مثلا كنت بتكلمه عن لابتوب معين عاوز تشتريه هيبدأ يعرف من السياق انت عاوز ايه ويجاوبك يعني من الآخر السؤال بسبب السياق بقى ليه معنى لكن من غير سياق هو سؤال مبهم وملوش معنى
طيب هل ال Context هو المحادثة اللي فاتت بس ؟ لأ طبعا
ال Context ممكن يتكون من حاجات كتير حسب البرنامج أو النظام اللي إنت بتستخدمه يعني مثلا على سبيل المثال ممكن يكون التالي
- ال Prompt المكتوب
- الرسايل اللي فاتت في المحادثة
- التعليمات اللي البرنامج بيديها لل Model
- الملفات والمستندات اللي بتوفرها ليه
- أجزاء من ال Code اللي شغال عليها
- نتايج البحث أو المعلومات اللي بترجع
- معلومات إضافية البرنامج شايف إنها مهمة لتنفيذ طلبك
يعني ببساطة كل معلومة متاحة لل Model وهو بيعالج طلبك ممكن تكون جزء من ال Context
طيب هل كل ما نزود ال Context النتيجة بتبقى أفضل ؟
مش بالضرورة
لو وفرت لل Model المعلومات المهمة والمناسبة للمطلوب غالبا هتساعده يحلل ويتعامل مع المهمة بشكل أفضل ويوفر عليك الإستهلاك
لكن لو مليت ال Context بمعلومات كتير ملهاش علاقة بالمطلوب ممكن تزود التكلفة واستهلاك ال Tokens وفي بعض الحالات تشتت ال Model أو تخلي المعلومات المهمة تضيع وسط كمية كبيرة من المعلومات ملهاش لازمة نهائيا
علشان كدة مش الفكرة إنك تدي ال AI سياق زيادة "More Context" لكن الفكرة انك تديله سياق مناسب للمطلوب "Relevant Context"
طيب هل ال Model يقدر يستقبل Context بأي حجم ؟
لأ
كل Model عنده حد لكمية المعلومات اللي يقدر يتعامل معاها في المرة الواحدة ودي إسمها ياباشا "Context Window" ودي ممكن تشمل ال Input والمحادثة والمعلومات والتعليمات المتاحة لل Model وبحسب النظام المستخدم ممكن يدخل فيها كمان البيانات اللي بيولدها ال Model ضمن حدود الاستخدام الخاصة به وكل Model ممكن يكون عنده Context Window مختلفة عن Model تاني غيره
وده يفسر حاجة بتحصل مع ناس كتير أثناء الشغل على Projects كبيرة تفضل شغال مع ال AI فترة طويلة وتضيف ملفات ومعلومات وتعليمات ومحادثات كتير وبعد فترة تحس إن ال AI بدأ يسقط تفاصيل قديمة أو مش ماشي معاك زي الأول
الموضوع مش شرط يكون إن ال Model "نسي" بالمعنى البشري لكن ممكن ببساطة شوية من المعلومات القديمة مبقتش موجودة ضمن ال Context الحالي أو النظام اختار معلومات معينة وساب معلومات تانية
لو ال Context ليه حدود وممكن المعلومات القديمة تخرج منه إزاي بعض تطبيقات ال AI بتفتكر معلومات عنك حتى في محادثات تانية ؟ هنا بقى هنحتاج نتكلم عن ال Memory ولينا مقال تاني معاها :)