(انقر على الصورة أعلاه لمشاهدة فيديو هذا الدرس)
مع تزايد استخدام وكلاء الذكاء الاصطناعي، يزداد أيضًا الحاجة إلى بروتوكولات تضمن التوحيد، والأمان، وتدعم الابتكار المفتوح. في هذا الدرس، سنغطي 3 بروتوكولات تسعى لتلبية هذه الحاجة - بروتوكول سياق النموذج (MCP)، من وكيل إلى وكيل (A2A) والويب اللغوي الطبيعي (NLWeb).
في هذا الدرس، سنغطي:
• كيف يسمح MCP لوكلاء الذكاء الاصطناعي بالوصول إلى الأدوات والبيانات الخارجية لإكمال مهام المستخدم.
• كيف يمكن لـ A2A تمكين الاتصال والتعاون بين وكلاء الذكاء الاصطناعي المختلفين.
• كيف يجلب NLWeb واجهات اللغة الطبيعية لأي موقع ويب مما يمكن وكلاء الذكاء الاصطناعي من اكتشاف المحتوى والتفاعل معه.
• تحديد الهدف الأساسي وفوائد MCP و A2A و NLWeb في سياق وكلاء الذكاء الاصطناعي.
• شرح كيف يسهل كل بروتوكول التواصل والتفاعل بين نماذج اللغة الكبيرة والأدوات والوكلاء الآخرين.
• التعرف على الأدوار المميزة التي يلعبها كل بروتوكول في بناء أنظمة وكيل معقدة.
بروتوكول سياق النموذج (MCP) هو معيار مفتوح يوفر طريقة موحدة للتطبيقات لتقديم السياق والأدوات لنماذج اللغة الكبيرة. هذا يمكن من وجود “مهايئ عالمي” لمصادر البيانات والأدوات المختلفة التي يمكن لوكلاء الذكاء الاصطناعي الاتصال بها بطريقة متسقة.
دعونا نلقي نظرة على مكونات MCP، والفوائد مقارنة بالاستخدام المباشر لواجهات برمجة التطبيقات، ومثال على كيفية استخدام وكلاء الذكاء الاصطناعي لخادم MCP.
يعمل MCP على بنية عميل-خادم والمكونات الأساسية هي:
• المضيفون هم تطبيقات نماذج اللغة الكبيرة (مثل محرر الشفرة مثل VSCode) التي تبدأ الاتصالات بخادم MCP.
• العملاء هم مكونات داخل تطبيق المضيف تحافظ على اتصالات فردية مع الخوادم.
• الخوادم هي برامج خفيفة تعرض قدرات محددة.
يتضمن البروتوكول ثلاث بدائيات أساسية وهي قدرات خادم MCP:
• الأدوات: هي إجراءات أو وظائف منفصلة يمكن لوكيل الذكاء الاصطناعي استدعاؤها لأداء فعل. على سبيل المثال، قد يعرض خدمة الطقس أداة “الحصول على الطقس”، أو يعرض خادم التجارة الإلكترونية أداة “شراء المنتج”. تعلن خوادم MCP عن اسم كل أداة، ووصفها، ومخطط الإدخال/الإخراج في قائمة قدراتها.
• الموارد: هي عناصر بيانات أو مستندات للقراءة فقط يمكن لخادم MCP توفيرها، ويمكن للعملاء استرجاعها عند الطلب. تشمل الأمثلة محتويات الملفات، سجلات قاعدة البيانات، أو ملفات السجل. يمكن أن تكون الموارد نصية (مثل الشفرة أو JSON) أو ثنائية (مثل الصور أو ملفات PDF).
• المطالبات: هي قوالب محددة مسبقًا تقدم مطالبات مقترحة، مما يسمح بسير عمل أكثر تعقيدًا.
يقدم MCP مزايا كبيرة لوكلاء الذكاء الاصطناعي:
• اكتشاف الأدوات الديناميكي: يمكن للوكلاء استلام قائمة للأدوات المتاحة من الخادم مع وصف لما تقوم به. يختلف هذا عن واجهات برمجة التطبيقات التقليدية التي غالبًا ما تتطلب ترميزًا ثابتًا للتكاملات، مما يعني أن أي تغيير في واجهة البرمجة يستلزم تحديثات في الشفرة. يقدم MCP نهج “التكامل مرة واحدة”، مما يؤدي إلى مرونة أكبر.
• العمل عبر نماذج مختلفة لنماذج اللغة الكبيرة: يعمل MCP عبر نماذج مختلفة لنماذج اللغة الكبيرة، مما يوفر مرونة لتغيير النماذج الأساسية لتقييم أداء أفضل.
• الأمان الموحد: يتضمن MCP طريقة مصادقة معيارية، مما يحسن القدرة على التوسع عند إضافة وصول إلى خوادم MCP إضافية. هذا أبسط من إدارة مفاتيح وأنواع مصادقة مختلفة لواجهات برمجة التطبيقات التقليدية.

