المستويات السبعة لبرمجة كلود (Claude Code) والـ RAG

CChase AI
Computing/SoftwareSmall Business/StartupsInternet Technology

Transcript

00:00:00دعونا نحل مشكلة كود كلود والذاكرة، لجعل أنظمة الذكاء الاصطناعي موثوقة ودقيقة
00:00:06في الإجابة على الأسئلة حول المحادثات الماضية أو المجموعات الضخمة من المستندات، وهي مشكلة كنا
00:00:13نحاول حلها لسنوات، وكان الرد المعتاد هو الـ RAG (التوليد المعزز بالاسترداد) و
00:00:20بينما عنوان هذا الفيديو هو "المستويات السبعة لكود كلود والـ RAG"، فإن ما يدور حوله هذا الفيديو حقاً
00:00:26هو تفكيك مشكلة كود كلود، وأنظمة الذكاء الاصطناعي بشكل عام، والذاكرة، وحتى
00:00:33الأهم من ذلك، يهدف هذا الفيديو إلى إعطائك خارطة طريق تبين لك موقعك في هذا
00:00:37الصراع بين أنظمة الذكاء الاصطناعي والذاكرة، وما يمكنك فعله للوصول إلى المستوى التالي. لذا، وبينما نمر
00:00:43عبر هذه المستويات السبعة لكود كلود والـ RAG، سنتطرق إلى عدد من المواضيع ولكننا
00:00:48لن نبدأ من GraphRAG أو أي شيء معقد، سنبدأ من البداية
00:00:53وهي مجرد أنظمة الذاكرة الأساسية الأصلية في كود كلود، لأنه من المحزن القول
00:00:59إن هذا هو المكان الذي لا يبدأ فيه معظم الناس فحسب، بل هو المكان الذي يبقون فيه؛ من الذاكرة التلقائية وأشياء مثل
00:01:04Claude.md، سننتقل إلى الأدوات الخارجية مثل Obsidian قبل أن نجد أنفسنا في النهاية
00:01:10مع الكبار، مع أنظمة الـ RAG الحقيقية؛ في هذه المستويات سنتحدث عن ماهية الـ RAG فعلياً
00:01:16وكيف يعمل، والأنواع المختلفة من الـ RAG؛ الـ RAG البسيط مقابل GraphRAG مقابل الـ RAG الوكيل، وأشياء مثل
00:01:21أدوات إعادة التصنيف وكل ما بينهما. وفي كل مستوى، سنقوم بتفكيكه بنفس
00:01:25الطريقة؛ سنتحدث عما يمكن توقعه في هذا المستوى، والمهارات التي تحتاج لإتقانها، و
00:01:29الفخاخ التي يجب تجنبها، وما عليك فعله للانتقال إلى المستوى التالي. ما لن يكونه
00:01:34هذا الفيديو هو شرح تقني متعمق للغاية لكيفية إعداد هذه
00:01:40الأنظمة المحددة بالضرورة، لأنني فعلت ذلك بالفعل في حالات عديدة عندما نتحدث عن GraphRAG و
00:01:45LightRAG على سبيل المثال، أو حتى مواضيع أكثر تقدماً مثل "RAG Anything" في هذه الأنظمة المختلفة من
00:01:50أنظمة التضمين؛ لقد قمت بعمل فيديوهات أشرح فيها من البداية إلى النهاية كيفية
00:01:55إعداد ذلك بنفسك. لذا عندما نصل إلى تلك الأقسام، سأضع روابط لتلك الفيديوهات، وهذا
00:02:00لمصلحتنا معاً، لكي لا يطول الفيديو لخمس ساعات، لكن في تلك المستويات سنظل نتحدث
00:02:04عما يعنيه ذلك فعلياً، وما يقدمه لك كل نظام، ومتى يجب استخدامه. ولكن قبل
00:02:09أن نبدأ بالمستوى الأول، كلمة سريعة من راعي اليوم: أنا. ففي الشهر الماضي فقط، أطلقت
00:02:15الدورة الاحترافية لكود كلود (Claude Code Masterclass)، وهي الطريقة الأولى للانتقال من الصفر إلى مطور ذكاء اصطناعي، خاصة إذا لم تكن
00:02:21من خلفية تقنية. وهذه الدورة الاحترافية مختلفة قليلاً لأننا نركز على
00:02:25عدد من حالات الاستخدام المختلفة لتعلم كيفية استخدام كود كلود، أحدها هو شيء مثل
00:02:31الـ RAG على مستوى الإنتاج، وكيفية بناء أنظمة الـ RAG التي ستراها في هذا الفيديو في سيناريو حقيقي و
00:02:37استخدامها فعلياً كعضو في فريق أو بيعها لعميل، هذا هو نوع الأشياء التي نركز عليها، لذا
00:02:42إذا كنت ترغب في الحصول على الدخول، يمكنك العثور عليها داخل Chase AI Plus؛ هناك رابط لذلك في التعليق المثبت
00:02:47ويسعدنا انضمامك إلينا هناك. والآن لنبدأ بالمستوى الأول، وهو الذاكرة التلقائية
00:02:51هذه هي الأنظمة التي يستخدمها كود كلود تلقائياً لإنشاء نوع من جهاز الذاكرة
00:02:58لتذكر الأشياء التي تحدثت عنها فعلياً، وتعرف أنك هنا إذا لم تكن قد
00:03:02أعددت أي شيء عمداً لمساعدة كود كلود على تذكر السياق بشكل عام حول المحادثات السابقة
00:03:09أو مجرد الأشياء التي تحدث في قاعدة الكود الخاصة بك. وعندما نتحدث عن الذاكرة التلقائية، فهذا
00:03:13هو بالضبط ما تسمى به: نظام الذاكرة التلقائية، والذي يتم تفعيله تلقائياً عند استخدام
00:03:18كود كلود؛ يسمح نظام الذاكرة التلقائية أساساً لكود كلود بإنشاء ملفات بصيغة Markdown من تلقاء نفسه
00:03:26تسرد الأشياء التي يعتقد أنها مهمة عنك في ذلك المشروع المعين، وهذا يعتمد تماماً
00:03:32على حدسه الخاص بناءً على محادثاتك. ويمكنني رؤية ملفات الذاكرة هذه التي أنشأها؛ مرة أخرى
00:03:37يفعل ذلك بمفرده إذا ذهبت إلى مجلد dot claude، ثم ذهبت إلى المشاريع، سترى
00:03:42مجلداً هناك يسمى memory، وداخل ذلك الملف سترى عدداً من ملفات Markdown هنا
00:03:47هناك أربعة منها، وهي تشبه نسخة كود كلود من الملاحظات اللاصقة التي تقول "أوه نعم، لقد ذكر
00:03:51هذا ذات مرة عن أهداف نمو مشروعه على يوتيوب، فلنكتب ذلك". وداخل مجلد
00:03:59الذاكرة الخاص بكل شخص، سيكون هناك ملف memory.md. وكما ترى في ملف الذاكرة هذا، هناك ملاحظة صغيرة حول
00:04:04إحدى مهاراتي، ثم لديه أساساً فهرس لكل ملفات الذاكرة الفرعية هذه التي تقول
00:04:09مهلاً، هناك ملف عن نمو يوتيوب هنا، وواحد عن الإيرادات أو المراجع، وهذا ما يوجد بداخله
00:04:13لذا إذا كنت أتحدث فقط مع كود كلود في ملف vault الخاص بي وذكرت شيئاً عن يوتيوب و
00:04:19أهدافي مع النمو أو ما شابه، فسيشير إلى هذا ويقول "أوه نعم، تشيس يحاول
00:04:23الحصول على كذا مشترك بحلول نهاية عام 2026". إنه أمر لطيف ولكنه في النهاية ليس مفيداً جداً
00:04:30إنه يشبه إلى حد ما عندما تكون داخل ChatGPT ويقوم باستحضار أشياء عشوائية من
00:04:35المحادثات السابقة وكأنه يقحمها إقحاماً؛ فتقول "حسناً، فهمت أنك تذكرت هذا
00:04:40لكنني لا أهتم حقاً، وبصراحة من الغريب الاستمرار في طرح ذلك، أفضل لو لم تفعل"
00:04:44ولسوء الحظ، هذا هو المكان الذي يبقى فيه معظم الناس في رحلتهم مع الذاكرة، وهو مبني على
00:04:49ماضٍ مسيء إلى حد ما نعيشه جميعاً عندما يتعلق الأمر باستخدام روبوتات الدردشة هذه
00:04:54لأن روبوتات الدردشة هذه ليس لديها أي نوع من الذاكرة الحقيقية من محادثة إلى أخرى، ولذا
00:05:00نحن دائماً مرعوبون من الاضطرار للخروج من نافذة الدردشة أو الخروج من جلسة طرفية
00:05:06لأنك تعتقد "يا إلهي، لن يتذكر محادثتي"، وهذه في الواقع
00:05:10مشكلة حقيقية، لأن ما هو رد الجميع على عدم قدرة نافذة الدردشة على تذكر أي شيء؟
00:05:17حسناً، الإجابة هي أنك تستمر في تلك المحادثة للأبد لأنك لا تريد الوصول إلى
00:05:22سيناريو تضطر فيه للخروج وينسى كل شيء؛ هذا خوف ولد هنا داخل
00:05:26نوافذ الدردشة هذه بدءاً من ChatGPT ونفس الشيء مع تطبيق ويب كلود، وبصراحة كان
00:05:31الأمر أسوأ بكثير مع تطبيق ويب كلود لأنني أعتقد أننا جميعاً نتذكر الأيام التي سبقت
00:05:35نافذة السياق ذات المليون رمز، حيث كان لديك مثلاً 30 دقيقة للتحدث مع كلود ثم يقول "حسناً، أراك
00:05:39بعد أربع ساعات". المشكلة هي أن الناس نقلوا ذلك السلوك العصابي والذهاني إلى
00:05:45الطرفية، وما يفعلونه إلى حد كبير لأنك تستطيع الآن الإفلات من العقاب بفضل نافذة السياق ذات المليون رمز
00:05:50هو أنهم لا يمسحون الجلسة أبداً، بل يستمرون في التحدث والتحدث والتحدث مع كود كلود لأنهم
00:05:55لا يريدونه أبداً أن ينسى ما يتحدثون عنه بسبب مشاكل الذاكرة هذه، و
00:06:00المشكلة في ذلك هي أن كفاءتك تنخفض كثيراً بمرور الوقت كلما تحدثت مع كود كلود
00:06:05داخل نفس الجلسة، وهذه هي الفكرة الأساسية لـ "تآكل السياق" (Context Rot)؛ إذا كنت لا تعرف ما هو تآكل السياق
00:06:10فهو الظاهرة التي تتمثل في أنه كلما استخدمت نظام ذكاء اصطناعي ضمن نفس الجلسة ونفس الدردشة
00:06:16وملأت نافذة السياق تلك، أصبح أداؤه أسوأ. يمكنك رؤية ذلك هنا؛ كود كلود بمليون
00:06:23سياق، عند 256 ألف رمز، أي أنني ملأت فقط ربع نافذة السياق الخاصة به، نكون
00:06:30عند دقة 92%، وبحلول النهاية أصل إلى 78%. لذا كلما استخدمته في نفس الدردشة أصبح أسوأ، وهذه واحدة من
00:06:36المشاكل الأساسية التي يواجهها الناس مع أنظمة الذكاء الاصطناعي والذاكرة؛ لدي كود كلود ولديه مليون سياق
00:06:42الآن، ومع ذلك لا أريده أن ينسى المحادثة التي أجريها، لذا لا أغلق
00:06:47النافذة أبداً، بل أملؤها وأملؤها، ويحدث شيئان؛ الأول هو أن الفعالية تنخفض
00:06:51كما رأيت للتو، والثاني هو أن استهلاكك يمتلئ بشكل كبير لأن كمية الرموز المستخدمة عند
00:06:59مليون رمز، ذلك السياق ذو الـ 800 ألف رمز، هو أكثر بكثير من سياق ذو 80 ألف رمز، لذا ليست هذه هي المشكلة الوحيدة
00:07:08ولكن، بعيداً قليلاً عن الموضوع، نحن في نظام بيئي حالي يشتكي فيه الجميع من تراجع أداء كود كلود
00:07:12وأن استهلاكي يزداد تلقائياً؛ هناك عدد من الأسباب لذلك، ولكن أحدها
00:07:18بلا شك هو حقيقة أنه منذ إدخال المليون سياق، لم يعد لدى الناس أي فكرة عن كيفية
00:07:24إدارة نافذة السياق الخاصة بهم، وهم ليسوا جريئين بما يكفي في
00:07:29مسح وإعادة ضبط المحادثة، لكن هذا خارج الموضوع قليلاً
00:07:34النقطة من كل هذا النقاش هي أنه عندما يتعلق الأمر بالذاكرة في هذا الحديث عن الـ RAG و
00:07:39كود كلود، يجب أن نبقي "تآكل السياق" في اعتبارنا لأننا نحاول باستمرار التعامل مع هذا التوتر المتمثل في "حسناً، أريد
00:07:44إدخال السياق حتى يتمكن كود كلود من الإجابة على الأسئلة حول عدد من الأشياء، وفي الوقت نفسه
00:07:50لا أريد أن يصبح السياق كبيراً جداً لأن أداءه سيصبح أسوأ"
00:07:55لذا يجب أن يكون هذا دائماً شيئاً نفكر فيه في هذا النقاش حول الذاكرة
00:08:02ولكن لنعود إلى الفيديو الفعلي والمستوى الأول: ماذا يفعل الناس في المستوى الأول؟
00:08:06الإجابة هي أنهم لا يفعلون أي شيء حقاً، ولأنهم لا يفعلون أي شيء، فهم يعتمدون فقط
00:08:10على نافذة سياق متضخمة لتذكر الأشياء؛ لذا تعرف أنك هنا عندما لا تكون قد حررت
00:08:15ملف Claude.md أبداً، ولم تقم أبداً بإنشاء أي نوع من المنتجات أو أي نوع من الملفات التي تسمح لكلود
00:08:23بإدراك ما يحدث بحق، وما فعله بالفعل في الماضي وما الذي يحتاج
00:08:27للقيام به في المستقبل. إذاً ما الذي نحتاج لإتقانه في هذا المستوى؟ حسناً، في الحقيقة كل ما تحتاجه حقاً
00:08:31إتقانه رغم كل ما كتبته هنا، هو أن تفهم فقط أن الذاكرة التلقائية ليست كافية
00:08:35وأننا بحاجة لاتخاذ دور نشط عندما يتعلق الأمر بكود كلود والذاكرة، لأن الفخ في هذا المستوى
00:08:40هو أنك إذا لم تتخذ دوراً نشطاً فلن يكون لديك سيطرة، ونحن بحاجة للسيطرة على ما يأخذه كود كلود
00:08:44في الاعتبار عندما يجيب على أسئلتنا. ولفتح المستوى الأول والانتقال إلى المستوى الثاني
00:08:50نحتاج لذاكرة صريحة، ونحتاج لاكتشاف كيفية القيام بذلك فعلياً؛ ما هي الملفات التي
00:08:57تحتاج لتحريرها وفهم وجودها أصلاً لكي تتخذ دوراً نشطاً في هذه العلاقة
00:09:01المستوى الثاني يدور حول ملف واحد محدد وهو ملف Claude.md؛ عندما تتعرف
00:09:06على هذا الشيء تشعر وكأنه هبة من السماء؛ أخيراً هناك مكان واحد حيث يمكنني إخبار كود كلود
00:09:12ببعض القواعد والاتفاقيات التي أردت دائماً اتباعها وسيفعل ذلك، و
00:09:16في الواقع يمكنني تضمين أشياء أردت منه تذكرها وسيفعل دائماً؛ وبالتأكيد يبدو الأمر وكأنه
00:09:20تقدم في البداية. إليك نموذجاً لملف Claude.md قياسي لمشروع مساعد شخصي؛ الآن
00:09:29كود كلود سيقوم تلقائياً بإنشاء ملف Claude.md ولكن لديك القدرة على
00:09:33تحريره أو حتى تحديثه عند الطلب باستخدام أمر مثل slash init؛ وفكرة
00:09:38هذا الشيء هي أنه مرة أخرى يشبه الكأس المقدسة للتعليمات لكود كلود لهذا المشروع المعين
00:09:43لكل المقاصد والأغراض، سيقوم كود كلود بإلقاء نظرة على هذا قبل أي مهمة
00:09:50ينفذها. لذا إذا كنت تريده أن يتذكر أشياء محددة، فماذا ستفعل؟ سوف
00:09:54تضعها في Claude.md؛ نظرياً هو نطاق أصغر قليلاً من شيء مثل الـ RAG، كما تعلم
00:10:00نحن لا نضع مستندات كاملة هنا، ولكنها أشياء تريد من كود كلود أن
00:10:05يتذكرها دائماً واتفاقيات تريد منه اتباعها. لهذا النموذج لدينا قسم "عني"
00:10:09ولدينا تفصيل لهيكل نظام الملفات وكيف نريده أن يعمل فعلياً عندما
00:10:14نعطيه الأوامر؛ وكما قلت، لأنه يتم الرجوع إليه في كل مطالبة تقريباً، فإن كود كلود
00:10:18جيد جداً في اتباع هذا. لذا فكرة "مهلاً، أردته أن يتذكر أشياء محددة"
00:10:22تبدو مكاناً رائعاً لوضعها، ولكن علينا أن نكون حذرين لأننا يمكن أن نبالغ في ذلك؛ فعندما ننظر إلى
00:10:28دراسات مثل هذه التي تقيم ملف agents.md، ويمكنك استبدال agents.md بـ Claude.md
00:10:33وجدوا في الدراسة أن هذه الأنواع من الملفات يمكن أن تقلل فعلياً من فعالية نماذج
00:10:40اللغة الكبيرة بشكل عام، ولماذا ذلك؟ حسناً، لأن الشيء الذي يجعلها جيدة جداً، حقيقة
00:10:45أنه يتم حقنها في كل مطالبة تقريباً، هو أيضاً ما يمكن أن يجعلها سيئة جداً؛ فهل نحن فعلياً
00:10:51نحقن السياق الصحيح؟ هل اخترقنا الضوضاء وأعطيناه فعلياً
00:10:57إشارة مناسبة، أم أننا نلقي فقط بأشياء نعتقد أنها جيدة؟ لأنه إذا لم يكن الأمر وثيق الصلة بـ
00:11:02كل مطالبة ستفعلها تقريباً في مشروعك، فهل يجب أن يكون هنا في Claude.md؟
00:11:08هل هذه طريقة جيدة للسماح لكود كلود بتذكر الأشياء؟ أود أن أجادل بأن الإجابة لا، ليس تماماً، وهذا
00:11:15يتعارض مع ما يقوله الكثير من الناس حول Claude.md وكيف يجب عليك هيكلته؛ فبناءً على دراسات
00:11:20كهذه وبناءً على الخبرة الشخصية، الأقل هو الأكثر؛ تلوث السياق حقيقي وتآكل السياق حقيقي
00:11:26لذا إذا كان هناك شيء داخل Claude.md ولا يبدو منطقياً لكل
00:11:32مطالبة تعطيها له، فهل يجب أن يكون هناك؟ الإجابة هي لا، لكن معظم الناس لا يدركون ذلك و
00:11:37بدلاً من ذلك يقعون في فخ "كتاب القواعد المتضخم". بدلاً من ذلك، المهارات التي يجب أن نتقنها
00:11:42هي: كيف ننشئ سياق مشروع ذو إشارة عالية؟ كيف أتأكد من أن ما أضعه فعلياً
00:11:48داخل هذا الشيء منطقي؟ ومع ذلك تأتي فكرة الوعي بتآكل السياق كما تحدثنا
00:11:53في المستوى الماضي؛ وعندما تأخذ كل ذلك معاً، تشعر في المستوى الثاني وكأنك
00:11:57تتحرك للأمام، وكأنك تتخذ دوراً نشطاً في الذاكرة بوجود ملف Claude.md هذا، ثم تدرك
00:12:02أنه ليس كافياً حقاً. وعندما نتحدث عن المستوى الثالث وما يمكننا فعله للمضي قدماً هناك
00:12:08نريد التفكير في شيء ليس كتاب قواعد ثابت، بل شيء يمكن أن يتطور و
00:12:14هو شيء يمكن أن يتضمن Claude.md؛ فبدلاً من الاعتماد على Claude.md للقيام بكل شيء، ماذا لو
00:12:18استخدمنا Claude.md كنوع من ملف الفهرس الذي يوجه كود كلود في الاتجاه الصحيح بدلاً من ذلك؟
00:12:24حسناً، ماذا قصدت بكون Claude.md يعمل كنوع من الفهرس ويوجه نحو ملفات أخرى؟
00:12:30حسناً، أنا أتحدث عن بنية داخل قاعدة الكود الخاصة بك لا تحتوي فقط على ملف Markdown واحد” يحاول التعامل مع جميع مشاكل الذاكرة في شكل Claude.md؛ أنا أتحدث عن
00:12:37امتلاك ملفات متعددة لمهام محددة. أعتقد أن مثالاً رائعاً على هذا قيد التنفيذ هو ما تفعله
00:12:41أداة التنسيق GSD (Get Shit Done)؛ فهي لا تكتفي بإنشاء ملف واحد يقول "هذا ما
00:12:47سنقوم ببنائه، وهذه هي المتطلبات، وهذا ما فعلناه وإلى أين نحن ذاهبون"
00:12:53بدلاً من ذلك، تقوم بإنشاء ملفات متعددة؛ يمكنك أن ترى هنا على اليسار لدينا project.md و requirements.md
00:12:56و roadmap و state. لذا المتطلبات موجودة حتى يعرف كود كلود دائماً ويكون لديه ذاكرة لـ
00:13:02ما يفترض أن يبنيه، وخارطة الطريق تفصل ما الذي سنقوم
00:13:08بإنشائه بالضبط ليس الآن فقط، بل ما فعلناه في الماضي وفي المستقبل، والمشروع يعطيه
00:13:12ذاكرة، يعطيه سياقاً لما نقوم به في نظرة عامة رفيعة المستوى؛ ما هو هدفنا الأساسي؟
00:13:16ومن خلال تقسيم الذاكرة والسياق والاتفاقيات في هذا النوع من الأنظمة، فإننا نحارب فكرة
00:13:22تآكل السياق والفكرة التي طرحت في تلك الدراسة، وهي أن حقن هذه الملفات في كل
00:13:29مطالبة طوال الوقت كما نفعل في Claude.md هو في الواقع أمر غير بديهي ولا يساعدنا في الحصول على
00:13:34مخرجات أفضل. علاوة على ذلك، فإن تقسيمها إلى هذه الأجزاء وامتلاك مسار واضح لكلود
00:13:39ليسلكه ويقول "أريد معرفة مكان هذه المعلومة، سأذهب إلى Claude.md"
00:13:44ثم يجد أن Claude.md يقول "هذه هي الخيارات الخمسة المتاحة لي، حسناً، ها هو هذا الخيار، دعني أذهب وأجده"
00:13:49هذا النوع من الهيكل هو ما ستراه 100% في المستوى التالي عندما نتحدث عن
00:13:54Obsidian، وهو في الحقيقة نوع من إعادة تصور خام لنظام التقسيم و
00:13:58البحث عن تشابه المتجهات الذي نراه في أنظمة الـ RAG الحقيقية؛ ولكن من الواضح أن هذا نطاق صغير
00:14:04في هذا المستوى؛ نحن نتحدث عن أربعة ملفات Markdown هنا، ولا نتحدث عن نظام
00:14:10يمكنه التعامل مع آلاف وآلاف وآلاف المستندات. ولكن، كما ستسمعني أتحدث
00:14:14كثيراً، ماذا يعني ذلك بالنسبة لك؟ هل تحتاج لنظام سنتحدث عنه في المستويات أربعة و
00:14:20خمسة وستة وسبعة يمكنه التعامل مع هذا العدد من المستندات؟ الإجابة هي ربما لا، ولذا فإن جزءاً من هذه
00:14:26الرحلة مع الـ RAG هو فهم ليس فقط موقعك الحالي بل وإلى أين تحتاج للذهاب فعلاً؟ هل
00:14:32تحتاج دائماً لتكون في المستوى السابع وتعرف كيفية القيام بنظام RAG وكيل داخل كود كلود؟
00:14:36من الجيد غالباً معرفة كيفية القيام بذلك، ولكن من الجيد أيضاً معرفة متى لا تحتاج لـ
00:14:41تنفيذ ذلك؛ ففي بعض الأحيان يكون ما نراه في أنظمة مثل هذه كافياً لكثير من الناس
00:14:46لذا من المهم معرفة كيفية القيام بذلك ومعرفة ما إذا كنت تحتاج لذلك وهل يجب عليك فعله؟
00:14:52عندما نتحدث عن المستوى الثالث ونتحدث عن ملفات الحالة (state files)، كيف نعرف أننا هنا؟
00:14:58حسناً، نحن نعلم أننا هنا عندما نكون لا نزال حصرياً داخل نظام كود كلود البيئي؛ لم نقم
00:15:00بدمج أدوات أو تطبيقات خارجية، وفي الحقيقة نحن فقط في المكان الذي ننشئ فيه
00:15:04ملفات Markdown متعددة لإنشاء نظام تقسيم الذاكرة المنزلي الخاص بنا؛
00:15:09لكن هذا لا يزال مهماً حقاً؛ نحن لا نزال نتقن بعض المهارات الحقيقية هنا؛ فكرة
00:15:14هيكلة المستندات فعلياً، وامتلاك نظام ما لتحديث الحالة في كل
00:15:18جلسة، لأن هذه قد تكون مشكلة في الـ RAG أيضاً؛ كيف تتأكد من أن كل شيء محدث؟
00:15:23واحتمال كبير أنك بدأت أيضاً في الاعتماد على طبقات التنسيق في هذه المرحلة مثل
00:15:28GSD و Superpowers التي تقوم بأشياء كهذه، أي بنية ملفات Markdown المتعددة هذه من تلقاء نفسها؛ ولكن
00:15:33هناك فخ حقيقي هنا؛ ما ننشئه في هذا المشروع هو مخصص لهذا المشروع فقط؛
00:15:40ومن المربك نوعاً ما أخذ ملفات Markdown تلك ونقلها إلى مشروع آخر. لذا، فإن
00:15:46المستوى الرابع هو المكان الذي ندمج فيه Obsidian، وهذه أداة حظيت بضجة كبيرة
00:15:51ولسبب وجيه؛ فعندما تجد أشخاصاً مثل أندريه كارباثي يتحدثون عن هذه
00:15:56قواعد المعرفة لنماذج اللغة الكبيرة التي أنشأوها، والتي تم بناؤها لكل المقاصد والأغراض على أساس
00:16:00Obsidian، وهي تحصل على ما يقرب من 20 مليون مشاهدة، فيجب علينا على الأرجح الاستماع ورؤية كيف
00:16:06تعمل هذه الأداة فعلياً الآن. وللعلم، فقد قمت بعمل تحليل متعمق كامل حول
00:16:11قاعدة معرفة أندريه كارباثي لنماذج اللغة الكبيرة القائمة على Obsidian، سأضع رابطاً لذلك أعلاه؛ فإذا كنت تريد التركيز على
00:16:18كيفية بناء ذلك، فتأكد من مراجعة ذلك الفيديو أعلاه. وما أريد ذكره أيضاً لمعظم الناس هو أن
00:16:22موضوع Obsidian هذا الذي سنتحدث عنه هنا في المستوى الرابع، هو بصراحة المستوى الذي يجب على معظم الناس
00:16:27السعي للوصول إليه، لأن هذا كافٍ لمعظم الناس في معظم حالات الاستخدام؛ فعندما نتحدث عن المستويات خمسة و
00:16:32ستة وسبعة، سنتحدث عن هياكل الـ RAG الحقيقية، وبصراحة هي زائدة عن الحاجة لمعظم الناس؛
00:16:37هذا زائد عن الحاجة لمعظم الناس، فنحن نحب التحدث عن الـ RAG وكأنه رائع، وأنا أفهم ذلك، ولكن
00:16:43Obsidian هو ذلك الحل بنسبة 80% الذي يمثل في الواقع حلاً بنسبة 99% لمعظم الناس لأنه مجاني، و
00:16:50لا يتطلب أي تكاليف إضافية تقريباً، ويؤدي المهمة للمشغل الفردي؛ وعندما أقول إنه يؤدي المهمة
00:16:56للمشغل الفردي، أعني أنه يحل مشكلة ربط كود كلود بمجموعة من
00:17:02المستندات المختلفة وملفات Markdown المختلفة والقدرة على الحصول على معلومات دقيقة وفي وقتها
00:17:07منها، والحصول على نظرة ثاقبة لتلك المستندات كإنسان؛ لأنه عندما أنقر
00:17:13على هذه المستندات، يكون من الواضح جداً ما يدور بداخلها، ومن الواضح جداً ما هي المستندات
00:17:19المرتبطة بها؛ فعندما أنقر على هذه الروابط يتم نقلي إلى المزيد من المستندات، وعندما أنقر على هذه الروابط
00:17:24يتم نقلي إلى المزيد من المستندات، ولذا فبالنسبة لي كإنسان، فإن امتلاك هذه الرؤية أمر مهم
00:17:30لأن الرؤية القائمة على Obsidian للمستندات، بصراحة، أزعم أنها تتفوق على
00:17:36كثير من الرؤى التي تحصل عليها من أنظمة الـ RAG؛ فعندما نتحدث عن آلاف وآلاف
00:17:42المستندات التي يتم تضمينها في شيء مثل نظام GraphRAG، فإن هذا يبدو رائعاً بصرياً
00:17:47وثائق مدمجة في شيء مثل نظام RAG للرسوم البيانية، يبدو هذا رائعًا بصريًا
00:17:52ويبدو مذهلاً للغاية، هل تعرف حقًا ما الذي يحدث هنا؟ ربما تعرف، لكي أكون صادقًا
00:17:58أنت نوعًا ما تعتمد فقط على الإجابات التي تحصل عليها والتي ستظهر والروابط وما إلى ذلك، ولكن من
00:18:03الصعب قليلاً تتبع التضمينات، كل هذا لأقول إنه يجب عليك إيلاء اهتمام خاص
00:18:08لبرنامج Obsidian و Claude Code، لأننا عندما نتحدث عن هذه الرحلة من RAG، أقترح دائمًا
00:18:13على الجميع، بما في ذلك العملاء: لنبدأ بـ Obsidian ونرى إلى أي مدى يمكننا توسيع هذا
00:18:20وفي النهاية إذا واجهنا عائقًا، يمكنك دائمًا الانتقال إلى أنظمة RAG أكثر قوة، فلماذا لا
00:18:26تجرب الخيار البسيط؟ إذا نجح فهذا رائع، فهو مجاني ولا يكلفني شيئًا، مقابل محاولة بناء
00:18:31نظام RAG هذا الذي قد يكون من الصعب وضعه في الإنتاج اعتمادًا على ما تحاول
00:18:35القيام به؛ ابدأ دائمًا بالأشياء البسيطة، ليس من الصعب أبدًا الانتقال إلى شيء أكثر تعقيدًا
00:18:40إذًا عما نتحدث حقًا هنا في المستوى الرابع؟ ما نتحدث عنه هو أخذ
00:18:45ذلك النوع من الهيكل الذي بدأنا في بنائه في المستوى الثالث، كما تعلمون، بملف فهرس يشير إلى
00:18:50ملفات markdown مختلفة وتوسيع ذلك، ثم جلب هذه الأداة الخارجية Obsidian لجعل
00:18:56الأمر سهلاً بالنسبة لك كإنسان لرؤية هذه الروابط فعليًا، والنموذج المثالي لهذا الإصدار
00:19:00هو تقريبًا ما وضعه أندريه كارباثي في بناء قاعدة معرفية للنماذج اللغوية الكبيرة فوق Obsidian
00:19:05ومدعومة بـ Claude Code، وما يبدو عليه ذلك هو هيكل مثل هذا، فعندما تستخدم Obsidian
00:19:11وتقوم بتنزيله، فهو مجاني تمامًا مرة أخرى، ارجع إلى ذلك الفيديو الذي نشرته سابقًا، ستقوم بتعيين
00:19:16ملف معين كـ "Vault" (خزنة)، فكر في الخزنة كنوع من نظام RAG، هذا النظام
00:19:23شبه RAG الذي أنشأته، وداخل الخزنة نقوم بعد ذلك بهندسة وتنسيق ذلك باستخدام
00:19:30الملفات فقط؛ لدينا الملف الشامل المسمى الخزنة، وداخل تلك الخزنة ننشئ مجلدات
00:19:36فرعية متعددة، في حالة أندريه كارباثي يتحدث عن ثلاثة مجلدات فرعية مختلفة، والحقيقة هي أنها
00:19:41يمكن أن تكون أي مجلدات فرعية، المهم فقط أن تتطابق مع الموضوع الذي سنتحدث عنه، في
00:19:47أحد المجلدات لدينا البيانات الخام، هذا هو كل شيء نقوم باستيعابه ونريد تنظيمه في النهاية
00:19:52ليتمكن Claude Code من الرجوع إليه لاحقًا، تخيل مثلاً أنك تجعل Claude Code يقوم بتحليل تنافسي لـ
00:19:5850 من منافسيك ويسحب 50 موقعًا لكل منهم، أليس كذلك؟ نحن نتحدث عن كمية كبيرة من
00:20:03المعلومات، ربما 2500 شيء مختلف، كل ذلك سيتم وضعه في نوع من المجلد الخام
00:20:08هذا مثل منطقة الانتظار للبيانات، ثم لدينا مجلد الويكي، مجلد الويكي هو المكان الذي
00:20:14تذهب إليه البيانات المنظمة؛ ثم نجعل Claude Code يأخذ هذه البيانات الخام وينظمها بشكل أساسي
00:20:20إلى مقالات مختلفة تشبه مقالات ويكيبيديا داخل مجلد الويكي، وكل مقال يحصل على مجلد خاص به
00:20:28الفكرة هي أنه عندما تسأل Claude Code عن معلومات حول، لنقل مثلاً أننا جعلناه
00:20:33يبحث عن أشياء حول وكلاء الذكاء الاصطناعي وأقول له: يا Claude Code، حدثني عن وكلاء الذكاء الاصطناعي بنفس
00:20:38الطريقة التي تستعلم بها في نظام RAG، حسنًا، سيذهب Claude Code إلى الخزنة، ومن الخزنة
00:20:45سيذهب إلى الويكي، والويكي يحتوي على ملف markdown للفهرس الرئيسي، فكر في نوع ما كنا
00:20:50نتحدث عن فعله بملف claud.md من قبل، أليس كذلك؟ ترى كيف تنتقل هذه الموضوعات
00:20:56عبر المستويات المختلفة، يلقي نظرة على ذلك الفهرس الرئيسي، والفهرس الرئيسي يخبره بما
00:21:00هو موجود في نظام Obsidian RAG هذا، أوه، وكلاء الذكاء الاصطناعي موجودون؟ رائع، خمن ما يحدث هنا، لديه
00:21:08أيضًا ملف فهرس يتحدث عن المقالات الفردية الموجودة، ما الذي أقوله هنا؟ أنا
00:21:14أقول إن هناك تسلسلًا هرميًا واضحًا لـ Claude Code للرجوع إليه عندما يريد العثور على معلومات حول
00:21:21الملفات: الخزنة، الويكي، الفهرس، المقال، إلخ، ولأنه من الواضح جدًا كيفية العثور على المعلومات، وأيضًا
00:21:31من الواضح جدًا العثور أولاً على المعلومات وتحويلها إلى ويكي، يمكننا إنشاء نظام يحتوي على الكثير من
00:21:37الوثائق بدون RAG، المئات والآلاف إذا فعلت هذا بشكل صحيح، لأنه إذا كان النظام واضحًا، مثل
00:21:44أتحقق من الخزنة وأتحقق من الفهرس وهذا لديه تحديد واضح لمكان كل شيء، حسنًا
00:21:50فلن يكون من الصعب جدًا على Claude Code معرفة مكان العثور على الأشياء، وبالتالي يمكنك النجاح
00:21:54بهيكل غير قائم على RAG لآلاف الوثائق، وكان من الصعب جدًا القيام بذلك في الماضي
00:21:58وذلك لأن معظم الناس لا ينظمون أي شيء بأي نوع من الهيكل، لديهم فقط مليار
00:22:02وثيقة ملقاة في مجلد واحد، إنه يعادل وجود 10 ملايين ملف مبعثر في أرضية المصنع
00:22:08وتقول: هل سيجدها Claude Code؟ لا، أنت في الواقع تحتاج فقط إلى خزانة ملفات؛ فـ Claude
00:22:13Code ذكي جدًا في الواقع، ويمكنك رؤية تلك الهندسة المعمارية قيد التنفيذ هنا تمامًا؛ حاليًا نحن
00:22:17ننظر إلى ملف claud.md الموجود في خزنة Obsidian، وماذا يقول؟ حسنًا
00:22:24يفصل هيكل الخزنة، ونظام الويكي، والهيكل العام للمجلدات الفرعية في
00:22:30كيفية تشغيله أساسًا؛ مرة أخرى، نحن نستخدم claud.md كملف اتفاقيات هنا على اليسار
00:22:36يمكنك رؤية مجلد الويكي، وداخل مجلد الويكي يوجد فهرس رئيسي يسرد ما يوجد بداخل
00:22:43هناك، في هذه الحالة هناك مقال واحد فقط، وهو عن وكلاء Claude المُدارين، وداخل ذلك المجلد نرى
00:22:49وكلاء Claude المُدارين، وله مجلد ويكي خاص به يفصل المقالات بالداخل حتى تصل
00:22:55إلى المقال الفعلي نفسه؛ لذا فالخطوات التي يحتاج لاتخاذها واضحة جدًا، وعندما أقول لـ Claude Code
00:23:01حدثني عن الوكلاء المُدارين، ولدينا ويكي عن ذلك، فمن السهل جدًا عليه البحث عنها عبر
00:23:06أداة grep المدمجة لديه، فيقوم بربطي بملف markdown الفعلي ثم يفصل كل
00:23:12شيء يحدث، الآن السؤال في المستوى الرابع يصبح حقًا مسألة نطاق: كم عدد الوثائق
00:23:16التي يمكننا التعامل معها حيث يستمر هذا النوع من الأنظمة في العمل؟ هل هناك نقطة يبدأ عندها
00:23:22نظام أندريه كارباثي في الانهيار؟ حيث تقول: حسنًا، فهمت، إنه مسار واضح جدًا يجب على Claude
00:23:26Code اتباعه، يذهب إلى الفهارس وإلى آخره، هل يستمر ذلك عند
00:23:312000 وثيقة؟ 2500؟ 3000؟ هل هناك رقم واضح؟ الإجابة هي أننا لا نعرف حقًا وهناك
00:23:37رقم مبكر لأن جميع وثائقك مختلفة أيضًا، وفيما يتعلق بالوصول إلى حائط مسدود، فالأمر ليس
00:23:43ببساطة أن Claude Code يعطينا إجابات خاطئة بسبب وجود ملفات كثيرة جدًا في
00:23:47نظام Obsidian، بل كم يكلفك ذلك من حيث الرموز (tokens) الآن بعد أن أضفنا الكثير من الملفات وبأي
00:23:52سرعة يفعل ذلك؟ لأن RAG يمكن أن يكون في الواقع أسرع وأرخص بشكل لا نهائي في حالات معينة
00:23:59ما نراه هنا هو مقارنة بين النماذج اللغوية النصية (في الأشرطة العملاقة) و RAG
00:24:06النصي من حيث كمية الرموز التي استغرقها الحصول على الإجابة الصحيحة ومقدار الوقت الذي
00:24:11استغرقه الحصول على تلك الإجابة؛ ماذا نرى هنا؟ نرى أن هناك فرقًا هائلاً بين RAG
00:24:18النصي مقابل النماذج اللغوية النصية؛ يصل إلى حوالي 1200 ضعف؛ أقول إن RAG أرخص بـ 1200
00:24:25مرة وأسرع بـ 1200 مرة من النماذج اللغوية النصية في هذه الدراسات؛ الآن للتوضيح، تم هذا في عام 2025
00:24:33ولم يتم مع Claude Code، فهذه النماذج تغيرت بشكل كبير منذ ذلك الحين، هذه مجرد نماذج لغوية
00:24:37ليست لفنانين برمجيين وما إلى ذلك؛ ومع ذلك، كنا نتحدث عن فرق 1200 ضعف، لذا عندما نقيم
00:24:48ما إذا كان Obsidian هو ما يجب أن أفعله مقابل ما إذا كان يجب علي فعل نظام RAG، فالأمر ليس ببساطة
00:24:54فقط ما إذا كان يعطي الإجابة الصحيحة أم لا، لأنه يمكن أن يكون لديك سيناريو
00:24:59تحصل فيه على الإجابة الصحيحة مع Obsidian، ومع ذلك إذا ذهبت إلى RAG فسيكون أرخص بألف مرة
00:25:04وأسرع، أليس كذلك؟ لذا فهو هذا الخط الضبابي جدًا بين متى يكون Obsidian جيدًا بما يكفي
00:25:10وهذا النوع من هندسة ملفات markdown جيدًا بما يكفي وبين متى نحتاج لاستخدام RAG
00:25:15لا توجد إجابة رائعة، ليس لدي إجابة رائعة لك، الإجابة هي أنه عليك التجربة
00:25:18وعليك تجربة كليهما ورؤية ما ينجح، لأن هذا بصراحة قديم تمامًا، دراسة 2025 لنماذج أقدم
00:25:25الفرق بين RAG والنماذج اللغوية النصية ليس 1200 مرة، ولكن إلى أي مدى تضاءلت تلك الفجوة؟
00:25:32لأن هذه فجوة جنونية، فهي ليست 10 أضعاف، بل 1200 ضعف؛ لذا هناك الكثير مما يجب أن تعرفه و
00:25:39مرة أخرى، لن تعرف الإجابة مسبقًا، لن تعرفها ببساطة؛ شاهد كل الفيديوهات التي تريدها
00:25:45فلن يخبرك أحد أين يوجد ذلك الخط الفاصل، عليك حرفيًا أن تجري تجاربك الخاصة
00:25:49وترى ما يناسبك مع زيادة كمية الوثائق التي تطلب من Claude Code
00:25:54الإجابة عن أسئلة حولها؛ في هذا الصدد، دعونا ننتقل إلى المستوى الخامس حيث نبدأ أخيرًا
00:25:59في التحدث عن أنظمة RAG الحقيقية ونتحدث عن بعض أساسيات RAG مثل التضمينات (embeddings)
00:26:04وقواعد البيانات المتجهة (vector databases) وكيف تتدفق البيانات فعليًا عبر النظام عندما تصبح جزءًا من
00:26:10قاعدة معرفة RAG الخاصة بنا؛ لذا دعونا نبدأ بالتحدث عن RAG البسيط (naive RAG) وهو النوع الأساسي من
00:26:16RAG الموجود ولكنه يوفر الأساس لكل شيء آخر نقوم به؛ الآن يمكنك التفكير في أنظمة RAG
00:26:21على أنها مقسمة إلى ثلاثة أجزاء؛ على الجانب الأيسر لدينا مرحلة التضمين، ثم
00:26:27لدينا قاعدة البيانات المتجهة، ثم لدينا الاسترجاع الفعلي الذي يحدث مع النموذج اللغوي
00:26:33الكبير؛ واحد واثنان وثلاثة، ولتوضيح هذا النموذج بشكل أفضل، دعونا نبدأ برحلة
00:26:40وثيقة ستكون جزءًا من قاعدة معرفتنا؛ تذكر في نظام RAG كبير يمكننا التحدث عن آلاف
00:26:45الوثائق وكل وثيقة يمكن أن تكون آلاف الصفحات، ولكن في هذا المثال لدينا وثيقة من صفحة
00:26:50واحدة نتحدث عنها؛ الآن إذا أردنا إضافة هذه الوثيقة إلى قاعدة بياناتنا، فالطريقة التي
00:26:56ستعمل بها هي أنها لن يتم استيعابها كوحدة كاملة، وبدلاً من ذلك سنأخذ هذه الوثيقة
00:27:03ونقوم بتقطيعها إلى قطع (chunks)؛ لذا فإن هذه الصفحة الواحدة تصبح أساسًا ثلاث قطع
00:27:08مختلفة؛ يتم إرسال هذه القطع الثلاث إلى نموذج تضمين، ومهمة نموذج التضمين هي أخذ
00:27:15هذه القطع الثلاث وتحويلها إلى متجه (vector) في قاعدة بيانات متجهة؛ الآن قاعدة البيانات
00:27:21المتجهة هي مجرد نوع مختلف من قاعدة بياناتك القياسية؛ عندما نتحدث عن قاعدة بيانات
00:27:27قياسية فكر في شيء مثل مستند Excel، أليس كذلك؟ لديك أعمدة ولديك صفوف، حسنًا
00:27:32في قاعدة البيانات المتجهة، هي ليست أعمدة وصفوف ثنائية الأبعاد، بل هي في الواقع مئات
00:27:37بل آلاف الأبعاد؛ ولكن لأغراض اليوم، فكر فقط في رسم بياني ثلاثي الأبعاد مثل
00:27:43الذي تراه هنا، والمتجهات هي مجرد نقاط في ذلك الرسم البياني، وكل نقطة يتم تمثيلها
00:27:50بسلسلة من الأرقام؛ لذا يمكنك أن ترى هنا لدينا الموز، والموز يتم تمثيله بـ
00:27:570.52 و 5.12 ثم 9.31 كما ترى هناك بالأعلى؛ يستمر ذلك لمئات الأرقام
00:28:06الآن أين يتم وضع كل متجه في هذا الرسم البياني العملاق متعدد الأبعاد يعتمد على معناه
00:28:13الدلالي؛ ماذا تعني الكلمات فعليًا؟ لذا يمكنك أن ترى هنا أن هذا هو قسم
00:28:19الفاكهة، لدينا موز ولدينا تفاح ولدينا كمثرى، وهنا لدينا سفن ولدينا قوارب
00:28:24لذا بالعودة لوثيقتنا، لنتخيل أن هذه الوثيقة هي عن سفن الحرب العالمية الثانية
00:28:31إذًا كل قطعة من هذه القطع سيتم تحويلها إلى سلسلة من الأرقام وتلك السلسلة من الأرقام
00:28:37سيتم تمثيلها كنقطة في هذا الرسم البياني، أين تعتقد أنها ستذهب؟ حسنًا، من المحتمل
00:28:42أن تذهب حول هذه المنطقة، أليس كذلك؟ ستكون هذه هي الأولى والثانية والثالثة؛ هكذا يتم وضع
00:28:49الوثائق؛ كل وثيقة سيتم تقطيعها، وكل قطعة تمر عبر نموذج التضمين، ونموذج التضمين
00:28:54يدخلها في قاعدة البيانات المتجهة؛ كرر وكرر لكل وثيقة، وفي النهاية بعد أن نفعل ذلك
00:28:58عدة آلاف من المرات، نحصل على قاعدة بيانات متجهة تمثل رسمنا البياني المعرفي
00:29:04بمعنى ما، قاعدتنا المعرفية، وهذا ينقلنا إلى الخطوة الثالثة وهي جزء الاسترجاع
00:29:09إذًا أين يكمن دورك في هذا؟ حسنًا، عادةً لنصورك أنت، سنعطيك لونًا
00:29:16مختلفًا، ستكون أنت باللون الوردي؛ هذا أنت، حسنًا؟ أنت عادةً تتحدث فقط إلى
00:29:23Claude Code وتسأله أسئلة عن بوارج الحرب العالمية الثانية؛ حسنًا، في وضعك
00:29:29القياسي الذي لا يستخدم RAG، ماذا سيحدث؟ النموذج اللغوي الكبير Opus 4.6 سيلقي
00:29:34نظرة على بيانات تدريبه ثم سيعطيك إجابة بناءً على معلومات بيانات تدريبه
00:29:39عن بوارج الحرب العالمية الثانية؛ ولكن مع نظام RAG، سيفعل أكثر من ذلك، سيقوم
00:29:44باسترجاع المتجهات المناسبة، وسيستخدم تلك المتجهات لتعزيز الإجابة التي يولدها
00:29:51لك، ومن هنا جاء مسمى "التوليد المعزز بالاسترجاع" (RAG)؛ هذه هي قوة RAG، فهي تسمح لنماذجنا
00:29:56اللغوية الكبيرة بجلب معلومات ليست جزءًا من بيانات تدريبها لتعزيز إجابتها في هذا
00:30:02المثال عن بوارج الحرب العالمية الثانية؛ نعم أفهم أن النموذج اللغوي الكبير يعرف ذلك بالفعل ولكن
00:30:06استبدل هذا بأي نوع من البيانات الخاصة بالشركة التي لا تتوفر ببساطة على الويب وافعل ذلك
00:30:15على نطاق واسع، هذا هو هدف RAG؛ الآن في مثالنا عندما نسأل Claude Code عن
00:30:21معلومات حول بوارج الحرب العالمية الثانية وهو في وضع RAG، ما سيفعله هو أنه
00:30:25سيأخذ سؤالنا ويحوله إلى سلسلة من الأرقام مشابهة للمتجهات هنا، ثم سيلقي
00:30:32نظرة على ماهية الرقم لسؤالنا وأرقام المتجهات وسيرى أي من هذه المتجهات
00:30:39يطابق متجه السؤال بشكل أوثق، أليس كذلك؟ ما مدى تشابه المتجهات مع السؤال تقريبًا؟
00:30:46ثم سيسحب كمية معينة من المتجهات، سواء كان ذلك واحدًا أو اثنين أو ثلاثة أو أربعة أو خمسة
00:30:51أو عشرة أو عشرين، وسيسحب تلك المتجهات ومعلوماتها إلى النموذج اللغوي الكبير؛ لذا
00:30:56الآن أصبح لدى النموذج اللغوي الكبير إجابة بيانات تدريبه بالإضافة إلى، لنقل، 10 متجهات من
00:31:02المعلومات، أليس كذلك؟ كان ذلك جزء الاسترجاع، ثم يقوم بتعزيز وتوليد إجابة بتلك
00:31:09المعلومات الإضافية؛ وهذه هي طريقة عمل RAG، هكذا يعمل RAG البسيط؛ الآن هذا ليس
00:31:13فعالاً بشكل خاص لعدة أسباب؛ هذا الهيكل الأساسي ينهار في البداية عندما نبدأ
00:31:19في التفكير في: حسنًا، كيف نقوم بتقطيع هذه الوثائق؟ هل هو عشوائي؟ هل هو مجرد
00:31:25بناءً على عدد الرموز؟ هل لدينا عدد معين من التداخلات؟ هل الوثائق نفسها
00:31:31معدة بطريقة تجعل من المنطقي تقطيعها؟ لأنه ماذا لو كانت القطعة رقم ثلاثة تشير إلى
00:31:36شيء في القطعة رقم واحد؟ ثم في وضع المتجهات لدينا، عندما نسحب القطع، ماذا لو لم يحصل
00:31:42على القطعة الصحيحة؟ ماذا لو لم يحصل على تلك القطعة الأخرى المطلوبة كخلفية حتى يكون
00:31:47لما تقوله القطعة رقم ثلاثة معنى؟ هل تفهم ما أقول؟ في كثير من الأحيان تكون الوثيقة
00:31:53بأكملها مطلوبة للإجابة عن أسئلة حول هذه الوثائق؛ لذا فإن فكرة الحصول على هذه الإجابات
00:31:59المجزأة لا تعمل حقًا في الممارسة العملية؛ ومع ذلك، هكذا كان يتم إعداد RAG لفترة طويلة
00:32:05جدًا؛ هناك مشكلات أخرى يمكن أن تظهر، مثل ماذا لو كان لدي أسئلة حول
00:32:10العلاقات بين المتجهات المختلفة؟ لأنني الآن أقوم فقط بسحب المتجهات في صوامع منفصلة
00:32:17ولكن ماذا لو أردت معرفة كيف ترتبط القوارب بالموز؟ يبدو الأمر عشوائيًا ولكن ماذا لو فعلت؟
00:32:22في نهج قاعدة البيانات المتجهة و RAG البسيط هذا، كل شيء يكون نوعًا ما في صومعة، ومن الصعب
00:32:31ربط المعلومات وكثير من ذلك يعتمد فقط على مدى جودة تنظيم تلك الوثائق الأصلية
00:32:36هل هي منظمة بطريقة منطقية لعملية RAG؟ الآن على مر السنين توصلنا إلى بعض
00:32:41الطرق لتخفيف هذه المشكلات، أشياء مثل أدوات إعادة التصنيف (re-rankers) أو أنظمة التصنيف التي
00:32:46تلقي نظرة على جميع المتجهات التي نسحبها ثم تقوم أساسًا بإجراء تمريرة أخرى عليها
00:32:51بنموذج لغوي كبير لتصنيفها من حيث صلتها، ولكن بشكل عام فإن نظام RAG
00:32:56البسيط هذا قد عفا عليه الزمن، ومع ذلك لا يزال من المهم فهم كيفية عمله على المستوى
00:33:03التأسيسي حتى يتمكن من توجيه قراراتك إذا ذهبت نحو نهج RAG أكثر قوة
00:33:07لأنه إذا لم تفهم كيف يعمل التقطيع أو التضمينات، فكيف يمكنك اتخاذ قرارات
00:33:13حول كيفية تنظيم وثائقك؟ عندما نتحدث عن شيء مثل GraphRAG أو نتحدث عن
00:33:17أنظمة تضمين أكثر تعقيدًا مثل تلك الجديدة تمامًا من Google والتي يمكنها استيعاب
00:33:22ليس فقط النصوص بل الفيديوهات أيضًا، وإذا لم تفهم هذا النوع من الأساس فسيصعب عليك
00:33:27فهم هذا الفخ؛ والفخ هو أننا نوعًا ما أنشأنا محرك بحث رديء، لأنه مع
00:33:31أنظمة RAG البسيطة هذه حيث كل ما نفعله هو سحب القطع ولا يمكننا حقًا فهم العلاقات
00:33:36بينها، فما الفرق بين ذلك وبين وجود نظام "Ctrl+F" مفرط التعقيد؟ الإجابة
00:33:42هي أنه لا يوجد فرق كبير في الواقع، ولهذا السبب في هياكل RAG البسيطة والقديمة هذه
00:33:48والتي لا تزال منتشرة في كل مكان في الواقع؛ إذا رأيت شخصًا يقول: أوه، هذا نظام RAG
00:33:54الخاص بي على Pinecone أو نظام RAG الخاص بي على Supabase ولا يذكرون أي شيء عن GraphRAG
00:33:58أو لا يذكرون أي شيء عن وجود نظام إعادة تصنيف متطور لديهم، فإن النتائج ستكون
00:34:03سيئة لدرجة أن الفعالية الفعلية لهذا ستكون حوالي 25% من المرات التي تحصل فيها على
00:34:07شيء صحيح؛ أنت تقريبًا أفضل حالاً بالتخمين، لذا إذا كنت لا تعرف ذلك مسبقًا
00:34:12فيمكن بالتأكيد خداعك أو إرباكك أو في بعض الحالات الاحتيال عليك أساسًا لشراء
00:34:18أنظمة RAG هذه التي لا معنى لها؛ لذا فإن المستوى الخامس لا يتعلق بتنفيذ هذه الأنظمة
00:34:23البسيطة من RAG، بل يتعلق بفهم كيفية عملها بحيث عندما يحين الوقت لتنفيذ
00:34:28شيء أكثر تعقيدًا تفهم حقًا ما الذي يحدث؛ لأن ذلك الشرح لـ RAG في خمس دقائق
00:34:34هو للأسف شيء لا يفهمه معظم الناس عندما يقولون: أنا بحاجة لنظام RAG؛ حسنًا، هل
00:34:38أنت فعلاً بحاجة إليه؟ لأنه عليك أيضًا أن تسأل نفسك: ما نوع الأسئلة التي تطرحها
00:34:43فعليًا على نظامك؟ إذا كنت تعامل قاعدتك المعرفية كمجرد كتاب قواعد ضخم
00:34:48وتحتاج فقط لأشياء محددة من ذلك النظام المعرفي ليتم إحضارها، حسنًا، فإن
00:34:54Obsidian كافٍ على الأرجح أو يمكنك حتى النجاح مع نظام RAG بسيط؛ ولكن إذا كنا
00:34:59بحاجة لمعرفة العلاقات، إذا كنا بحاجة لمعرفة كيف يتفاعل "س" مع "ص" وهما وثيقتان
00:35:02منفصلتان لا يذكران بعضهما البعض حتى، وهو أمر لا يمكنني وضعه ببساطة داخل السياق
00:35:09مباشرة لأن لدي آلاف الوثائق، حسنًا، حينها ستحتاج إلى RAG
00:35:13وحينها ستحتاج إلى شيء أكثر تعقيدًا من RAG المتجهي الأساسي، حينها نحتاج للبدء
00:35:19بالتحدث عن GraphRAG؛ لذا عندما نتحدث عن المستوى السادس من Claude Code و RAG
00:35:23فنحن نتحدث عن GraphRAG ونتحدث عن هذا؛ وفي رأيي، إذا كنت ستستخدم RAG
00:35:29فهذا هو أدنى مستوى من البنية التحتية التي تحتاج لإنشائها؛ هذا يستخدم LightRAG
00:35:34وهي أداة مفتوحة المصدر تمامًا، سأضع رابطًا بالأعلى حيث أشرح بالتفصيل كيفية استخدامها
00:35:39وكيفية بنائها، ولكن فكرة GraphRAG واضحة جدًا: هي فكرة أن كل شيء متصل؛
00:35:44هذه ليست قاعدة بيانات متجهة مع مجموعة من المتجهات في صوامع منفصلة، بل هي مجموعة
00:35:50من الأشياء المتصلة ببعضها البعض؛ عندما أنقر على هذه الوثيقة يمكنني أن أرى هنا على اليمين
00:35:55وسأحرك هذا، وصف المتجه، الاسم، النوع، الملف، القطعة، والأهم من ذلك
00:36:00العلاقات المختلفة؛ وهذا النهج القائم على العلاقات يؤدي إلى نتائج أكثر فعالية؛
00:36:05إليك رسم بياني من صفحة LightRAG على GitHub؛ عمر هذا حوالي ستة إلى ثمانية أشهر
00:36:10ومن الجدير بالذكر أن LightRAG هو أخف نظام GraphRAG موجود هناك أعرفه، فهناك
00:36:15إصدارات قوية جدًا بما في ذلك GraphRAG نفسه من Microsoft؛ إنه رسم بياني ويسمى حرفيًا
00:36:23GraphRAG؛ ولكن عندما نقارن RAG البسيط بـ LightRAG ففي جميع المجالات نحصل على
00:36:30قفزات تتجاوز غالبًا 100 بالمائة، أليس كذلك؟ 31.6 مقابل 68.4، و 24 مقابل 76
00:36:35و 24 مقابل 75 وهكذا دواليك؛ ومع ذلك، وفقًا لـ LightRAG فإنه يتفوق
00:36:43بنسبة 24 مقابل 75 وهكذا دواليك، ومع ذلك، ووفقًا لـ LightRAG فإنه
00:36:49يصمد فعليًا ويتفوق على GraphRAG نفسه؛ لكن مهلاً، هذه أرقام LightRAG لذا
00:36:54خذها بحذر. الآن، عندما ننظر إلى نظام الرسم البياني للمعرفة هذا، فمن المحتمل
00:36:58أن يتبادر ذهنك فورًا إلى Obsidian لأن هذا يبدو مشابهًا جدًا، ومع ذلك،
00:37:04ما نراه هنا في Obsidian هو أكثر بدائية بكثير مما يحدث داخل LightRAG
00:37:10أو أي نظام GraphRAG، لأن هذه السلسلة من الاتصالات التي نراها هنا يدوية تمامًا
00:37:16وعشوائية إلى حد ما؛ فهي متصلة فقط لأننا حددنا المستندات ذات الصلة، أو حددها Claude Code
00:37:22عندما أنشأ هذا المستند تحديدًا، على سبيل المثال، بمجرد إضافة بعض الأقواس، بوم، أصبح المستند متصلاً.
00:37:27لذا نظريًا، يمكنني ربط مجموعة من المستندات العشوائية التي ليس لها علاقة ببعضها في الواقع.
00:37:30بما أن Claude Code ليس غبيًا، فلن يفعل ذلك، لكن هذا يختلف كثيرًا
00:37:35عما حدث هنا؛ فهذا مر بنظام تضمين فعلي، ونظر في المحتوى الحقيقي،
00:37:41وحدد علاقة، وأرسل كيانًا؛ هناك عمل أكبر بكثير يجري هنا داخل
00:37:46LightRAG فيما يتعلق بتحديد العلاقات مقارنة بـ Obsidian. الآن، هل هذا الفرق
00:37:52يعادل فعليًا فجوة هائلة في الأداء على مستوى منخفض؟ ربما في النطاقات الضخمة،
00:38:02مرة أخرى، نحن في تلك المنطقة الرمادية، فالأمر يعتمد نوعًا ما على نطاق عملك وما نتحدث عنه فعليًا،
00:38:07ولا أحد يستطيع الإجابة على هذا السؤال سواك ومن خلال الخبرة الشخصية؛ لكن افهم أن هذين
00:38:13الشيئين ليسا متماثلين، نحن لسنا متماثلين يا أخي، فهما نظامان مختلفان تمامًا، أحدهما
00:38:20متطور للغاية والآخر بدائي جدًا. افهم ذلك، ولنختتم المستوى السادس في GraphRAG،
00:38:26نحن هنا حقًا عندما نقرر أن أشياء مثل Obsidian لا تعمل، ولا يمكننا استخدام
00:38:31شيء مثل RAG التقليدي لأنه ببساطة لا يعمل، ونحتاج لشيء يمكنه استخراج الكيانات
00:38:36والعلاقات والاستفادة حقًا من تصميم نظام استعلام هجين يجمع بين المتجهات والرسم البياني.
00:38:43لكن هناك بعض الفخاخ، وبعض العقبات الخطيرة، حتى هنا في المستوى السادس عندما نتحدث
00:38:48عن LightRAG، فهذا مجرد نص. ماذا لو كان لدي ملفات PDF قابلة للمسح؟ ماذا لو كان لدي فيديوهات؟
00:38:55ماذا لو كان لدي صور؟ نحن لا نعيش في عالم ستكون فيه جميع مستنداتك مجرد ملفات Google Docs،
00:39:01إذًا ماذا نفعل في تلك الحالات؟ لذا فإن الاسترجاع متعدد الوسائط أمر ضخم، وعلاوة على ذلك ماذا
00:39:06عن جلب بعض الصفات الوكيلة لهذه الأنظمة؟ منحها المزيد من قوة الذكاء الاصطناعي، نوعًا من
00:39:11الدفعة في هذا المجال؟ حسنًا، إذا كنا نتحدث عن أشياء متعددة الوسائط، فيمكننا أخيرًا الانتقال
00:39:17إلى ما يشبه ذروة الـ RAG في يومنا هذا، واعتبارًا من أبريل 2026، هذا هو محور المستوى السابع.
00:39:24الآن، عندما نتحدث عن المستوى السابع في الـ RAG الوكيل، فإن الشيء الكبير الذي نريد التركيز عليه هنا
00:39:31هو الأشياء التي تتعلق باستيعاب البيانات متعددة الوسائط. لقد قدمنا فيديوهات عن هذه الأشياء، مثل
00:39:36Rag-Anything الذي يسمح لنا باستيراد الصور والمستندات غير النصية، فكر مرة أخرى في ملفات PDF
00:39:44القابلة للمسح الضوئي، وإدخالها في هياكل مثل الرسم البياني للمعرفة في LightRAG الذي رأيته هنا. لدينا أيضًا إصدارات جديدة مثل
00:39:49Gemini Embedding 2 الذي صدر للتو في مارس، والذي يسمح لنا فعليًا بتضمين الفيديوهات في قاعدة بيانات
00:39:56المتجهات الخاصة بنا، الفيديوهات نفسها، وبصراحة هذا هو الاتجاه الذي يسلكه هذا المجال. لم يعد كافيًا التعامل مع النصوص
00:40:01فقط. كم من المعلومات، وكم من المعرفة المحبوسة على الإنترنت، خاصة في أماكن
00:40:06مثل YouTube، حيث المحتوى مجرد فيديو؟ ونحن نريد أكثر من مجرد نص مفرغ أيضًا؛
00:40:10فالنص المفرغ لا يكفي. لذا فإن مشكلة تعدد الوسائط هذه حقيقية، ومرة أخرى، هذه أشياء
00:40:16صدرت منذ أسابيع فقط. والمستوى السابع هو أيضًا المكان الذي نحتاج فيه لبدء الانتباه إلى
00:40:20هندستنا ومساراتنا عندما يتعلق الأمر بالبيانات الداخلة والخارجة من نظام الـ RAG الخاص بنا. فليس
00:40:25كافيًا مجرد إدخال البيانات؛ هذا رائع، حسنًا لدينا كل هذه الروابط
00:40:30وما إلى ذلك، لكن كيف تصل البيانات إلى هناك؟ كيف تصل إلى هناك في سياق فريق عمل؟
00:40:35وكيف تخرج البيانات من هناك؟ ماذا لو تغيرت بعض المعلومات هنا في مستند
00:40:40معين؟ ماذا لو قام شخص ما بتعديله؟ كيف يتم تحديثه؟ ماذا لو أضفنا نسخًا مكررة؟ من يمكنه
00:40:46فعليًا وضع هذه الأشياء هناك؟ عندما يتعلق الأمر بأشياء على مستوى الإنتاج، فهذه كلها أسئلة
00:40:50تحتاج أن تبدأ بطرحها على نفسك. لذا عندما ننظر إلى نظام RAG وكيل مثل هذا النظام من
00:40:54n8n، يمكنك أن ترى أن الغالبية العظمى من البنية التحتية، كل ما هو موضح هنا، يتعلق كليًا
00:41:01باستيعاب البيانات ومزامنتها. هناك جزء صغير جدًا فقط له علاقة بالـ RAG، وهو
00:41:06موجود هناك؛ لأننا بحاجة لأنظمة تنظف البيانات وتكون قادرة على النظر في: حسنًا، لقد
00:41:11استوعبنا هذا المستند للتو، وفي الواقع كان هذا الإصدار الثاني من الإصدار الأول، فهل يمكننا الآن العودة وتنظيف تلك البيانات؟
00:41:17إليك شيء مثل مسار استيعاب البيانات حيث لا توضع المستندات مباشرة في
00:41:21النظام أو في LightRAG، بل نضعها بدلاً من ذلك داخل شيء مثل Google Drive، ومن هناك يتم استيعابها
00:41:27في نظام GraphRAG وتسجيلها. هذه هي أنواع الأشياء التي ستحدد نجاح أو فشل
00:41:31نظام الـ RAG الخاص بك عند استخدامه بشكل حقيقي. وعندما نتحدث عن الـ RAG الوكيل، يمكنك أن ترى هنا،
00:41:37وأعلم أن الصورة غير واضحة بعض الشيء، لكن إذا كان لدينا وكيل ذكاء اصطناعي يدير هذا البرنامج بالكامل؛ تخيل
00:41:42نوعًا من برامج الدردشة الآلية لفريقك، فهل يحتاج دائمًا للوصول إلى قاعدة البيانات هذه؟ الجواب هو
00:41:49على الأرجح لا. فمن المحتمل في بيئة الفريق أو بيئة العمل، أن يكون لديك معلومات
00:41:54في قاعدة بيانات مثل هذه كنصوص أو ما شابه، ولكن ربما لديك أيضًا مجموعة أخرى
00:41:58من قواعد البيانات مثل قواعد بيانات Postgres القياسية مع الكثير من المعلومات التي تريد الاستعلام عنها
00:42:03باستخدام SQL أيضًا. لذا عندما نتحدث عن نظام RAG وكيل، فنحن بحاجة لشيء يمتلك كل ذلك؛
00:42:08القدرة على اتخاذ قرار بذكاء: هل سأصل إلى قاعدة بيانات GraphRAG الممثلة
00:42:15هنا، أم سأقوم فقط ببعض استعلامات SQL في Postgres؟ هذه الأمور يمكن أن تصبح
00:42:20معقدة، صح؟ وكل هذا يعتمد على حالة الاستخدام، ولهذا السبب يصعب
00:42:23أحيانًا صنع هذه الفيديوهات ومحاولة تغطية كل حالة استثنائية. النقطة هنا في المستوى السابع ليست
00:42:30بالضرورة وجود نظام RAG خارق لم تسمع عنه من قبل، بل هي أن
00:42:34الشيطان يكمن في التفاصيل هنا، وهذا يتعلق في الغالب بجزء استيعاب البيانات وإبقائها
00:42:39محدثة، ولكن أيضًا بكيفية الوصول إلى هذا الشيء فعليًا. من السهل القيام بذلك في عرض توضيحي هنا:
00:42:46أوه، نذهب فقط إلى LightRAG وأذهب للاسترجاع وأطرح عليه الأسئلة. لكن السيناريو يختلف عندما
00:42:50نتحدث عن فريق عمل والجميع يتعامل معه من زوايا مختلفة، ومن
00:42:55المحتمل أنك لا تريد أن يتمتع الجميع بصلاحية رفعه إلى LightRAG نفسه عبر
00:43:01تطبيق ويب. ومع ذلك، بالنسبة للمشغل الفردي الذي يحاول إنشاء نوع من أنظمة الـ RAG المتطورة
00:43:07القادرة على القيام بأشياء متعددة الوسائط، أقترح مزيج Rag-Anything بالإضافة إلى LightRAG.
00:43:14لقد قمت بفيديو حول ذلك، وإذا لم أكن قد وضعته بالفعل فسأضع رابطه أعلاه. أقترح ذلك لبضعة
00:43:19أسباب؛ أولاً لأنه مفتوح المصدر وخفيف الوزن، لذا فالأمر ليس وكأنك تنفق الكثير من المال
00:43:26أو الوقت لتشغيل شيء كهذا للتأكد من أنه منطقي فعليًا لحالة استخدامك.
00:43:31مرة أخرى، الشيء الذي نريده هو ألا نعلق في أنظمة لا يوجد مخرج منها
00:43:37وقد أنفقنا الكثير من المال للوصول إليها، وهذا هو السبب في أنني أحب Obsidian وأوصي دائمًا بأشياء
00:43:42مثل LightRAG و Rag-Anything، لأنه مهلاً، إذا جربت هذا ولم ينفعك أو لم يكن
00:43:45منطقيًا؛ حسنًا، لا بأس، لقد أضعت بضع ساعات فقط، كما تعلم، فالأمر ليس وكأنك
00:43:50تنفق الكثير من المال على GraphRAG الخاص بـ Microsoft، وهو ليس رخيصًا بأي حال من الأحوال.
00:43:56إذًا متى تعرف أنك في المستوى السابع؟ حقًا عند الحاجة لأشياء متعددة الوسائط مثل فهرسة الصور والجداول والفيديوهات، وعندما
00:44:02تدمج نوعًا من نظام الوكلاء حيث يمكنه بذكاء تحديد المسار الذي سيسلكه
00:44:06للإجابة على المعلومات؛ لأنك في المستوى السابع من المحتمل أنك تدمج كل هذه الأشياء، فربما
00:44:12لديك ملف Claude MD مع بعض المعلومات الدائمة، وربما لديك في قاعدة كود مع بعض ملفات
00:44:16Markdown التي تبدو منطقية للاسترجاع السهل، وربما تتضمن أيضًا Obsidian
00:44:20في خزانة ما، بالإضافة إلى أنك تملك على الأرجح قسمًا من المستندات في قاعدة بيانات GraphRAG،
00:44:25ولديك نظام ذكاء اصطناعي في مقدمة المسار يمكنه تحديد: إذا سألوا هذا السؤال سأسلك
00:44:33هذا الطريق. هذه بنية ذاكرة ناضجة أقترحها؛ لكن ما هو الفخ هنا؟
00:44:40الفخ بصراحة هو محاولة إجبار نفسك على هذا المستوى وهذا النوع من التعقيد عندما
00:44:47لا تكون هناك حاجة فعلية لذلك. لكي نكون صادقين، بعد كل هذا، معظمكم يكتفي بـ Obsidian، فهو
00:44:52أكثر من كافٍ؛ لست بحاجة إلى GraphRAG، لست بحاجة إلى الـ RAG بشكل عام حقًا، وإذا لم يكن واضحًا أنك
00:44:57بحاجة للمستوى السابع، وبالتأكيد إذا لم تكن قد جربت مسار Obsidian بالفعل، فلا داعي لأن تكون هنا،
00:45:01فمن المحتمل أن يكون ذلك مضيعة لوقتك. لكن الغرض من هذا الفيديو بالكامل كان، وبأقصى ما في وسعي،
00:45:07هو كشف ما أراه كمستويات مختلفة للـ RAG والذاكرة و Claude Code وماهية
00:45:12هذه المشكلة، وما هي بعض التوترات وما هي المقايضات، وأين يجب أن تكون على الأرجح
00:45:18لحالة استخدامك. ومرة أخرى، أهم شيء هو مجرد التجربة، ليس عليك معرفة الإجابة
00:45:24قبل أن تبدأ في هذا، فقط جربها، وسأقوم بتجربتها بترتيب تصاعدي إن أمكن؛
00:45:28إذا كان بإمكانك الاكتفاء بملفات Markdown فقط في نظام Claude وهي أساسًا مجرد ملف Claude.md مطور، رائع، استمر.
00:45:34ثم جرب Obsidian، وإذا لم يكن Obsidian كافيًا جرب LightRAG وهكذا دواليك. إذًا هذا هو
00:45:39المكان الذي سأترككم فيه اليوم. إذا أردتم معرفة المزيد خاصة حول جانب الإنتاج
00:45:43في الـ RAG، مثل كيفية تشغيل هذا لفريق أو تجهيزه لعميل، فلدينا وحدة كاملة
00:45:47حول ذلك داخل Chase AI Plus؛ لذا تحققوا من ذلك. بخلاف ذلك، أخبروني برأيكم،
00:45:52أعلم أن هذا الفيديو كان طويلاً، وسأراكم لاحقًا.

