MCP + RAG: لماذا توقفت عن بناء أنظمة RAG المعقدة
قضيت أربع سنوات في بناء أنظمة RAG معقدة.
استخدمت استراتيجيات تقسيم النصوص (chunking strategies)، ونماذج التضمين (embedding models)، وقواعد البيانات المتجهة (vector databases)، وأدوات إعادة الترتيب (rerankers). قمت ببناء نظام لقاعدة معرفتي التي تبلغ 1,800 ساعة. وفي كل مرة، كنت أظن أنني أجعلها مثالية.
لكنها لم تعمل بشكل جيد أبداً.
ثم أضفت دعم بروتوكول سياق النموذج (Model Context Protocol - MCP). لقد غير ذلك كل شيء. جعل MCP أنظمة RAG التقليدية المعقدة شيئاً من الماضي بالنسبة لمعظم الناس.
كنت أعاني من هذه المشكلات:
- الاختيار بين التقسيم الدلالي (semantic chunking) أو التقسيم المتكرر (recursive chunking).
- المفاضلة بين تضمينات OpenAI أو Cohere أو Nomic.
- الاختيار بين Pinecone أو Weaviate أو Chroma.
- إدارة استرجاع top-k وإعادة الترتيب.
وصل نظام RAG الخاص بي إلى 2,000 سطر من الكود. كان نظاماً مثيراً للإعجاب ولكنه فشل. كنت أحاول جعل بياناتي ذكية بينما كان الذكاء الاصطناعي ذكياً بالفعل.
انتقلت إلى نهج MCP. قمت ببناء خادم (server) بـ 150 سطراً فقط من الكود.
أعطيت الذكاء الاصطناعي أداتين فقط:
search_notes: يستخدم مطابقة النصوص البسيطة للعثور على الملاحظات.get_note_content: يعيد النص الكامل للملاحظة.
لا تقسيم للنصوص. لا تضمينات معقدة. لا قواعد بيانات متجهة.
هذا النهج البسيط يتفوق على نظام RAG المتطور الخاص بي في 9 حالات من أصل 10. وإليك السبب:
- الذكاء الاصطناعي يتولى المنطق. الذكاء الاصطناعي أفضل في تحديد ما هو ذو صلة من أداة تقسيم محددة مسبقاً.
- السياق الكامل. يقوم نظام RAG التقليدي بتقسيم الملاحظات إلى قطع صغيرة، مما يؤدي غالباً إلى فقدان الإجابة. أما مع MCP، فيقرأ الذكاء الاصطناعي الملاحظة بأكملها، ويرى الفكرة كاملة.
- القابلية للتنبؤ. البحث النصي بسيط؛ إذا كانت الكلمة المفتاحية موجودة، فإنه يعمل. وبذلك تتجنب انحراف التضمين (embedding drift) وأخطاء الأبعاد (dimension errors).
يجب عليك الاستمرار في استخدام RAG التقليدي إذا:
- كان لديك أكثر من 100,000 مستند كبير.
- كنت بحاجة إلى إنتاج واسع النطاق مع زمن استجابة منخفض.
ولكن بالنسبة لقواعد المعرفة الشخصية، أو المشاريع الجانبية، أو الأدوات الداخلية، فأنت لست بحاجة إليه.
فوائد MCP:
- سهولة الصيانة: 150 سطراً بدلاً من 2,000.
- لا توجد تكاليف تضمين: لا تحتاج إلى إعادة تضمين البيانات عند تغيير النماذج.
- دقة أفضل: يحصل الذكاء الاصطناعي على السياق الكامل.
- سهولة تصحيح الأخطاء: يمكنك معرفة سبب فشل البحث بدقة.
توقف عن الإفراط في الهندسة (over-engineering). اترك المهمة الصعبة للذكاء الاصطناعي. امنحه الوصول إلى بياناتك واتركه يقرأ.
مجتمع تعليمي اختياري: https://t.me/GyaanSetuAi