تخيل أن المستخدم يريد حجز رحلة طيران باستخدام مساعد ذكي مدعوم بـ MCP.
الاتصال: يتصل المساعد الذكي (عميل MCP) بخادم MCP مقدم من شركة طيران.
اكتشاف الأدوات: يسأل العميل خادم MCP لشركة الطيران، “ما الأدوات المتوفرة لديكم؟” يرد الخادم بأدوات مثل “البحث عن الرحلات” و”حجز الرحلات”.
استدعاء الأدوات: ثم تطلب من المساعد الذكي “يرجى البحث عن رحلة من بورتلاند إلى هونولولو.” يستخدم المساعد الذكي نموذج اللغة الكبير الخاص به لتحديد أنه يحتاج إلى استدعاء أداة “البحث عن الرحلات” ويمرر المعلمات ذات الصلة (المصدر، الوجهة) إلى خادم MCP.
التنفيذ والاستجابة: يعمل خادم MCP كغلاف، يجري الاتصال الفعلي بواجهة برمجة التطبيقات الداخلية لشركة الطيران. ثم يستلم معلومات الرحلة (مثل بيانات JSON) ويرسلها إلى المساعد الذكي.
التفاعل المتقدم: يعرض المساعد الذكي خيارات الرحلة. بمجرد اختيارك لرحلة، قد يستدعي المساعد أداة “حجز الرحلة” على نفس خادم MCP، مكملًا الحجز.
بينما يركز MCP على ربط نماذج اللغة الكبيرة بالأدوات، يأخذ بروتوكول من وكيل إلى وكيل (A2A) خطوة أبعد بتمكين الاتصال والتعاون بين وكلاء الذكاء الاصطناعي المختلفين. يربط A2A وكلاء الذكاء الاصطناعي عبر مؤسسات وبيئات وتقنيات مختلفة لإكمال مهمة مشتركة.
سنستعرض مكونات وفوائد A2A، مع مثال على كيفية تطبيقه في تطبيق السفر الخاص بنا.
يركز A2A على تمكين التواصل بين الوكلاء وجعلهم يعملون معًا لإكمال جزء من مهمة المستخدم. تساهم كل مكون من مكونات البروتوكول في ذلك:
مشابهة لكيفية مشاركة خادم MCP قائمة الأدوات، تحتوي بطاقة الوكيل على:
منفذ الوكيل مسؤول عن تمرير سياق محادثة المستخدم إلى الوكيل البعيد، يحتاج الوكيل البعيد ذلك لفهم المهمة التي يجب إكمالها. في خادم A2A، يستخدم الوكيل نموذج اللغة الكبير الخاص به لتفسير الطلبات الواردة وتنفيذ المهام باستخدام أدواته الداخلية.
بمجرد أن يكمل الوكيل البعيد المهمة المطلوبة، يُنشأ ناتج عمل باعتباره منتجًا. يحتوي المنتج على نتيجة عمل الوكيل، ووصف لما تم إنجازه، وسياق النص الذي يُمرر عبر البروتوكول. بعد إرسال المنتج، يُغلق الاتصال مع الوكيل البعيد حتى الحاجة إليه مرة أخرى.
يُستخدم هذا المكون لـ معالجة التحديثات وتمرير الرسائل. هذه الوظيفة مهمة بشكل خاص في الإنتاجية للأنظمة الوكلائية لمنع غلق الاتصال بين الوكلاء قبل إكمال المهمة، خصوصًا عندما تستغرق أوقات إكمال المهمة وقتًا طويلًا.
• تعزيز التعاون: يتيح التفاعل بين وكلاء من بائعين ومنصات مختلفة، ومشاركة السياق، والعمل معًا لتسهيل التشغيل الآلي السلس عبر أنظمة كانت تقليديًا منفصلة.
• مرونة اختيار النماذج: يمكن لكل وكيل في A2A اختيار نموذج اللغة الكبير الذي يستخدمه لخدمة طلباته، مما يسمح بنماذج محسنة أو مخصصة حسب الوكيل، على عكس اتصال نموذج عالمي في بعض سيناريوهات MCP.
• المصادقة المدمجة: تتضمن المصادقة مباشرة في بروتوكول A2A، مما يوفر إطار أمان قوي لتفاعل الوكلاء.