Key Takeaway

تتدرج كفاءة إدارة الذاكرة في Claude Code من الاعتماد البسيط على الملفات النصية وObsidian وصولاً إلى الـ RAG الوكيل متعدد الوسائط، حيث يظل Obsidian الخيار الأمثل للمطور الفردي بينما يتطلب نطاق المؤسسات أنظمة GraphRAG متطورة لربط العلاقات المعقدة وتقليل تآكل السياق.

Highlights

يؤدي ملء نافذة سياق Claude Code إلى 250 ألف رمز (25% من سعتها) إلى انخفاض دقة الاستجابة إلى 92%، وتصل إلى 78% عند امتلاء السياق بالكامل.

يتفوق نظام RAG النصي على النماذج اللغوية التقليدية من حيث التكلفة والسرعة بفارق يصل إلى 1200 ضعف في سيناريوهات استرجاع المعلومات الضخمة.

يمثل استخدام Obsidian حلاً كافياً بنسبة 99% من حالات الاستخدام الفردية كبديل مجاني وبسيط لأنظمة الـ RAG المعقدة.

يوفر نظام LightRAG قفزات في دقة استرجاع المعلومات تتجاوز 100% مقارنة بأنظمة الـ RAG البسيطة (Naive RAG) بفضل هيكلية الرسم البياني.

