أداة ذكاء اصطناعي ترسم خرائط لأي قاعدة برمجية قبل البدء في تعديلها (فهم أي شيء)

BBetter Stack
Computing/SoftwareSmall Business/StartupsInternet Technology

Transcript

00:00:00تنضم إلى فريق جديد، وتنسخ المستودع، وتفتح قاعدة الأكواد.
00:00:04وها هي ذي، قاعدة أكواد مكونة من 200 ألف سطر تنظر إليك كأنك غزال في أضواء السيارات.
00:00:09فتفعل ما يفعله كل مطور.
00:00:11تبدأ بالبحث (grep)، والتنقل بين الملفات، وربما تطلب من كلود شرح هذا المستودع.
00:00:17ماذا لو حصلت على خريطة، خريطة تفاعلية حقيقية تعلمك قاعدة الأكواد؟
00:00:22التدفقات، طبقات البنية التحتية، التغييرات، التأثير، هذه هي “فهم أي شيء” (Understand Anything).
00:00:27لقد تجاوزت بالفعل 14 ألف نجمة على GitHub خلال أسابيع، والكثير من المطورين يتحدثون
00:00:32عنها.
00:00:33في الدقيقة القادمة، سأوضح لك كيف يعمل هذا وكيف سيساهم بشكل كبير في تسريع
00:00:36فهمك لقاعدة الأكواد الخاصة بك.
00:00:44أداة “فهم أي شيء” هي إضافة مفتوحة المصدر لـ Claude Code.
00:00:47يمكنها أيضاً أن تتناسب مع سير العمل باستخدام أدوات مثل Cursor وCopilot وGemini CLI.
00:00:53أنت توجهها إلى مستودع أو حتى قاعدة معرفية، وهي تحول ذلك المشروع إلى مخطط معرفي
00:00:58تفاعلي يمكن الاستعلام عنه.
00:01:00تقوم بذلك باستخدام التحليل الثابت بالإضافة إلى معالجة LLM متعدد الوكلاء.
00:01:05لكن الجزء المهم ليس حزمة التقنيات.
00:01:07الجزء المهم هو المشكلة التي تحلها فعلياً، لأن كل مطور واجه هذه المشكلة.
00:01:13أنت جديد في نوع ما من قواعد الأكواد القديمة، تطبيق قديم.
00:01:16الوثائق عفا عليها الزمن.
00:01:18المهندس الذي كان يعرف كل شيء غادر قبل ستة أشهر.
00:01:22ووكيل الذكاء الاصطناعي الخاص بك يواصل التخمين مراراً وتكراراً.
00:01:26هنا تصبح هذه الأداة مفيدة حقاً.
00:01:28إذاً، لنقم بتشغيلها.
00:01:29إذا كنت تستمتع بأدوات البرمجة التي تسرع سير عملك، تأكد من الاشتراك.
00:01:33لدينا مقاطع فيديو تصدر طوال الوقت.
00:01:35الآن إليك مشروع متوسط الحجم.
00:01:36إنه كبير بما يكفي ليكون مزعجاً حقاً، ولكنه صغير بما يكفي لأتمكن من أن أوضح لك
00:01:40مدى روعة هذا الأمر.
00:01:42إنه مجرد مستودع قمت بنسخه من الخدمات المصغرة لـ Google، وهو صغير بما يكفي لكي نتمكن فعلياً من
00:01:46اختبار هذا دون الحاجة إلى التظاهر بأي شيء.
00:01:49أولاً، سأقوم بتثبيت الإضافة، هنا مباشرة في كلود، تثبيت إضافة “فهم أي شيء” (understand anything).
00:01:54تثبيت.
00:01:55بمجرد توليد هذا، نحتاج إلى إعادة تحميل الإضافات، بالطبع، ومن ثم علينا فقط تشغيل
00:01:58أمر الفهم (understand).
00:02:00الآن سيقوم بمسح المستودع بالكامل.
00:02:03يستخرج البنية، والعلاقات، والوحدات الرئيسية، والمفاهيم التجارية المحتملة.
00:02:09الآن يمكننا تشغيل أمر لوحة التحكم لإطلاق كل شيء.
00:02:11أولاً، استغرق هذا وقتاً طويلاً للتشغيل، حوالي 30 دقيقة، وحرق قدراً هائلاً من الرموز (tokens).
00:02:16لذا فإن الحصول على خطة كلود جيدة أمر ضروري.
00:02:19لدي اشتراك كلود ماكس (Claude Max)، وقد استخدم هذا 25% من معدل استهلاكي، فهو يحرق الرموز بسرعة.
00:02:24لكن بمجرد انتهائه، يمكننا فتح لوحة التحكم هذه، وهذا هو الجزء الرائع الذي يلامس الواقع حقاً.
00:02:29أستطيع التصغير لرؤية البنية عالية المستوى.
00:02:30أستطيع التكبير للوصول إلى الأجزاء الداخلية.
00:02:32أستطيع النقر لرؤية تفاصيل الكود وكيفية ترابط كل هذه الأكواد.
00:02:35أستطيع حتى النقر للدخول وعرض الكود نفسه فعلياً.
00:02:40ثم يمكنني البحث عن شيء هنا مثل “المدفوعات” (payments).
00:02:43في العادة، كنت سأضطر للتنقل بين المسارات، والخدمات، والنماذج، والمعالجات، ومجرد وثائق
00:02:46لم تعد مفيدة، وهنا تقوم الأدوات بتجميع القطع معاً.
00:02:52الآن يمكنني النقر على “جولة إرشادية”، وهي تسير عبر التدفق بالترتيب.
00:02:56نقطة الدخول، والتحقق، والمنطق، وقاعدة البيانات، وواجهات برمجة التطبيقات الخارجية، ومعالجة الأخطاء.
00:03:01هذا مفيد حقاً بالفعل.
00:03:07هذه الجولة الإرشادية تفكك كل شيء.
00:03:09يمكننا الدخول إليها، والوصول إلى المكونات المختلفة.
00:03:11هذا هو الفرق بين “يا، هذا رسم بياني رائع جداً”، و”سأتحقق من هذا فعلياً
00:03:14قبل لمس كود الإنتاج”.
00:03:18لكن السؤال الواضح هنا هو، ألا نملك بالفعل أدوات كهذه؟
00:03:20كمطورين، لا نحتاج حقاً إلى المزيد من لوحات التحكم الجميلة.
00:03:25نحتاج إلى تقليل الوقت الضائع، وهذه الأداة تستهدف أحد أكبر مستهلكي الوقت في البرمجيات.
00:03:29الحصول على السياق، أليس كذلك؟
00:03:35أين يرتبط كل هذا؟
00:03:37كيف يكون مفيداً؟
00:03:38الناس يختبرونها على مشاريع كبيرة، أنظمة جافا قديمة (monoliths)، مستودعات خدمات مصغرة، مئات
00:03:39من الملفات، ورد الفعل هو نوعاً ما ما حصلت عليه هنا.
00:03:45كان هذا سيوفر علي أول أسبوعين لي في الوظيفة لأنه يفكك كل شيء،
00:03:48ويربط كل شيء، ويوضح لنا كيف تتشابك الأمور.
00:03:53هذه هي حالة الاستخدام الكبيرة الأولى، التهيئة (onboarding).
00:03:56فبدلاً من القول، “اقرأ هذه الصفحات الاثنتي عشرة واسأل حولك إذا كان هناك أي شيء مربك”، فهذا
00:03:58مربك بالفعل، يمكننا الآن القول، “افتح الرسم البياني، خذ الجولة، ثم يمكننا طرح أسئلة أفضل”.
00:04:03الآن، حالة الاستخدام الثانية الجيدة حقاً هي وكلاء الذكاء الاصطناعي لأن معظم أدوات البرمجة بالذكاء الاصطناعي جيدة فقط
00:04:08بقدر السياق الذي نقدمه لها.
00:04:09إذا رأى الوكيل ثلاثة ملفات، فسوف يخمن فقط.
00:04:14إذا كان لديه خريطة منظمة للنظام مع النطاقات، والتدفقات، والتبعيات، وتفسيرات فعلية،
00:04:17فلديه فرصة أفضل للقيام بالتغيير الصحيح من المرة الأولى.
00:04:20ثم بالطبع هناك إعادة الهيكلة (refactoring)، أليس كذلك؟
00:04:27قبل أن نلمس الكود، يمكننا الآن أن نسأل، “ما الذي يعتمد عليه هذا الكود؟
00:04:30إلى أي تدفق ينتمي؟
00:04:32ما الذي قد ينكسر إذا تم تحريكه؟”
00:04:36هذه هي الطريقة التي تتجنب بها تحويل تغيير من سطر واحد إلى حدث كبير.
00:04:38وهذا هو السبب الحقيقي وراء حماس المطورين لهذا المشروع.
00:04:40ليس لأننا نهتم بالرسوم البيانية، أنا أحب الرسوم البيانية، أليس كذلك؟
00:04:44إنها رائعة، إنها مفيدة، أنا بصري، لكننا نكره أن نكون ضائعين.
00:04:48الآن، هنا نحتاج إلى توخي الحذر لأن المطورين رأوا أدوات تصور الأكواد من قبل.
00:04:51رسوم بيانية لبيئة التطوير (IDE)، التنقل بأسلوب Sourcegraph، رسوم بيانية لـ NX، متصورات Tree-sitter، والكثير
00:04:55منها لديها نفس المشكلة تماماً.
00:05:00ماذا تفعل؟
00:05:05إنها تظهر البنية، لكنها لا تشرح المعنى الفعلي.
00:05:09تخبرك أن هذا الملف يستورد ذلك الملف، رائع، لكن لماذا؟
00:05:10ما هو التدفق الذي يعد هذا جزءاً منه؟
00:05:13من أين يبدأ الطلب؟
00:05:18ما الذي ينكسر إذا قمت بتغييره؟
00:05:19تلك هي الطبقة المفقودة.
00:05:20أداة “فهم أي شيء” تحاول إضافة تلك الطبقة.
00:05:22بدلاً من مجرد إظهار ملف TypeScript أو شيء آخر، فهي تحاول التحول إلى شيء
00:05:24أقرب إلى تدفق فعلي لكيفية عمل الأشياء.
00:05:27تلك هي الأمور الكبيرة هنا.
00:05:31من الملفات إلى المعنى، من الاستيرادات إلى سلوك النظام، من “هذه هي القطع”، إلى “هنا
00:05:35تلك هي طريقة عمل الآلة”.
00:05:37مقارنة بالعديد من أدوات الذكاء الاصطناعي أو أدوات الكود المستندة إلى RAG، فهي أيضاً أكثر بصرية وقابلية للتعليم.
00:05:42الكثير من أدوات الكود بالذكاء الاصطناعي هي أساساً مجرد صناديق بحث.
00:05:43تطرح سؤالاً، تحصل على إجابة.
00:05:48هذا يعطيك تفكيكاً كاملاً، يساعدنا في فهم إلى أين يتجه كل شيء، وما الذي
00:05:52يتشابك، وكيف يرتبط، مع السماح لنا برؤية الكود فعلياً.
00:05:54الآن دعونا نتحدث عما يحبه الناس فعلياً.
00:06:00الفوز الواضح هنا كان التهيئة (onboarding).
00:06:04إذا كنت تنضم إلى قاعدة أكواد كبيرة، فهذا يمنحك نقطة انطلاق جيدة.
00:06:05أيضاً طبقات البنية التحتية، أليس كذلك؟
00:06:07هذه مبنية بشكل جيد حقاً.
00:06:12يمكنك البدء على مستوى النظام ثم التعمق في الوحدات وتفاصيل التنفيذ.
00:06:13تأثير الفارق (diff impact) هو ميزة كبيرة أخرى.
00:06:15يعرف كل مطور ذي خبرة الخوف من إجراء تغيير صغير في قاعدة أكواد لا يفهمها في الواقع
00:06:20بعد.
00:06:21بالنسبة لمستخدمي Claude Code، يمكن أن يصبح الرسم البياني أيضاً سياقاً أفضل، لذا بدلاً من إلقاء
00:06:23ملفات عشوائية في مطالبة، أنت تعطي الوكيل معرفة منظمة بالبنية التحتية.
00:06:27إنه أيضاً مجاني، ومرخص برخصة MIT، وتدريجي، ومصمم للعمل عبر بيئات تطوير متعددة.
00:06:29الآن على الجانب المتشكك، عندما ينفجر مشروع بهذه السرعة، نبدأ في طرح السؤال،
00:06:34هل هذا مفيد أم أنه مجرد فاز بخوارزمية GitHub؟
00:06:39هذا سؤال جيد للطرح.
00:06:45هناك أيضاً تبعيات LLM، وهذا يعني تكلفة الرموز (tokens).
00:06:49هذا تسبب في انفجار في تكاليف الرموز.
00:06:53لذا استغرق الأمر وقتاً، واستغرق الكثير من الرموز.
00:06:55تأكد من أن لديك خطة جيدة إذا كنت ستستخدم هذا.
00:06:59لا يزال يتعين عليك استخدام حكم جيد.
00:07:02هذا يمنحك فقط تلك النظرة العامة.
00:07:05إنه لا يحل محل قراءة الكود.
00:07:08إنه يساعدك فقط على فهمه بشكل أفضل حيث يتجه كل شيء.
00:07:09إذا كنت تستمتع بأدوات البرمجة والنصائح كهذه، تأكد من الاشتراك في قناة Better Stack.
00:07:11سنراك في فيديو آخر.
00:07:13إنها تساعدك فقط على فهم اتجاه سير الأمور بشكل أفضل.
00:07:16إذا استمتعت بأدوات ونصائح البرمجة هذه، تأكد من الاشتراك في قناة better stack.
00:07:20نراكم في فيديو آخر.

