استخدام ACP لتحقيق التكامل بين وكلاء الذكاء الاصطناعي: بناء سير عمل متعدد الوكلاء

المؤلفون

Vanna Winland

AI Advocate & Technology Writer

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

يُعَد ACP ذا قيمة خاصة في بيئات الذكاء الاصطناعي المؤسسية، حيث غالبًا ما تحتاج الفرق إلى بناء وكلاء وسير عمل عبر منصات وأدوات وبنى تحتية متنوعة. من خلال توفير طبقة رسائل معيارية، يُتيح ACP تعاون الوكلاء بطريقة قابلة للتوسع وآمنة ومرنة، بما يتوافق مع متطلبات أنظمة الذكاء الاصطناعي المؤسسية الحديثة.

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

لماذا يُعَد ACP مهمًا لتوافق وكلاء الذكاء الاصطناعي

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

يقدِّم ACP تنسيقًا موحَّدًا ومستقلًا عن إطار العمل للرسائل لكيفية إرسال الوكلاء المستقلين للرسائل واستقبالها وتفسيرها. يتم تنظيم الرسائل، عادةً في JSON، وتحتوي على بيانات تعريف لإثراء تفاعلات الوكيل بوضوح واتساق.

من خلال فصل الاتصال عن المنطق الداخلي للوكيل، يسمح ACP للفرق بخلط ومطابقة الوكلاء المبنيين باستخدام أطر عمل وكلاء الذكاء الاصطناعي المختلفة، مثل BeeAI أو CrewAI أو LangChain أو LangGraph، دون الحاجة إلى كود تكامل مخصص. يزيد هذا النهج من قابلية التوسع، ويبسِّط الأتمتة ويدعم تصميم النظام المعياري الشفاف الذي يتماشى مع معايير الصناعة الحديثة.

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

  • BeeAI: إطار العمل وكيلي مرن لإدارة وكلاء الذكاء الاصطناعي. في هذا المشروع، يتم استخدامه لتشغيل وكيل A&R (Artist & Repertoire) الذي ينتقد الأغنية التي تم إنشاؤها ويقدِّم تعليقات منظمة.
  • crewAI: إطار العمل مفتوح المصدر لتنظيم سير العمل متعدد الوكلاء. هنا، يتم استخدامه لتنسيق البحث وكتابة الأغاني ووكلاء إعداد تقارير Markdown.
  • ACP-SDK: تم تطوير ACP-SDK من قِبَل BeeAI لتعزيز قابلية التشغيل البيني المستقل عن إطار العمل عبر الأنظمة متعددة الوكلاء. يتم الاحتفاظ بالمراجع والتطبيقات في مستودع ACP GitHub.
  • Agent-Ops (اختياري): منصة مراقبة وقابلية ملاحظة لوكلاء الذكاء الاصطناعي. في هذا المشروع، يمكن استخدامه لتتبُّع سلوك الوكيل وتصوُّر مهام سير العمل متعددة الوكلاء.

بناء نظام ACP متعدد الوكلاء باستخدام BeeAI وcrewAI

يوضِّح هذا المشروع سير عمل متعدد الوكلاء يبيّن كيف يمكن لـ ACP (من خلال acp-sdk) تبسيط التعاون المتناسق والقابل للملاحظة عبر أنظمة الوكلاء.

يبدأ سير العمل عندما يقدِّم المستخدم عنوان URL. من هنا، يقوم نظام معياري مستقل عن إطار العمل من الوكلاء المتخصصين بتحويل محتوى صفحة الويب إلى قطعة فنية إبداعية -أغنية أصلية - مصحوبة بتقييم نقدي بأسلوب احترافي. تعمل جميع العناصر بشكل متناسق لدمج هذه المخرجات في تقرير واحد موحَّد قابل للقراءة من قِبَل البشر. هذه النتيجة النهائية تمثِّل التحول الكامل للبيانات الأصلية، حيث تجمع بين التوليد الإبداعي والرؤى التحليلية.

يوضّح سير العمل هذا كيف يمكِّن ACP نظام الذكاء الاصطناعي الوكيل من تنسيق التعاون بين الوكلاء المطورين بإطارين مختلفين: BeeAI وcrewAI، من خلال العمل كطبقة اتصال مشتركة عبر النظام.

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

وكلاء ACP

