تخطَّ إلى المحتوى

سجل المحادثة

تصطدم المحادثة الطويلة بجدار لا يتزحزح: نافذة سياق النموذج. كل ما في هذه الصفحة موجود بسبب ذلك الجدار، والمهم هو ما يُرمى، وما يُبقى، وما يمكن استرجاعه.

أربع طرق لاسترداد سعة السياق

قسم بعنوان “أربع طرق لاسترداد سعة السياق”

ليست بدائل بقدر ما هي سلّم يبدأ بالأرخص.

الآلية الكلفة يُبقي يفقد
الإغفال لا شيء كل كلمة في السرد نتائج الأدوات الأقدم التي لا تحمل جديدًا
إسقاط الصور لا شيء النص المحيط بها لقطات الشاشة القديمة
اللقطات لا شيء كل كلمة، على هيئة بكسلات إمكانية القراءة لنموذج بلا رؤية
الملخص استدعاء نموذج واحد سرد التفاصيل التي لم يخترها

يُنفَّذ الإغفال وإسقاط الصور أولًا لأنهما بلا كلفة، وبلا فقد في الجانب الذي يهم: يسقطان كمًا لن يعود أحد إلى قراءته.

لماذا يُترك التلخيص للملاذ الأخير

قسم بعنوان “لماذا يُترك التلخيص للملاذ الأخير”

الملخص هو الوحيد بين الأربعة الذي ينفق استدعاء نموذج، والوحيد الذي يقرّر عنك ما كان مهمًا. كلتاهما كلفة حقيقية. الاستدعاء هو الذي يستحق الوقوف عنده، بسبب اللحظة التي يقع فيها.

يعمل الضغط عادة قبل الجدار، عند عتبة. ويعمل أيضًا تفاعليًا، بعد أن يرفض المزوّد نفسه الطلب لأنه أكبر من الحد — فالتقدير التقريبي بخس ما قاسه المزوّد فعلًا. عندها يضطر الضغط الذي يلخّص إلى طلب يصغّر به السياق، والطلب الذي يرسله هو الذي فاض للتو.

ضغط اللقطات يرسم السجل المطروح على صفحات كثيفة من محارف البكسل، ويعيده صورًا.

الفكرة شذوذ في الفوترة: نموذج الرؤية يحسب الصورة بسعر ثابت أو بسعر يتناسب مع مساحتها، ولا دخل لعدد المحارف في ذلك. اثنا عشر ألف محرف من محادثة مطروحة تبلغ كلفتها من رموز النص هذا القدر نفسه. المحارف نفسها، مرسومة على صفحة واحدة، تبلغ كلفتها صورة واحدة.

الذي يجعلها تستحق الإبقاء، لا مجرد حيلة ذكية، أنها تعمل بلا استدعاء نموذج، وبلا مفتاح، وبلا شبكة. هي الاستراتيجية الوحيدة المتاحة دائمًا عند التعافي من تجاوز السعة.

شكل إعادة التركيب: رأس حرفي، ووسط مصوَّر، وذيل حرفي. الرأس هو المهمة والقيود التي يرجع إليها كل ما يأتي بعده، والذيل هو موضع العمل الآن. الوسط هو ما يُعاد قراءته أقل مما سواه، ويكلف أكثر مما سواه.

تُرسَم اللقطات من جديد في كل مرور اعتمادًا على النص المصدر المحفوظ، لا على بكسلات المرور السابق. تصوير صورة يُتلف المحارف جيلًا مع كل ضغط، حتى لا يبقى ما يستطيع قراءتها.

تاريخيًا كان كل تشغيل للإطار المضمّن يبدأ من سجل فارغ، ويعيد بناء الاستمرار من كتلة <context> في المطالبة — ملخص للمحادثة لا المحادثة نفسها. ترتب على ذلك ثلاثة أمور:

  • كان الاستئناف إعادة سرد. لم يرَ النموذج استدلاله السابق ولا البايتات التي أعادتها أدواته، بل وصفًا لها.
  • مات الإرجاع مع العملية. checkpoint فهرس في قائمة الرسائل الحيّة، فإعادة التشغيل تُسقط كل وسم وضعه النموذج.
  • عجزت إعادة المحاولة عن تمييز «لا شيء لإعادة محاولته» من «لم يُحمَّل شيء». بعد إعادة التشغيل يغيب الدور الفاشل من الحالة الحيّة في الحالتين.

الثلاثة تُحَل بحفظ نص المحادثة. يُحفَظ عند كل حد دور، ولا يُحفَظ في منتصف الدور: سجل يُلتقط بين استدعاء أداة ونتيجتها سجل لا يقبله أي مزوّد، فانهيار في تلك اللحظة يستعيد الدور السابق لا نصف دور يتعذّر إعادة عرضه.

عند الاستئناف يُقصّ التشغيل إلى أحدث رسائله، والقطع عند حد لا يترك نتيجة أداة يتيمة — فنتيجة قُصّ استدعاؤها طلب يرفضه المزوّدون فورًا، ونص محادثة يتعذّر إرساله أسوأ من نص قصير.

كل رسالة تسجّل الرسالة التي جاءت استمرارًا لها، وكل محادثة تسمّي طرف فرعها الحالي. هذا القرار وحده هو الميزة كلها.

التشعيب لا يكتب شيئًا. ينقل المؤشر. المسار الذي تركته ما زال قائمًا، فالعودة إليه نقل آخر للمؤشر لا استعادة. وتعديل مطالبة لإعادة تشغيلها لا يعود يكلّفك الإجابة التي كنت تقارن بها.

من دونه، كل رجوع يضطر إلى إخفاء الرسائل أو حذفها، والإخفاء كذبة لا يرى القارئ التالي ما وراءها.

الفرع التفريع
ما يحدث يتحرك المؤشر يُنسَخ المسار
أين يذهب المحادثة نفسها محادثة جديدة
الكلفة لا شيء نسخة واحدة من الفرع

ينسخ التفريع بمعرّفات جديدة بدل مشاركة الصفوف. لو شاركت محادثتان الصفوف لظهرت رسائل كل منهما اللاحقة في الأخرى، وهذا ما يجب ألا يفعله التفريع.

الزوج checkpoint / rewind داخل التشغيل يعلّم حد دور نظيفًا ويعود إليه بعد الاستكشاف، مع الإبقاء على موجز. ولأن نقاط التحقق تُحفَظ مع نص المحادثة، فإن وسمًا وضعه النموذج قبل إعادة التشغيل يبقى حيث وُضع. نقطة تحقق لم يصمد هدفها بعد القص تُسقَط، ولا تُثبَّت على أقرب رسالة باقية — فالإرجاع «إلى الوسم» مع الوصول إلى موضع غيره هو العطل الذي وُجد الوسم ليمنعه.