Home
Login

إطار عمل خفيف الوزن لبناء سير عمل متعدد الوكلاء، يدعم التعاون بين الوكلاء واستدعاء الأدوات وتنظيم العمليات.

MITPython 11.6kopenai Last Updated: 2025-06-19

نظرة عامة على مشروع OpenAI Agents Python

إن OpenAI Agents SDK عبارة عن إطار عمل Python خفيف الوزن وقوي لبناء سير عمل متعدد الوكلاء. هذا هو أداة تطوير الوكلاء ذات المستوى الإنتاجي التي أصدرتها OpenAI رسميًا، وهي نسخة مطورة من المشروع التجريبي السابق Swarm. تم تصميم هذا الإطار ببساطة ولكنه كامل الوظائف، وهو مصمم خصيصًا لبناء تطبيقات الذكاء الاصطناعي المعقدة متعددة الوكلاء.

الميزات الأساسية

1. توافق عبر الأنظمة الأساسية

  • استقلالية النموذج: يدعم واجهات برمجة تطبيقات Responses و Chat Completions الخاصة بـ OpenAI
  • توافق واسع: يدعم أكثر من 100 نموذج لغوي كبير مختلف
  • مرونة واجهة برمجة التطبيقات: يمكنه التبديل بسهولة بين موفري خدمات الذكاء الاصطناعي المختلفين

2. المكونات الأساسية

الوكلاء (Agents)

  • مثيلات LLM تم تكوينها مع التعليمات والأدوات والحماية الأمنية وآليات التسليم
  • لكل وكيل مسؤوليات واضحة وحدود قدرة
  • يدعم التعليمات وأنماط السلوك المخصصة

آليات التسليم (Handoffs)

  • آلية استدعاء أداة مخصصة لنقل التحكم بين الوكلاء
  • تحقيق تعاون سلس بين الوكلاء
  • يدعم تنسيق سير العمل المعقد

الحماية الأمنية (Guardrails)

  • فحص أمني قابل للتكوين للتحقق من صحة المدخلات والمخرجات
  • ضمان سلامة وموثوقية تطبيقات الذكاء الاصطناعي
  • منع المدخلات الضارة والمخرجات غير المناسبة

تتبع العمليات (Tracing)

  • وظيفة تتبع تشغيل الوكيل المضمنة
  • يدعم عرض وتصحيح وتحسين سير العمل
  • نظام تتبع قابل للتوسيع يدعم العديد من عمليات التكامل الخارجية

البنية التقنية

التثبيت والتكوين

# إنشاء بيئة Python افتراضية
python -m venv env
source env/bin/activate

# تثبيت الإصدار الأساسي
pip install openai-agents

# تثبيت الإصدار الذي يتضمن دعم الصوت
pip install 'openai-agents[voice]'

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

وكيل بسيط

from agents import Agent, Runner

agent = Agent(name="Assistant", instructions="You are a helpful assistant")
result = Runner.run_sync(agent, "Write a haiku about recursion in programming.")
print(result.final_output)

وكيل تعاون متعدد اللغات

from agents import Agent, Runner
import asyncio

spanish_agent = Agent(
    name="Spanish agent",
    instructions="You only speak Spanish.",
)

english_agent = Agent(
    name="English agent", 
    instructions="You only speak English",
)

triage_agent = Agent(
    name="Triage agent",
    instructions="Handoff to the appropriate agent based on the language of the request.",
    handoffs=[spanish_agent, english_agent],
)

async def main():
    result = await Runner.run(triage_agent, input="Hola, ¿cómo estás?")
    print(result.final_output)

if __name__ == "__main__":
    asyncio.run(main())

مثال على استدعاء الأداة

import asyncio
from agents import Agent, Runner, function_tool

@function_tool
def get_weather(city: str) -> str:
    return f"The weather in {city} is sunny."

agent = Agent(
    name="Weather Assistant",
    instructions="You are a helpful weather agent.",
    tools=[get_weather],
)

async def main():
    result = await Runner.run(agent, input="What's the weather in Tokyo?")
    print(result.final_output)

if __name__ == "__main__":
    asyncio.run(main())

آلية تنفيذ سير العمل

منطق حلقة التشغيل

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

آلية الإخراج النهائية

  • إخراج منظم: إذا تم تعيين output_type، فسينتهي عندما يُرجع LLM محتوى مطابقًا للنوع
  • إخراج نصي: إذا لم يكن هناك output_type، فسينتهي عندما ينتج الوكيل رسالة بدون استدعاءات للأدوات أو عمليات تسليم

نظام الأدوات

دعم ثلاثة أنواع من الأدوات

1. الأدوات المستضافة (Hosted Tools)

  • تعمل على خادم LLM
  • توفر OpenAI أدوات مستضافة مثل الاسترجاع والبحث في الويب واستخدام الكمبيوتر

2. استدعاء الدالة (Function Calling)

  • يدعم استخدام أي دالة Python كأداة
  • تطوير أدوات مخصصة مرنة

3. الوكيل كأداة

  • يسمح للوكلاء باستدعاء وكلاء آخرين
  • يدعم هياكل التعاون الهرمية المعقدة

الأدوات المضمنة

  • WebSearchTool: وظيفة البحث في الويب
  • Computer Use: قدرة تشغيل الكمبيوتر
  • Retrieval: وظيفة استرجاع المعلومات

التتبع والمراقبة

وظيفة التتبع التلقائي

  • تتبع عملية تشغيل الوكيل تلقائيًا
  • تسهيل تصحيح الأخطاء وتحسين سير العمل
  • تصميم قابل للتوسيع يدعم الامتدادات المخصصة

دعم التكامل الخارجي

  • Logfire: إدارة السجلات
  • AgentOps: مراقبة عمليات الوكيل
  • Braintrust: منصة تطوير تطبيقات الذكاء الاصطناعي
  • Scorecard: تقييم الأداء
  • Keywords AI: تكامل الكلمات الرئيسية للذكاء الاصطناعي

سيناريوهات التطبيق

السيناريوهات القابلة للتطبيق

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

أنماط سير العمل

  • عملية حتمية: خطوات سير عمل محددة مسبقًا
  • حلقة تكرارية: المهام التي تتطلب تحسينًا متكررًا
  • فروع شرطية: حدد مسارات معالجة مختلفة بناءً على الشروط
  • معالجة متوازية: يعالج العديد من الوكلاء مهام مختلفة في نفس الوقت

بيئة التطوير

متطلبات التطوير

  • Python 3.8+
  • تحتاج إلى تعيين متغير البيئة OPENAI_API_KEY
  • يدعم طريقتي الاستدعاء غير المتزامنة والمتزامنة

سلسلة أدوات التطوير

# تثبيت مدير حزم uv
uv --version

# تثبيت التبعيات
make sync

# تشغيل الاختبارات
make tests

# فحص النوع
make mypy

# فحص معايير الكود
make lint

مزايا المشروع

1. تصميم بسيط

  • الحد الأدنى من مستويات التجريد
  • مفاهيم أساسية واضحة ومحددة
  • سهل الفهم والاستخدام

2. جاهز للإنتاج

  • تم إنشاؤه بناءً على الخبرة العملية لـ OpenAI
  • تصميم واجهة برمجة تطبيقات مستقر وموثوق
  • آلية معالجة الأخطاء المثالية

3. مرونة عالية

  • يدعم نمذجة علاقات الوكيل المعقدة
  • يمكنه التعبير عن أنماط سير العمل المختلفة
  • قدرات تخصيص قوية

ملخص

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