بناء وكيل ذكاء اصطناعي ذاتي التكيف وقائم على الأهداف باستخدام جوجل جيميني وإطار SAGE
هذا البرنامج التعليمي يرشدك خطوة بخطوة لبناء نظام وكيل ذكاء اصطناعي متطور قائم على إطار SAGE (Self-Adaptive Goal-oriented Execution) باستخدام واجهة برمجة تطبيقات جوجل جيميني. سنتناول كل مكون أساسي من مكونات الإطار: التقييم الذاتي، والتخطيط التكيفي، والتنفيذ القائم على الأهداف، وتكامل الخبرة. من خلال دمج هذه المكونات، نهدف إلى إنشاء وكيل ذكي وقادر على تحسين ذاته، يستطيع تحليل هدف عالي المستوى، وتخطيط خطواته، وتنفيذ المهام بطريقة منهجية، والتعلم من نتائجه. سيساعدك هذا البرنامج العملي على فهم البنية الأساسية، بالإضافة إلى إظهار كيفية تنظيم عملية صنع القرار المعقدة باستخدام توليد الذكاء الاصطناعي في الوقت الحقيقي.
المكونات الأساسية لإطار SAGE
يتكون إطار SAGE من أربعة مكونات رئيسية:
- التقييم الذاتي (Self-Assessment): يقيم الوكيل حالته الحالية وقدراته لتحديد التقدم المحرز وتحديد الفجوات في المعرفة والمخاطر المحتملة.
- التخطيط التكيفي (Adaptive Planning): يُنشئ الوكيل خطة ديناميكية قابلة للتكيف بناءً على التقييم الذاتي، ويُقسم الهدف الرئيسي إلى مهام أصغر قابلة للتنفيذ.
- التنفيذ القائم على الأهداف (Goal-oriented Execution): ينفذ الوكيل المهام المحددة في الخطة، خطوة بخطوة، مع التركيز على النتائج العملية.
- تكامل الخبرة (Experience Integration): يتعلم الوكيل من نتائج تنفيذ المهام ويُحدث معرفته وقدراته لتحسين أدائه في التكرارات المستقبلية.
تنفيذ البرنامج التعليمي بلغة بايثون
سنبدأ باستيراد المكتبات اللازمة، بما في ذلك google.generativeai للتفاعل مع نموذج جيميني، ومكتبات بايثون مثل json و time و dataclasses لإدارة المهام. سنُحدد أيضاً حالة المهمة (TaskStatus) باستخدام Enum لتتبع تقدم كل مهمة (معلقة، قيد التنفيذ، مكتملة، فاشلة).
import google.generativeai as genai
import json
import time
from typing import Dict, List, Any, Optional
from dataclasses import dataclass, asdict
from enum import Enum
class TaskStatus(Enum):
PENDING = "pending"
IN_PROGRESS = "in_progress"
COMPLETED = "completed"
FAILED = "failed"
@dataclass
class Task:
id: str
description: str
priority: int
status: TaskStatus = TaskStatus.PENDING
dependencies: List[str] = None
result: Optional[str] = None
def __post_init__(self):
if self.dependencies is None:
self.dependencies = []
# ... باقي الكود ...
فئة وكيل SAGE (SAGEAgent)
تُمثّل فئة SAGEAgent “دماغ” إطار SAGE، وهي تُنسق دورة SAGE الكاملة:
class SAGEAgent:
# ... تعريف الفئة ...
تحتوي هذه الفئة على دوال لتنفيذ كل مكون من مكونات SAGE: self_assess, adaptive_plan, execute_goal_oriented, integrate_experience. كل دالة تتفاعل مع نموذج جيميني من خلال مُطالبات مُحددة للحصول على المعلومات اللازمة.
تنفيذ دورة SAGE
لإطلاق دورة SAGE، ننشئ مثيلًا لفئة SAGEAgent ونحدد هدفًا. ثم نُطلق دالة execute_sage_cycle التي تُنفذ دورة SAGE كاملة.
if __name__ == "__main__":
API_KEY = "Use Your Own API Key Here" #استبدل هذا بمفتاح API الخاص بك
try:
agent = SAGEAgent(API_KEY, model_name="gemini-1.5-flash")
goal = "بحث وإنشاء دليل شامل عن ممارسات البستنة الحضرية المستدامة"
results = agent.execute_sage_cycle(goal, max_iterations=2)
# ... طباعة النتائج ...
except Exception as e:
print(f"هذا البرنامج يحتاج إلى مفتاح API صالح لجيميني. الخطأ: {e}")
print("احصل على مفتاح API الخاص بك من: https://makersuite.google.com/app/apikey")
الخلاصة
لقد قمنا بنجاح بتنفيذ دورة SAGE الكاملة مع وكيلنا المُدار بواسطة جيميني. لقد لاحظنا كيف يُقيّم النظام تقدمه، ويُنشئ مهام قابلة للتنفيذ ديناميكيًا، وينفذها بدقة، ويُحسّن استراتيجيته من خلال الخبرة المكتسبة. يُمكننا توسيع هذا الإطار لمواجهة بيئات أكثر تعقيدًا أو تطبيقات مُتخصصة.
الموارد الإضافية
- [رابط كامل للكود](ضع رابط الكود هنا)
- [صفحة جيثب](ضع رابط جيثب هنا)
- [تويتر](ضع رابط تويتر هنا)
- [ريديت](ضع رابط ريديت هنا)
- [نيوزلتر](ضع رابط النشرة البريدية هنا)






اترك تعليقاً