توقفت عن استخدام Grep فأصبح وكيل الذكاء الاصطناعي الخاص بي أسرع بـ 10 مرات
BBetter Stack
컴퓨터/소프트웨어창업/스타트업AI/미래기술
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، فستحب هذا الفيديو بشكل خاص.