حقائق رئيسية
- تم تصميم تطبيق الويب هذا تحديدًا لمعالجة الارتباك الناجم عن تعطل مترو الأنفاق الأخير في سان فرانسيسكو.
- اعتمد التطوير بشكل كبير على "البرمجة بالوحي"، وهي طريقة ينشئ فيها مساعدات الذكاء الاصطناعي غالبية الشيفرة المصدرية بناءً على تلميحات المطور.
- يستهلك النظام صورًا فورية لمخططات دوائر المترو متاحة للجمهور عبر موقع سان فرانسيسكو موني سنترال.
- شكل عائق تقني كبير تمثل في تمكين دعم وحدة معالجة الرسوميات (GPU) لـ PyTorch يدويًا بعد اكتشاف أنه معطل في السكريبت الذي أنشأه الذكاء الاصطناعي.
- تم إصدار المشروع الكامل، المسمى munimet.ro، للجمهور تحت ترخيص MIT القياسي مفتوح المصدر.
- يحاول التطبيق محاكاة الفائدة البسيطة لمفهوم "هل أحتاج إلى مظلة" لاتخاذ قرارات النقل العام.
ملخص سريع
أدى تعطيل حديث في شبكة النقل في سان فرانسيسكو إلى إنشاء تطبيق ويب جديد مصمم للإجابة على سؤال بسيط للمتنقلين: هل يجب أن آخذ المترو أم الحافلة؟ مستوحى من الفائدة لموقع "هل أحتاج إلى مظلة"، يستفيد هذا الأداة الجديدة من التعلم الآلي لتحليل بيانات المترو الفورية.
تم تطوير المشروع من قبل مبرمج مستقل، ويوضح التطبيق العملي للذكاء الاصطناعي في مجال الحركة الحضرية. من خلال تحليل مخططات الدوائر المتاحة للجمهور من نظام سان فرانسيسكو موني سنترال، يهدف التطبيق إلى تقديم رؤى أوضح للمسافرين اليوميين الذين يتجولون في البنية التحتية المعقدة للنقل في المدينة.
بذرة الإلهام
كان جذور المشروع تجربة محددة ومزعجة: تعطل في المترو ترك المتنقلين عالقين وباحثين عن إجابات. أبرز هذا الحادث فجوة في معلومات النقل المتاحة والتنبؤية. حاول المطور بناء أداة يمكنها الإجابة بشكل استباقي على السؤال الحاسم المتمثل في ما إذا كان يمكن الاعتماد على نظام المترو في أي لحظة معينة.
تبنيًا لفلسفة تطوير حديثة، قرر المنشئ "برمجة" التطبيق بالوحي قدر الإمكان. يتضمن هذا النهج استخدام مساعدي برمجة الذكاء الاصطناعي لإنشاء غالبية قاعدة الشيفرة، مما يسمح للمطور بالتركيز على البنية العليا وحل المشكلات بدلاً من كتابة كل سطر من الشيفرة يدويًا.
- تم تفعيله بسبب تعطيل خدمة مترو حقيقي
- تم نمذجته على الفائدة البسيطة لـ "هل أحتاج إلى مظلة"
- ركز على المعضلة المحددة للمتنقل: المترو مقابل الحافلة
- تبني منهجية "برمجة بالوحي" للتطوير السريع
""بدا أنه الأداة المناسبة للعمل، لكنه كان سيوفر الوقت لو قمت ببنائه من الصفر بنفسي.""
— المطور، munimet.ro
البناء بمساعدة الذكاء الاصطناعي
بدأ عملية التطوير بـ Claude Code، وهو مساعد برمجة بالذكاء الاصطناعي، كُلف بإنشاء سكريبت خلفي. تم تصميم هذا السكريبت لتحميل الصور تلقائيًا لمخططات الدوائر الفورية المتاحة عبر النطاق sfmunicentral.com، مما يلتقط حالة الشبكة الحية للمترو.
بعد جمع البيانات، تضمن الخطوة التالية إنشاء أداة لتسمية هذه الصور. أنشأ الذكاء الاصطناعي موسِّع صور باستخدام مكتبة tkinter. ومع ذلك، أثبتت هذه المرحلة أكثر تعقيدًا مما كان متوقعًا، مما تطلب تدخلًا يدويًا كبيرًا قبل أن تبدأ عملية التسمية بشكل فعال.
""بدا أنه الأداة المناسبة للعمل، لكنه كان سيوفر الوقت لو قمت ببنائه من الصفر بنفسي.""
على الرغم من العقبات الأولية مع أداة التسمية، انتقل المشروع إلى مرحلته التقنية الأكثر إثارة: تحويل بيانات الصور المسمَّاة إلى توقعات قابلة للتنفيذ باستخدام PyTorch. كتب مساعد الذكاء الاصطناعي السكريبت الأولي لهذا المكون من التعلم الآلي بسرعة نسبية، على الرغم من أنه لا يزال يتطلب تعديلًا دقيقًا يدويًا.
التحديات التقنية والتحسينات
بدأ معالجة البيانات، واجه المطور الفروق الدقيقة المحتومة في التعامل مع الشبكات العصبية. أشار سكريبت الذكاء الاصطناعي إلى صور معينة كشواذ، مما دفع المطور إلى الانخراط في عملية إعادة التفكير والمراجعة اليدوية لضمان دقة النموذج.
في لحظة إدراك يمكن للعديد من المطورين التعرف عليها، تم اكتشاف عائق أداء كبير في منتصف عملية التطوير. السكريبت الأولي الذي أنشأه كلاود لم يقم بتمكين دعم وحدة معالجة الرسوميات (GPU) لـ PyTorch، مما يعني أن معالجة الصور المكثفة كانت تعمل على وحدة المعالجة المركزية بدلاً من بطاقة الرسوميات.
""أعترف أنني وصلت إلى مرحلة محرجة قبل أن أدرك أن كلاود لم يقم بتمكين دعم وحدة معالجة الرسوميات لـ PyTorch؛ لحظة حقيقية من ضرب الرأس على الجدار.""
تطلب هذا الإغفال إصلاحًا يدويًا لإطلاق الطاقة الحسابية الكاملة للمعدات، وهي خطوة حاسمة لضمان أن التطبيق يمكنه معالجة البيانات بكفاءة وتقديم توقعات في الوقت المناسب للمستخدمين.
التوافر مفتوح المصدر
النتيجة النهائية لرحلة التطوير هذه هي munimet.ro، تطبيق ويب يعمل كصفحة حالة مبنية على التعلم الآلي لنظام المترو المحلي. يقف المشروع كشهادة على إمكانية الجمع بين أدوات الذكاء الاصطناعي والإشراف البشري لحل مشكلات عملية يومية.
لمن يهتم بالتنفيذ التقني أو يرغب في المساهمة، ليس المشروع صندوقًا مغلقًا. تم جعل الشيفرة المصدرية الكاملة متاحة للجمهور تحت ترخيص MIT. يدعو هذا النهج مفتوح المصدر إلى التدقيق والتعاون والتكيف من قبل مطوري آخرين في المجتمع.
- اسم التطبيق: munimet.ro
- الترخيص: MIT (مفتوح المصدر)
- المستودع: مستضاف على GitHub
- التقنيات الأساسية: Python، PyTorch، Tkinter
نظرة مستقبلية
يوضح إنشاء munimet.ro اتجاهًا متزايدًا حيث يمكن للمطورين الفرديين نمذجة التطبيقات المعقدة بسرعة باستخدام مساعدات الذكاء الاصطناعي. من خلال معالجة نقطة ألم محددة في النقل الحضري، يتجاوز المشروع تمارين البرمجة البسيطة لتقديم فائدة محتملة للمتنقلين في سان فرانسيسكو.
بينما يكون التطبيق حاليًا دليلًا للمفهوم، يسلط الضوء على إمكانية الوصول إلى أدوات التعلم الآلي لحل المشكلات المتخصصة. يضمن الرغبة في مشاركة قاعدة الشيفرة علنًا أن المشروع يمكنه التطور، مما قد يلهم أدوات مماثلة لأنظمة نقل أخرى أو تحديات تصور بيانات مختلفة تمامًا.
""أعترف أنني وصلت إلى مرحلة محرجة قبل أن أدرك أن كلاود لم يقم بتمكين دعم وحدة معالجة الرسوميات لـ PyTorch؛ لحظة حقيقية من ضرب الرأس على الجدار.""
— المطور، munimet.ro
الأسئلة الشائعة
ما هو munimet.ro؟
munimet.ro هو تطبيق ويب مبني على التعلم الآلي مصمم للتنبؤ بحالة نظام مترو الأنفاق في سان فرانسيسكو. يحلل صور مخططات الدوائر الفورية لمساعدة المتنقلين على تحديد ما إذا كان يجب عليهم أخذ المترو أم الحافلة.
Continue scrolling for more