Key Takeaway

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

Highlights

  • حققت أداة “فهم أي شيء” (Understand Anything) أكثر من 14 ألف نجمة على GitHub خلال أسابيع من إطلاقها.

  • تستخدم الأداة التحليل الثابت ومعالجة الذكاء الاصطناعي متعدد الوكلاء لتحويل مشاريع البرمجة إلى مخططات معرفية تفاعلية.

  • تقلل الأداة من الوقت الضائع في استكشاف قواعد الأكواد القديمة أو المعقدة عبر تقديم جولات إرشادية مرئية للتدفقات البرمجية.

  • يؤدي تشغيل الأداة على مستودع برمجيات متوسط الحجم إلى استهلاك حوالي 25% من سعة الاستخدام اليومي في اشتراك Claude Max.

  • تساعد الأداة في تحسين دقة وكلاء الذكاء الاصطناعي من خلال تزويدهم بسياق منظم حول التبعيات والتدفقات والأنطقة بدلاً من الاعتماد على ملفات عشوائية.

Timeline

مشكلة تعقيد قواعد الأكواد

  • يواجه المطورون صعوبة بالغة عند التعامل مع قواعد أكواد كبيرة تصل إلى 200 ألف سطر.
  • تعتمد الأساليب التقليدية مثل البحث النصي (grep) أو طلب شرح من الذكاء الاصطناعي على التخمين وغالباً ما تفتقر للسياق الهيكلي الدقيق.

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

