دوكر أصلح 90% من برمجة الذكاء الاصطناعي بإطلاق هذا

AAI LABS
AI/미래기술컴퓨터/소프트웨어

Transcript

00:00:00كان بروتوكول MCP من أهم الأشياء في مجال الذكاء الاصطناعي، لكن بعد ستة أشهر أصبح يمثل مشكلة كبيرة لنا.
00:00:06عندما بدأنا، كان لدى الناس خادمان أو ثلاثة فقط من خوادم MCP تعمل محليًا، لكن MCP تطور ليصبح أكثر من ذلك بكثير.
00:00:13الآن يمتلك الناس مئات من خوادم MCP مع آلاف الأدوات في نفس الوقت، وقد أصبح هذا مشكلة ضخمة.
00:00:20كما تعلمون، لاحظت Cloudflare هذا أولاً، وتبعتها Claude بنشر ورقة بحثية حول هذه المشكلة.
00:00:26لكن Docker توصلت بالفعل إلى حل لهذه المشكلة وحلت إحدى أهم المشكلات الحرجة لبروتوكولات MCP من خلال ابتكار طريقة جديدة تمامًا لاستخدامها.
00:00:34وضع ديناميكي يسمح لك بتوفير الكثير من الرموز، وتسريع عمل وكلاءك، وإنشاء أنواع جديدة تمامًا من الأتمتة التي أتطلع إليها شخصيًا بشدة.
00:00:43لذلك، أصدرت Docker مقالاً حول هذا الموضوع يحثوننا فيه بشكل أساسي على التوقف عن ترميز بيئة وكلاءنا بشكل ثابت.
00:00:50ماذا يقصدون بذلك؟
00:00:51أولاً، ما هي خوادم MCP التي نثق بها بالفعل؟
00:00:54ثانيًا، كيف نتجنب ملء سياقنا بتعريفات أدوات قد لا نستخدمها حتى؟
00:01:00على سبيل المثال، إذا كان لديك ألف أداة، فقد تستخدم اثنتين أو ثلاثًا فقط في محادثة واحدة.
00:01:05ثالثًا، كيف يكتشف الوكلاء هذه الأدوات ويقومون بتهيئتها ثم استخدامها بكفاءة واستقلالية؟
00:01:12لكنني أريدك أن تركز على النقطة الثانية، وهي: كيف نتجنب ملء سياقنا بتعريفات أدوات قد لا نستخدمها حتى؟
00:01:19على سبيل المثال، إذا كان لديك ألف أداة، فقد تستخدم اثنتين أو ثلاثًا فقط في محادثة واحدة.
00:01:23كما أصدرت Anthropic منشورًا حول هذا الموضوع، والذي تناولناه في أحد فيديوهاتنا السابقة، وحصلنا على استجابة إيجابية للغاية من الأشخاص الذين أرادوا التنفيذ.
00:01:32وقد قامت Docker بالفعل بتنفيذ ذلك.
00:01:34الآن قبل أن نتقدم أكثر، يجب أن تعلم أن Docker قد أعدت البنية التحتية الكاملة لهذا الأمر قبل أن يصبح مشكلة حتى.
00:01:41ولذلك، تحتاج إلى معرفة كتالوج MCP الخاص بهم، والذي أدرجوا فيه خوادم MCP موثوقة يمكنك الوثوق بها بالفعل.
00:01:48ومن السهل جدًا الاتصال بها، ما عليك سوى توصيلها هنا في Docker.
00:01:52على سبيل المثال، لقد قمت بتوصيل Notion هنا، يمكنك أن ترى أن لدي الآن خادمين، وعميل MCP الخاص بي، والذي يكون في معظم الأحيان كود Claude، يتصل فقط بـ Docker، ثم تقوم Docker بشكل أساسي بإدارة جميع خوادم MCP الخاصة بي.
00:02:04لذلك، هذا يحل تمامًا المشكلة الأولى المتعلقة بخوادم MCP التي نثق بها بالفعل.
00:02:09الآن لتمكين وكلاءنا من استخدام هذه الـ MCPs ديناميكيًا، قاموا بتنفيذ بوابة MCP هذه التي تحتوي بالفعل على أدوات مدمجة لاستخدام خوادم MCP داخل الكتالوج واستخدامها بشكل مستقل.
00:02:22إذن، ما يحدث أساسًا هو أنك تقوم بتوصيل MCP واحد فقط، وهذا الـ MCP يمتلك كل سياق الأدوات التي يتصل بها في الكتالوج.
00:02:31لقد اتصلت باثنين وهو يعرف أي تعريفات للأدوات يجب إحضارها إلى نافذة السياق.
00:02:36لذلك، لا تنتفخ نافذة السياق الخاصة بك..
00:02:39الآن لكي يعمل هذا بالفعل، أضافوا بعض الأدوات الجديدة التي تشمل MCP find و add و remove، والتي تقوم أساسًا بالعثور على خوادم MCP في الكتالوج بالاسم أو الوصف.
00:02:48وكما سأوضح لكم، سأرشدكم إلى كيفية إضافتها بشكل صحيح.
00:02:51على سبيل المثال، أنا أستخدم GitHub MCP الخاص بي هنا، وأخبره أنني أريد البحث عن بعض المستودعات المثيرة للاهتمام.
00:02:57بعد تحديد نوع المستودعات، لا يستدعي الأداة نفسها، بل يستخدم خادم Docker MCP، الذي يستدعي الأداة بالمعلومات الصحيحة ويعيد جميع النتائج بالطبع.
00:03:08الآن، أريدك أن تلاحظ شيئًا واحدًا، أن نموذج اللغة الكبير (LLM) يعيد كل شيء عن المستودعات.
00:03:15يعيد الرابط، ويعيد النجوم، ويعيد الوصف، وحتى أنه يعرف تاريخ نشر هذه المستودعات..
00:03:21أريدك فقط أن تتذكر هذا لأنه سيكون أمرًا مهمًا للمضي قدمًا.
00:03:25الآن، ننتقل إلى اختيار الأدوات الديناميكي.
00:03:28هذا هو الجزء الأكثر أهمية في المقال، وهذا ما كنت أتحدث عنه عندما ذكرت طريقة جديدة لاستخدام خوادم MCP..
00:03:35بالإشارة مرة أخرى إلى مقال Claude، يتحدثون عن كيفية استخدام Claude أو أي وكيل ذكاء اصطناعي للمزيد من الرموز.
00:03:44أحدها هو تعريفات الأدوات في نافذة السياق، والثاني هو نتائج الأدوات الوسيطة.
00:03:50هنا نتحدث عن النتائج الخام التي يتم إرجاعها بالفعل من استدعاءات أدوات MCP.
00:03:56لذا، كل هذه التفاصيل التي بحثنا عنها باستخدام أداة GitHub تم إرجاعها إلى نافذة السياق.
00:04:04لهذا السبب يعرف Claude كل التفاصيل الصغيرة حول المستودعات، بينما كنت أريد فقط الوصف ورابط المستودع.
00:04:12بهذه الطريقة، لا يستغرق الأمر سوى عدد قليل من استدعاءات الأدوات، كما في حالتي، ربما كانت 20 استدعاء أداة قبل أن تمتلئ نافذة السياق بالكامل.
00:04:24هذا أحد الأشياء التي قاموا بتحسينها في مشروع بوابة MCP حيث يقدمون فقط الأدوات المفيدة بالفعل.
00:04:32على سبيل المثال، في حالتي، إحدى الطرق التي يمكن بها حفظ السياق هي أن يعطيني أداة البحث عن المستودعات فقط وليس الأربعين أداة الأخرى التي تأتي داخل GitHub MCP هذا.
00:04:46لأنني في هذه الجلسة أريد فقط استخدام أداة البحث عن المستودعات.
00:04:51ولكن مرة أخرى، بمجرد أن تبدأ في اختيار الأدوات بهذه الطريقة، فإن ذلك يفتح أيضًا مجموعة جديدة من الإمكانيات.
00:05:01وهذا يقودنا إلى وضع الكود (code mode).
00:05:04لقد أوضحت Cloudflare بشكل أساسي أننا كنا نستخدم MCP بشكل خاطئ، وأن هذه ليست الطريقة الفعلية.
00:05:12وهنا تكون Docker هي الأولى التي تنفذ هذا الحل الجديد.
00:05:16لقد جربت ذلك كثيرًا.
00:05:18ويجب أن أقول إنني مندهش حقًا من كيفية سير التنفيذ.
00:05:22لذلك يقولون إنه من خلال تمكين الوكلاء من البرمجة مباشرة باستخدام أدوات MCP، مما يعني أنهم يأخذون الأدوات وينفذونها في الكود، يمكنهم تزويد الوكلاء بأدوات وضع الكود هذه التي تستخدم الأدوات بطريقة جديدة تمامًا.
00:05:40إذن، ماذا يفعل وضع الكود؟ إنه ينشئ أداة تدعم JavaScript يمكنها استدعاء أدوات MCP أخرى.
00:05:47قد يبدو هذا بسيطًا حقًا، لكن الأمثلة التي سأعرضها لكم ستوضح هذا الأمر نأمل.
00:05:54الآن، قبل أن نتعمق في التنفيذ، هناك أمور أخرى يجب مراعاتها.
00:05:59أولاً وقبل كل شيء، بما أن هذا كود كتبه وكيل، فمن الواضح أنه غير مختبر وغير آمن.
00:06:06لذلك خططت Docker لتشغيل هذا بالفعل في بيئة معزولة (sandbox).
00:06:11وبما أنهم يوفرون بالفعل حاويات Docker، فقد كان هذا أمرًا بديهيًا بالنسبة لهم.
00:06:17ينتهي هذا النهج بتقديم ثلاث فوائد رئيسية.
00:06:21أولاً وقبل كل شيء، إنه آمن تمامًا، لأن هذه هي الفائدة الرئيسية للعزل.
00:06:27لا يسبب أي ضرر فعلي لنظامك.
00:06:29ثم هناك كل كفاءة الرموز والأدوات التي كنا نتحدث عنها حيث لا يجب إرسال الأداة التي يستخدمها إلى النموذج في كل طلب، يحتاج النموذج فقط إلى معرفة أداة وضع كود جديدة واحدة.
00:06:43لذلك بدون وضع الكود، إذا كنت تستخدم، على سبيل المثال، هذه الأدوات الثلاثة فقط، وهي تعمل بشكل متكرر، فإن سياق تلك الـ 47 أداة الأخرى يذهب أيضًا جنبًا إلى جنب مع الأدوات الثلاثة التي نستخدمها بالفعل.
00:07:00ولكن مع وضع الكود، ما يحدث هو أن الوكيل يكتب أداة
00:07:07الآن، السبب الذي كنت أبحث من أجله في مستودعات GitHub هذه هو أن أتمكن من اكتشاف أدوات مفتوحة المصدر جديدة لأضعها في فيديوهاتي.
00:07:14وما أفعله عادة هو إجراء عدة استدعاءات باستخدام أداة البحث عن مستودعات GitHub.
00:07:19أكتب فقط كلمات مفتاحية مختلفة للبحث عن الأدوات.
00:07:21لذلك قدمت هذا إلى كود Claude وقد جمع كل تلك الاستدعاءات المختلفة للأدوات في أداة واحدة تبحث في المستودعات بناءً على أي كلمات مفتاحية أعطيها إياها.
00:07:29يمكنك أن ترى أنه حتى هنا بدون وضع الكود، تقوم Docker بالفعل بتشغيل استعلامات متعددة.
00:07:34وهذا ما أردت إصلاحه.
00:07:35الأداة التي أنشأتها كانت تسمى
00:07:37وبعد إنشاء الأداة، استخدمت أداة MCP exec لتشغيلها بالفعل.
00:07:41لقد أعطتني أساسًا 29 مستودعًا فريدًا بالبحث بست كلمات مفتاحية مختلفة، لكن النتائج تم إرجاعها مباشرة في الاستجابة وفي الطرفية، مما يعني أن جميع النتائج كانت تُعاد داخل نافذة السياق.
00:07:53لإصلاح هذا، أخبرتها أنه يجب أن تكتب كل شيء إلى ملف وأن النموذج يجب أن يحصل فقط على وصف المستودعات.
00:08:00لا حاجة لإعطاء أي نجوم أو أي شيء آخر في هذا الشأن.
00:08:03وقد غيرت الأداة وكتبت كل تلك النتائج إلى ملف نصي في مستودعي بحيث إذا أردت البحث عن شيء محدد حول مستودع واحد، يمكنني القيام بذلك بالرجوع إلى الملف النصي.
00:08:13الآن هناك شيء واحد أود رؤيته يتم تنفيذه، وهو طريقة لحفظ وإعادة استخدام هذه الأداة في الوقت الحالي.
00:08:19الخيار الوحيد هو حفظها يدويًا كملف.
00:08:22بعد ذلك طلبت منها البحث عن Notion MCP.
00:08:24بمجرد الاتصال، سألت عما إذا كان يمكنها إنشاء أداة تقوم بإخراج نتائج بحث GitHub مباشرة إلى Notion بدلاً من استخدام ملف نصي.
00:08:32ومرة أخرى، باستخدام وضع الكود، قامت بالفعل بإنشاء أداة GitHub to Notion التي ستسمح لي بلصق النتائج في Notion..
00:08:40وبعد تشغيل ذلك، كانت هناك بعض المشكلات الصغيرة التي كان عليّ إصلاحها.
00:08:44ولكن بشكل أساسي، لدي الآن قاعدة البيانات هذه في Notion.
00:08:48إنها مبرمجة بشكل ثابت.
00:08:49لذا، أي استعلام أقدمه، ستنتقل مباشرة وتدخل النتائج في قاعدة البيانات هذه وفقًا للحقول المختلفة..
00:08:55وستتضمن حتى التاريخ حتى أتمكن من التصفية بسهولة والبحث فقط عن النتائج التي أريدها بالفعل.
00:09:01يعرف النموذج فقط اسم ووصف مستودع GitHub الذي يحصل عليه في كل مرة.
00:09:05لا يحصل على أي شيء آخر، ولكن بقية المعلومات محفوظة هنا.
00:09:09بصراحة، إذا تصفحت هذا الكتالوج، ستحصل على فكرة واحدة على الأقل عن بروتوكولات MCP التي يمكنك ربطها معًا لإنشاء سير عمل مذهل.
00:09:17وفي الوقت نفسه، فإنك توفر الرموز وتحافظ على أداء وكيل الذكاء الاصطناعي الخاص بك.
00:09:22البدء بها سهل جدًا بصراحة.
00:09:24تحتاج إلى تحديث إصدار Docker الخاص بك.
00:09:27ولكن إذا لم يكن لديك بعد، فقد تكون معطلة في الميزات التجريبية.
00:09:31لذا تأكد من تمكين مجموعة أدوات Docker MCP هذه..
00:09:34بخلاف ذلك، سيكون لديك كتالوجك وهذه الميزات الجديدة ممكّنة افتراضيًا.
00:09:38لذا كل ما عليك فعله هو توصيل عميلك ويمكنك البدء بها تقريبًا.
00:09:42هذا يقودنا إلى نهاية هذا الفيديو.
00:09:44إذا كنت ترغب في دعم القناة ومساعدتنا في الاستمرار في صنع فيديوهات كهذه، يمكنك القيام بذلك باستخدام زر الشكر الفائق أدناه.
00:09:51كالعادة، شكرًا لكم على المشاهدة، وأراكم في الفيديو القادم..

