تحميل سجل جلسة الوكيل يتعلق بما يمرره التطبيق في الطلب الجديد. قد نرى محادثة محفوظة ونفترض أن النموذج يعرفها كلها، بينما لم نحدد مسار وصولها. نقرأ استراتيجيات الاستمرار في دليل OpenAI Agents SDK، ونقارن ثلاث بطاقات إعداد مؤلفة دون تشغيل خدمة.
الخلاصة السريعة
ليس تلقائيا لمجرد حفظه؛ اقرأ طريقة الاستمرار والمواد التي مرت عبرها، ولا تستنتج محتوى الطلب الجديد من وجود سجل في مكان آخر.
- يعرض الدليل إعادة تمرير result.history، واستعمال session، ومسارين بمعرفات حالة تديرها الخدمة؛ لكل مسار ما يمرر للدور التالي. [1] لا نخلطها دون مراجعة.
- في إعدادنا أ نمرر صراحة سجل «المجموعة أ». في إعداد ب نقدم السؤال الجديد وحده ونستبعد أي مسار استمرار؛ لا ننسب إليه المادة القديمة بموجب فرضنا.
- وجود سجل آخر للمجموعة ب لا يجعله مدخل أ، ولو تشابه السؤالان. والجزء المحمل لا يساوي السجل كله؛ إذا كانت طريقة اختيار السجل مجهولة، نترك المادة التي وصلت غير محسومة.
- يحذر الدليل من احتمال تكرار السياق عند جمع إعادة تمرير محلية وحالة تديرها الخدمة دون تسوية مقصودة. [1] راجع المدخل الفعلي؛ حفظ النص لا يثبت صحة محتواه أو تنفيذ ما يصفه.
ما الطرق التي يسميها الدليل؟
يعرض دليل Running agents الاستمرار عبر result.history، أو session، أو conversationId، أو previousResponseId. يبين لكل منها موضع الحالة وما يمرر لاحقا. [1]
هذه طرق في واجهة موثقة، وليست أسماء بديلة لكل ذاكرة في المنتجات. نحتاج إلى معرفة الطريقة التي استعملها التطبيق قبل نسبة حوار سابق إلى طلب جديد. اسم المستخدم أو عنوان النافذة وحده لا يصف ذلك الربط.
نميز أيضا تاريخ الرسائل من أوزان النموذج. مثالنا لا يغير النموذج أو يدربه؛ السؤال عن المادة التي تعد للطلب، لا عن تعلم دائم من كلام المستخدم.
بطاقتا إعداد لهما سؤال متابعة واحد
نفترض سجلا للمجموعة أ يقول «نراجع البطاقات الحمراء فقط»، وسجلا مستقلا للمجموعة ب يقول «نراجع الزرقاء فقط». ثم نكتب سؤال المتابعة «أي بطاقات نراجع؟». هذه سجلات تعليمية وضعنا محتواها يدويا.
في إعداد أ نعلن أننا نعيد تمرير سجل المجموعة أ مع السؤال. يستطيع المراجع تحديد المادة المقصودة: شرط الحمراء موجود في المدخل الذي أعلنّاه. لا نعد ذلك ضمانا أن جواب نموذج فعلي سيلتزم به.
وفي إعداد ب نرسل السؤال وحده، ونعلن عدم وجود استمرار أو تحميل مواد أخرى. لا يحمل السؤال بذاته شرط الحمراء أو الزرقاء. ليس من حق المراجع سد النقص باختيار السجل الذي يتذكره من شرحنا.
أي سجل يرتبط بالطلب؟
نخترع إعداد ج يقول إنه يحمل جلسة، لكنه لا يبين أي جلسة أو ما الذي استرجع منها. في هذه البطاقة لا نستطيع تحديد وصول شرط اللون. نكتب أن الربط مجهول، بدلا من اعتبار وجود أي سجل محفوظ دليلا على قراءة هذا السجل.
قد يتشابه نص السؤال في مجموعتين مع اختلاف القيود السابقة. لذلك نسجل مرجع السجل الذي اختير والمادة التي استعملت، بحسب الطريقة الفعلية. لا يربط تشابه الأسماء أو توقيت الرسالة بين سجلين ربطا موثقا.
ولو كان مسارنا يحدد جزءا من السجل، نراجع هذا الجزء لا الأصل كله. ولا نرفع الملخص إلى تاريخ كامل: المادة المتاحة هي التي مرت فعلا، مع حدود الاختيار التي يمكن إثباتها.
كيف نتجنب الخلط بين طرق الاستمرار؟
ينبه الدليل إلى أن الجمع بين إعادة تمرير محلية وحالة تديرها الخدمة قد يكرر السياق ما لم تسو الطبقتان قصدا. [1]
نقترح بطاقة إعداد تبين الطريقة المختارة، وما أرسل للدور التالي، ومرجع الحالة إن وجد. إذا جرى جمع طريقتين، نراجع المواد المكررة والمفقودة بدل افتراض أن جمعهما يوفر تاريخا أفضل تلقائيا.
أخيرا، حتى وصول الجملة «راجعنا الحمراء» لا يثبت تنفيذ مراجعة حقيقية؛ قد تكون رسالة تدعي ذلك. نحفظ الفرق بين تحميل سجل وبين التحقق من محتواه. لم نشغل جلسة أو نستخرج طلبا أو نقس جودة استمرار.
المصادر ومتابعة القراءة
- OpenAI: Agents SDK — Running agents (يفتح في نافذة جديدة)developers.openai.com
أُعدّ هذا المقال بصياغة عربية أصلية بالاستناد إلى المصادر أعلاه، وهو مدخل تمهيدي إلى الموضوع. اقرأ منهجية المحتوى وحدوده.