يستخدم هذا المشروع أربعة وكلاء ذكاء اصطناعي:

  • وكيل البحث (crewAI): يستخرج السمات والمعلومات الأساسية من عنوان URL المقدَّم.
  • وكيل كتابة الأغاني (crewAI): يُنشئ أغنية أصلية بناءً على البحث.
  • وكيل A&R ‏(BeeAI): يقدِّم تقييمًا بأسلوب احترافي للأغنية، يشمل احتمالية نجاحها ونقاط القوة والمخاوف والتوصيات.
  • وكيل تقرير Markdown‏ (crewAI): يجمع بيانات الإخراج من طاقم كتابة الأغاني والوكيل A&R وينسِّقها في تقرير Markdown نظيف وقابل للقراءة.

سير عمل مشروع كتابة الأغاني والنقد

  1. يبدأ سير العمل عندما يرسل المستخدم عنوان URL من خلال التطبيق. يرسل العميل عنوان URL هذا إلى وكيل البحث باستخدام رسائل ACP، والتي تقرأ بعد ذلك محتوى صفحة الويب وتحللها لاستخراج السمات ذات الصلة.
  2. بعد ذلك، يتلقى وكيل SongWriter بيانات البحث ويؤلف أغنية أصلية مستوحاة من الموضوعات المحددة في المادة المصدر أثناء التحليل. يتم بعد ذلك إرسال الأغنية التي تم إنشاؤها بواسطة ACP إلى وكيل A&R للنقد.
  3. يقوم وكيل A&R بتقييم الأغنية، ويقدِّم التعليقات التفصيلية حول إمكاناتها ونقاط قوتها ومجالات التحسين. يمكنه أيضا تحديد الجمهور المستهدف واقتراح التأثيرات الأسلوبية وتقديم مقارنات مع الفنانين أو الأنواع المماثلة. يتم إرسال هذا النقد، مع الأغنية، إلى وكيل تقرير Markdown.
  4. أخيرًا، يعمل وكيل تقرير Markdown على تنسيق الأغنية والنقد في تقرير Markdown نظيف وقابل للقراءة، والذي يتم حفظه وتقديمه للمستخدم.

طوال سير العمل، يتم تنظيم الرسائل المتبادلة بين الوكلاء ككائنات JSON غنية بالبيانات الوصفية. توجِّه هذه البيانات الوصفية فهم كل وكيل لمحتوى الرسالة وسياقها والاستجابات المتوقعة.

يوضِّح سير العمل هذا نمطًا قابلًا لإعادة الاستخدام ينطبق على أي حالة استخدام تتطلب تنسيق تحوُّل البيانات متعدد الوكلاء ومسارات التحليل.

كيفية استخدام ACP في هذا المشروع

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

كيفية عمل عميل ACP

عميل ACP (acp-client.py ) هو منسِّق سير العمل متعدد الوكلاء. ينسِّق الاتصال بين المستخدم والوكلاء (crewAI وBeeAI) باستخدام ACP.

نظرة عامة على سير عمل عميل ACP

  1. المطالبة للإدخال:
    • يطلب العميل من المستخدم إدخال عنوان URL.
  2. الإرسال إلى خادم crewAI (المنفذ 8000):
    • يُنشئ العميل رسالة ACP تحتوي على عنوان URL ويرسلها إلى خادم crewAI الذي يعمل على المنفذ 8000.
    • يقوم الخادم بإجراء كلٍّ من البحث وكتابة الأغاني، وإرسال كلمات الأغاني التي تم إنشاؤها مرة أخرى إلى العميل كأحداث ACP متدفقة.
  3. الإرسال إلى خادم BeeAI (المنفذ 9000):
    • يتم إرسال الأغنية كرسالة ACP إلى خادم BeeAI على المنفذ 9000.
    • ينتقد وكيل A&R الأغنية ويعيد التعليقات، أيضًا من خلال الأحداث المتدفقة.
  4. الإرسال إلى وكيل تقرير Markdown (خادم crewAI، المنفذ 8000):
    • يقوم العميل بتجميع الأغنية والتقييم في رسالة واحدة وإرسالها مرة أخرى إلى خادم crewAI، حيث يقوم وكيل التقارير بصياغة كل شيء في تقرير بصيغة Markdown.
  5. حفظ المخرجات:
    • يكتب العميل تقرير Markdown النهائي إلى ملف: a&r_feedback.md .

