توقفت عن استخدام Grep فأصبح وكيل الذكاء الاصطناعي الخاص بي أسرع بـ 10 مرات

BBetter Stack
Computing/SoftwareSmall Business/StartupsInternet Technology

Transcript

00:00:00هناك إضافة لـ MCP تسمى "Claude Context" تقوم بفهرسة قاعدة بياناتك البرمجية بالكامل
00:00:06في قاعدة بيانات متجهة، مما يعني أن وكيل البرمجة الخاص بك يمكنه الحصول على الكود الدقيق الذي يحتاجه بسرعة
00:00:11دون الحاجة للتخمين باستخدام grep أو glob والأمل في العثور على الملف الصحيح.
00:00:15حتى أنه يحلل الكود الخاص بك باستخدام ASTs ويستخدم نهج بحث هجين، يجمع بين البحث الدلالي
00:00:20عبر المتجهات ومطابقة الكلمات المفتاحية، مما يقلل من استخدام السياق بنسبة 40%.
00:00:24لكنه يحتاج إلى حساب Zilliz السحابي ومفتاح OpenAI للتضمينات، حتى لو كنت تستخدم كود Claude.
00:00:30إذًا، هل يستحق الجهد والتكلفة الإضافية توفير الرموز (tokens)؟
00:00:34اضغط على زر الاشتراك ولنكتشف ذلك.
00:00:35حسنًا، "Claude Context"، لست متأكدًا من الاسم، تم إنشاؤه بواسطة Zilliz، وهي شركة
00:00:43أسسها مبتكرو Milvus، وهي قاعدة بيانات متجهة ذات أداء عالٍ جدًا.
00:00:47يتصل بالوكيل الخاص بك عن طريق MCP، مما يعني أنه يمكنه العمل مع أي نظام وكيل وليس
00:00:52فقط كود Claude.
00:00:54لكنه يقوم بثلاثة أشياء معقدة لجعل الكود الخاص بك سهل العثور عليه.
00:00:58أولاً، يستخدم TreeSitter للمرور عبر كل الكود، وإنشاء أجزاء من الدوال
00:01:03والفئات، وهذا يدعم تسع لغات بما في ذلك TypeScript وPython وRust وGo.
00:01:08ثم يستخدم Merkle DAG مخصصًا لتجزئة كل ملف بلقطات JSON، مما يعني أنه يعيد فهرسة
00:01:15الملفات التي تغيرت فقط وليس قاعدة البيانات بأكملها.
00:01:18وعندما تريد بالفعل البحث في الكود، فإنه يقوم بنوعين مختلفين من البحث
00:01:22في نفس الوقت، بحث متجه لمعرفة المعنى الدلالي للكود، وفهرس BM25
00:01:29للبحث عن مطابقة الكلمات الرئيسية بدقة.
00:01:31كل هذا يؤدي إلى تقليل السياق بنسبة تصل إلى 40%، وهو أمر كبير لقواعد البيانات الكبيرة.
00:01:37في الواقع، دعونا نرى ذلك عمليًا باختباره مقابل قاعدة بيانات VS Code، التي تحتوي على
00:01:42حوالي 1.5 مليون سطر من الكود.
00:01:44لذا داخل مستودع VS Code المستنسخ، سأستخدم Open Code مع GLM5 Turbo لأنني
00:01:50لا أريد استهلاك حدودي الأسبوعية في Claude Pro.
00:01:53ومن أجل إعداد خادم MCP، الذي يمكنك رؤيته هنا، قمت بالفعل بإضافة
00:01:58المعلومات ذات الصلة إلى ملف Open Code JSON الخاص بي.
00:02:01وبالنسبة لهذه المعلومات هنا، يمكنك تشغيل Milvus محليًا، لكنني استخدمت Zilliz Cloud.
00:02:06لذا حصلت على مفتاح API الخاص بي من هنا، وأنشأت مجموعة (cluster).
00:02:10هذه مجموعة AWS وحصلت على نقاط النهاية العامة من هنا.
00:02:14وبينما نتحدث عن المجموعات، حاولت استخدام المجموعة المجانية أولاً، لكنني استمررت في مواجهة
00:02:19مشاكل انتهاء المهلة.
00:02:20لذا اضطررت للحصول على واحدة بدون خادم (serverless)، والتي تكلف مالاً، لكنها عملت بشكل أفضل بكثير.
00:02:25بمجرد إعداد خادم MCP، تأكد من أنك تشغل إصدارًا من node أقل من
00:02:2824، ولكن أكبر من أو يساوي 20.
00:02:31أنا أستخدم حاليًا الإصدار 22 لهذا المشروع.
00:02:34وسيمنحك ذلك الوصول إلى أربع أدوات MCP: فهرسة الكود، البحث في الكود، مسح الفهرس، والحصول على
00:02:39حالة الفهرس.
00:02:40الآن أول شيء عليك القيام به هو فهرسة قاعدة البيانات ويمكننا القيام بذلك باستخدام هذا الأمر.
00:02:44ولكن قبل أن نضغط على إدخال، دعونا نلقي نظرة على مقدار المال الذي أنفقناه بالفعل على التضمينات
00:02:48من OpenAI، وهو سنت واحد فقط وكان ذلك أثناء اختباري لقاعدة بيانات تحتوي على 23,000 سطر.
00:02:53يمكننا أيضًا رؤية معلومات من قاعدة البيانات التي تمت فهرستها في مجموعتنا.
00:02:58لذا الآن إذا قمنا بفهرسة قاعدة البيانات هذه، فسيستغرق الأمر بعض الوقت ويبدأ الفهرسة في
00:03:02الخلفية.
00:03:03في هذه المرحلة، لا أنصح بإجراء أي عمليات بحث.
00:03:05نظرًا لأن هذه قاعدة بيانات كبيرة، سيستغرق الأمر وقتًا طويلاً للفهرسة.
00:03:09لذا سأعود لاحقًا عندما تنتهي الفهرسة.
00:03:11وبعد حوالي 50 دقيقة، اكتملت الفهرسة ويمكننا رؤية أن لدينا مجموعة جديدة
00:03:16في مجموعتنا مع أكثر من 223,000 مدخل محمل.
00:03:21وللمرجع، الكود الذي كنت أختبره والذي يحتوي على 23,000 سطر من الكود لديه حوالي
00:03:271,000 سطر من المدخلات واستغرق أقل من دقيقة للفهرسة.
00:03:32ومع استخدامنا لـ OpenAI، انتقلنا من سنت واحد إلى 1.06 دولار، وهو مبلغ كبير، لكنني لا
00:03:38أتخيل أن المرور عبر 1.5 مليون سطر من الكود هو شيء سيفعله الناس بانتظام.
00:03:42حسنًا، دعونا نرى مدى سرعة إجراء البحث.
00:03:45هنا لدينا نسخة واحدة من Open Code تستخدم خادم MCP الخاص بـ Claude Context، وهنا
00:03:49لدينا نسخة بدون أي خوادم MCP.
00:03:52لذا ستستخدم أدوات grep وglob العادية للبحث في الكود.
00:03:56وسنعطيها أمرًا باستخدام Claude Context للعثور على نقطة البداية عندما يبدأ هذا المشروع
00:04:00بالعمل.
00:04:01لنرى كم من الوقت يستغرق هذا.
00:04:02حسنًا، إنها تستخدم أداة الفهرسة والآن تستخدم أداة البحث.
00:04:06استغرق الأمر كله حوالي 19 ثانية للبحث في هذا المشروع بأكمله والعثور على
00:04:10ملف .ts الرئيسي.
00:04:11والآن سنعطي Open Code هذا أمرًا مشابهًا وتجد الاستجابة
00:04:15في 14 ثانية.
00:04:16لذا يبدو أن استخدام GLM العادي أسرع بكثير في هذا الاستعلام.
00:04:20لنبدأ جلسة جديدة.
00:04:21سأعطيها أمرًا جديدًا هو: ما هي الدالة التي تفتح مستندًا جديدًا غير مسمى؟
00:04:26استغرقت هذه العملية وقتًا أطول قليلاً، 40 ثانية، وعثرت على الدالة الرئيسية مع رقم السطر
00:04:30واستخدمت حوالي 23 ألف رمز (tokens).
00:04:32بينما قامت النسخة الأخرى بذلك في 12 ثانية واستخدمت 18 ألف رمز، ولكن يبدو أنها عثرت على
00:04:37ملف مختلف.
00:04:38في الواقع، يقدم Claude Context معلومات أكثر بكثير، حيث يعرض الكود وملفات أخرى تتعلق
00:04:44بفتح المحرر.
00:04:45لذا سأطلب منهما كلاهما أن يعرضا لي الكود الدقيق.
00:04:48في هذه المرحلة، يستجيب Claude Context في 23 ثانية مع الكود، بينما يستجيب Open Code
00:04:52بدون Claude Context في 49 ثانية، أي ضعف الوقت تقريبًا.
00:04:56ويصل إلى نفس الكود الذي وصل إليه Claude Context، مما يعطيني فكرة.
00:05:00سأعطيها أمرًا عامًا أوسع: انظري عبر الكود وأخبريني
00:05:04كيف يعمل هذا المشروع.
00:05:06ينتهي Claude Context في 49 ثانية مستخدمًا 41 ألف رمز، والنسخة الأخرى تنتهي
00:05:11أسرع وتستخدم رموزًا أقل.
00:05:13ولكن إذا ألقينا نظرة على المخرجات المنتجة، يمكننا رؤية تفاصيل أكثر بكثير من Claude
00:05:17Context، حيث يعطي البنية الطبقية وحتى بعض المعلومات حول تطبيق Electron
00:05:22والعمليات التي يستخدمها.
00:05:23ويعطي خيار "بدون Claude Context" أيضًا بعض المعلومات المعمارية، لكنها
00:05:28ليست مفصلة مثل الأخرى.
00:05:30في الواقع، أعرف أنه لا يبدو كذلك، لكنني أود القول إن Claude Context جيد جدًا في
00:05:34الحصول على معلومات الكود مقدمًا بسرعة وبكثير من التفاصيل.
00:05:37أعني، انظر إلى هذا.
00:05:38لذا من هذا الأمر، طلبت أمرًا متابعة لأعرف المزيد من المعلومات حول العملية الرئيسية
00:05:43في تطبيق Electron، التي ذكرها هنا في الأعلى.
00:05:47بعد أن طرحت هذا السؤال، استغرق الأمر حوالي دقيقة و47 ثانية، ولكن انظر إلى كل تلك
00:05:52التفاصيل.
00:05:53إذًا بدأ بتسلسل التمهيد ثم المرحلة الأولى، أي إنشاء الخدمة وتهيئة
00:05:58الخدمة.
00:05:59وحصلنا على الكثير من المرحلة الثانية، تطبيق الكود مع كل المراجع
00:06:04للملفات ذات الصلة.
00:06:05لدينا app TS السطر 185، ويمكننا الاستمرار في ذلك.
00:06:10بينما بدون Claude Context، لا يزال OpenCode يمر عبر كل الملفات باستخدام وكلاء فرعيين
00:06:15متعددين.
00:06:16وهذا مضلل قليلاً لأننا لا نستطيع رؤية عدد الرموز التي يستخدمها كل وكيل فرعي
00:06:21بالضبط.
00:06:22ولكن إذا انتظرنا قليلاً وعدنا، يمكننا أن نرى أنه بعد حوالي خمس دقائق، استجاب OpenCode
00:06:26بمعلومات كثيرة حول عملية Electron، لكنها ليست بنفس قدر ما قدمه Claude
00:06:31Context، واستغرق الأمر خمسة أضعاف الوقت.
00:06:34الآن، نعم، ربما لو استخدمت نموذجًا أكثر ذكاءً مثل Opus 4.7 بجهد عالٍ، لربما حصل
00:06:40على معلومات أكثر، لكنه سيظل يستغرق وقتًا طويلاً ويستخدم الكثير من الرموز.
00:06:44وهذه هي أنواع الاختلافات، خمس دقائق ودقيقة، التي كنت أراها عندما
00:06:48كنت أختبر قبل التسجيل بقاعدة بيانات تحتوي على 23 ألف سطر.
00:06:51في النهاية، من الصعب تحديد الفائز الواضح.
00:06:54أعني أن Claude Context قدم دائمًا تفاصيل أكثر، لكنه لم يكن دائمًا الأسرع و
00:07:00الأكثر كفاءة في استخدام الرموز.
00:07:01وبالنسبة لقواعد البيانات الكبيرة، استغرق وقتًا طويلاً جدًا للفهرسة.
00:07:05ومع ذلك، بالنسبة لقواعد البيانات متوسطة الحجم، أي 20 إلى 30 ألف سطر من الكود، فإن وقت الفهرسة
00:07:10سريع جدًا.
00:07:11والفرق في التفاصيل عندما يتعلق الأمر بالنتائج واضح جدًا.
00:07:14في الواقع، أود أن أقول إنني أفضل كثيرًا استخدام Claude Context لقواعد البيانات متوسطة الحجم
00:07:20بدلاً من استخدامها على قواعد البيانات الكبيرة.
00:07:22لذا هذا شيء يجب التفكير فيه.
00:07:23ولكن بصراحة، هذه أداة مبيعات رائعة لـ Zilliz لأنني قبل استخدام Claude
00:07:27Context، لم أسمع بهم من قبل والآن لديهم عميل جديد يدفع لهم.
00:07:31ولكن على الرغم من أن إعداده استغرق وقتًا طويلاً وأن فهرسة قواعد البيانات الكبيرة استغرقت
00:07:36وقتًا طويلاً جدًا.
00:07:37بصفتي شخصًا يمر بانتظام عبر قواعد بيانات مفتوحة المصدر ويطرح أسئلة، أعتقد
00:07:42أن هذه أداة سأستخدمها كثيرًا.
00:07:44أعني بالنسبة لقاعدة بيانات متوسطة الحجم، فإن خطة الخادم السحابي ليست باهظة الثمن، حيث أن
00:07:49تضمينات OpenAI لا تكلف الكثير أيضًا.
00:07:52لذا أنا سعيد بتحمل التكلفة.
00:07:53وبالحديث عن استرجاع البيانات والذكاء الاصطناعي.
00:07:55إذا كنت تريد تعلم كيفية بناء نظام RAG جيد جدًا من الصفر ويعمل
00:07:59فعليًا، تحقق من هذا الفيديو من Andris.
00:08:02وإذا كنت من محبي Star Wars، فستحب هذا الفيديو بشكل خاص.

