
واجهة برمجة رسائل أنثروبيك تضيف ضغط المحادثات عند الطلب: تحكم برمجي في سياق الوكلاء
واجهة برمجة رسائل أنثروبيك تضيف ضغط المحادثات عند الطلب: تحكم برمجي في سياق الوكلاء
تواجه أطر عمل الوكلاء البرمجية المستقلة ومساعدو التطوير قيودا فيزيائية صارمة تفرضها نوافذ السياق (Context Windows) في النماذج اللغوية الكبيرة. عندما ينفذ الوكيل عشرات العمليات المتتابعة عبر استدعاء الأدوات الخارجية، وفحص شجرات الملفات، وتشغيل أوامر البناء، وقراءة مخرجات الطرفية، يتضخم حجم السجل التاريخي للمحادثة ليتجاوز عشرات الآلاف من الرموز (Tokens) خلال دقائق معدودة.
حتى وقت قريب، كانت إدارة تضخم الرموز في منظومة نماذج Claude تعتمد إما على اقتطاع السجل يدويا من جانب العميل، أو الاستعانة بوكلاء محليين وسيطين مثل RTK، أو الاعتماد على آلية الضغط التلقائي عند بلوغ العتبة (Threshold Compaction). كانت تلك الآلية تختصر المحادثة تلقائيا فور وصول إجمالي المدخلات إلى سقف ثابت مثل 150 ألف رمز. ومع أنها كانت مناسبة لواجهات الدردشة البسيطة، إلا أنها تسببت في أضرار جانبية بالغة لأطر عمل الوكلاء، إذ كان الضغط ينطلق فجأة وبصورة متزامنة أثناء تنفيذ سلسلة أدوات متصلة، مما يقطع الروابط بين طلبات الأدوات ونتائجها، ويبطل سلاسل التفكير (Thinking Blocks) التي أطلقتها أنثروبيك مع Claude Fable 5.1.
في 14 سبتمبر 2026، أطلقت أنثروبيك ميزة ضغط المحادثات عند الطلب (On-Demand Conversation Compaction) في المرحلة التجريبية لواجهة برمجة الرسائل (/v1/messages). تتيح هذه الميزة للمطورين، عبر ترويسة البيتا compact-2026-09-04، تحكما برمجيا وحتميا في توقيت ضغط سجل المحادثة وتلخيصه داخل كتل بيانات موقعة رقميا (Cryptographically Signed Blocks).
ما الذي تغير
يفصل نظام الضغط الجديد عملية تقليص السياق عن العتبات العشوائية لأعداد الرموز. بدلا من التفاعل الاضطراري مع تجاوز سياق الذاكرة في منتصف دورة التفكير، يستطيع مطورو الوكلاء الآن جدولة الضغط عند فواصل دلالية واضحة، مثل الانتهاء من مهمة محددة، أو بعد اعتماد إيداع برمجي (Git Commit)، أو قبل إطلاق استعلام شامل لوكيل فرعي.
يعتمد هذا النظام على عنصرين رئيسيين:
- ترويسة البيتا
compact-2026-09-04: تفعل معالج الضغط ومحرك التهيئة الهيكلية على نقاط نهاية واجهة برمجة تطبيقات أنثروبيك. - معامل التحكم العلوي
compaction: يُضبط بصيغة{"type": "summarize"}، موجها واجهة البرمجة لاختصار سجل المحادثة المرسل في كتلة ضغط موقعة رقميا دون توليد رد حواري تقليدي.
وعوضا عن إرجاع نصوص عادية غير منسقة، تنهي واجهة البرمجة الطلب برمز التوقف stop_reason: "compaction" وتُرجع كتلة ضغط بنيوية موقعة رقميا برمز توثيق حالة داخلي وخلاصة رقمية (Digest).
البنية المعمارية ودورة حياة الضغط
تؤسس آلية الضغط عند الطلب مسارا معماريا حتميا من ثلاث مراحل يحمي مسارات الاستدلال الحديثة مع التخلص من الضجيج العملياتي المؤقت:
يتتبع العميل سجل الرسائل عبر استدعاءات الأدوات المتعددة ومخرجات الطرفية وكتل التفكير الوسيطة مع اقتراب حجم الرموز من الحد الأقصى للنظام.
يرسل الوكيل طلبا مخصصا للضغط عند نقطة نهاية مهمة مكتملة، فيتم استخلاص الأحداث القديمة مع الحفاظ على الرسائل الحديثة وتوليد كتلة ملخص موقعة رقميا.
تدرج الطلبات اللاحقة كتلة الضغط الموقعة أمام المنعطفات الحديثة، مع استمرار صلاحيتها للاستفادة من تقنية التخزين المؤقت للموجهات (Prompt Caching).
دليل التطبيق العملي وصيغة الواجهة
لضغط محادثة قائمة، يُرسل طلب إلى مسار /v1/messages متضمنا ترويسة البيتا ومصفوفة معاملات compaction:
{
"model": "claude-3-7-sonnet-20250219",
"max_tokens": 4096,
"compaction": {
"type": "summarize"
},
"messages": [
{ "role": "user", "content": "حلل معمارية المستودع وشغل اختبارات الوحدة" },
{ "role": "assistant", "content": "جاري تشغيل حزمة الاختبارات عبر كافة الحزم" },
{ "role": "user", "content": "تم الخروج بالرمز 0 مع نجاح 42 اختبارا" }
]
}
تعالج واجهة البرمجة سجل المحادثة السابق، وتولد خلاصة تقنية مشفرة، ثم تنهي الطلب فورا برمز التوقف stop_reason: "compaction" دون إرجاع نصوص حوارية اعتيادية:
{
"id": "msg_01948bd78a224",
"type": "message",
"role": "assistant",
"content": [
{
"type": "compaction",
"summary": "طلب المستخدم تحليل معمارية المستودع وتنفيذ الاختبارات. نجحت الاختبارات بالرمز 0 مع 42 اختبارا صالحا. التركيز المعماري موجه نحو قنوات تدفق البيانات.",
"signature": "sig_comp_20260914_9f81a7b4c90e2",
"compacted_range": {
"start_index": 0,
"end_index": 2
}
}
],
"stop_reason": "compaction",
"stop_sequence": null,
"usage": {
"input_tokens": 142800,
"output_tokens": 640,
"compaction_tokens": 2850
}
}
عند إرسال الرسائل اللاحقة، يدرج العميل الكتلة الموقعة كما هي مباشرة ضمن مصفوفة messages:
{
"model": "claude-3-7-sonnet-20250219",
"max_tokens": 4096,
"messages": [
{
"role": "user",
"content": [
{
"type": "compaction",
"summary": "طلب المستخدم تحليل معمارية المستودع...",
"signature": "sig_comp_20260914_9f81a7b4c90e2"
}
]
},
{ "role": "assistant", "content": "علم. تم التحقق من سلامة خط الأساس للاختبارات." },
{ "role": "user", "content": "تابع العمل على إعادة هيكلة موصل قاعدة البيانات." }
]
}
مقارنة معمارية بين آليات إدارة السياق
يوضح الجدول التالي الفروق الهندسية الدقيقة بين استراتيجية الضغط التلقائي عبر العتبة واستراتيجية الضغط البرمجي عند الطلب:
مقارنة استراتيجيات تقليص السياق
| المعيار أو السلوك الهندسي | الضغط التلقائي عند العتبة | الضغط عند الطلب برمجيا |
|---|---|---|
| آلية التشغيل | بلوغ حد ثابت للمدخلات (مثل 150 ألف رمز) | استدعاء برمجي صريح من العميل |
| القدرة على التنبؤ بالوقت | غير متوقعة، قد تبدأ أثناء أي رسالة | حتمية، يحددها إطار عمل الوكيل |
| سلامة حلقات تنفيذ الأدوات | خطر فصل أزواج tool_use و tool_result | آمنة، تُجدول بين مهام مكتملة ومنفصلة |
| التعامل مع سلاسل التفكير | احتمال بتر سلاسل التفكير النشطة | الحفاظ على سلاسل التفكير الحديثة حرفيا |
| أصل التوثيق والتحقق | حالة مؤقتة في ذاكرة خوادم الشركة | كتلة بيانات مشفرة بتوقيع رقمي موثق |
| تخزين العميل | جلسة سحابية غير مقيدة بحالة العميل | يخزن العميل الكتلة الموقعة محليا |
| إعادة استخدام التخزين المؤقت | تتلاشى صلاحية التخزين المؤقت فور الحذف | نسبة مطابقة عالية للتخزين المؤقت للملخص |
قيود تقنية وحالات فشل حرجة
يتطلب دمج آلية الضغط عند الطلب في أطر العمل البرمجية مراعاة خمسة قيود رئيسية:
- عدم قابلية التعديل (Immutability): يتحقق الحقل
signatureمن سلامة النص الوارد فيsummaryوبياناته الوصفية المشفرة. أي تعديل نصي يجريه العميل، أو إعادة تنسيق للمسافات، أو بتر للمعاملات، يبطل صحة التوقيع الرقمي فورا، مما يؤدي إلى رفض واجهة البرمجة للطلب بخطأ HTTP 400. - استبعاد السجل السابق للكتلة الموقعة: فور الحصول على كتلة الضغط الموقعة، يجب حذف الرسائل السابقة التي شملها التلخيص من مصفوفة الطلب اللاحق، حيث يؤدي ترك الرسائل الأصلية أمام الكتلة الموقعة إلى رفض الطلب بخطأ HTTP 400.
- شرط اكتمال استدعاءات الأدوات: يُرفض طلب الضغط بخطأ فوري إذا انتهى آخر رد للمساعد باستدعاء أداة غير مكتمل دون استلام نتيجتها المقابلة (
tool_useدونtool_result). يجب جدولة الضغط عند اكتمال العمليات فقط. - حظر الدمج مع آلية إدارة السياق القديمة: لا يمكن تفعيل معامل
compactionبالتزامن مع ميزةcontext_managementالتلقائية القديمة في الطلب نفسه. - محاسبة التكلفة المزدوجة: تفرض طلبات الضغط رسوم رموز مدخلات على كامل المحادثة السابقة المحللة، ورسوم رموز مخرجات على الملخص المركب الجديد. يجب على أنظمة إدارة التكاليف احتساب تكلفة طلبات التلخيص ضمن ميزانية التشغيل بدلا من التعامل معها كعملية صيانة مجانية.
الخلاصة
تعالج ميزة ضغط المحادثات عند الطلب في واجهة برمجة رسائل أنثروبيك عقبة تقنية رئيسية أمام تطوير برمجيات الذكاء الاصطناعي ذاتية التشغيل. فمن خلال توفير تكثيف حتمي وموقع رقميا للسياق عبر ترويسة compact-2026-09-04، يستطيع مهندسو الأنظمة بناء وكلاء مستقلين يعملون على مهام معقدة تمتد لأيام متواصلة دون خشية انهيار السياق أو تلف حلقات استدعاء الأدوات.