الذاكرة والمعرفة
إدارة نافذة السياق
3 دقيقة للقراءة
كل نموذج لغة كبير له نافذة سياق محدودة—العدد الأقصى من الرموز التي يمكنه معالجتها في وقت واحد. إدارة هذه النافذة أمر حاسم لبناء وكلاء فعالين.
فهم نوافذ السياق
| النموذج | نافذة السياق | ما يعادلها بالكلمات تقريباً |
|---|---|---|
| GPT-4 | 128 ألف رمز | ~96,000 كلمة |
| Claude 3.5 | 200 ألف رمز | ~150,000 كلمة |
| GPT-4o | 128 ألف رمز | ~96,000 كلمة |
| Gemini 1.5 Pro | 2 مليون رمز | ~1.5 مليون كلمة |
ملاحظة: سياق أطول ≠ أداء أفضل. النماذج غالباً تكافح مع المعلومات في "وسط" السياقات الطويلة.
اقتصاديات الرموز
كل استدعاء API يكلف رموزاً. محادثة وكيل نموذجية تتضمن:
موجه النظام: ~500-2000 رمز
المحادثة: متغير
تعريفات الأدوات: ~100-500 لكل أداة
نتائج الأدوات: متغير
الاستجابة: ~200-2000 رمز
إدارة السياق بكفاءة
1. التلخيص
def manage_context(messages, max_tokens=50000):
total_tokens = count_tokens(messages)
if total_tokens > max_tokens:
# تلخيص الرسائل القديمة
old_messages = messages[:-10] # الاحتفاظ بآخر 10
summary = llm.generate(f"لخص هذه المحادثة: {old_messages}")
return [
{"role": "system", "content": f"السياق السابق: {summary}"},
*messages[-10:]
]
return messages
2. النافذة المنزلقة
الاحتفاظ فقط بالرسائل الأحدث:
def sliding_window(messages, window_size=20):
if len(messages) > window_size:
# الاحتفاظ دائماً برسالة النظام
system = messages[0] if messages[0]["role"] == "system" else None
recent = messages[-window_size:]
return [system, *recent] if system else recent
return messages
3. الاسترجاع الانتقائي
تضمين فقط السياق السابق ذي الصلة:
def selective_context(messages, current_query):
# تضمين الاستعلام الحالي
query_embedding = embed(current_query)
# إيجاد الرسائل السابقة ذات الصلة
relevant = []
for msg in messages:
similarity = cosine_similarity(query_embedding, embed(msg))
if similarity > 0.7:
relevant.append(msg)
return relevant
أفضل الممارسات
| الممارسة | الفائدة |
|---|---|
| مراقبة استخدام الرموز | البقاء ضمن الحدود، التحكم في التكاليف |
| التلخيص بشكل استباقي | الحفاظ على المعلومات الرئيسية |
| إعطاء الأولوية للسياق الحديث | الأكثر صلة بالمهمة الحالية |
| تخزين التضمينات مؤقتاً | استرجاع أسرع |
| استخدام نماذج أصغر للتلخيص | فعال من حيث التكلفة |
المزالق الشائعة
- ❌ تجاهل حدود السياق ← اقتطاع معلومات مهمة
- ❌ تضمين كل شيء ← بطيء، مكلف، مشوش
- ❌ الاقتطاع العدواني ← فقدان سياق رئيسي
- ✅ التلخيص الذكي ← أفضل ما في العالمين
بعد ذلك، سنستكشف RAG—تقنية قوية لمنح الوكلاء الوصول إلى المعرفة الخارجية. :::