Key Takeaway

تُعد أداة Claude Context وسيلة فعالة لتسريع استرجاع المعلومات البرمجية عبر الفهرسة المتجهة، وتوفر أداءً مثاليًا وتوفيرًا في استهلاك الرموز خاصة عند تطبيقها على قواعد البيانات متوسطة الحجم التي تضم ما بين 20 إلى 30 ألف سطر برمي.

Highlights

  • تستخدم أداة Claude Context قاعدة بيانات متجهة لفهرسة الكود، مما يلغي الحاجة إلى استخدام grep أو glob للبحث.

  • يقلل دمج البحث الدلالي مع مطابقة الكلمات المفتاحية (BM25) من استخدام سياق الرموز (tokens) بنسبة تصل إلى 40%.

  • تعتمد الأداة على TreeSitter لتحليل الدوال والفئات بـ 9 لغات برمجية، وتستخدم Merkle DAG لإعادة فهرسة الملفات المعدلة فقط.

  • استغرقت عملية فهرسة قاعدة بيانات بحجم 1.5 مليون سطر كود حوالي 50 دقيقة، مقارنة بأقل من دقيقة لقاعدة بيانات تحتوي على 23 ألف سطر.

  • تفوق أداء Claude Context في سرعة الوصول إلى التفاصيل الدقيقة للكود بمقدار الضعف مقارنة بـ Open Code التقليدي عند اختبار قواعد البيانات الكبيرة.