دعونا نوسع سيناريو حجز السفر الخاص بنا، لكن هذه المرة باستخدام A2A.
طلب المستخدم إلى وكلاء متعددين: يتفاعل المستخدم مع وكيل/عميل “وكيل السفر” في A2A، ربما بقوله، “يرجى حجز رحلة كاملة إلى هونولولو للأسبوع المقبل، متضمنة الرحلات، والفندق، وتأجير السيارة”.
تنسيق وكيل السفر: يتلقى وكيل السفر هذا الطلب المعقد. يستخدم نموذج اللغة الكبير الخاص به للتفكير في المهمة وتحديد أنه يحتاج للتواصل مع وكلاء متخصصين آخرين.
الاتصال بين الوكلاء: ثم يستخدم وكيل السفر بروتوكول A2A للاتصال بالوكلاء التابعين للمسار السفلي، مثل “وكيل شركة الطيران”، و”وكيل الفندق”، و”وكيل تأجير السيارات” الذين تنشئهم شركات مختلفة.
تنفيذ المهام المفوضة: يرسل وكيل السفر مهامًا محددة إلى هذه الوكلاء المتخصصين (مثل “إيجاد رحلات إلى هونولولو”، “حجز فندق”، “تأجير سيارة”). كل وكيل متخصص، يستخدم نموذج اللغة الكبير الخاص به ويستعين بأدواته (التي قد تكون خوادم MCP)، ينفذ الجزء الخاص به من الحجز.
الاستجابة الموحدة: بمجرد أن يكمل جميع الوكلاء التابعين مهامهم، يجمع وكيل السفر النتائج (تفاصيل الرحلات، تأكيد الفندق، حجز تأجير السيارة) ويرسل ردًا شاملاً على شكل محادثة إلى المستخدم.
كانت المواقع الإلكترونية منذ زمن طويل هي الوسيلة الأساسية للمستخدمين للوصول إلى المعلومات والبيانات عبر الإنترنت.
لننظر إلى مكونات NLWeb المختلفة، وفوائد NLWeb، ومثالًا على كيفية عمل NLWeb من خلال تطبيق السفر الخاص بنا.
تطبيق NLWeb (كود الخدمة الأساسية): النظام الذي يعالج أسئلة اللغة الطبيعية. يربط أجزاء المنصة المختلفة لإنشاء الاستجابات. يمكنك اعتباره المحرك الذي يدعم ميزات اللغة الطبيعية في الموقع.
بروتوكول NLWeb: هذا هو مجموعة أساسية من القواعد للتفاعل اللغوي الطبيعي مع الموقع. يرسل الردود بتنسيق JSON (غالبًا باستخدام Schema.org). الغرض منه إنشاء أساس بسيط لـ “ويب الذكاء الاصطناعي”، بنفس الطريقة التي جعل بها HTML من الممكن مشاركة الوثائق عبر الإنترنت.
خادم MCP (نقطة نهاية بروتوكول سياق النموذج): كل إعداد NLWeb يعمل أيضًا كـ خادم MCP. هذا يعني أنه يمكنه مشاركة الأدوات (مثل طريقة “ask”) والبيانات مع أنظمة الذكاء الاصطناعي الأخرى. عمليًا، يجعل هذا محتوى الموقع وقدراته تستخدم من قبل وكلاء الذكاء الاصطناعي، مما يسمح للموقع بأن يصبح جزءًا من “نظام الوكلاء” الأوسع.
نماذج التضمين: تُستخدم هذه النماذج لـ تحويل محتوى الموقع إلى تمثيلات عددية تسمى المتجهات (التضمينات). تلتقط هذه المتجهات المعنى بطريقة يمكن لأجهزة الحاسوب مقارنتها والبحث فيها. تُخزن في قاعدة بيانات خاصة، ويمكن للمستخدمين اختيار نموذج التضمين الذي يرغبون في استخدامه.
قاعدة بيانات المتجهات (آلية الاسترجاع): تخزن هذه القاعدة تضمينات محتوى الموقع. عند طرح سؤال، يتحقق NLWeb من قاعدة البيانات للعثور بسرعة على المعلومات الأكثر صلة. يعرض قائمة سريعة من الإجابات المحتملة، مرتبة حسب التشابه. يعمل NLWeb مع أنظمة تخزين المتجهات المختلفة مثل Qdrant وSnowflake وMilvus وAzure AI Search وElasticsearch.