Key Takeaway

قدمت Docker حلاً مبتكرًا لمشكلات قابلية التوسع وكفاءة الرموز في بروتوكولات MCP للذكاء الاصطناعي من خلال تمكين الإدارة الديناميكية للأدوات ووضع الكود الآمن.

Highlights

قدمت Docker حلاً مبتكرًا لمشكلة تضخم السياق في بروتوكولات MCP للذكاء الاصطناعي.

أطلقت Docker "كتالوج MCP" و"بوابة MCP" لإدارة خوادم وأدوات الذكاء الاصطناعي بشكل ديناميكي وفعال.

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

يتم تشغيل الكود الذي ينشئه الوكلاء في بيئة معزولة (sandbox) باستخدام حاويات Docker لضمان الأمان التام.

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

Timeline

مشكلة بروتوكولات MCP وتطورها

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

حل Docker لمشكلة MCP

توصلت Docker إلى حل مبتكر لمعالجة المشكلات الحرجة لبروتوكولات MCP، خاصة فيما يتعلق بتضخم السياق. قدمت Docker طريقة جديدة تمامًا لاستخدام MCPs، تعتمد على "وضع ديناميكي" يسمح بتوفير كبير في الرموز. هذا الحل يسرع عمل وكلاء الذكاء الاصطناعي ويمكّن من إنشاء أنواع جديدة تمامًا من الأتمتة. يُعد هذا الإنجاز خطوة مهمة نحو تحسين كفاءة وقابلية التوسع في تطبيقات الذكاء الاصطناعي.