آلية العمل والتثبيت

  • تعمل الأداة كإضافة مفتوحة المصدر لـ Claude Code وتتوافق مع أدوات مثل Cursor وCopilot.
  • تتطلب عملية الفحص حوالي 30 دقيقة من المعالجة المكثفة للرموز البرمجية (tokens).

عند تشغيل أمر الفهم، تقوم الأداة بمسح كامل للمستودع واستخراج البنية والعلاقات والوحدات الرئيسية. نظراً للاستهلاك العالي للرموز، يوصى باستخدام خطة اشتراك قوية مثل Claude Max لضمان استمرارية العملية.

التفاعل مع الخريطة والتدفقات

  • تسمح لوحة التحكم بالتنقل البصري بين مستويات النظام، من الهيكلية الكلية إلى تفاصيل الأكواد الفردية.
  • توفر خاصية الجولة الإرشادية شرحاً تسلسلياً لنقاط الدخول، والمنطق البرمجي، وقواعد البيانات، ومعالجة الأخطاء.

تتجاوز الأداة مجرد عرض الرسوم البيانية لتتيح للمطور النقر على المكونات لرؤية الكود الفعلي. هذا يساعد في فهم كيفية ترابط القطع مع بعضها البعض قبل إجراء أي تعديلات على كود الإنتاج.

حالات الاستخدام والفرق عن الأدوات الحالية

  • تعد أداة فعالة لتقليل زمن التهيئة (onboarding) للمطورين الجدد في المشاريع الضخمة.
  • تضيف الأداة طبقة المعنى وسلوك النظام فوق البنية الهيكلية التي تفتقر إليها معظم أدوات التصور التقليدية.
  • تساعد المطورين في تقييم التأثير قبل إعادة الهيكلة، مما يقلل من مخاطر كسر الوظائف البرمجية.

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

Community Posts

No posts yet. Be the first to write about this video!

Write about this video