اعتبر موقعنا لحجز السفر مرة أخرى، لكن هذه المرة مدعومًا بـ NLWeb.
استيعاب البيانات: تُهيأ الكتالوجات الحالية للموقع (مثل قوائم الرحلات، وصف الفنادق، عروض الجولات) باستخدام Schema.org أو تُحمّل عبر خلاصات RSS. تستوعب أدوات NLWeb هذه البيانات المنظمة، تنشئ التضمينات، وتخزنها في قاعدة بيانات متجهات محلية أو بعيدة.
استعلام لغة طبيعية (بشر): يزور مستخدم الموقع وبدل التنقل عبر القوائم، يكتب في واجهة الدردشة: “ابحث لي عن فندق مناسب للعائلات في هونولولو مع مسبح للأسبوع المقبل”.
معالجة NLWeb: يستلم تطبيق NLWeb هذا الاستعلام. يرسله إلى نموذج اللغة الكبير للفهم، وفي نفس الوقت يبحث في قاعدة بيانات المتجهات عن قوائم الفنادق ذات الصلة.
نتائج دقيقة: يساعد نموذج اللغة الكبير في تفسير نتائج البحث من القاعدة، وتحديد أفضل المطابقات استنادًا إلى معايير “مناسب للعائلات”، “مسبح”، و”هونولولو”، ثم يصيغ ردًا بلغة طبيعية. والأهم من ذلك، أن الاستجابة تشير إلى فنادق فعلية من كتالوج الموقع، متجنبة المعلومات المختلقة.
تفاعل وكيل الذكاء الاصطناعي: نظرًا لأن NLWeb يعمل كخادم MCP، يمكن لوكيل ذكي خارجي للسفر الاتصال أيضًا بنسخة NLWeb الخاصة بهذا الموقع. يمكن للوكيل الذكي بعد ذلك استخدام طريقة ask لـ MCP للاستعلام من الموقع مباشرة: ask("هل هناك مطاعم صديقة للنباتيين في منطقة هونولولو يوصي بها الفندق؟"). ستعالج نسخة NLWeb هذا الطلب، مستفيدة من قاعدة بيانات معلومات المطاعم (إن تم تحميلها)، وترجع استجابة منظمة بتنسيق JSON.
انضم إلى Microsoft Foundry Discord للقاء المتعلمين الآخرين، وحضور ساعات المكتب، والحصول على إجابات لأسئلتك حول وكلاء الذكاء الاصطناعي.
وكلاء الذكاء الاصطناعي في الإنتاج
هندسة السياق للوكلاء الذكاء الاصطناعي
تنويه: تمت ترجمة هذا المستند باستخدام خدمة الترجمة بالذكاء الاصطناعي Co-op Translator. بينما نسعى للدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو عدم دقة. يجب اعتبار المستند الأصلي بلغته الأصلية المصدر الرسمي والمعتمد. للمعلومات الهامة، يُنصح بالاستعانة بترجمة بشرية محترفة. نحن غير مسؤولين عن أي سوء فهم أو تفسير ناتج عن استخدام هذه الترجمة.