تسمح نماذج التضمين الحديثة مثل Gemini Embedding 2 التي صدرت في مارس 2026 بدمج الفيديوهات والصور مباشرة في قواعد البيانات المتجهة.

تعتمد فعالية أنظمة الـ RAG على مستوى الإنتاج على جودة مسارات استيعاب وتطهير البيانات (Data Ingestion) أكثر من تقنية الاسترجاع نفسها.

Timeline

معضلة الذاكرة وتآكل السياق في أنظمة الذكاء الاصطناعي

  • تعتمد الذاكرة التلقائية في Claude Code على إنشاء ملفات Markdown في مجلد مخفي لتسجيل الملاحظات بناءً على حدس النموذج.
  • يؤدي استمرار المحادثة في جلسة واحدة لفترة طويلة إلى ظاهرة تآكل السياق (Context Rot) التي تضعف الأداء وتزيد استهلاك الرموز.
  • تتراجع دقة النموذج من 92% إلى 78% مع تزايد حجم البيانات المحقونة في نافذة السياق.

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

هيكلة الذاكرة الصريحة باستخدام ملفات التوصيف

  • يعمل ملف Claude.md كدستور للمشروع يحتوي على القواعد والاتفاقيات التي يراجعها الذكاء الاصطناعي قبل تنفيذ كل مهمة.
  • يقلل حقن ملفات القواعد الضخمة في كل مطالبة من فعالية النماذج اللغوية بسبب زيادة الضوضاء في السياق.
  • توزع منهجية GSD (Get Shit Done) الذاكرة على ملفات متخصصة مثل المتطلبات وخارطة الطريق وحالة المشروع الحالية.

