ai-agents-for-beginners

هندسة السياق لوكلاء الذكاء الاصطناعي

هندسة السياق

(انقر الصورة أعلاه لمشاهدة فيديو هذا الدرس)

فهم تعقيد التطبيق الذي تبني وكيل ذكاء اصطناعي من أجله مهم لصنع واحد موثوق. نحتاج لبناء وكلاء ذكاء اصطناعي يديرون المعلومات بفعالية لمعالجة الاحتياجات المعقدة التي تتجاوز هندسة المطالبات.

في هذا الدرس، سننظر إلى ما هي هندسة السياق ودورها في بناء وكلاء الذكاء الاصطناعي.

مقدمة

هذا الدرس سيغطي:

ما هي هندسة السياق ولماذا هي مختلفة عن هندسة المطالبات.

استراتيجيات لهندسة السياق الفعالة، بما في ذلك كيفية كتابة واختيار وضغط وعزل المعلومات.

أخطاء شائعة في السياق التي قد تعطل وكيلك للذكاء الاصطناعي وكيفية إصلاحها.

أهداف التعلم

بعد إكمال هذا الدرس، ستفهم كيف:

تعريف هندسة السياق وتمييزها عن هندسة المطالبات.

تحديد المكونات الرئيسية للسياق في تطبيقات نماذج اللغة الكبيرة (LLM).

تطبيق استراتيجيات لكتابة واختيار وضغط وعزل السياق لتحسين أداء الوكيل.

التعرف على أخطاء السياق الشائعة مثل التسمم، والتشتت، والارتباك، والتصادم، وتطبيق تقنيات التخفيف.

ما هي هندسة السياق؟

بالنسبة لوكلاء الذكاء الاصطناعي، السياق هو ما يوجه تخطيط الوكيل لاتخاذ إجراءات معينة. هندسة السياق هي ممارسة التأكد من أن الوكيل لديه المعلومات الصحيحة لإكمال الخطوة التالية من المهمة. نافذة السياق محدودة الحجم، لذا بصفتنا منشئي الوكلاء نحتاج إلى بناء أنظمة وعمليات لإدارة إضافة وإزالة وتكثيف المعلومات في نافذة السياق.

هندسة المطالبات مقابل هندسة السياق

تركز هندسة المطالبات على مجموعة واحدة من التعليمات الثابتة لتوجيه الوكلاء بفعالية بمجموعة من القواعد. هندسة السياق تتعلق بكيفية إدارة مجموعة ديناميكية من المعلومات، بما في ذلك المطالبة الأولية، لضمان أن لدى الوكيل ما يحتاجه مع مرور الوقت. الفكرة الرئيسية حول هندسة السياق هي جعل هذه العملية قابلة للتكرار وموثوقة.

أنواع السياق

أنواع السياق

من المهم أن نتذكر أن السياق ليس شيئًا واحدًا فقط. المعلومات التي يحتاجها الوكيل يمكن أن تأتي من مجموعة متنوعة من المصادر ويقع على عاتقنا التأكد من أن الوكيل يمكنه الوصول إلى هذه المصادر:

تشمل أنواع السياق التي قد يحتاج الوكيل لإدارتها:

التعليمات: هذه تشبه “قواعد” الوكيل – المطالبات، رسائل النظام، أمثلة قليلة (توضّح للذكاء الاصطناعي كيفية القيام بشيء ما)، ووصف للأدوات التي يمكنه استخدامها. هنا يتقاطع تركيز هندسة المطالبات مع هندسة السياق.

المعرفة: هذا يغطي الحقائق، والمعلومات المسترجعة من قواعد البيانات، أو الذكريات طويلة الأمد التي جمعها الوكيل. يتضمن ذلك دمج نظام الاسترجاع المعزز بالتوليد (Retrieval Augmented Generation (RAG)) إذا كان الوكيل بحاجة للوصول إلى مخازن ومعارف وقواعد بيانات مختلفة.

الأدوات: هذه هي تعريفات الدوال الخارجية، وواجهات برمجة التطبيقات (APIs) وخوادم MCP التي يمكن للوكيل استدعاؤها، إلى جانب الملاحظات (النتائج) التي يحصل عليها من استخدامها.

سجل المحادثة: الحوار المستمر مع المستخدم. مع مرور الوقت، تصبح هذه المحادثات أطول وأكثر تعقيدًا مما يعني أنها تشغل مساحة في نافذة السياق.

