ai-agents-for-beginners

استخدام البروتوكولات العميلية (MCP, A2A و NLWeb)

البروتوكولات العميلية

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

مع ازدياد استخدام وكلاء الذكاء الاصطناعي، تزداد الحاجة إلى بروتوكولات تضمن التقييس، الأمان، ودعم الابتكار المفتوح. في هذا الدرس، سنغطي 3 بروتوكولات تسعى لتلبية هذا الاحتياج - بروتوكول سياق النموذج (MCP)، وكيل إلى وكيل (A2A)، والويب اللغوي الطبيعي (NLWeb).

المقدمة

في هذا الدرس، سنغطي:

• كيف يسمح MCP لوكلاء الذكاء الاصطناعي بالوصول إلى الأدوات والبيانات الخارجية لإكمال مهام المستخدم.

• كيف يتيح A2A التواصل والتعاون بين مختلف وكلاء الذكاء الاصطناعي.

• كيف يجلب NLWeb واجهات اللغة الطبيعية إلى أي موقع ويب مما يمكن وكلاء الذكاء الاصطناعي من اكتشاف المحتوى والتفاعل معه.

أهداف التعلم

• تحديد الغرض الأساسي وفوائد MCP, A2A, و NLWeb في سياق وكلاء الذكاء الاصطناعي.

• شرح كيف يسهل كل بروتوكول الاتصال والتفاعل بين النماذج اللغوية الكبيرة، الأدوات، والوكلاء الآخرين.

• التعرف على الأدوار المميزة التي يلعبها كل بروتوكول في بناء أنظمة عملائية معقدة.

بروتوكول سياق النموذج

بروتوكول سياق النموذج (MCP) هو معيار مفتوح يوفر طريقة موحدة للتطبيقات لتوفير السياق والأدوات للنماذج اللغوية الكبيرة. هذا يمكّن من وجود “محوّل عالمي” لمصادر البيانات والأدوات التي يمكن لوكلاء الذكاء الاصطناعي الاتصال بها بطريقة متسقة.

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

المكونات الأساسية لـ MCP

يعمل MCP على هيكلية عميل-خادم والمكونات الأساسية هي:

• المضيفون هم تطبيقات النماذج اللغوية الكبيرة (مثلاً محرر الأكواد مثل VSCode) التي تبدأ الاتصالات مع خادم MCP.

• العملاء هم مكونات داخل تطبيق المضيف تحافظ على اتصالات مباشر-واحد مع الخوادم.

• الخوادم هي برامج خفيفة تكشف عن قدرات محددة.

يتضمن البروتوكول ثلاثة مكونات أساسية وهي قدرات خادم MCP:

• الأدوات: هي إجراءات أو وظائف منفصلة يمكن لوكيل الذكاء الاصطناعي استدعاؤها لأداء إجراء ما. على سبيل المثال، قد يكشف خدمة الطقس أداة “الحصول على الطقس”، أو قد يكشف خادم التجارة الإلكترونية عن أداة “شراء منتج”. تعلن خوادم MCP عن اسم الأداة، وصفها، ومخطط الإدخال/الإخراج في قائمة قدراتها.

• الموارد: هي عناصر بيانات أو مستندات للقراءة فقط يمكن لخادم MCP توفيرها، ويمكن للعملاء استرجاعها عند الطلب. أمثلة تشمل محتويات الملفات، سجلات قاعدة البيانات، أو ملفات السجل. يمكن أن تكون الموارد نصوصاً (مثل الكود أو JSON) أو ثنائية (مثل الصور أو ملفات PDF).

• المحفزات: هي قوالب محددة مسبقاً توفر محركات استدلال مقترحة، مما يسمح بتدفقات عمل أكثر تعقيداً.

فوائد MCP

يوفر MCP مزايا كبيرة لوكلاء الذكاء الاصطناعي:

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

• التشغيل المتبادل عبر النماذج اللغوية: يعمل MCP عبر نماذج لغوية كبيرة مختلفة، مما يوفر مرونة لتبديل النماذج الأساسية للتقييم لتحسين الأداء.

• الأمان الموحد: يتضمن MCP طريقة توثيق معيارية، مما يحسن قابلية التوسع عند إضافة وصول إلى خوادم MCP إضافية. هذا أبسط من إدارة مفاتيح وأنواع توثيق مختلفة لواجهات API التقليدية.

مثال على MCP

مخطط MCP

تخيل أن مستخدماً يريد حجز رحلة طيران باستخدام مساعد ذكي مدعوم بـ MCP.

  1. الاتصال: يتصل المساعد الذكي (عميل MCP) بخادم MCP مقدم من شركة طيران.

  2. اكتشاف الأدوات: يسأل العميل خادم MCP الخاص بشركة الطيران، “ما الأدوات المتاحة لديكم؟” يرد الخادم بأدوات مثل “البحث عن الرحلات” و”حجز الرحلات”.

  3. استدعاء الأداة: بعد ذلك تطلب من المساعد الذكي، “يرجى البحث عن رحلة من بورتلاند إلى هونولولو.” يستخدم المساعد الذكي، بنموذجه اللغوي، تحديد أنه يحتاج لاستدعاء أداة “البحث عن الرحلات” ويمرر المعلمات ذات الصلة (المغادرة، الوجهة) إلى خادم MCP.

  4. التنفيذ والاستجابة: يتصرف خادم MCP كغلاف، فيجري الاتصال الفعلي بواجهة برمجة التطبيقات الداخلية للحجز لدى شركة الطيران. ثم يستلم معلومات الرحلة (مثل بيانات JSON) ويرسلها إلى المساعد الذكي.

  5. تفاعل لاحق: يعرض المساعد الذكي خيارات الرحلات. عند اختيارك رحلة، قد يستدعي المساعد أداة “حجز الرحلة” على نفس خادم MCP، مما يكمل الحجز.

