التوثيق / Agentic RAG

Agentic RAG

في RAG التقليدي، الاسترجاع خطوة ثابتة ومحددة مسبقًا. أما في Agentic RAG، فيقرر العميل الذكي نفسه متى وكم مرة وكيف يبحث.

Multi-hop Retrieval Query Rewriting Self-correction

ما هو Agentic RAG؟

يجمع Agentic RAG بين RAG والسلوك الوكيلي (Agentic): لم يعد الاسترجاع خطوة ثابتة في خط أنابيب خطي، بل أصبح هو نفسه أداة متاحة للعميل، يمكن للعميل استخدامها صفر أو مرة أو عدة مرات (باستعلامات مختلفة) بحسب الحاجة.

الفرق عن RAG البسيط

RAG بسيطAgentic RAG
عدد مرات البحثمرة واحدة دائمًا وبالضبطمن صفر إلى عدة مرات، حسب تقدير العميل
استعلام البحثسؤال المستخدم الأصلي نفسهيمكن إعادة صياغته أو تفكيكه
تقييم النتيجةلا يوجد؛ يُستخدم أي شيء يُعاديقيّم العميل جودة النتيجة ويعيد البحث إذا كانت غير كافية
المسارخطي وثابتديناميكي ويعتمد على نتيجة كل خطوة

الأنماط الأساسية

  • إعادة صياغة الاستعلام (Query Rewriting) — إعادة صياغة سؤال المستخدم الغامض إلى عبارة بحث أدق قبل الاسترجاع
  • الاسترجاع متعدد القفزات (Multi-hop Retrieval) — الإجابة عن سؤال معقّد تتطلب عدة عمليات بحث متتالية (نتيجة البحث الأول تُشكّل مدخلات البحث الثاني)
  • التصحيح الذاتي / النقد (Self-correction / Critique) — ينتقد العميل النتائج المسترجَعة؛ فإن لم تكن ذات صلة أو كافية، يحاول مجددًا باستعلام آخر

مسار مثال واقعي

افترض أن المستخدم يسأل: "ما هي أرخص سماعة رأس تتوفر فيها ميزة إلغاء الضوضاء وتكون متوفرة في المخزون؟"

  1. يفكّك العميل السؤال إلى سؤالين فرعيين: "سماعات إلغاء الضوضاء" و"التحقق من مخزون كل منها"
  2. يُعيد البحث الأول (RAG على الكتالوج) نتائج مرشَّحة
  3. يستدعي العميل أداة check_inventory لكل نتيجة (هنا يعمل RAG وMCP جنبًا إلى جنب)
  4. إذا كانت النتائج الأولية فارغة، يعيد العميل صياغة الاستعلام ويبحث مجددًا
  5. تُقدَّم الإجابة النهائية، وهي أرخص خيار متوفر، للمستخدم

متى تحتاجه؟

إذا كانت أسئلة مستخدميك بسيطة عادةً وأحادية البُعد، فإن RAG التقليدي كافٍ وأقل تكلفة. أما إذا كانت الأسئلة متعددة الخطوات أو غامضة أو تتطلب دمج عدة مصادر بيانات (كما في المثال أعلاه)، فإن Agentic RAG يرفع الدقة بشكل ملحوظ — على حساب زمن استجابة وتكلفة حوسبة أعلى.

ضبط حلقة البحث اللانهائية

نظرًا لأن العميل نفسه هو من يقرر في Agentic RAG ما إذا كان سيبحث مجددًا أم لا، فإن الخطر الرئيسي هو أنه بالنسبة للأسئلة التي لا تملك إجابة أصلًا في قاعدة المعرفة، قد يستمر العميل في إعادة صياغة الاستعلام والبحث مرارًا دون التوصل إلى نتيجة — وهو بالضبط خطر "الحلقة اللانهائية" الذي طُرح في عملاء الذكاء الاصطناعي. من الطرق الشائعة لضبط ذلك:

  • سقف عدد المحاولات — تحديد عدد مرات إعادة البحث برقم معيّن (مثلًا 3 كحد أقصى) قبل إرجاع إجابة "لم يتم العثور على معلومات كافية"
  • عتبة الجودة — إذا كان درجة الصلة (Relevance Score) للنتائج المسترجَعة لا تزال أقل من عتبة معينة بعد N محاولة، يجب أن يتوقف العميل بدلًا من الاستمرار بلا هدف
  • الشفافية مع المستخدم — بدلًا من تقديم إجابة تخمينية، يُعلَن صراحةً أنه لم يُعثر على إجابة قطعية في المصادر المتاحة

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

هل Agentic RAG أفضل دائمًا من RAG البسيط؟

ليس بالضرورة؛ بالنسبة للأسئلة البسيطة، لا يُبرَّر التعقيد وزمن الاستجابة الإضافيان. يجب اختياره بما يتناسب مع التعقيد الفعلي للاستعلامات.

هل يتطلب Agentic RAG إطار عمل محددًا؟

يمكن تنفيذه بأي إطار عمل للعملاء الأذكياء مثل LangGraph، لأنه في جوهره حلقة قرار-فعل مزودة بأداة بحث.