يوفر ملف Claude.md مكاناً مركزياً لتوجيه سلوك Claude، لكن المبالغة في حجمه تؤدي لتلوث السياق. النهج الأفضل هو استخدام مبدأ 'الأقل هو الأكثر' وتقسيم المعلومات إلى ملفات Markdown متعددة لتسهيل وصول النموذج للمعلومات ذات الصلة فقط. هذا النظام يحاكي آلية تقسيم البيانات في أنظمة الـ RAG ولكن على نطاق محلي أصغر.

نظام Obsidian كقاعدة معرفة بديلة للـ RAG

  • يوفر Obsidian رؤية بشرية واضحة للعلاقات بين المستندات تتفوق على الغموض البرمجي في أنظمة الـ RAG المعقدة.
  • تعتمد بنية أندريه كارباثي لقواعد المعرفة على تقسيم الخزنة (Vault) إلى مجلدات للبيانات الخام وأخرى لـ 'الويكي' المنظم.
  • يستطيع Claude Code التعامل مع آلاف المستندات في Obsidian إذا تم تنظيمها في هيكل هرمي يبدأ من ملف فهرس رئيسي.

يعتبر Obsidian الحل الأمثل للمشغل الفردي لأنه مجاني ولا يتطلب بنية تحتية برمجية معقدة. تعتمد الطريقة على توجيه Claude Code للبحث داخل 'خزنة' منظمة هرمياً، حيث يقوم النموذج بتحويل البيانات الخام إلى مقالات ويكي منظمة. تبرز المقارنات أن الـ RAG قد يكون أرخص بـ 1200 مرة من النماذج النصية الصرفة عند التعامل مع وثائق ضخمة، مما يجعل Obsidian مرحلة تجريبية ضرورية قبل الانتقال للأنظمة المدفوعة.

