تطور ضغط السياق في وكلاء الذكاء الاصطناعي
LangChain
OpenRouter
يعتمد وكلاء الذكاء الاصطناعي على سجل الرسائل للحفاظ على السياق، لكن السجلات الطويلة تثقل كاهل نافذة سياق نموذج اللغة الكبير وتضعف الأداء. يتطور ضغط السياق من تقليم الذيل البسيط إلى التلخيص، ثم إلى حماية الرأس والذيل، وأخيرًا إلى فصل التاريخ المخزن عن سياق العمل، مع أدوات لاسترجاع التفاصيل عند الحاجة.
وكلاء الذكاء الاصطناعي عبارة عن دورة من تبادل الرسائل بين المستخدم ونموذج اللغة (LLM)، حيث يمكن للنموذج استدعاء الأدوات أو بروتوكولات السياق MCPs. كل تفاعل يُضاف إلى سجل المحادثة، والذي يُرسل عادةً بالكامل إلى استدعاء النموذج التالي. ومع ذلك، فإن نوافذ السياق، رغم أنها كبيرة، ليست غير محدودة، كما يتدهور الأداء مع السجلات الكبيرة ضعيفة البنية. تُظهر الورقة البحثية الكلاسيكية «Lost in the Middle» منحنى على شكل حرف U: تستخدم النماذج بداية ونهاية المدخلات الطويلة بشكل أفضل من منتصفها. يتتبع المقال تطور الأساليب لضغط السياق: تقليم الذيل البسيط (نافذة متحركة) في LangChain عبر trim_messages؛ تلخيص الرسائل القديمة في كتلة ملخص باستخدام SummarizationMiddleware في create_agent؛ ثم حماية أول N رسائل والذيل الطازج مع ضغط المنتصف، كما يظهر في Hermes Agent وضغط middle-out في OpenRouter. يقدم الأسلوب الأحدث فصل السجل المخزن عن سياق العمل: يُحفظ السجل الكامل خارجيًا (على سبيل المثال، في ملف)، ويتلقى استدعاء النموذج عرضًا يحتوي على الذيل الطازج بالإضافة إلى ملخص، ويُعطى الوكيل أدوات مثل قراءة ملف أو grep لاسترجاع التفاصيل من السجل الكامل. تنفذ مكتبة Deep Agents التابعة لـ LangChain هذا في SummarizationMiddleware، على الرغم من أن الاسم مشترك بشكل مربك مع البرمجيات الوسيطة الأساسية. هذا التطور هو جزء من الاتجاه الأوسع لهندسة السياق، حيث يتم التمييز بين ما يعرفه الوكيل (السجل الكامل، نتائج الأدوات، المهارات) وما يدخل في استدعاء النموذج التالي.
المصدر: Habr — хаб ИИ —
الأصلي