تفضيلات المستخدم: المعلومات التي تُكتسب عن ما يحبه أو لا يحبه المستخدم بمرور الوقت. يمكن تخزين هذه المعلومات واستدعاؤها عند اتخاذ قرارات رئيسية لمساعدة المستخدم.

استراتيجيات لهندسة السياق الفعالة

استراتيجيات التخطيط

أفضل ممارسات هندسة السياق

تبدأ هندسة السياق الجيدة بتخطيط جيد. إليك نهجًا سيساعدك على البدء في التفكير حول كيفية تطبيق مفهوم هندسة السياق:

  1. تحديد نتائج واضحة - يجب أن تكون نتائج المهام الموكلة إلى وكلاء الذكاء الاصطناعي محددة بوضوح. أجب على السؤال - “ما الذي سيبدو عليه العالم عندما ينتهي الوكيل من مهمته؟” بعبارة أخرى، ما التغيير أو المعلومة أو الاستجابة التي يجب أن يحصل عليها المستخدم بعد التفاعل مع الوكيل.

  2. رسم خريطة السياق - بمجرد أن تحدد نتائج الوكيل، تحتاج إلى الإجابة على سؤال “ما المعلومات التي يحتاجها الوكيل لإكمال هذه المهمة؟”. بهذه الطريقة يمكنك البدء في رسم خريطة للسياق ومكان وجود تلك المعلومات.

  3. إنشاء خطوط أنابيب للسياق - الآن بعد أن عرفت مكان وجود المعلومات، تحتاج للإجابة على سؤال “كيف سيحصل الوكيل على هذه المعلومات؟”. يمكن القيام بذلك بطرق متنوعة بما في ذلك RAG، واستخدام خوادم MCP وأدوات أخرى.

استراتيجيات عملية

التخطيط مهم لكن بمجرد أن تبدأ المعلومات بالتدفق إلى نافذة سياق وكيلنا، نحتاج إلى استراتيجيات عملية لإدارتها:

إدارة السياق

بينما ستتم إضافة بعض المعلومات إلى نافذة السياق تلقائيًا، هندسة السياق تتعلق بأخذ دور أكثر نشاطًا في إدارة هذه المعلومات والذي يمكن أن يتم بعدة استراتيجيات:

  1. مسودة الوكيل تتيح هذه المسودة للوكيل تدوين ملاحظات حول المعلومات ذات الصلة بالمهام الحالية وتفاعلات المستخدم خلال جلسة واحدة. يجب أن توجد هذه المسودة خارج نافذة السياق في ملف أو كائن وقت تشغيل يمكن للوكيل استرجاعه لاحقًا خلال هذه الجلسة إذا لزم الأمر.

  2. الذكريات المسودات جيدة لإدارة المعلومات خارج نافذة السياق لجلسة واحدة. تُمكّن الذكريات الوكلاء من تخزين واسترجاع المعلومات ذات الصلة عبر عدة جلسات. قد يشمل ذلك ملخصات، تفضيلات المستخدم وردود الفعل لتحسينات مستقبلية.

  3. ضغط السياق بمجرد أن تنمو نافذة السياق وتقترب من حدها، يمكن استخدام تقنيات مثل التلخيص والاقتطاع. يشمل ذلك إما الاحتفاظ بالمعلومات الأكثر صلة فقط أو إزالة الرسائل الأقدم.

  4. أنظمة متعددة الوكلاء تطوير نظام متعدد الوكلاء هو شكل من أشكال هندسة السياق لأن كل وكيل لديه نافذة سياق خاصة به. كيفية مشاركة هذا السياق وتمريره إلى وكلاء مختلفين هو أمر آخر يجب التخطيط له عند بناء هذه الأنظمة.

  5. بيئات الصندوق الرمل إذا كان الوكيل بحاجة لتشغيل بعض الشيفرات أو معالجة كميات كبيرة من المعلومات في مستند، فقد يتطلب ذلك عددًا كبيرًا من التوكنات لمعالجة النتائج. بدلًا من تخزين كل ذلك في نافذة السياق، يمكن للوكيل استخدام بيئة صندوق رمل قادرة على تشغيل الشيفرة وقراءة النتائج والمعلومات ذات الصلة فقط.

  6. كائنات حالة وقت التشغيل يتم ذلك عن طريق إنشاء حاويات للمعلومات لإدارة الحالات عندما يحتاج الوكيل إلى الوصول إلى معلومات معينة. بالنسبة لمهمة معقدة، سيمكن هذا الوكيل من تخزين نتائج كل مهمة فرعية خطوة بخطوة، مما يسمح بابقاء السياق متصلاً فقط بتلك المهمة الفرعية المحددة.

