إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
أظهرت الصفحة السابقة كيف يقوم البرنامج الوسيط بتضمين البنية الأساسية لبرنامج ربط العمليات التجارية لتنفيذ العامل مع مخاوف شاملة - التسجيل، حواجز الحماية، معالجة الأخطاء - دون لمس المنطق الأساسي للعامل. ولكن البرامج الوسيطة تتعامل مع كيفية تشغيل العامل، وليس ما يعرفه العامل. حتى الآن، تأتي معرفة العامل من مكانين: بيانات التدريب الخاصة به وأيا كان ما يقوله المستخدم في المنعطف الحالي.
هذه مشكلة. يحتاج العامل المفيد إلى أكثر من ذلك. يحتاج إلى تذكر ما قاله المستخدم قبل ثلاث دورات، أو معرفة تفضيلات المستخدم، أو سحب الحقائق ذات الصلة من قاعدة معارف - كل ذلك قبل أن يبدأ في توليد استجابة. يمكن أن تجلب الأدوات المعلومات، ولكنها تفاعلية: يجب أن يقرر النموذج الاتصال بها. إذا لم يدرك النموذج أنه يحتاج إلى سياق، فلن يطلبه.
يحل موفرو السياق هذا. إنها مكونات تعمل قبل وبعد استدعاء كل عامل، حيث تقوم بإدخال المعلومات ذات الصلة بشكل استباقي في نافذة السياق واستخراج الحالة اختياريا من الاستجابة ليتم تخزينها للاستخدام في المستقبل. إنها تمنح الوكيل الذاكرة والتخصيص والوصول إلى المعرفة الخارجية — دون تغيير إرشادات العامل أو التعليمات البرمجية.
متى يتم استخدام هذا
أضف موفري السياق إلى وكيلك عندما:
- يحتاج العامل إلى محفوظات المحادثات - يجب أن يتذكر ما قيل في المنعطفات السابقة، وليس فقط الرسالة الحالية.
- تريد إدخال بيانات خاصة بالمستخدم — ملفات التعريف أو التفضيلات أو تفاصيل الحساب أو حالة الجلسة — حتى يتمكن العامل من تخصيص استجاباته.
- تحتاج إلى إنشاء معزز باسترداد (RAG) — إحضار المستندات أو الحقائق ذات الصلة تلقائيا من قاعدة معارف قبل كل استجابة.
- يتطلب العامل إرشادات ديناميكية — السياق الذي يتغير بين استدعاءات استنادا إلى الوقت من اليوم أو موقع المستخدم أو شروط وقت التشغيل الأخرى.
- تريد فصل مصادر البيانات عن منطق العامل - لا يحتاج العامل إلى معرفة مصدر السياق، بل إنه متوفر فقط.
لماذا لا تستخدم الأدوات فقط؟
تمنح كل من الأدوات وموفري السياق العوامل حق الوصول إلى المعلومات الخارجية، ولكنها تعمل بطرق مختلفة بشكل أساسي:
| الجانب | ادوات | موفرو السياق |
|---|---|---|
| المشغل | تفاعلي - يقرر النموذج وقت استدعاء أداة | استباقي — يتم تشغيله تلقائيا قبل كل استدعاء |
| عنصر تحكم | يستند إلى النموذج: يختار النموذج الأداة ومتى ومع أي وسيطات | يعتمد على المطور: يمكنك تحديد السياق المتوفر دائما |
| الرؤية | يجب أن يعرف النموذج وجود أداة والحكم على أنها ذات صلة | يتم إدخال السياق بشفافية — يرى النموذج ذلك كجزء من المطالبة |
| حالة الاستخدام | الإجراءات عند الطلب والبحث: "البحث في الويب" و"الاستعلام عن قاعدة البيانات" | السياق دائما: محفوظات المحادثات، وملفات تعريف المستخدمين، والمعرفة المحملة مسبقا |
| تكلفة الرمز المميز | الرموز المميزة التي تم إنفاقها فقط عند استدعاء الأداة | الرموز المميزة التي تم إنفاقها على كل استدعاء (السياق دائما في المطالبة) |
ولا هذا أفضل تماما. يستخدم العديد من العوامل كلا من: موفري السياق للمعلومات التي يجب أن تكون موجودة دائما (المحفوظات، وملف تعريف المستخدم، والمعرفة الأساسية)، وأدوات المعلومات التي يجب على العامل إحضارها عند الطلب (نتائج البحث المباشرة، واستعلامات قاعدة البيانات، واستدعاءات واجهة برمجة التطبيقات).
Tip
قاعدة جيدة من الإبهام: إذا كان يجب أن يكون لدى العامل هذه المعلومات في كل مرة يتم تشغيلها فيها، فاستخدم موفر سياق. إذا كان يجب على العامل إحضاره فقط عندما يكون ذا صلة، فاستخدم أداة.
كيفية عمل موفري السياق
يشارك موفرو السياق في دورة حياة من مرحلتين حول استدعاء كل عامل:
┌──────────────────────────────────────────────────────────────┐
│ Caller: agent.run("What's the return policy?") │
└──────────────┬───────────────────────────────────────────────┘
▼
┌──────────────────────────────────────────────────────────────┐
│ BEFORE RUN — each context provider injects context │
│ │
│ • History provider loads past conversation messages │
│ • Memory provider retrieves relevant facts/preferences │
│ • RAG provider searches knowledge base and adds results │
│ • Custom provider injects user profile, time, location │
└──────────────┬───────────────────────────────────────────────┘
▼
┌──────────────────────────────────────────────────────────────┐
│ Agent core — model sees original input + all injected │
│ context and generates a response │
└──────────────┬───────────────────────────────────────────────┘
▼
┌──────────────────────────────────────────────────────────────┐
│ AFTER RUN — each context provider processes the response │
│ │
│ • History provider saves the new messages │
│ • Memory provider extracts facts to remember for later │
│ • Custom provider updates session state │
└──────────────────────────────────────────────────────────────┘
نقاط رئيسية:
- يتم تشغيل موفري السياق تلقائيا. يمكنك تسجيلها مرة واحدة عند إنشاء العامل. بعد ذلك، يشاركون في كل استدعاء دون أي تعليمة برمجية إضافية من جانبك.
- يؤلف العديد من الموفرين معا. يمكنك تسجيل العديد من موفري السياق — موفر محفوظات وموفر RAG وموفر مخصص — وجميعهم يساهمون في نفس نافذة السياق. يتم دمج مساهماتهم في أمر التسجيل.
- الموفرون لديهم خطافتان. يقوم الخطاف السابق بإدخال السياق (الرسائل والإرشادات والأدوات) في المطالبة. يعالج الخطاف التالي الاستجابة — تخزين الرسائل أو استخراج الذكريات أو حالة التحديث.
- الموفرون على دراية بالجلسة. يتلقى موفرو السياق جلسة العمل الحالية، حتى يتمكنوا من تحميل وتخزين البيانات التي تم تحديد نطاقها لمحادثة معينة. راجع جلسات العمل لمعرفة كيفية عمل إدارة الجلسة.
Tip
للحصول على عرض مفصل للمكان الذي يجلس فيه موفرو السياق في مسار تنفيذ العامل الكامل - جنبا إلى جنب مع البرنامج الوسيط وعميل الدردشة - راجع بنية مسار العامل.
إدارة نافذة السياق
يستهلك كل جزء من السياق الذي تقوم بإدخاله الرموز المميزة من نافذة سياق النموذج. التاريخ ينمو مع كل منعطف. تضيف نتائج RAG مجموعات المستندات. تضيف ملفات تعريف المستخدمين بيانات التعريف. إذا تجاوز الإجمالي الحد الأقصى للنموذج، يتم اقتطاع المعلومات الأقدم أو الأقل صلة - من المحتمل أن تفقد السياق المهم.
تعد إدارة نافذة السياق أحد الاعتبارات الهامة عند استخدام موفري السياق: تقوم استراتيجيات الضغط بتلخيص المحفوظات القديمة أو اقتطاعها للبقاء ضمن حدود الرمز المميز مع الحفاظ على المعلومات الرئيسية. راجع الضغط.
Tip
للحصول على تجربة عملية مع موفري الذاكرة والسياق، راجع الخطوة 4: الذاكرة في البرنامج التعليمي بدء الاستخدام.
Important
لا يوصى بالاحتفاظ بنافذة سياق طويلة جدا، حيث قد يتدهور أداء النموذج مع نمو نافذة السياق. إذا بدأ العامل في تجربة الأداء المتدهور، ففكر في استخدام استراتيجيات الضغط لتقليل حجم السياق.
الاعتبارات
| الاعتبار | التفاصيل |
|---|---|
| موازنة الرمز المميز | يستهلك كل سياق تم إدخاله الرموز المميزة. مراقبة إجمالي حجم السياق بعناية — خاصة عند الجمع بين موفرين متعددين. إذا أصبح السياق غير مقيد، يتم اقتطاع المعلومات المهمة بصمت. |
| زمن انتقال الاسترداد | يضيف موفرو السياق الذين استعلموا عن الخدمات الخارجية (قواعد البيانات وفهرس البحث وواجهات برمجة التطبيقات) زمن انتقال لكل استدعاء. استخدم التخزين المؤقت وتجميع الاتصال والعمليات غير المتزامنة للحفاظ على سرعة الاسترداد. |
| الصلة | لا يؤدي إدخال سياق غير ذي صلة إلى إضاعة الرموز المميزة فحسب ، بل يمكن أن يؤدي إلى تدهور استجابات النموذج بشكل نشط من خلال تخفيف الإشارة. تأكد من إدخال الموفرين للمعلومات المركز عليها ذات الصلة. |
| Staleness | يمكن أن يصبح السياق المخزن مؤقتا أو المحمل مسبقا قديما. تصميم موفري تحديث البيانات في فواصل زمنية مناسبة، والنظر فيما إذا كان السياق القديم قليلا مقبولا لحالة الاستخدام الخاصة بك. |
| إمكانية الإنشاء | عندما يساهم العديد من الموفرين في نفس نافذة السياق، يمكن أن تتفاعل مساهماتهم بطرق غير متوقعة. اختبر موفري الخدمات معا، وليس فقط بشكل فردي، لضمان أن السياق المدمج منطقي. |
الخطوات التالية
الآن بعد أن أصبح لدى وكيلك أدوات ومهارات وبرامج وسيطة وموفري سياقات، فإن الخطوة التالية هي العوامل كأدوات - إنشاء وكلاء باستخدام وكيل واحد كأداة لعامل آخر، وتمكين التخصص والتفويض.
انتقل إلى أبعد من ذلك:
- مرجع موفري السياق - أنماط الموفر المضمنة والمخصصة
- نظرة عامة على المحادثات والذاكرة — الجلسات والمحفوظات والتخزين
- RAG — أنماط الجيل المعززة باسترداد
- الضغط — إدارة حجم نافذة السياق
- التخزين — بيانات المحادثة المستمرة
- بنية البنية الأساسية لبرنامج ربط العمليات التجارية للعامل - كيفية ملاءمة موفري السياق في مسار التنفيذ
- الخطوة 4: الذاكرة — البرنامج التعليمي العملي