الدرس 3 من 23
أساسيات تصميم أنظمة الذكاء الاصطناعي

مفاهيم قابلية التوسع

4 دقيقة للقراءة

تواجه أنظمة الذكاء الاصطناعي تحديات توسع فريدة. استدعاءات LLM بطيئة ومكلفة ومحدودة المعدل. فهم كيفية التوسع بفعالية أمر حاسم لمقابلات تصميم الأنظمة.

التوسع الأفقي مقابل الرأسي

نوع التوسعكيف يعملمثال نظام ذكاء اصطناعي
رأسيآلات أكبرGPU أكبر لاستدلال أسرع
أفقيآلات أكثرعدة نسخ API خلف موازن الحمل

لأنظمة الذكاء الاصطناعي، التوسع الأفقي مفضل عادةً لأن:

  • مزودي LLM لديهم حدود معدل لكل مفتاح API
  • يمكنك استخدام مزودين متعددين في وقت واحد
  • الأعطال معزولة في نسخ فردية

المقاييس الرئيسية

زمن الاستجابة

الوقت من الطلب إلى الاستجابة.

طلب المستخدم → بوابة API → استدعاء LLM → المعالجة اللاحقة → الاستجابة
      │              │            │              │            │
      └──────────────┴────────────┴──────────────┴────────────┘
                           إجمالي زمن الاستجابة

تفصيل زمن استجابة AI النموذجي:

  • عبء API: 10-50 مللي ثانية
  • استدلال LLM: 500 مللي ثانية - 5 ثوانٍ (يعتمد على النموذج والرموز)
  • المعالجة اللاحقة: 10-100 مللي ثانية

الإنتاجية

الطلبات المُعالجة في الثانية.

# حساب حدود الإنتاجية
llm_latency_seconds = 2  # متوسط وقت استجابة LLM
concurrent_requests = 10  # الطلبات المتوازية المسموحة

max_throughput = concurrent_requests / llm_latency_seconds
# = 5 طلبات في الثانية لكل نسخة

التكلفة لكل استعلام

غالباً المقياس الأهم لأنظمة الذكاء الاصطناعي.

المكونعامل التكلفة
رموز الإدخال$0.003 لكل 1000 رمز (GPT-5.4)
رموز الإخراج$0.012 لكل 1000 رمز (GPT-5.4)
التضمين$0.0001 لكل 1000 رمز
قاعدة البيانات المتجهة$0.05-0.20 لكل مليون متجه/شهر

⚠ Prices change frequently. The values above are for illustration only and may be out of date. Always verify current pricing directly with the provider before making cost decisions: Anthropic · OpenAI · Google Gemini · Google Vertex AI · AWS Bedrock · Azure OpenAI · Mistral · Cohere · Together AI · DeepSeek · Groq · Fireworks AI · Perplexity · xAI · Cursor · GitHub Copilot · Windsurf.

استراتيجيات التوسع

1. تجميع الطلبات

جمع طلبات متعددة في استدعاء LLM واحد.

# بدلاً من 10 استدعاءات منفصلة
for query in queries:
    response = llm.complete(query)

# تجميعها في استدعاء واحد
combined_prompt = "\n---\n".join([
    f"الاستعلام {i}: {q}" for i, q in enumerate(queries)
])
batch_response = llm.complete(combined_prompt)

2. توجيه النموذج

استخدم نماذج أرخص للمهام البسيطة.

def route_to_model(query: str) -> str:
    complexity = estimate_complexity(query)

    if complexity == "simple":
        return "gpt-5.4-mini"   # سريع، رخيص
    elif complexity == "medium":
        return "gpt-5.4"        # متوازن
    else:
        return "gpt-5.4-pro"    # أفضل جودة

3. التخزين المؤقت

تخزين الاستعلامات المتطابقة أو المتشابهة.

معدلات إصابة التخزين المؤقت في الإنتاج:

  • المطابقة التامة: 20-40% معدل إصابة
  • التخزين المؤقت الدلالي: 40-60% معدل إصابة

4. المعالجة غير المتزامنة

لا تحجب على العمليات البطيئة.

# متزامن (يحجب)
result = await llm.complete(prompt)  # انتظر ثانيتين

# غير متزامن مع طابور
job_id = queue.enqueue(llm.complete, prompt)
return {"status": "processing", "job_id": job_id}
# العميل يستعلم عن النتيجة

تحديد الاختناقات

في المقابلات، حدد الاختناق دائماً:

الاختناقالعَرَضالحل
حدود معدل LLMأخطاء 429مفاتيح API متعددة، احتياطي مزود
زمن استجابة LLMاستجابات بطيئةالبث، التخزين المؤقت، نماذج أصغر
قاعدة البيانات المتجهةاسترجاع بطيءتحسين الفهرس، التجزئة
الذاكرةأخطاء OOMالبث، التصفح

بعد ذلك، سنتعلم إطاراً منظماً للتعامل مع أي مشكلة تصميم. :::

مراجعة سريعة: كيف تجد هذا الدرس؟

اختبار

الوحدة 1: أساسيات تصميم أنظمة الذكاء الاصطناعي

خذ الاختبار