بناء أنظمة متعددة الوكلاء الذكية باستخدام نموذج PEER: دليل برمجي شامل

هذا البرنامج التعليمي العملي يشرح كيفية بناء نظام متعدد الوكلاء قوي يعتمد على نموذج PEER (التخطيط، التنفيذ، التعبير، المراجعة) باستخدام Google Colab/Notebook. سنقوم بدمج وكلاء متخصصين في أدوار مختلفة، مستفيدين من نموذج جيميني 1.5 فلاش من جوجل عبر مفتاح API مجاني. سنلاحظ كيف يتعاون كل وكيل لحل المهام المعقدة في مجالات متنوعة مثل التمويل والتكنولوجيا والاستراتيجية الإبداعية. سنتعلم من خلال هذا البرنامج التعليمي بنية النظام، وسير العمل، والتطوير الإعتباري الذي يدعم نتائج الذكاء الاصطناعي عالية الجودة.

1. الإعداد والتركيب:

  • تثبيت المكتبات: أولاً، نقوم بتثبيت المكتبات اللازمة، بما في ذلك agentUniverse و google-generativeai:
pip install agentUniverse google-generativeai python-dotenv pydantic
  • استيراد الوحدات: نقوم باستيراد الوحدات الضرورية:
import os
import asyncio
from typing import Dict, List, Any, Optional
from dataclasses import dataclass
from enum import Enum
import json
import time
import google.generativeai as genai
  • تهيئة مفتاح API: قم بتعيين مفتاح API الخاص بك من جوجل جيميني:
GEMINI_API_KEY = 'ضع مفتاح API الخاص بك هنا'
genai.configure(api_key=GEMINI_API_KEY)

2. تعريف أدوار الوكلاء والمهام:

  • أدوار الوكلاء: نعرف أربعة أدوار متميزة للوكلاء باستخدام Enum: المخطط (PLANNER)، المنفذ (EXECUTOR)، المعبر (EXPRESSER)، والمراجع (REVIEWER).
class AgentRole(Enum):
    PLANNER = "planner"
    EXECUTOR = "executor"
    EXPRESSER = "expresser"
    REVIEWER = "reviewer"
  • فئة المهمة (Task): نعرف فئة بيانات dataclass لإدارة بيانات المهام، بما في ذلك الحالة، والنتيجة، والتعليقات.
@dataclass
class Task:
    id: str
    description: str
    context: Dict[str, Any]
    status: str = "pending"
    result: Optional[str] = None
    feedback: Optional[str] = None
  • فئة الوكيل الأساسية (BaseAgent): هذه الفئة هي النموذج الأساسي لجميع الوكلاء، وتمكنهم من معالجة المهام، واستدعاء واجهة برمجة التطبيقات Gemini مع مطالبات محددة لكل دور، وتخزين النتائج في الذاكرة، والعودة إلى استجابات محددة مسبقاً في حال فشل واجهة برمجة التطبيقات.
class BaseAgent:
    # ... (كود الفئة كما هو موضح في النص الأصلي) ...

3. تنفيذ نموذج PEER:

  • فئة وكيل PEER (PEERAgent): نقوم بتنفيذ نموذج PEER (التخطيط، التنفيذ، التعبير، المراجعة) من خلال فئة PEERAgent، والتي تنسق بين أربعة وكلاء متخصصين لحل المشكلات التعاونية. تدور كل تكرار خلال جميع المراحل الأربع، مع تحسين ناتج المهمة استنادًا إلى التخطيط والتنفيذ والتعبير والمراجعة المنظمة. نسمح بما يصل إلى ثلاث تكرارات، مع الانتهاء مبكرًا إذا أشارت المراجعة إلى اكتمال عالي الجودة، مما يجعل سير العمل متكيّفًا وفعالًا.
class PEERAgent:
    # ... (كود الفئة كما هو موضح في النص الأصلي) ...

4. منسق الوكلاء المتعددين (MultiAgentOrchestrator):

  • فئة منسق الوكلاء المتعددين: نقوم بتجميع كل شيء معًا من خلال MultiAgentOrchestrator، الذي ينسق نظام PEER، وعند الحاجة، يستدعي وكلاء محددين للمجال مثل المحلل المالي أو الخبير التقني. يتعامل هذا المنسق مع كل مهمة معقدة من خلال الاستفادة أولاً من نموذج PEER، ثم تحسين النتائج بمعرفة متخصصة.
class MultiAgentOrchestrator:
    # ... (كود الفئة كما هو موضح في النص الأصلي) ...

5. قاعدة المعرفة (KnowledgeBase):

  • قاعدة المعرفة البسيطة: نعرف قاعدة بيانات بسيطة لدعم الاستدلال على حسب المجال.
class KnowledgeBase:
    # ... (كود الفئة كما هو موضح في النص الأصلي) ...

6. عرض النتائج وتشغيل العرض التوضيحي:

  • دالة تشغيل العرض التوضيحي المتقدم (run_advanced_demo): في هذه الدالة، نختبر خط الأنابيب الكامل بثلاث مهام (مالية، تقنية، إبداعية)، مع التقاط أداء الوكيل ومقاييس التكرار لإظهار قوة نظام الوكلاء المتعددين وقدرته على التكيّف.
async def run_advanced_demo():
    # ... (كود الدالة كما هو موضح في النص الأصلي) ...

7. شرح نموذج PEER والهندسة المعمارية:

  • شرح نموذج PEER (explain_peer_pattern): يوضح هذا الجزء نموذج PEER بالتفصيل.
  • عرض الهندسة المعمارية (show_architecture): يعرض هذا الجزء رسم تخطيطي مبسط لهندسة نظام الوكلاء المتعددين.

8. الخلاصة:

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

(ملاحظة: تم حذف أجزاء من الكود الطويلة لتسهيل القراءة. الكود الكامل متوفر في الروابط المذكورة في النص الأصلي.)

المصدر: MarkTechPost