0Pricing
AI Agents · درس

استراتيجية تفكيك الأسئلة الفرعية

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

استراتيجية تفكيك الأسئلة الفرعية درس مجاني في AI Agents على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في AI Agents، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة AI Agents 4 دروس في المجموع.

عندما يفشل الاسترجاع أحادي القفزة

تحتاج بعض الأسئلة إلى عمليات بحث متعددة:

"قارنوا إيرادات Apple في عام 2022 بإيرادات Microsoft في عام 2023."

لن يعثر بحث واحد حسب التشابه على كلتا الحقيقتين؛ بل تحتاجون إلى استعلامين فرعيين.

تفكيك السؤال إلى أسئلة فرعية

يقسّم LlamaIndex SubQuestionQueryEngine السؤال إلى أسئلة فرعية، ويجيب عن كل منها، ثم يولّف الإجابات:

from llama_index.core.query_engine import SubQuestionQueryEngine
from llama_index.core.tools import QueryEngineTool, ToolMetadata

query_engine_tools = [
    QueryEngineTool(
        query_engine=apple_index.as_query_engine(),
        metadata=ToolMetadata(name='apple', description='Financial data for Apple Inc.')
    ),
    QueryEngineTool(
        query_engine=msft_index.as_query_engine(),
        metadata=ToolMetadata(name='microsoft', description='Financial data for Microsoft Corp.')
    )
]

engine = SubQuestionQueryEngine.from_defaults(query_engine_tools=query_engine_tools)
response = engine.query('Compare 2022 revenue of Apple vs 2023 revenue of Microsoft')

آلية العمل

  1. يحلل نموذج اللغة الكبير السؤال
  2. ينشئ نموذج اللغة الكبير أسئلة فرعية ويسند كل سؤال إلى أداة
  3. يُنفّذ كل سؤال فرعي بالتوازي
  4. يولّف نموذج اللغة الكبير إجابة نهائية من الإجابات الفرعية

إظهار الأسئلة الفرعية

يمكنكم رؤية الأسئلة الفرعية التي أنشأها المحرك:

response = engine.query('Compare X and Y')
for sq in response.metadata.get('sub_qa', []):
    print(sq.sub_q.sub_question, '->', sq.answer)

متى تستخدمون الأسئلة الفرعية

  • استعلامات المقارنة (X مقابل Y)
  • تجميع المعلومات من مصادر متعددة
  • الأسئلة التي تتضمن عدة حقائق متميزة

متى لا تستخدمونها

  • الأسئلة والأجوبة البسيطة — لأنها تضيف زمن استجابة وتكلفة
  • السياق الموجود في مستند واحد
  • المهام التي لا تحقق فيها عملية التفكيك فائدة

التوجيه باستخدام LLM

يقترن Sub-Question Engine بـ RouterQueryEngine ليقرر أولًا مجموعة الفهارس التي ينبغي الاستعلام منها:

from llama_index.core.query_engine import RouterQueryEngine

router = RouterQueryEngine.from_defaults(query_engine_tools=query_engine_tools)
# Routes 'apple revenue' to apple index, 'msft margins' to msft, etc.

الأسئلة الفرعية لوكلاء البرمجة

بالنسبة إلى الوكلاء الذين يكتبون التعليمات البرمجية، يُعد السؤال الفرعي وسيلة لتخطيط الخطوات:

"أنشئوا REST API" -> sub: صمّموا النماذج، sub: اكتبوا معالجات CRUD، sub: أضيفوا المصادقة.

تأثير التكلفة

ينشئ السؤال الفرعي N من الاستعلامات الفرعية بدلًا من استعلام واحد. وكل استعلام منها يتطلب استدعاءً لنموذج اللغة الكبير + عملية استرجاع. ضعوا ميزانية مناسبة — فالتكلفة أعلى بمقدار 3 إلى 4 أضعاف من الاسترجاع أحادي القفزة.

مقارنةً بـ ReAct

السؤال الفرعي هو تخطيط مسبق، أما ReAct (في الدورة التالية) فهو تنفيذ خطوة بخطوة. بالنسبة إلى الاستعلامات التي يمكن تفكيكها بوضوح، يكون السؤال الفرعي أسرع؛ أما في المهام الاستكشافية، فيتكيف ReAct بشكل أفضل.

الجمع بين ReAct وأدوات الأسئلة الفرعية

الخيار الأكثر مرونة هو وكيل ReAct تكون فيه محركات الأسئلة الفرعية أدوات؛ إذ يمكن لكل "استدعاء أداة" أن يفكك المهمة بدوره إلى عدة استعلامات فرعية.

تقييم جودة الأسئلة الفرعية

تابعوا ما إذا كان نموذج اللغة الكبير ينشئ أسئلة فرعية منطقية. يصعب تصحيح التفكيك السيئ من دون فحص سجلات التتبع.

حالة استخدام التفكيك

ما نوع الأسئلة الذي يكون فيه تفكيك السؤال إلى أسئلة فرعية أكثر فائدة؟

مراجعة سريعة

يحوّل تفكيك السؤال الفرعي استعلامًا معقدًا واحدًا إلى عدة استعلامات بسيطة — بتكلفة أعلى، لكن بدقة أكبر بكثير في أسئلة المقارنة والأسئلة متعددة المصادر.

الأسئلة الشائعة

هل درس «استراتيجية تفكيك الأسئلة الفرعية» مجاني؟

نعم — نص درس «استراتيجية تفكيك الأسئلة الفرعية» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة AI Agents، انتقل إلى CoddyKit PRO. تتضمن دورة AI Agents 4 دروس في المجموع.

ماذا ستتعلم في «استراتيجية تفكيك الأسئلة الفرعية»؟

بالنسبة إلى الأسئلة المعقدة متعددة الخطوات، قسّمها إلى أسئلة فرعية، وأجب عن كل منها، ثم ولّف إجابة نهائية. تتمرن على AI Agents مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ AI Agents؟

لا تُشترط خبرة سابقة. AI Agents على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «استراتيجية تفكيك الأسئلة الفرعية»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس AI Agents هذا؟

نعم. كل درس في AI Agents يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. محملات المستندات ومحللاتها
  2. هرمية الفهرسة: المتجه والشجرة والكلمات المفتاحية
  3. محركات الاستعلام وتوليف الاستجابات
  4. استراتيجية تفكيك الأسئلة الفرعية
← العودة إلى AI Agents