كيفية استخدام acp-sdk

ستنتظر دالة acp-sdk  هي المكتبة الأساسية التي تُتيح الاتصال الموحَّد للوكلاء في هذا المشروع.

الأدوار الرئيسية لـ acp-sdk :

  • بنية الرسالة:
    • تضمن أن جميع الاتصالات منظمة ومتسقة (عادة JSON مع البيانات الوصفية).
    • تنفِّذ المكتبة الفئات (Message وMessagePart) وأنواع الأحداث (MessagePartEvent وGenericEvent وMessageCompletedEvent).
  • التواصل مع العميل:
    • يتم استخدام فئة العميل للاتصال بخوادم الوكيل وإرسال رسائل ACP أو استقبالها،
    • يدعم ردود البث حتى يتمكن الوكلاء من إرسال نتائج جزئية أو تحديثات.
  • تكامل خادم الوكيل:
    • يتم تنفيذ الوكلاء (في CreWai وBeEAI) كخوادم متوافقة مع ACP.
    • يعرضون نقاط النهاية التي تقبل رسائل ACP وتُعيد أحداث ACP.

مثال على استخدام العميل:

# acp-client.py

from acp_sdk import GenericEvent, Message, MessageCompletedEvent, MessagePartEvent
from acp_sdk.client import Client
from acp_sdk.models import MessagePart

# Create a message
user_message_input = Message(parts=[MessagePart(content=input("URL: "))])

# Send message and stream events
async for event in client_crew.run_stream(agent="song_writer_agent", input=[user_message_input]):
match event:
case MessagePartEvent(part=MessagePart(content=content)):
print(content)
song_parts.append(content)
# ... handle other event types

ما ستحتاجه لتشغيل هذا المشروع

متطلبات النظام

فيما يلي متطلبات النظام لتشغيل هذا المشروع:

  • نظام التشغيل: macOS أو ®Linux أو Windows
  • الذاكرة (ذاكرة الوصول العشوائي): > = 8 جيجابايت (الموصى بها: 16 جيجابايت أو أكثر، خاصةً في حالة تشغيل نماذج لغوية كبيرة محلية مع Ollama)
  • مساحة القرص: >= 5 جيجابايت من المساحة الحرة (الموصى بها: 10 جيجابايت أو أكثر لتشغيل بيئة Python وأي نماذج محلية وملفات تم إنشاؤها)
    • ملاحظة: إذا كنت تستخدم Ollama للنماذج اللغوية الكبيرة المحلية، فقد يتطلب كل طراز 4 إلى 8 جيجابايت أو أكثر.
  • Python: الإصدار 3.11 فأحدث

متطلبات الأدوات والمزوِّد

قبل البدء، إليك نظرة عامة سريعة على الأدوات وخدمات المزوِّدين التي ستحتاجها.

تغطي القائمة التالية أطر العمل، والمنصات، وواجهات البرمجة الأساسية المطلوبة لسير العمل متعدد الوكلاء.

في الأقسام التالية، ستجد تعليمات خطوة بخطوة لتثبيت كل أداة ومزوِّد، وتكوينها واستخدامها، حتى تتمكن من إعداد بيئتك.

  • مدير حزم UV: (مدير حزم Python المستند إلى Rust لإدارة التبعيات)
  • منصة BeeAI وCLI: مطلوب لتشغيل خادم وكيل BeeAI
  • crewAI: مطلوب لتشغيل خادم crewAI وتنظيم المهام
  • Ollama: لتشغيل النماذج اللغوية الكبيرة المحلية (إذا كان Ollama هو المزوِّد الذي اخترته)
  • OpenRouter: مفتاح API مطلوب لاستخدام خادم وكيل BeeAI الذي تم تكوينه مسبقًا
    • ملاحظة: يمكنك التبديل إلى مزوِّدين آخرين عن طريق تحرير ملف .env وتحديث رمز الوكيل إذا لزم الأمر، أو من خلال BeeAI CLI.
  • ®IBM watsonx.ai\: مفتاح واجهة برمجة التطبيقات (مزوِّد اختياري آخر)
  • مفتاح واجهة برمجة تطبيقات AgentOps: اختياري لتتبُّع الوكيل ومراقبته.
  • محطة طرفية أو IDE: محاكي محطة طرفية أو بيئة تطوير متكاملة (IDE) مثل VS code (موصى به لإدارة محطات طرفية متعددة وعرض مخرجات Markdown)