بروتوكول وكيل إلى وكيل (A2A)

بينما يركز MCP على ربط النماذج اللغوية بالأدوات، يأخذ بروتوكول وكيل إلى وكيل (A2A) خطوة أبعد بتمكين الاتصال والتعاون بين وكلاء ذكاء اصطناعي مختلفين. يربط A2A وكلاء الذكاء الاصطناعي عبر منظمات وبيئات وتقنيات مختلفة لإكمال مهمة مشتركة.

سنستعرض مكونات وفوائد A2A، مع مثال لكيفية تطبيقه في تطبيق السفر لدينا.

المكونات الأساسية لـ A2A

يركز A2A على تمكين التواصل بين الوكلاء وجعلهم يعملون معًا لإكمال جزء من مهمة المستخدم. كل مكون من البروتوكول يساهم في ذلك:

بطاقة الوكيل

تشبه كيف يشارك خادم MCP قائمة الأدوات، تحتوي بطاقة الوكيل على:

منفذ الوكيل

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

المنتج النهائي

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

قائمة الأحداث

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

فوائد A2A

• تعزيز التعاون: يمكنه تمكين وكلاء من بائعين ومنصات مختلفة من التفاعل، مشاركة السياق، والعمل معاً، مما يسهل الأتمتة السلسة عبر أنظمة كانت مفصولة تقليدياً.

• مرونة اختيار النموذج: يمكن لكل وكيل A2A أن يقرر أي نموذج لغة كبيرة يستخدم لخدمة طلباته، مما يسمح بنماذج محسنة أو معدلة لكل وكيل، خلاف اتصال LLM واحد في بعض سيناريوهات MCP.

• التوثيق المدمج: يتم دمج التوثيق مباشرة في بروتوكول A2A، مما يوفر إطار أمان قوي لتفاعلات الوكلاء.

مثال على A2A

مخطط A2A

دعونا نوسع سيناريو حجز السفر لدينا، لكن هذه المرة باستخدام A2A.

  1. طلب المستخدم إلى وكلاء متعددين: يتفاعل المستخدم مع وكيل/عميل “وكيل السفر” A2A، ربما بقوله، “يرجى حجز رحلة كاملة إلى هونولولو للأسبوع القادم، تتضمن الرحلات الجوية، فندق، وسيارة إيجار”.

  2. تنسيق وكيل السفر: يستقبل وكيل السفر هذا الطلب المعقد. يستخدم نموذج اللغة الكبير الخاص به للتفكير بالمهمة وتحديد حاجته للتواصل مع وكلاء متخصصين آخرين.

  3. الاتصال بين الوكلاء: ثم يستخدم وكيل السفر بروتوكول A2A للاتصال بالوكلاء التابعين، مثل “وكيل شركة الطيران”، “وكيل الفندق”، و”وكيل تأجير السيارات” الذين أنشئتهم شركات مختلفة.

  4. تنفيذ المهام المفوضة: يرسل وكيل السفر مهام محددة إلى هؤلاء الوكلاء المتخصصين (مثلاً، “ابحث عن رحلات إلى هونولولو”، “احجز فندقاً”، “استأجر سيارة”). يقوم كل من هؤلاء الوكلاء المتخصصين، باستخدام نماذجهم اللغوية الكبيرة وأدواتهم الخاصة (والتي يمكن أن تكون خوادم MCP بنفسها)، بأداء الجزء المحدد من الحجز.

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

الويب اللغوي الطبيعي (NLWeb)

لطالما كانت المواقع الإلكترونية الوسيلة الأساسية للمستخدمين للوصول إلى المعلومات والبيانات عبر الإنترنت.

لننظر في المكونات المختلفة لـ NLWeb، وفوائد NLWeb، ومثال على كيف يعمل NLWeb لدينا من خلال تطبيق السفر.

مكونات NLWeb

NLWeb بالمثال

NLWeb

اعتبر موقع حجز السفر الخاص بنا مرة أخرى، لكنه هذه المرة مدعوم بـ NLWeb.

  1. إدخال البيانات: تُنسق كتالوجات المنتجات الموجودة على موقع السفر (مثل قوائم الرحلات، أوصاف الفنادق، عروض الجولات) باستخدام Schema.org أو تُحمّل عبر موجزات RSS. تقوم أدوات NLWeb باستيعاب هذه البيانات المهيكلة، إنشاء التضمينات، وتخزينها في قاعدة بيانات متجهات محلية أو بعيدة.

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

  3. معالجة NLWeb: يستقبل تطبيق NLWeb هذا الاستعلام. يرسله إلى نموذج لغة كبير للفهم، وبالتزامن يبحث في قاعدة بيانات المتجهات عن قوائم الفنادق ذات الصلة.

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

  5. تفاعل وكيل الذكاء الاصطناعي: لأن NLWeb يعمل كخادم MCP، يمكن لوكيل سفر خارجي أيضًا الاتصال بنسخة NLWeb الخاصة بهذا الموقع. يمكن للوكيل استخدام طريقة ask في MCP للاستعلام مباشرة من الموقع: ask("هل توجد مطاعم نباتية في منطقة هونولولو موصى بها من الفندق؟"). يقوم مثيل NLWeb بمعالجة هذا، مستفيدًا من قاعدة بيانات مطاعم إذا كانت محملة، ويرجع ردًا منسقًا بصيغة JSON.

هل لديك المزيد من الأسئلة حول MCP/A2A/NLWeb؟

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

الموارد

الدرس السابق

وكلاء الذكاء الاصطناعي في الإنتاج

الدرس التالي

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


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