التوقف عن الترميز الثابت لبيئة الوكلاء

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

كتالوج وبوابة Docker MCP

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

الأدوات الجديدة واختيار الأدوات الديناميكي

أضافت Docker أدوات جديدة مثل MCP find و add و remove للعثور على خوادم MCP وإدارتها. تم تقديم مثال باستخدام أداة GitHub MCP للبحث عن المستودعات، حيث يعيد نموذج اللغة الكبير (LLM) جميع التفاصيل حول المستودعات (الرابط، النجوم، الوصف، تاريخ النشر) إلى نافذة السياق. هذه التفاصيل الزائدة، بالإضافة إلى تعريفات الأدوات غير المستخدمة، تؤدي إلى تضخم نافذة السياق بسرعة، مما يقلل من كفاءة الرموز. تعمل بوابة MCP على تقديم الأدوات المفيدة فقط، مما يحافظ على سياق الوكيل نظيفًا وفعالًا.

وضع الكود (Code Mode) في Docker

قدمت Docker "وضع الكود" كحل ثوري لمشكلة استخدام MCPs بشكل خاطئ، وهو ما أشارت إليه Cloudflare سابقًا. يسمح وضع الكود لوكلاء الذكاء الاصطناعي بالبرمجة مباشرة باستخدام أدوات MCP، مما يعني أنهم يأخذون الأدوات وينفذونها في الكود. يقوم وضع الكود بإنشاء أداة تدعم JavaScript يمكنها استدعاء أدوات MCP أخرى، مما يفتح إمكانيات جديدة تمامًا للأتمتة. لضمان الأمان، تخطط Docker لتشغيل هذا الكود الذي ينشئه الوكيل في بيئة معزولة (sandbox) باستخدام حاويات Docker، مما يوفر أمانًا كاملاً وكفاءة في الرموز.

أمثلة عملية لوضع الكود: البحث في GitHub والتكامل مع Notion

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

البدء والميزات المستقبلية

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

Community Posts

View all posts