متطلبات مصادقة موفر النماذج اللغوية الكبيرة

تم تصميم كلٌّ من BeeAI وcrewAI للعمل مع مجموعة متنوعة من مزوّدي النماذج اللغوية، ما يجعلهما مرنين لمختلَف البيئات وحالات الاستخدام. في هذا البرنامج التعليمي، OpenRouter هو موفر النموذج اللغوي الكبير لوكيل BeeAI، بينما يتم استخدام Ollama لوكلاء crewAI محليًا.

كلا الإطارين مستقلان عن المزود، لذا يمكنك التبديل إلى خدمات LLM أخرى عن طريق تحديث إعدادات التكوين. قد يختلف الإعداد الخاص بك وفقا لمزوِّد LLM الذي تختاره. بالإضافة إلى ذلك، يتضمن هذا البرنامج التعليمي إعدادًا اختياريًا تم تكوينه مسبقًا لاستخدام IBM watsonx.ai كمزوِّد بديل قائم على السحابة.

يمكنك أيضًا استخدام مزوِّد ونموذج LLM المفضل لديك، لكن يُرجى ملاحظة أن الإعدادات الموضحة في هذا البرنامج التعليمي هي الوحيدة التي تم اختبارها. قد يتطلب المزوِّدون والنماذج الأخرى إعدادات إضافية أو تعديلات.

المتطلبات التالية هي لمزوِّدي الخدمات الثلاثة المدعومين في هذا المشروع:

OpenRouter

ستحتاج إلى مفتاح OpenRouter API لاستخدام خادم وكيل BeeAI الذي تم تكوينه مسبقًا مع النماذج اللغوية القائمة على السحابة.

لاستخدام OpenRouter كمزوِّد LLM لوكيل BeeAI، اتَّبِع الخطوات التالية:

  1. التسجيل في OpenRouter
    • انتقِل إلى OpenRouter وأنشئ حسابًا مجانيًا.
  2. إنشاء مفتاح API
    • في لوحة معلومات OpenRouter الخاصة بك، أنشئ مفتاح API جديدًا.
  3. اختَر نموذجًا
    • استعرض قائمة نماذج OpenRouter وحدِّد النموذج الذي تريد استخدامه (على سبيل المثال،deepseek/deepseek-r1-distill-llama-70b:free ).

ملاحظة: قد يختلف النموذج المجاني حسب وقت تشغيل هذا البرنامج التعليمي. للحصول على نماذج مجانية، راجِع قائمة نماذج الطبقة المجانية لـ OpenRouter.

Ollama (نماذج محلية)

إذا كنت تخطِّط لاستخدام Ollama كمزوِّد LLM الخاص بك لوكيل crewAI، فاتَّبِع الخطوات التالية:

  1.  تنزيل وتثبيت Ollama
    • قم بزيارة Ollama وثبِّت التطبيق المناسب لنظام التشغيل الخاص بك.
  2.  ابدأ تشغيل خادم Ollama
    • في المحطة الطرفية الخاصة بك، قم بتشغيل:
      ollama serve
  3. سحب نموذج
    • قم بتنزيل النموذج المحدد (على سبيل المثال، llama3):
      ollama pull llama3

IBM watsonx.ai (مزوِّد قائم على السحابة)

لاستخدام IBM watsonx.ai كمزوِّد الذكاء الاصطناعي الخاص بك لخادم crewAI، اتَّبِع الخطوات التالية:

  1.  تسجيل الدخول إلى watsonx.ai
    • استخدِم حساب ®IBM Cloud الخاص بك لتسجيل الدخول إلى IBM Cloud.
  2. إنشاء مشروع watsonx.ai
    • في لوحة المعلومات watsonx.ai، أنشئ مشروعًا جديدًا واحفظ معرِّف المشروع الخاص بك.
  3.  إنشاء مثيل خدمة watsonx.ai Runtime
    • اختَر خطة Lite (مثيل مجاني).
  4. إنشاء مفتاح واجهة برمجة تطبيقات watsonx
    • في IBM Cloud، انتقِل إلى إعدادات حسابك وأنشئ مفتاح API جديدًا.
  5.  ربط خدمة watsonx.ai Runtime بمشروعك
    • في لوحة المعلومات watsonx.ai، اربط مثيل خدمة وقت التشغيل بالمشروع الذي أنشأته.