مثال على هندسة السياق

لنفترض أننا نريد من وكيل ذكاء اصطناعي أن “يحجز لي رحلة إلى باريس.”

• وكيل بسيط يستخدم هندسة المطالبات فقط قد يرد ببساطة: “حسنًا، متى تريد الذهاب إلى باريس؟”. لقد عالج السؤال المباشر فقط في وقت سؤاله.

• وكيل يستخدم استراتيجيات هندسة السياق المذكورة سيقوم بالمزيد بكثير. قبل حتى الرد، قد يقوم نظامه بـ:

  ◦ التحقق من تقويمك بحثًا عن التواريخ المتاحة (استرجاع بيانات في الوقت الحقيقي).

  ◦ استدعاء تفضيلات السفر السابقة (من الذاكرة طويلة الأمد) مثل شركة الطيران المفضلة لديك، والميزانية، أو ما إذا كنت تفضل الرحلات المباشرة.

  ◦ تحديد الأدوات المتاحة لحجز الرحلات والفنادق.

أخطاء السياق الشائعة

تسمم السياق

ما هو: عندما يدخل هلوسة (معلومة خاطئة يولدها نموذج اللغة الكبير) أو خطأ إلى السياق ويُشار إليه مرارًا وتكرارًا، مما يدفع الوكيل لمتابعة أهداف مستحيلة أو تطوير استراتيجيات غير منطقية.

ماذا تفعل: نفّذ التحقق من السياق والحجر الصحي. تحقّق من المعلومات قبل إضافتها إلى الذاكرة طويلة الأمد. إذا تم الكشف عن تسمم محتمل، ابدأ سلاسل سياق جديدة لمنع انتشار المعلومات الخاطئة.

مثال حجز سفر: يتوهم وكيلك وجود رحلة مباشرة من مطار محلي صغير إلى مدينة دولية بعيدة لا تقدم فعليًا رحلات دولية. يتم حفظ تفاصيل هذه الرحلة غير الموجودة في السياق. لاحقًا، عندما تطلب من الوكيل الحجز، يستمر في محاولة العثور على تذاكر لهذه المسار المستحيلة، مما يؤدي إلى أخطاء متكررة.

الحل: نفّذ خطوة تقوم بالتحقق من وجود الرحلة والمسارات باستخدام واجهة برمجة تطبيقات في الوقت الحقيقي قبل إضافة تفاصيل الرحلة إلى سياق عمل الوكيل. إذا فشل التحقق، تُوضع المعلومات الخاطئة في “الحجر الصحي” ولا تُستخدم بعد ذلك.

تشتت السياق

ما هو: عندما يصبح السياق كبيرًا جدًا لدرجة أن النموذج يركز كثيرًا على التاريخ المتراكم بدلاً من استخدام ما تعلّمه أثناء التدريب، مما يؤدي إلى أفعال متكررة أو غير مفيدة. قد تبدأ النماذج في ارتكاب أخطاء حتى قبل امتلاء نافذة السياق.

ماذا تفعل: استخدم تلخيص السياق. قم دوريًا بضغط المعلومات المتراكمة إلى ملخصات أقصر، مع الحفاظ على التفاصيل المهمة وإزالة التاريخ المكرر. يساعد هذا على “إعادة ضبط” التركيز.

مثال حجز سفر: لقد كنت تناقش وجهات سفر حالمة متنوعة لفترة طويلة، بما في ذلك سرد مفصل لرحلة الترحال التي قمت بها قبل عامين. عندما تسأل أخيرًا إلى “ابحث لي عن رحلة رخيصة لـ الشهر المقبل، ينغمس الوكيل في التفاصيل القديمة وغير ذات الصلة ويستمر في السؤال عن معدات الترحال أو جداول السفر الماضية، متجاهلًا طلبك الحالي.