Timeline

آلية عمل Claude Context

  • تعتمد الأداة على بروتوكول MCP للاتصال بوكلاء البرمجة.
  • يساهم البحث الهجين في تحسين دقة النتائج وتقليل حجم السياق بنسبة 40%.
  • تدعم الأداة لغات TypeScript وPython وRust وGo عبر TreeSitter.

تتصل هذه الأداة بقاعدة بيانات Zilliz السحابية لفهرسة الملفات البرمجية بالكامل. تستخدم تقنيات متقدمة مثل تجزئة الملفات عبر Merkle DAG لضمان تحديث الفهرس بكفاءة دون الحاجة لإعادة معالجة المستودع بالكامل عند كل تغيير.

اختبار الأداء على مستودع ضخم

  • أدى اختبار قاعدة بيانات VS Code التي تحتوي على 1.5 مليون سطر إلى فهرسة استمرت 50 دقيقة.
  • تتطلب الخدمة السحابية بدون خادم (serverless) تكاليف إضافية لضمان استقرار الاتصال.
  • تؤدي عمليات البحث في المشاريع الكبيرة إلى استهلاك مالي أكبر في تضمينات OpenAI.

تمت مقارنة Claude Context مع أداة Open Code التقليدية التي تستخدم grep وglob. بينما استغرقت الفهرسة وقتًا طويلاً لقواعد البيانات الكبيرة، أثبتت الأداة كفاءة أعلى في سرعة الاستجابة وتقديم تفاصيل أدق مقارنة بالطرق التقليدية.

تحليل نتائج الاستعلام وسرعة الاستجابة

  • استجابت Claude Context في 23 ثانية مقارنة بـ 49 ثانية للحل التقليدي عند البحث عن تفاصيل كود محددة.
  • تقدم الأداة هيكلية معمارية مفصلة للمشاريع بما في ذلك مراجع الملفات ذات الصلة.
  • تُفضل الأداة للاستخدام في المشاريع متوسطة الحجم لضمان التوازن بين التكلفة وسرعة الفهرسة.

أظهرت النتائج أن Claude Context تتفوق في سياق المعلومات المقدمة، خاصة عند الاستفسار عن العمليات المعمارية المعقدة مثل تطبيق Electron. رغم تكلفتها، فإنها توفر وقتًا كبيرًا للمطورين الذين يتعاملون بانتظام مع قواعد بيانات مفتوحة المصدر.

Community Posts

View all posts