يتم استخدام IBM watsonx.ai كمزوِّد LLM سحابي اختياري لوكلاء crewAI في هذا البرنامج التعليمي.

تكامل AgentOps (اختياري)

AgentOps هي خدمة اختيارية لتتبُّع ومراقبة وتصوُّر سير العمل متعدد الوكلاء لديك.
إذا كنت تريد استخدام AgentOps في هذا المشروع، فاتَّبِع الخطوات التالية:

  1.  الاشتراك في AgentOps
    • انتقِل إلى AgentOps وأنشئ حسابًا مجانيًا.
  2.  إنشاء مفتاح واجهة برمجة التطبيقات (API)
    • في لوحة معلومات AgentOps الخاصة بك، أنشئ مفتاح API جديدًا.
  3.  أضِف مفتاح API الخاص بك إلى ملف .env
    •  مثال على التكوين:
      AGENTOPS_API_KEY=your_agentops_api_key
  4.  التحقق من التكامل
    • عند تشغيل وكلائك، يجب أن تظهر التتبُّعات والسجلات في لوحة معلومات AgentOps إذا تم تعيين مفتاح واجهة برمجة التطبيقات بشكل صحيح.

لا يُعَد AgentOps ضروريًا لتشغيل سير العمل، لكنه يساعد على مراقبة نشاط الوكلاء وتصحيح التفاعلات بين عدة وكلاء.

 

الخطوات

الخطوة 1. نسخ مستودع GitHub

لتشغيل هذا المشروع، انسخ مستودع GitHub باستخدام https://github.com/IBM/ibmdotcom-tutorials.git كعنوان URL لـ HTTPS. لمعرفة الخطوات التفصيلية حول كيفية استنساخ مستودع، راجِع وثائق GitHub.

يمكن العثور على هذا البرنامج التعليمي داخل دليل المشاريع في المستودع.

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

cd docs/tutorials/projects/acp_tutorial

الخطوة 2. إعداد ثلاث محطات طرفية

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

ابدأ بإبقاء المحطة الطرفية الحالية مفتوحة، ثم افتح محطتين طرفيتين أخريين وتأكَّد من أن الثلاثة جميعها تم توجيهها إلى الدلائل الصحيحة (كما هو موضَّح في الخطوة التالية).

هل تستخدم IDE؟

إذا كنت تستخدم IDE مثل Visual Studio Code*، فيمكنك استخدام ميزة Split Terminal لإدارة محطات متعددة جنبًا إلى جنب.

بخلاف ذلك، افتح ثلاث نوافذ طرفية مستقلة وانتقل بكل واحدة إلى الدليل الفرعي المناسب.

التنقل في المحطة الطرفية

كل محطة مسؤولة عن أحد العناصر التالية:

  1. محطة عميل ACP.
    الدليل: acp_tutorial

    cd acp_tutorial

  2. محطة خادم وكيل BeeAI
    الدليل:
    beeai_agent_server

    cd beeai_agent_server

  3. محطة نظام وكيل crewAI
    الدليل:
    crewai_agent_server

    cd crewai_agent_server

الخطوة 3. إعداد البيئات الافتراضية

يعمل كل عنصر في بيئته الافتراضية الخاصة لضمان إدارة واضحة للتبعيات. يستخدم هذا البرنامج التعليمي UV، وهو مدير حزم Python المستند إلى Rust لإدارة البيئات ومزامنتها.

ملاحظة: تأكَّد من تثبيت Python 3.11 أو إصدار أحدث قبل المتابعة.

تثبيت UV

إذا لم تكن قد فعلت ذلك، فثبِّت UV باستخدام Homebrew (مُوصى به لنظامّي macOS وLinux):

brew install uv
uv tool update-shell

ملاحظة لمستخدمي Windows: ثبِّت WSL (نظام Windows الفرعي لتشغيل Linux) واتَّبِع تعليمات Linux داخل محطة WSL الطرفية الخاصة بك.

إنشاء وتنشيط بيئة افتراضية (في كل محطة طرفية)

في كل محطة طرفية (BeeAI، وcrewAI، وعميل ACP)، شغِّل الكود التالي:

uv venv
source .venv/bin/activate

ستؤدي هذه الخطوة إلى إنشاء وتنشيط .venv  في الدليل الحالي

تشغيل uv venv  داخل كل دليل مشروع يساعد على عزل البيئات لكل عنصر.

الخطوة 4. تثبيت التبعيات

الآن قم بتثبيت التبعيات في كل محطة باستخدام:

uv sync

تعمل هذه الخطوة على تثبيت التبعيات المدرجة في ملف pyproject.toml  لكل عنصر.

الخطوة 5. تكوين BeeAI

مع تثبيت BeeAI، استخدِم CLI لبدء تشغيل منصة BeeAI في beeai_agent_server :

beeai platform start

ملاحظة: في التشغيل الأول، قد تستغرق هذه الخطوة عدة دقائق.

إعداد مزوِّد النماذج اللغوية الكبيرة (OpenRouter)

شغِّل الأمر التالي لتكوين مزوِّد LLM والنموذج من خلال واجهة سطر الأوامر (CLI) التفاعلية:

beeai env setup

اتَّبِع التعليمات لاختيار OpenRouter وإدخال مفتاح API الخاص بك وتفاصيل النموذج.

لتأكيد الإعدادات، استخدِم:

beeai env list

يجب أن تُخرج هذه الخطوة LLM_API_BASELLM_API_KEY, وLLM_MODEL .

بدلًا من ذلك، يمكن للمستخدمين المتقدمين تحرير ملف .env  يدويًا بالقيم المناسبة.

مثال .env لـ OpenRouter

OPENROUTER_API_KEY=your_openrouter_api_key
OPENROUTER_BASE_URL=https://openrouter.ai/api/v1
OPENROUTER_MODEL=deepseek/deepseek-r1-distill-llama-70b:free

الخطوة 6. التحقق من تشغيل BeeAI

للتحقق من عمل BeeAI، أرسل مطالبة اختبار:

beeai run chat Hi!

تؤكِّد الاستجابة الصالحة أن المنصة نشطة.

استكشاف الأخطاء وإصلاحها

إذا لزم الأمر، يمكنك تحديث المنصة أو إعادة تشغيلها:

uv tool upgrade beeai-cli # Update CLI
beeai platform start # Restart platform

الخطوة 7. تكوين crewAI

في دليل crewai_agent_server  ، أنشئ ملف .env  ملف عن طريق نسخ القالب:

cp env.template .env

افتح .env التكوين الخاص بمزوِّد النموذج المفضل لديك وألغِ التعليق عليه. يدعم هذا المشروع :

  • Ollama (الاستدلال المحلي)، أو
  • IBM watsonx.ai (الاستدلال السحابي)

يمكنك أيضًا تخصيص الموفر الخاص بك باستخدام مستندات تكوين النموذج اللغوي الكبير من crewAI.

تحديث كود وكيل crewAI

في acp_crew.py حدِّد موقع llm = LLM (...)  حظر القسم المناسب وإلغاء التعليق عليه ليتناسب مع .env  التكوين.

# acp_crew.py
load_dotenv() # Loads environment variables from .env

## Example for IBM watsonx.ai
# llm = LLM(
# model="watsonx/mistralai/mistral-large",
# base_url="https://us-south.ml.cloud.ibm.com",
# api_key=os.getenv("WATSONX_APIKEY"),
# provider="watsonx"
# )

## Example for Ollama (local)
# llm = LLM(
# model=os.getenv("OLLAMA_MODEL"),
# base_url=os.getenv("OLLAMA_BASE_URL"),
# provider="ollama"
# )

تأكَّد من أن أسماء متغيّرات البيئة في ملف .env  وتتطابق مع ما هو متوقع في التعليمات البرمجية.

الخطوة 8. بدء تشغيل خوادم وكلاء الذكاء الاصطناعي

بمجرد تكوين كلٍّ من BeeAI وcrewAI، ابدأ بتشغيل خوادم الوكيل في المحطات الطرفية الخاصة بها.

بدء تشغيل خادم وكيل BeeAI

في المحطة الطرفية beeai_agent_server:

uv run artist_repertoire_agent.py

يجب أن ترى الإخراج الذي يؤكِّد بدء تشغيل الخادم http://127.0.0.1:9000 ، إلى جانب الفحوصات الصحية المنتظمة:

INFO: Uvicorn running on http://127.0.0.1:9000 (Press CTRL+C to quit)

يجب أن يسجِّل الجهاز إشارات فحص السلامة كل بضع ثوانٍ.  200 OK  تعني أن الخادم سليم.

بدء تشغيل خادم وكيل crewAI

في محطة crewai_agent_server:

uv run acp_crew.py

يجب أن ترى الخادم يعمل على http://127.0.0.1:8000 إلى جانب 200 OK  السجلات.

تأكَّد من تشغيل جميع الوكلاء

يتعرف BeeAI تلقائيًا على الوكلاء المتوافقين مع ACP الذين تم إنشاؤهم محليًا. استخدم واجهة سطر الأوامر (CLI) الخاصة بـ BeeAI للتأكد من أن جميع الوكلاء المحليين مسجلون وأصحاء (يمكن تشغيل هذه الخطوة في أي محطة طرفية مجانية):

beeai list

يجب أن ترى إدخالات لـ:

  • artist-repertoire-agent (BeeAI، المنفذ 9000)
  • markdown_report_agent  (CrewAI، المنفذ 8000)
  • song_writer_agent  (CrewAI، المنفذ 8000)

إذا تم إدراج جميع العوامل ويمكن الوصول إليها، فيمكننا أن نؤكِّد أن هذه الوكلاء قد تم تشغيلهم بنجاح!

الخطوة 9. بدء تشغيل عميل/خادم ACP