أساسيات الـ RAG البسيط وتحديات استرجاع المتجهات

  • يتكون نظام RAG من ثلاث مراحل رئيسية: التضمين (Embedding)، وقاعدة البيانات المتجهة، وعملية الاسترجاع.
  • تتحول الوثائق إلى قطع (Chunks) ثم إلى متجهات رقمية تمثل معناها الدلالي في فضاء متعدد الأبعاد.
  • يفشل الـ RAG البسيط في فهم العلاقات المعقدة بين قطع البيانات المنفصلة مما يجعله مجرد محرك بحث متطور.

يعتمد الـ RAG البسيط على قياس التشابه بين سؤال المستخدم والمتجهات المخزنة لاسترجاع القطع النصية الأكثر صلة. تكمن المشكلة في تقطيع الوثائق بشكل عشوائي، مما قد يفقد السياق الضروري إذا كانت القطعة المسترجعة تشير إلى معلومة في قطعة أخرى لم يتم استدعاؤها. هذه الأنظمة غالباً ما تعطي نتائج صحيحة بنسبة 25% فقط إذا لم تدعم بأدوات إعادة تصنيف (Re-rankers).

نظام GraphRAG والـ RAG الوكيل متعدد الوسائط

  • يربط نظام GraphRAG الكيانات ببعضها عبر علاقات دقيقة، مما يحقق دقة استرجاع تفوق الـ RAG التقليدي بنسبة 100%.
  • تتطلب أنظمة الإنتاج مسارات معقدة لمزامنة البيانات وتحديثها وتجنب التكرار عند تعديل المستندات الأصلية.
  • يستخدم الـ RAG الوكيل (Agentic RAG) ذكاءً اصطناعياً لتحديد ما إذا كان سيستعلم من الرسم البياني أو من قاعدة بيانات SQL تقليدية.

يمثل المستوى السابع ذروة تقنيات الذاكرة، حيث يتم دمج الوسائط المتعددة مثل الصور والفيديوهات باستخدام نماذج تضمين متقدمة. يركز هذا المستوى على حل مشاكل 'شيطان التفاصيل' في بيئات العمل الجماعي، مثل كيفية إبقاء البيانات محدثة في Google Drive ومزامنتها مع قاعدة البيانات المتجهة. النصيحة النهائية هي عدم الاندفاع لهذا التعقيد إلا إذا فشلت الحلول الأبسط مثل Obsidian و LightRAG.

Community Posts

View all posts