ai-agents-for-beginners

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

بروتوكولات الوكلاء

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

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

مقدمة

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

• How MCP allows AI Agents to access external tools and data to complete user tasks.

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

• How NLWeb brings natural language interfaces to any website enabling AI Agents to discover and interact with the content.

أهداف التعلم

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

شرح كيف يسهل كل بروتوكول التواصل والتفاعل بين LLMs، والأدوات، والوكلاء الآخرين.

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

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

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

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

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

المضيفون هم تطبيقات LLM (على سبيل المثال محرر أكواد مثل VSCode) التي تبدأ الاتصالات بخادم MCP.

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

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

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

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

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

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

فوائد MCP

يقدّم MCP فوائد مهمة لوكلاء الذكاء الاصطناعي:

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

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

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

مثال على MCP

مخطط MCP

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

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

  2. اكتشاف الأدوات: يسأل العميل خادم MCP الخاص بشركة الطيران، “What tools do you have available?” يرد الخادم بأدوات مثل “search flights” و “book flights”.

  3. استدعاء الأداة: بعد ذلك تطلب من المساعد الذكي، “Please search for a flight from Portland to Honolulu.” يحدد المساعد الذكي، باستخدام LLM الخاص به، أنه يحتاج إلى استدعاء أداة “search flights” ويمرر المعاملات ذات الصلة (origin, destination) إلى خادم MCP.

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

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

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

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

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

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

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

بطاقة الوكيل

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

منفّذ الوكيل

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

المُنتَج

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

طابور الأحداث

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

فوائد A2A

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

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

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

مثال على A2A

مخطط A2A

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

  1. طلب المستخدم إلى نظام متعدد الوكلاء: يتفاعل المستخدم مع وكيل/عميل A2A “Travel Agent”، ربما بقوله، “Please book an entire trip to Honolulu for next week, including flights, a hotel, and a rental car”.

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

  3. التواصل بين الوكلاء: ثم يستخدم وكيل السفر بروتوكول A2A للاتصال بالوكلاء المتعاملين أدناه، مثل “Airline Agent”، و “Hotel Agent”، و “Car Rental Agent” التي تم إنشاؤها من قبل شركات مختلفة.

  4. تنفيذ المهام المفوضة: يرسل وكيل السفر مهامًا محددة إلى هؤلاء الوكلاء المتخصصين (مثل “Find flights to Honolulu”، “Book a hotel”، “Rent a car”). ينفذ كل من هؤلاء الوكلاء المتخصصين، الذين يشغّلون نماذج LLM الخاصة بهم ويستخدمون أدواتهم الخاصة (والتي يمكن أن تكون خوادم MCP بحد ذاتها)، الجزء الخاص بهم من الحجز.

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

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

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

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

مكونات NLWeb

NLWeb كمثال

NLWeb

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

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

  2. استعلام باللغة الطبيعية (بشري): يزور المستخدم الموقع وبدلاً من التنقل عبر القوائم، يكتب في واجهة الدردشة: “Find me a family-friendly hotel in Honolulu with a pool for next week”.

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

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

  5. تفاعل وكيل الذكاء الاصطناعي: نظرًا لأن NLWeb يعمل كخادم MCP، يمكن لوكيل سفر ذكي خارجي أيضًا الاتصال بمثيل NLWeb الخاص بهذا الموقع. يمكن لوكيل الذكاء الاصطناعي بعد ذلك استخدام طريقة ask("Are there any vegan-friendly restaurants in the Honolulu area recommended by the hotel?"). ستعالج مثيل NLWeb هذا الطلب، مستفيدًا من قاعدة بيانات معلومات المطاعم (إذا تم تحميلها)، وتعيد استجابة JSON منظمة.

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

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

الموارد


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