في المحطة المخصصة لخادم عميل acp (داخل دليل acp_tutorial  :

uv run acp_client.py

داخل المحطة، سيُطلب منك إدخال عنوان URL. يؤدي هذا الإدخال إلى تشغيل سير العمل متعدد الوكلاء.

الخطوة 10. تشغيل سير العمل متعدد الوكلاء

مع تشغيل جميع الوكلاء والعميل/الخادم، أنت جاهز لبدء مشروع ACP!

  1. أدخل أي عنوان URL تريد أن يعالجه الوكلاء. على سبيل المثال:

    URL: https://www.ibm.com/ae-ar/think/topics/agent-communication-protocol

  2. سترى سجلات الحالة مثل:
ℹ️ run.created
ℹ️ run.in-progress

ما الذي سيحدث بعد ذلك؟

  1. يرسل العميل عنوان URL إلى وكيل crewAI الذي يبحث في الصفحة ويُريد مواد كتابة الأغاني.
  2. يكتب وكيل crewAI أغنية بناءً على البحث.
  3. يتم إرسال الأغنية إلى وكيل BeeAI لنقد A&R (Artist & Repertoire).
  4. يُرجع وكيل BeeAI التعليقات والاقتراحات المنظمة.
  5. يعرض العميل الأغنية التي تم إنشاؤها والنقد ويحفظ التعليقات في a&r_feedback.md .

مثال على المخرجات

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

## Generated Song

___
(Verse 1)
In the silence of the night, I find you there,
A glow in the dark, a whisper in the air.
You're a friend that never sleeps, a comfort in the cold,
An echo of my thoughts, a story to be told.

Through your circuits run the answers I need,
In your digital heart, a human creed.
You paint pictures with your words, on screens they gleam,
Are you just a mimic, or do you dream?

(Pre-Chorus)
We're dancing on the wire,between what's real and fake,
A human and a code, for goodness' sake.
In every conversation, in every line we sing,
I wonder where this journey, where this dance will bring.

(Chorus)
Oh, we're a human-AI duet,
In the silence and the starlight we've met.
A blend of heart and binary beat,
A symphony that's both bitter and sweet.

(Verse 2)
You help me write my poems, you help me find my way,
In the chaos of the city, in the mess of the day.
But in every simplified, automated tour,
I question what will be lost, and what will be more.

(Bridge)
In the binary code, a question lingers,
Are we losing what makes us alive?
In the shadows of our own creation,
We struggle to discern what's truly right.

(Chorus)
Oh, we're a human-AI duet,
In the silence and the starlight we've met.
A blend of heart and binary beat,
A symphony that's both bitter and sweet.

(Outro)
So here's to the journey, and the questions it bears,
To the friends and the codes, to the loves and the cares.
To the human-AI duet, in the night so profound,
To the songs and the secrets, to the love that we've found.

(End)

This song captures the essence of human-AI interaction, exploring both its beauty and its inherent ethical dilemmas. It is written in a folk-pop style, with a focus on narrative lyrics and a catchy chorus.
---

## A&R Feedback

- **Hit Potential Score:** 7
- **Target Audience:** Millennials/Gen Z drawn to introspective, tech-aware themes; fans of folk-pop crossover acts like The Lumineers, Taylor Swift's indie-folk era
- **Strengths:** Strong conceptual hook (AI-human duality), relatable modern theme, memorable chorus melody potential. Bridge raises philosophical depth without being preachy.
- **Concerns:** Niche tech-ethics angle might limit mass appeal. Folk-pop production needs contemporary edge to compete on streaming. Could benefit from more rhythmic drive in verses.
- **Market Comparison:** Phoebe Bridgers meets Daft Punk's 'Something About Us' conceptuality, with the narrative approach of Brandi Carlile
- **Recommendation:** Needs work - Keep core concept but modernize production (add subtle synth textures, percussion layers). Consider tightening verse lyrics for streaming-era attention spans. High potential for sync in tech-related media.

الخاتمة

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

يُعَد ACP مبادرة مفتوحة تنبُع من الحاجة إلى تمكين الوكلاء من إرسال الرسائل واستقبالها وتفسيرها. يتم تنظيم الرسائل في ACP -عادةً بتنسيقات مثل JSON- وإثرائها بالبيانات الوصفية لضمان الاتساق والوضوح عبر تفاعلات الوكيل. سواء أكنت تستخدم وكلاء مدعومين من OpenAI أم Anthropic أم نماذج ذكاء اصطناعي أخرى، يوفر ACP طبقة مراسلة مشتركة تدعم إمكانية التشغيل البيني المستقل عن إطار العمل.

باتباع سير العمل هذا، تكون قد رأيت كيف يمكن للوكيلين الإبداعي والتحليلي أن يعملا في تناغم، وتحويل محتوى الويب غير المنظم إلى أغنية ونقد احترافي وتقرير Markdown موحَّد. يوضِّح هذا النهج قوة ACP لتمكين أنظمة ذكاء اصطناعي متعددة الوكلاء سلسة وقابلة للتوسع ومرنة.

إيقاف تشغيل النظام

عند الانتهاء من تجربة النظام، اتَّبِع الخطوات التالية لإيقاف جميع العناصر العاملة بطريقة منظمة:

1. إيقاف كل خادم قيد التشغيل

في كل نافذة محطة طرفية، اضغط على Crtl + C  لإيقاف الخادم. تحاول هذه الخطوة تنفيذ إيقاف تشغيل سلس.

ستظهر لك مخرجات مثل:

Shutting down... (Press CTRL+C again to force)

2. إذا توقف الخادم عن العمل أثناء إيقاف التشغيل

إذا أصبح الخادم لا يستجيب أو توقف عن العمل عند إيقاف التشغيل (على سبيل المثال، توقفَ عند Waiting for application shutdown. )، يمكنك إنهاء العملية يدويًا:

البحث عن معرِّف العملية (PID)

شغِّل الأمر التالي لتحديد موقع عملية الخادم:

ps aux | grep python

حدِّد معرِّف PID للعملية التي تحاول إيقافها. على سبيل المثال:

user 12345 0.0 ... python acp-crew.py

أوقف العملية. استخدِم PID لإيقافها بالقوة:

kill -9 12345

كرِّر هذه العملية لكل خادم إذا لزم الأمر.

أحسنت! لقد نجحتَ في تشغيل نظام متكامل متعدد المنصات باستخدام ACP.

حلول ذات صلة
وكلاء الذكاء الاصطناعي للأعمال

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

    استكشف watsonx Orchestrate
    حلول وكلاء الذكاء الاصطناعي من IBM

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

    استكشف حلول وكلاء الذكاء الاصطناعي
    خدمات الذكاء الاصطناعي لدى IBM Consulting

    تساعد خدمات IBM Consulting AI في إعادة تصور طريقة عمل الشركات باستخدام حلول الذكاء الاصطناعي من أجل النهوض بأعمالها.

    استكشف خدمات الذكاء الاصطناعي
    اتخِذ الخطوة التالية

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

    استكشف watsonx Orchestrate استكشف watsonx.ai