الحل: بعد عدد معين من التبادلات أو عندما يكبر السياق كثيرًا، يجب على الوكيل تلخيص أجزاء المحادثة الأخيرة والأكثر صلة – مع التركيز على تواريخ السفر الحالية والوجهة – واستخدام ذلك الملخص المكثف في نداء نموذج اللغة التالي، متخليًا عن الدردشة التاريخية الأقل صلة.

ارتباك السياق

ما هو: عندما يؤدي وجود سياق غير ضروري، غالبًا في شكل الكثير من الأدوات المتاحة، إلى توليد النموذج لاستجابات سيئة أو استدعاء أدوات غير ذات صلة. النماذج الأصغر معرضة لذلك بشكل خاص.

ماذا تفعل: نفّذ إدارة تحميل الأدوات باستخدام تقنيات RAG. خزّن أوصاف الأدوات في قاعدة بيانات متجهية واختر فقط الأدوات الأكثر صلة بكل مهمة محددة. تشير الأبحاث إلى تقييد اختيار الأدوات بأقل من 30.

مثال حجز سفر: لدى وكيلك وصول إلى عشرات الأدوات: book_flight, book_hotel, rent_car, find_tours, currency_converter, weather_forecast, restaurant_reservations, إلخ. عندما تسأل، “ما أفضل طريقة للتنقل في باريس؟” بسبب العدد الكبير من الأدوات، يختلط الأمر على الوكيل ويحاول استدعاء book_flight داخل باريس، أو rent_car رغم أنك تفضل وسائل النقل العامة، لأن أوصاف الأدوات قد تتداخل أو ببساطة لا يستطيع التمييز بينها.

الحل: استخدم RAG على أوصاف الأدوات. عندما تسأل عن التنقل في باريس، يسترجع النظام ديناميكيًا فقط الأدوات الأكثر صلة مثل rent_car أو public_transport_info بناءً على استفسارك، مقدمًا “مجموعة أدوات” مركزة إلى نموذج اللغة.

تصادم السياق

ما هو: عندما يكون هناك معلومات متضاربة داخل السياق، مما يؤدي إلى استنتاجات غير متسقة أو استجابات نهائية سيئة. يحدث هذا كثيرًا عندما تصل المعلومات على مراحل، وتبقى الافتراضات المبكرة الخاطئة في السياق.

ماذا تفعل: استخدم اقتطاء السياق وإخراج التحميل (offloading). الاقتطاء يعني إزالة المعلومات القديمة أو المتضاربة مع وصول تفاصيل جديدة. الإخراج يعطي النموذج مساحة عمل منفصلة “مسودة” لمعالجة المعلومات دون إفساد السياق الرئيسي.

مثال حجز سفر: أخبرت وكيلك في البداية، “أريد السفر على الدرجة الاقتصادية.” لاحقًا في المحادثة، غيرت رأيك وقالت، “بالفعل، لهذه الرحلة، دعنا نذهب على درجة رجال الأعمال.” إذا بقيت التعليماتان في السياق، قد يحصل الوكيل على نتائج بحث متضاربة أو يرتبك بشأن أي تفضيل يجب أن يعطيه الأولوية.

الحل: نفّذ اقتطاء السياق. عندما تتعارض تعليمات جديدة مع قديمة، تُزال التعليمات الأقدم أو تُلغى صراحة في السياق. بدلاً من ذلك، يمكن للوكيل استخدام المسودة للتوفيق بين التفضيلات المتضاربة قبل اتخاذ القرار، لضمان أن التعليمات النهائية والمتسقة فقط هي التي توجه أفعاله.

هل لديك المزيد من الأسئلة حول هندسة السياق؟

انضم إلى خادم Microsoft Foundry على Discord لتلتقي بمتعلمين آخرين، حضور ساعات المكتب والحصول على إجابات لأسئلة وكلاء الذكاء الاصطناعي الخاصة بك.


إخلاء المسؤولية: تمت ترجمة هذا المستند باستخدام خدمة الترجمة بالذكاء الاصطناعي Co-op Translator. بينما نسعى إلى الدقة، يرجى ملاحظة أن الترجمات الآلية قد تحتوي على أخطاء أو معلومات غير دقيقة. يجب اعتبار الوثيقة الأصلية بلغتها الأصلية المصدر المعتمد. بالنسبة للمعلومات الحرجة، يُنصح بالاستعانة بترجمة بشرية محترفة. نحن غير مسؤولين عن أي سوء فهم أو تأويل ناتج عن استخدام هذه الترجمة.