اذهب إلى المحتوى

محمد أيمن3

الأعضاء
  • المساهمات

    0
  • تاريخ الانضمام

  • تاريخ آخر زيارة

المعلومات الشخصية

  • النبذة الشخصية
    كاتبُ محتوى ومبرمج، وباحثٌ محبٌّ للعلم والتعلُّم

آخر الزوار

864 زيارة للملف الشخصي

إنجازات محمد أيمن3

عضو مساهم

عضو مساهم (2/3)

16

السمعة بالموقع

  1. ظهر نظام تشغيل لينكس عام 1991، ومنذ ذلك الحين اكتسب شهرة واسعة وزاد استخدامه بين مطوري البرمجيات، خاصة في مجال تطوير التطبيقات. وسنستعرض في هذا المقال عشرة من أهم مزايا لينكس التي تجعل منه أداة أساسية في بيئة العمل لتطوير التطبيقات الناجحة. ما هو نظام تشغيل لينكس؟ يعد لينكس نظام تشغيل مفتوح المصدر طوره المبرمج الأمريكي لينوس بنديكت تورڤالدس Linus Benedict Torvalds ليكون شبيهًا لنظام يونكس UNIX-Like ومتعدد التوزيعات، فمن أشهر توزيعاته دبيان Debian، وأوبونتو Ubuntu، وفيدورا Fedora، كما تتوفر توزيعات لينكس مدفوعة أيضًا وأشهرها ريد هات إنتربرايز لينكس Red Hat Enterprise Linux وسينت أو إس CentOS. وكذلك يعد لينكس نظام تشغيل متعدد المنصات، إذ يمكن تشغيل توزيعاته المختلفة على أجهزة متعددة دون حدوث أعطال أو مشكلات، مما يجعله خيارًا مميزًا لمطوري البرمجيات المدمجة Embedded Software، سواءً كانت هذه البرمجيات المدمجة موجهة لأجهزة الحاسوب الشخصية أو حتى موجهة إلى خوادم وأجهزة فائقة القدرات. لماذا نستخدم لينكس عند تطوير التطبيقات؟ يعود تفضيل نظام التشغيل لينكس عند تطوير التطبيقات إلى كثير من مميزات نظام التشغيل، لنستكشف أبرزها معًا. 1. لينكس مجاني ومفتوح المصدر يتميز لينكس Linux بكونه نظام تشغيل مجاني بالكامل فلسنا بحاجة لدفع أية مبالغ مالية لتثبيته واستخدامه، مما يجعله مناسبًا لتنفيذ مشاريع تطوير التطبيقات ذات الميزانية المحدودة، كما أنه مفتوح المصدر، ما يعني أن شيفرات نظام التشغيل متوفرة للاطلاع عليها وتعديلها، وبالتالي يمكننا تعديل نظام التشغيل وإضافة المميزات إليه وتخصيصه حسب احتياجاتنا المختلفة. 2. يدعم لينكس قابلية التوسع يدعم نظام تشغيل لينكس تطوير وتشغيل التطبيقات مختلفة الأحجام؛ سواءً كانت تطبيقات ضخمة وكثيرة المستخدمين أو كانت صغيرة وقليلة المستخدمين، ما يجعله مناسبًا لتشغيل البيئات الافتراضية للتطوير والإنتاج، وكذلك لا يحتاج نظام تشغيل لينكس موارد ضخمة، مما يوفر علينا كثيرًا من أموال شراء العتاد والخوادم. 3. لينكس نظام تشغيل مستقر يتميز نظام تشغيل لينكس بالاستقرار، إذ يمكن أن يعمل لسنوات دون حدوث مشكلات أو ظهور أعطال، وهذا يساعدنا على التركيز على تطوير تطبيقاتنا بدلًا من التشتت في حل مشكلات نظام التشغيل، وفي حال واجهتنا مشكلة ما فلن يحتاج حلها سوى لدقائق معدودة من البحث، لأن لينكس يمتلك مجتمعًا ضخمًا من المطورين والخبراء الذين واجهتهم مشكلاته من قبل، فأوجدوا لها حلولًا ونشروها لمساعدتنا. 4. يتميز لينكس بالأمان الشديد يجب أن يكون الأمان على رأس أولويات كل فريق تطوير تطبيقات، ويُعرف لينكس بأنه واحد من أكثر أنظمة التشغيل أمانًا، ما يضمن لنا أمان تطبيقاتنا وبياناتنا، علاوةً على ذلك يمكننا تحسين أمانه باستخدام خادم خاص افتراضي Virtual Private Server (VPS)، ما يعزل التطبيق والبيانات الخاصة بنا عن تطبيقات وبيانات سائر المستخدمين، فإن كان لدينا مشكلة أمنية في تطبيقنا فلن تؤثر على الآخرين، وكذلك إن كان لدى الآخرين مشكلات أمنية في تطبيقاتهم فلن تؤثر على أمان تطبيقنا وبياناتنا. 5. تتعدد توزيعات نظام تشغيل لينكس تتوفر توزيعات عديدة ومتنوعة من نظام تشغيل لينكس Linux، فسنجد حتمًا التوزيعة المناسبة لاحتياجات مشروعنا، فمثلًا تتناسب توزيعة أوبونتو Ubuntu مع المطورين المبتدئين، وذلك لتوافر واجهة رسومية سهلة الاستخدام فيها، بينما قد تلائم توزيعة دبيان Debian الفئة الخبيرة من المطورين نظرًا لتعدد مميزاتها وحزم البرمجيات التي تدعمها التوزيعة. 6. يدعم لينكس مختلف أنواع التطبيقات مهما كان نوع التطبيق الذي نود تطويره سواء تطبيق ويب، أو تطبيق هاتف محمول، أو تطبيق سطح مكتب، سنجد حتمًا حزمة البرمجيات المستخدمة في تطويره مدعومة من نظام تشغيل لينكس، بل يمكننا حتى تثبيت أدوات التطوير الضرورية عبر مستودعات لينكس Linux Repositories دون الحاجة للبحث الطويل عبر الإنترنت. 7. يدعم لينكس مجموعة واسعة من لغات البرمجة يدعم نظام لينكس جميع لغات البرمجة المستخدمة في تطوير البرمجيات تقريبًا، مثل: لغة بايثون ولغة جافا ولغة ++C، كما يدعم أكثر من مصرف Compiler لكل لغة، ما يعطينا مرونة في اختيار لغة البرمجة المفضلة لنا لتطوير التطبيقات. 8. يحظى لينكس بشهرة كبيرة ومجتمع واسع يملك نظام لينكس مجتمعًا ضخمًا من المستخدمين والمطورين. لذا، يمكننا العثور على إجابات لجميع أسئلتنا حوله. بالإضافة إلى ذلك، يمكننا الحصول على المساعدة في حل أي مشكلات قد نواجهها في التعامل معه. 9. يدعم لينكس مختلف محررات الأكواد أيًا كانت تفضيلاتنا الشخصية فلا بد أن نجد محرر أكواد مناسبًا لنا ومدعومًا من نظام تشغيل لينكس، فمثلًا إن أردنا محرر نصوص بسيطًا وسهل الاستخدام فيمكن استخدام محرر Gedit، وفي حال كنا نفضل استخدام بيئة تطوير متكاملة فيمكننا الاختيار بين مجموعة واسعة من بيئات التطوير مثل NetBeans أو Eclipse أو IntelliJ IDEA. 10. يتميز لينكس بالمرونة يعد لينكس Linux نظام تشغيل مرن، إذ يمكن لفريق العمل تعديله وتخصيصه تبعًا لاحتياجاته الشخصية ومتطلبات التطبيقات دون مواجهة أية عقبات، فمثلًا يسمح لنا نظام تشغيل لينكس بحذف حزم البرمجيات التي لا نحتاجها في عملنا، كما يمكننا تغيير التوزيعة المستخدمة إن احتجنا لذلك. أمثلة على تطبيقات ناجحة تستخدم لينكس قد تراود البعض منا شكوك حول نظام تشغيل لينكس وكفاءته، لكونه لا يحظى بشعارات برَّاقة، ولكنَّ لينكس قد أثبت كفاءته واعتماديته عبر السنين، وهناك تطبيقات شهيرة ومميزة استخدم مطوروها نظام تشغيل لينكس لتطويرها وتشغيلها، نذكر لكم منها: سكايب Skype قد يستخدم معظمنا اليوم ديسكورد أو زوم في التواصل مع الأصدقاء أو الزملاء، لكن سكايب كان التطبيق الأكثر شيوعًا لهذه المهمة في وقت ما، وقد استُخدِم لينكس في تطوير هذا البرنامج الكلاسيكي. ستيم Steam يعد ستيم أكبر متجر إلكتروني لبيع الألعاب الرقمية، وما كان هذا المتجر الإلكتروني المميز ليبرز لولا نظام تشغيل لينكس. دروب بوكس Dropbox لا بد أن أي شخص يستخدم منصات التخزين السحابي لتخزين ملفاته يعرف جيدًا برنامج دروب بوكس ويعرف مكانته وأصالته بين سائر منصات التخزين السحابي؛ وقد استُخدِم نظام تشغيل لينكس عند تطوير دروب بوكس أيضًا. الخاتمة يمكن أن نخلص لأن نظام لينكس نظام تشغيل قوي ومتعدد المميزات، ويحظى بمجتمع واسع يضم كثيرًا من المبرمجين الخبراء الذين سيساعدوننا في تطوير تطبيقاتنا وحل مشكلاتنا في التعامل معه، فضلًا عن كونه مناسبًا للخبراء من المبرمجين والمبتدئين منهم على حد سواء، وهو نظام تشغيل مجاني تمامًا، وسيساعدنا على تطوير تطبيقنا حتى لو كانت ميزانيتنا محدودة، وبالتالي يمكن القول أنه الخيار الأمثل لتطوير التطبيقات على اختلاف أنواعها. ترجمة -وبتصرف- لمقال Top 10 Benefits of Linux for App Development لكاتبه Janus Atienza اقرأ أيضًا تعرف على نظام لينكس Linux وأبرز مميزاته وعيوبه كيف تختار توزيعة لينكس المناسبة لك؟ دليلك الشامل إلى برمجة التطبيقات كيفية تحزيم وتوزيع تطبيقات بايثون
  2. أصبح الذكاء الاصطناعي موجودًا في كل مجال ويستفيد منه المطورون لتسريع عملهم وتحقيق نتائج أفضل. وسنعرفكم في مقال اليوم على خطوات تطوير أداة ذكية باستخدام OpenAI تُمكّن مطوري الألعاب من دمج الذكاء الاصطناعي مع محرك الألعاب جودو Godot والاستفادة منها في تحسين الشيفرات البرمجية للألعاب. فوائد دمج OpenAI مع محرك الألعاب جودو يمكننا الحصول على فوائد عديدة من دمج منصة الذكاء الاصطناعي OpenAI مع محرك الألعاب جودو ومن أبرزها ما يلي: تلخيص الأكواد من خلال تطوير أداة تربط بين محرك جودو و OpenAI، سنتمكن من تلخيص الأكواد البرمجية المتتابعة بسهولة وبضغطة واحدة على زر Summarize. توفر هذه الميزة الكثير من الوقت والجهد، لاسيما عندما نتعامل مع شيفرات برمجية معقدة ومتشابكة ونرغب في تبسيطها وفهمها بسرعة. تنفيذ إجراءات على الكود أليس من الرائع أن نتمكن من إعطاء محرر الأكواد أمرًا بكتابة دالة أو وظيفة معينة، أو نطلب منه إعادة كتابة كود دالة ما بطريقة أكثر احترافية؟ هذه واحدة من أهداف الأداة التي سنطورها، فهي تساعدنا على كتابة وتنقيح الكود البرمجي من داخل محرر الأكواد مباشرة. مساعدة مطور الألعاب تساعدنا أداة التكامل بين محرك ألعاب جودو ومنصة الذكاء الاصطناعي OpenAI في توفير شرح مفصل للأكواد التي لا نفهمها أو التي نواجه مشكلات فيها، كل ما علينا هو تظليل الكود المطلوب والضغط على زر help وستتولى الأداة توفير شرح نصي واضح يساعدنا على فهمه وتحليل المشكلة التي تواجهنا. التواصل مع مفتاح واجهة برمجة التطبيقات تسمح لنا هذه الأداة بالتواصل المباشر مع واجهة برمجة التطبيقات OpenAI API، أي إنها تسمح لنا بالتواصل مع كافة النماذج Models القوية التي توفرها OpenAI وسؤالها عن أي شيء ضمن الكود من داخل محرر الأكواد نفسه، ويساعدنا ذلك على استكشاف الثغرات وتنقيحها وتحسين أكوادنا البرمجية. بعد أن تعرفنا على فائدة الأداة التي سنطورها لجودو، لننتقل الآن لشرح عملية التطوير خطوة بخطوة. الحصول على مفتاح الواجهة البرمجية OpenAI API أول خطوة سنبدأ بها لتطوير أداة التكامل بين جودو وOpenAI هي الحصول على مفتاح واجهة برمجة التطبيقات من موقع OpenAI، فإن لم يسبق لنا استخدام خدمات OpenAI من قبل فعلينا بداية إنشاء حساب جديد في OpenAI وتسجيل الدخول، والانتقال إلى حسابنا الخاص في الموقع، ثم الضغط على زر View API Keys كما في الصورة التالية: نحتاج الآن إلى توليد مفتاح واجهة برمجة تطبيقات جديد وذلك بالضغط على زر Create new secret key، ثم تسمية المفتاح بأي اسم مناسب ونسخه. البدء مع جودو Godot الخطوة التالية هي إعداد الإضافة Plugin الخاصة بأداتنا داخل محرك الألعاب جودو، وذلك ببدء مشروع جديد، ثم فتح إعدادات المشروع Project Settings، ثم الدخول إلى إضافات Plugins وإنشاء إضافة جديدة Create New Plugin. نسمِّي الإضافة باسم مناسب مثل Godot GPT Integration، ونحدد المجلد الفرعي res://addons/GPT_Integration، ونكتب اسم المطور في الحقل author، ونجعل رقم النسخة 1.0، وأخيرًا نختار لغة المشروع لتكون GDScript، كما يمكن اختيار لغة #C ولكن في هذا الحالة لن يتمكن المستخدم من تثبيت الإضافة في الإصدار العادي من جودو وسيحتاج لنسخة Godot Mono. بعد الانتهاء من ملء البيانات المطلوبة نضغط على زر أنشئ Create، ستنشأ إضافة محرر Editor Plugin، وإضافات المحرر هي أدوات إضافية تعمل أثناء تشغيل محرر جودو لمساعدة المطورين على كتابة الشيفرات بسهولة. إنشاء واجهة المستخدم ننتقل لتطوير واجهة الأداة والتي ستكون مشهد ثنائي الأبعاد يضم صندوق محادثة Chat Box، وحقل نصي Text Field، ومكونات أخرى كما في الصورة أعلاه. لتصميم هذه الواجهة علينا اتباع الخطوات التالية: ننتقل للتبويب مشهد من داخل محرك جودو، وننشئ عقدة تحكم رئيسية Control ونعدِّل اسمها إلى Chat، ثم نضغط بزر الفأرة الأيمن على المنطقة الفارغة في تبويب المشهد، ونختار إضافة عقدة فرعية Add Child Node. ستظهر مجموعة من الاختيارات لتحديد نوع العقدة الفرعية، نختار TextEdit، ثم نحدد العقدة الفرعية ونبحث في قائمة الفاحص عن خاصية Anchor Preset في قسم Layout والتي تحدد مكان العقدة داخل المشهد، سنحدد خيار على كامل المستطيل Full Rect ثم نضبط حجم العقدة بشكل مناسب، فهذه العقدة ستكون صندوق الدردشة الذي سنتواصل منه مع نموذج OpenAI. بعدها نضيف عقدة فرعية أخرى من نوع Button، ثم نضبط الخاصية Anchor Preset لها بالقيمة Bottom Right أي في الأسفل يمينًا، ثم نعدّل أبعاد الزر وأخيرًا نعدل خاصية نص الزر Text إلى Chat، ثم نضيف عقدة فرعية جديدة أخرى نوعها TextEdit، ونحدد الخاصية Anchor Preset لها في الأسفل يمينًا لتكون أسفل يمين الواجهة، ونحدد أبعادها ونجعلها أعلى زر Chat. بعد ذلك نضيف عقدة فرعية نوعها حاوية HBoxContainer، ونحدد مكانها ضمن Anchor Preset إلى القيمة Bottom Wide أي بالعرض بالأسفل، ثم نضبط أبعادها، بعدها ننقر بالزر الأيمن على العقدة ونضيف لها ثلاث عقد فرعية من نوع Button، ثم نعدل أسماء تلك الأزرار إلى Summary و Action وHelp ونحدد الأزرار الثلاثة وننتقل إلى Layout ومنها إلى Container Sizing ونختار Expand و Fit كي تتوسع هذه الأزرار وتتناسب مع الحاوية HBoxContainer. أخيرًا نضبط قياسات صندوق الدردشة ومنطقة تحرير النصوص لتتناسب مع أحجام الأزرار، ويمكن إضافة عقدة فرعية من نوع HSeparator لأسباب جمالية، وفيما يلي الشكل الذي ستظهر عليه شجرة العقد ضمن المشهد: بعد الانتهاء من تصميم الواجهة، سنحفظها في ملف باسم chat.tscn، والآن صارت واجهتنا جاهزة لبدء كتابة الأكواد البرمجية اللازمة لعمل الإضافة. أولاً، سنحتاج إلى إنشاء متغير يمثل كائن ضندوق الدردشة الذي سننشؤه داخل محرك جودو، سنسمي هذا المتغير chat_dock. بعد ذلك، سنقوم بإنشاء الكائن وإضافته إلى مكان مناسب في واجهة محرك جودو. وهنا سنختار وضعه في تبويب علوي بجانب تبويب المشهد، ولكن يمكنك اختيار أي مكان نفضله. بمجرد أن نقوم بذلك، يجب أن نرى تبويبًا جديدًا باسم Chat في محرر Godot يمثل نافذة الدردشة الخاصة بنا كلما قمنا بتفعيل الإضافة وسيختفي عند إلغاء تفعيلها. سيبدو تبويب إضافة الدردشة ضمن محرك جودو بالشكل التالي: إعداد الكود البرمجي حان دور كتابة الكود البرمجي لأداتنا والذي سيوفر تكاملًا مع الواجهة البرمجية OpenAI API، نبدأ بوراثة الصنف EditorPlugin، وتعريف بعض المتغيرات والثوابت، كالآتي: @tool extends EditorPlugin const MySettings:StringName = "res://addons/GPTIntegration/settings.json" enum modes { Action, Summarise, Chat, Help } var api_key = "" ## put the API key here var max_tokens = 1024 # How many tokens can you use to generate your response var temperature = 0.5 # how "crazy" you want it to be var url = "https://api.openai.com/v1/completions" # the open api url var headers = ["Content-Type: application/json", "Authorization: Bearer " + api_key] var engine = "text-davinachi-003" # What engine you want to use var chat_dock var http_request :HTTPRequest var current_mode var cursor_pos var code_editor var settings_menu عرَّفنا في هذه الشيفرات الثابت MySettings، والذي يشير إلى ملف JSON الذي سنخزن فيه إعداداتنا، كما عرفنا متغير modes الذي يسمح للأداة أن تعمل بأساليب مختلفة فهو متغير من نمط تعدادي enum يعرّف الأوضاع التي يمكن أن تتواجد فيها الإضافة وإن كانت ستُنفذ إجراءً محددًا، أو تلخص نصًا، أو ستجري محادثة مع المستخدم، أو توفر مساعدة. أنشأنا كذلك المتغيرات api_key و max_tokens و tempreture و url و header و engin المسؤولة عن التفاعل مع واجهة برمجة تطبيقات OpenAI، وعرفنا أيضًا متغيرات chatdock و http_request و cursor_pos و current_mode و codeeditor وsettings_menu وهذه المتغيرات مسؤولة عن التفاعل مع محرك جودو . الدخول للشجرة عند الدخول إلى شجرة المشهد، سنعرض تبويب الدردشة chat dock الذي يتضمن صندوق الدردشة، وإضافته بجانب تبويب المشهد وربط الأزرار في صندوق الدردشة بالوظائف الخاصة بها. كما نرغب في إضافة عنصر إلى قائمة الأدوات Tool Menu لعرض الإعدادات. إليك كيفية القيام بذلك: func _enter_tree(): print('_enter_tree') chat_dock = preload("res://addons/GPTIntegration/Chat.tscn").instantiate() add_control_to_dock(EditorPlugin.DOCK_SLOT_LEFT_UR, chat_dock) chat_dock.get_node("Button").connect("pressed", _on_chat_button_down) chat_dock.get_node("HBoxContainer/Action").connect("pressed", _on_action_button_down) chat_dock.get_node("HBoxContainer/Help").connect("pressed", _on_help_button_down) chat_dock.get_node("HBoxContainer/Summary").connect("pressed", _on_summary_button_down) add_tool_menu_item("GPT Chat", on_show_settings) load_settings() pass نبدأ في هذا الكود بتحميل نافذة الدردشة في التبويب chat dock، ثم نستنسخه ونضيفه إلى التبويب العلوي الأيسر -بجانب تبويب المشهد- بعد ذلك، نحصل على عقد الأزرار Button و Action و Help و Summary من نافذة الدردشة ونربطها حدث الضغط عليها بالدوال المناسبة on_chat_button_down و on_action_button_down و on_help_button_down و on_summary_button_down على التوالي. كما نضيف عنصرًا في قائمة الأدوات باسم GPT Chat الذي يستدعي الدالة on_show_settings عند النقر عليه. وأخيرًا، نستدعي الدالة load_setting لتحميل الإعدادات من ملف JSON. الخروج من الشجرة عند الخروج من شجرة المشهد، سنحتاج لإزالة تبويب نافذة الدردشة chat dock الذي أضفناه في الخطوة السابقة مع حفظ الإعدادات، كما يلي: func _exit_tree(): remove_control_from_docks(chat_dock) chat_dock.queue_free() remove_tool_menu_item("GPT Chat") save_settings() pass نُزيل في هذه الشيفرة كل ما يتعلق بإضافة روبوت المحادثة ثم نضعه ضمن المحذوفات، كما نُزيل التبويب GPT Chat، وأخيرًا نستدعي الدالة save_settings لحفظ إعدادات الإضافة إلى ملف JSON. معالجة أحداث الضغط على الأزرار الآن لنعالج ضغطات أزرار الأداة، فحين نضغط على زر Chat مثلًا نريد أن ترسل الأداة طلبًا إلى نموذج OpenAI بالنص أو المُوجّه prompt المكتوب في المساحة النصية TextEdit، وفيما يلي كيفية تنفيذ ذلك: func _on_chat_button_down(): if(chat_dock.get_node("TextEdit").text != ""): current_mode = modes.Chat var prompt = chat_dock.get_node("TextEdit").text chat_dock.get_node("TextEdit").text = "" add_to_chat("Me: " + prompt) call_GPT(prompt) فحصنا بالكود أعلاه إن كانت العقدة TextEdit غير فارغة وتتضمن مُوجّه Prompt مكتوب للتواصل مع نموذج الذكاء الاصطناعي، ففي هذه الحالة نضبط الإضافة إلى الوضع Chat، ثم نستنسخ النص ونضعه في الصياغة Me: prompt ليظهر بهذه الصياغة في واجهة المستخدم، ثم نحذف النص من TextEdit، ونستدعي الدالة call_GPT ونمرر لها المُوجّه الذي نود إيصاله إلى نموذج OpenAI. ننتقل بعد ذلك إلى معالجة حدث الضغط على زر Action نود أن نرسل إلى نموذج OpenAI طلب لتنفيذ الأمر المكتوب على الشيفرات المحددة، وفيما يلي كيفية تنفيذ ذلك: func _on_action_button_down(): current_mode = modes.Action call_GPT("Code this for Godot " + get_selected_code()) حوَّلنا في الشيفرات السابقة وضع الملحق إلى Action، ثم استدعينا الدالة call_GPT مع إعطائها المُوجّه prompt الذي نرغب في تنفيذه. وبعد ذلك نعالج حدث الضغط على زر Help، حيث نرغب بالحصول على شرح للأكواد المحددة عند الضغط عليه، ولتنفيذ ذلك نكتب: func _on_help_button_down(): current_mode = modes.Help var code = get_selected_code() chat_dock.get_node("TextEdit").text = "" add_to_chat("Me: " + "What is wrong with this GDScript code? " + code) call_GPT("What is wrong with this GDScript code? " + code) بدَّلنا في هذه الشيفرات وضع الإضافة إلى Help، ثم أضفنا المُوجّه المكتوب في TextEdit وفق الصياغة Me: prompt الظاهرة في واجهة المستخدم، ثم حذفناه من العقدة TextEdit واستدعينا الدالة call_GPT لترسل الأمر إلى OpenAI للمساعدة في فهم الشيفرات المحددة. وأخيرًا، نعالج حدث الضغط على زر Summary نود من نموذج OpenAI أن ترسل تلخيصًا للشيفرات المختارة، وذلك كما يلي: func _on_summary_button_down(): current_mode = modes.Summarise call_GPT("Summarize this GDScript Code " + get_selected_code()) استبدلنا وضع الأداة إلى Summarise، ثم استدعينا الدالة call_GPT ومررنا لها مُوجِّه لتلخيص الأكواد المحددة. معالجة الاستجابة الآن، لنعالج استجابات الطلبات التي حصلنا عليها من OpenAI وسنفعل ذلك باستخدام الدالة on_request_completed. وسنعتمد على الوضع الحالي للأداة فهل هو Chat أو Summarise أو Help أو Action لنحدد فيما إذا كنا سنضع الإجابة التي حصلنا عليها في مساحة الدردشة بالروبوت أم ضمن أكواد المحرر مباشرة. func _on_request_completed(result, responseCode, headers, body): print(result, responseCode, headers, body) var json = JSON.new() var parse_result = json.parse(body.get_string_from_utf8()) if parse_result: printerr(parse_result) return var response = json.get_data() if response is Dictionary: print("Response", response) if response.has("error"): print("Error", response['error']) return else: print("Response is not a Dictionary", headers) return var newStr = response.choices[0].text if current_mode == modes.Chat: add_to_chat("GPT: " + newStr) elif current_mode == modes.Summarise: var str = response.choices[0].text.replace("\n" , "") newStr = "# " var lineLength = 50 var currentLineLength = 0 for i in range(str.length()): if currentLineLength >= lineLength and str[i] == " ": newStr += "\n# " currentLineLength = 0 else: newStr += str[i] currentLineLength += 1 code_editor.insert_line_at(cursor_pos, newStr) elif current_mode == modes.Action: code_editor.insert_line_at(cursor_pos, newStr) elif current_mode == modes.Help: add_to_chat("GPT: " + response.choices[0].text) pass نحلل في الكود أعلاه الاستجابة التي حصلنا عليها من OpenAI ونتحقق مما إذا كانت عبارة عن قاموس dictionart، فإذا كانت كذلك سنستخرج النص من الاستجابة، وفي حال كان الوضع الحالي المحدد في الأداة هو Chat نضيف النص إلى الدردشة مع وضع البادئة GPT. وإذا كان الوضع الحالي هو وضع Summarise فسندرجه في محرر الأكواد كنسخة ملخصة من الكود المحدد بحيث لا يتجاوز طول كل سطر 50 حرفًا ويبدأ كل سطر برمز # ، وإذا كان الوضع الحالي هو Action، سندرج نص الاستجابة في محرر الأكواد مباشرة. أما إذا كان الوضع الحالي هو Help فسنضيف نص الاستجابة إلى الدردشة مع البادئة GPT. حفظ وتحميل الإعدادات لنعمل الآن على حفظ إعدادات الإضافة عن طريق الدالة save_settings حيث سننشئ ملف JSON يحتوي قيم المتغيرات api_key maxtokens و maxtokens وengine، ونحدد المجلد res://addons/GPTIntegration لتخزين هذا الملف، بعدها نحمّل الإعدادات من خلال الدالة load_settings التي تفتح الملف JSON وتستخرج بياناته وتعين قيم المتغيرات api_key maxtokens و maxtokens وengine بناء عليها وفيما يلي كيفية تنفيذ ذلك: func save_settings(): var data ={ "api_key":api_key, "max_tokens": max_tokens, "temperature": temperature, "engine": engine } print(data) var jsonStr = JSON.stringify(data) var file = FileAccess.open(MySettings, FileAccess.WRITE) file.store_string(jsonStr) file.close() أنشأنا في الشيفرات السابقة قاموسًا يضم المتغيرات api_key maxtokens و maxtokens وengine، ثم حولنا هذا القاموس إلى تنسيق JSON، ثم فتحنا ملف JSON على وضع الكتابة وحفظنا فيه البيانات ثم أغلقناه. func load_settings(): if not FileAccess.file_exists(MySettings): save_settings() var file = FileAccess.open(MySettings, FileAccess.READ) if not file: printerr("Unable to create", MySettings, error_string(ERR_CANT_CREATE)) print_stack() return var jsonStr = file.get_as_text() file.close() var data = JSON.parse_string(jsonStr) print(data) api_key = data["api_key"] max_tokens = int(data["max_tokens"]) temperature = float(data["temperature"]) engine = data["engine"] فحصنا في الشيفرات السابقة ما إذا كان ملف الإعدادات موجودًا، فإن لم يكن موجودًا سنستدعي الدالة save_settings لإنشائه، ثم فتحنا الملف وضع القراءة واستدعينا البيانات المخزنة فيه واستخرجنا القيم المناسبة لضبط المتغيرات api_key maxtokens و maxtokens وengine. الكود الكامل لإضافة جودو فيما يلي الكود النهائي الكامل لأداتنا التي تضيف ميزات الذكاء الاصطناعي لمحرر ألعاب جودو: @tool extends EditorPlugin const MySettings:StringName = "res://addons/GPTIntegration/settings.json" enum modes { Action, Summarise, Chat, Help } var api_key = "" var max_tokens = 1024 var temperature = 0.5 var url = "https://api.openai.com/v1/completions" var headers = ["Content-Type: application/json", "Authorization: Bearer " + api_key] var engine = "text-davinachi-003" var chat_dock var http_request :HTTPRequest var current_mode var cursor_pos var code_editor var settings_menu func _enter_tree(): printt('_enter_tree') chat_dock = preload("res://addons/GPTIntegration/Chat.tscn").instantiate() add_control_to_dock(EditorPlugin.DOCK_SLOT_LEFT_UR, chat_dock) chat_dock.get_node("Button").connect("pressed", _on_chat_button_down) chat_dock.get_node("HBoxContainer/Action").connect("pressed", _on_action_button_down) chat_dock.get_node("HBoxContainer/Help").connect("pressed", _on_help_button_down) chat_dock.get_node("HBoxContainer/Summary").connect("pressed", _on_summary_button_down) # Initialization of the plugin goes here. add_tool_menu_item("GPT Chat", on_show_settings) load_settings() pass func on_show_settings(): settings_menu = preload("res://addons/GPTIntegration/SettingsWindow.tscn").instantiate() settings_menu.get_node("Control/Button").connect("pressed", on_settings_button_down) set_settings(api_key, int(max_tokens), float(temperature), engine) add_child(settings_menu) settings_menu.connect("close_requested", settings_menu_close) settings_menu.popup() func on_settings_button_down(): api_key = settings_menu.get_node("HBoxContainer/VBoxContainer2/APIKey").text max_tokens = int(settings_menu.get_node("HBoxContainer/VBoxContainer2/MaxTokens").text) temperature = float(settings_menu.get_node("HBoxContainer/VBoxContainer2/Temperature").text) var index = settings_menu.get_node("HBoxContainer/VBoxContainer2/OptionButton").selected if engine == "text-davinchi-003": index = 0 elif index == 1: engine = "code-davinci-002" elif index == 2: engine = "text-curie-001" elif index == 3: engine = "text-babbage-001" elif index == 4: engine = "text-ada-001" elif index == 5: engine = "code-cushman-002" settings_menu_close() pass func settings_menu_close(): settings_menu.queue_free() pass # This GDScript code sets the settings in a settings # menu. It sets the API key, the maximum number of tokens, # the temperature, and the engine. The engine is set # by selecting the corresponding ID from a list of options. func set_settings(api_key, maxtokens, temp, engine): settings_menu.get_node("HBoxContainer/VBoxContainer2/APIKey").text = api_key settings_menu.get_node("HBoxContainer/VBoxContainer2/MaxTokens").text = str(maxtokens) settings_menu.get_node("HBoxContainer/VBoxContainer2/Temperature").text = str(temp) var id = 0 if engine == "text-davinchi-003": id = 0 elif engine == "code-davinci-002": id = 1 elif engine == "text-curie-001": id = 2 elif engine == "text-babbage-001": id = 3 elif engine == "text-ada-001": id = 4 elif engine == "code-cushman-002": id = 5 settings_menu.get_node("HBoxContainer/VBoxContainer2/OptionButton").select(id) func _exit_tree(): # Clean-up of the plugin goes here. remove_control_from_docks(chat_dock) chat_dock.queue_free() remove_tool_menu_item("GPT Chat") save_settings() pass func _ready(): http_request = HTTPRequest.new() add_child(http_request) http_request.connect("request_completed", _on_request_completed) func _on_chat_button_down(): if(chat_dock.get_node("TextEdit").text != ""): current_mode = modes.Chat var prompt = chat_dock.get_node("TextEdit").text chat_dock.get_node("TextEdit").text = "" add_to_chat("Me: " + prompt) call_GPT(prompt) func call_GPT(prompt): var body = JSON.new().stringify({ "prompt": prompt, "temperature": temperature, "max_tokens": max_tokens, "model": "text-davinci-003" }) var error = http_request.request(url, ["Content-Type: application/json", "Authorization: Bearer " + api_key], HTTPClient.METHOD_POST, body) if error != OK: push_error("Something Went Wrong!") func _on_action_button_down(): current_mode = modes.Action call_GPT("Code this for Godot " + get_selected_code()) func _on_help_button_down(): current_mode = modes.Help var code = get_selected_code() chat_dock.get_node("TextEdit").text = "" add_to_chat("Me: " + "What is wrong with this GDScript code? " + code) call_GPT("What is wrong with this GDScript code? " + code) func _on_summary_button_down(): current_mode = modes.Summarise call_GPT("Summarize this GDScript Code " + get_selected_code()) # This GDScript code is used to handle the response from # a request and either add it to a chat or summarise # it. If the mode is set to Chat, it will add the response # to the chat with the prefix "GPT". If the mode is set # to Summarise, it will loop through the response and # insert it into the code editor as a summarised version # with each line having a maximum length of 50 characters # and each line starting with a "#". func _on_request_completed(result, responseCode, headers, body): printt(result, responseCode, headers, body) var json = JSON.new() var parse_result = json.parse(body.get_string_from_utf8()) if parse_result: printerr(parse_result) return var response = json.get_data() if response is Dictionary: printt("Response", response) if response.has("error"): printt("Error", response['error']) return else: printt("Response is not a Dictionary", headers) return var newStr = response.choices[0].text if current_mode == modes.Chat: add_to_chat("GPT: " + newStr) elif current_mode == modes.Summarise: var str = response.choices[0].text.replace("\n" , "") newStr = "# " var lineLength = 50 var currentLineLength = 0 for i in range(str.length()): if currentLineLength >= lineLength and str[i] == " ": newStr += "\n# " currentLineLength = 0 else: newStr += str[i] currentLineLength += 1 code_editor.insert_line_at(cursor_pos, newStr) elif current_mode == modes.Action: code_editor.insert_line_at(cursor_pos, newStr) elif current_mode == modes.Help: add_to_chat("GPT: " + response.choices[0].text) pass func get_selected_code(): var currentScriptEditor = get_editor_interface().get_script_editor().get_current_editor() code_editor = currentScriptEditor.get_base_editor() if current_mode == modes.Summarise: cursor_pos = code_editor.get_selection_from_line() elif current_mode == modes.Action: cursor_pos = code_editor.get_selection_to_line() return code_editor.get_selected_text() func add_to_chat(text): var chat_bubble = preload("res://addons/GPTIntegration/ChatBubble.tscn").instantiate() chat_bubble.get_node("RichTextLabel").text = "\n" + text + "\n" chat_dock.get_node("ScrollContainer/VBoxContainer").add_child(chat_bubble) #chat_dock.get_node("RichTextLabel").text += "\n" + text + "\n" # This GDScript code creates a JSON file containing the # values of the variables "api_key", "max_tokens", "temperature", # and "engine", and stores the file in the "res://addons/GPTIntegration/" # directory. func save_settings(): var data ={ "api_key":api_key, "max_tokens": max_tokens, "temperature": temperature, "engine": engine } print(data) var jsonStr = JSON.stringify(data) var file = FileAccess.open(MySettings, FileAccess.WRITE) file.store_string(jsonStr) file.close() # This GDScript code opens a JSON file, parses the data # from it, and assigns the values to variables. The variables # are api_key, max_tokens, temperature, and engine. func load_settings(): if not FileAccess.file_exists(MySettings): save_settings() var file = FileAccess.open(MySettings, FileAccess.READ) if not file: printerr("Unable to create", MySettings, error_string(ERR_CANT_CREATE)) print_stack() return var jsonStr = file.get_as_text() file.close() var data = JSON.parse_string(jsonStr) print(data) api_key = data["api_key"] max_tokens = int(data["max_tokens"]) temperature = float(data["temperature"]) engine = data["engine"] الخاتمة عملنا اليوم على تطوير أداة تكامل بين محرر جودو والنماذج اللغوية لشركة OpenAI، ننصح بتجربة تنفيذ هذه الأداة والاستفادة منها في تنفيذ مهام عديدة أثناء تطوير الألعاب، بدءًا من كتابة الشيفرات، مرورًا بتلخيصها، وصولًا إلى شرحها وغيرها من الوظائف المفيدة. ترجمة -وبتصرف- لمقال Building a Godot Engine Tool Script for Interacting with OpenAI اقرأ أيضًا تعرف على أشهر لغات برمجة الألعاب الرؤية التصميمية لمحرك اﻷلعاب جودو Godot لغات البرمجة المتاحة في جودو Godot كيف تصبح مبرمج ألعاب فيديو ناجح
  3. يعد روبوت الدردشة ChatGPT واحدًا من أشهر أدوات الذكاء الاصطناعي التوليدي Generative AI Tool، وقد طورته شركة OpenAI ليساعد للعاملين في مختلف المجالات، فهو يتيح طرح الأسئلة حول أي موضوع ويوفر إجابات تفصيلية. ولكن، بالرغم من فوائده الكثيرة إلا أنه ليس مفتوح المصدر open source، فهو يمنع المطورين من الوصول إلى أكواده المصدرية، وبناء بوتات مخصصة لاحتياجاتهم، وهو متاح للمطورين عبر واجهة برمجية API تسمح لهم بالتفاعل مع النموذج واستخدامه داخل تطبيقاتهم، فما هي أهم بدائل ChatGPT مفتوحة المصدر؟ هذا ما سنتعرف عليه في مقالنا حيث نستعرض لكم عدة بدائل مفتوحة المصدر لشات جي بي تي تمكنكم من بناء روبوت الدردشة الخاص بكم بمرونة كبيرة. أسباب البحث عن بدائل مفتوحة المصدر لشات جي بي تي فيما يلي قائمة بأبرز الأسباب التي تدفعنا لاستخدام بدائل لروبوت الدردشة ChatGPT: المعرفة الكاملة بطريقة تعامل روبوت الدردشة مع بيانات المستخدمين ومعالجتها إمكانية بناء روبوت دردشة خاص بنا شبيه بروبوت الدردشة مفتوح المصدر دون الحاجة لدفع تكاليف لاستخدامه سهولة تعديل روبوت الدردشة وتخصيصه حسب احتياجاتنا الخاصة المرونة في السياسات وعدم الحاجة للالتزام بسياسات الشركة المالكة لروبوت الدردشة التطور السريع والمستمر في روبوت الدردشة نظرًا لمشاركة عدد ضخم من المطورين في تحديث البوت وترقيته ملاحظة: لا يعني ذلك أنَّ بوت ChatGPT سيء بالطبع ولا ندعو لعدم استخدامه فقد وصل هذا البوت لدرجة عالية من الكفاءة قد تفوق البدائل مفتوحة المصدر، وإنما نقترح عليكم مطالعة هذه الحلول وتجربتها والنظر في إمكانية الاستفادة المثلى منها. دعونا نستعرض معًا عدد من البدائل مفتوحة المصدر لبوت ChatGPT. ديب سيك DeepSeek تُعدّ DeepSeek منصة ذكاء صناعي مفتوحة المصدر مخصصة لإجراء عدة مهام باستخدام تقنيات معالجة اللغة الطبيعية وتعلم الآلة حيث توفر للمطورين نماذج متقدمة في الذكاء الاصطناعي صالحة لمختلف التطبيقات مثل نموذج DeepSeek-VL لفهم الوسائط المتعددة، ونموذج DeepSeek-Coder لتطوير البرمجيات، ونموذج DeepSeek-V2 الذي يركز على الكفاءة في الاستدلال، كما تقدم المنصة للمطورين إمكانية الوصول لواجهتها البرمجية API لمزيد من المرونة والتحكم. وتتضمن تطبيقًا مخصصًا للاستخدام على الهواتف المحمولة، بالإضافة إلى روبوت دردشة DeepSeek Chat للتفاعل المباشر مع الذكاء الصناعي والعديد من المميزات الأخرى. هاجينج شات HuggingChat توفر منصة Huggingface الشهيرة نماذج ذكاء اصطناعي مختلفة للمطورين، وتنشر باستمرار نسخًا تجريبية من بوتات الدردشة، ومن ضمنها روبوت HuggingChat المطوّر بواسطة المنصة ليكون بديلًا مفتوح المصدر لشات جي بي تي Chat GPT، فهو يستخدم مجموعة من أفضل نماذج الذكاء الاصطناعي الموجودة في المجتمع التقني، ويمكن تجربته عبر صفحة البوت على موقع Huggingface، كما يمكن الاطلاع على شيفرات البوت المصدرية، وكذلك يمكن استخدام الواجهة الأمامية للبوت الخاص بك، مع تعديل الواجهة الخلفية وتخصيصها بما يتناسب مع الخصائص أو الخدمات التي تريد دمجها، مثل إضافة وظائف جديدة أو تعديل طريقة معالجة البيانات. دولي Doly دولي Doly هو نموذج لغوي درَّبَته منصة تعلم الآلة المدفوعة داتا بريكس Databricks وهي منصة تقدم أدوات وتقنيات متقدمة لبناء وتشغيل تطبيقات الذكاء الاصطناعي وتحليل البيانات، ويمكن الاطلاع على الشيفرات المصدرية للنموذج عبر مستودع جيت هاب، كما يمكن تجربة النموذج ذاته عبر منصة Huggingface. كوالا Koala كوالا Koala بوت دردشة تابع إلى EasyLM وهو إطار عمل مفتوح المصدر يهدف إلى تبسيط وتسهيل استخدام النماذج اللغوية الكبيرة مثل GPT و BERT وغيرها. ويمكن استخدامه في العديد من التطبيقات مثل الترجمة الآلية وتحليل المشاعر والتلخيص والعديد من مهام معالجة اللغة الطبيعية. ويمكنك تشغيله محليًا عبر حاسوبك الخاص، وهو مبني على مجموعة بيانات LLaMA، ولمعرفة المزيد من التفاصيل يمكن مطالعة المدونة الرسمية للبوت. فيكونا Vicuna يعد فيكونا Vicuna بديلًا آخر مفتوح المصدر لشات جي بي تي، وقد تدرَّب على نموذج LLaMA الضخم الذي طورته Meta، وحسب مطوري البوت فإنَّ جودة نتائجه مقاربة لنتائج الإصدار الرابع من شات جي بي تي GPT-4، وللتحقق من هذا الادعاء يمكنكم تجربة البوت والتحقق من أدائه الفعلي عبر هذا الرابط، كما يمكنكم مطالعة المدونة الرسمية للبوت. أوبن شات كيت OpenChatKit يٌعدّ OpenChatKit بديلًا متكاملًا لبوت ChatGPT، وقد طورته شركة Together متعاونة مع منظمات بحثية مثل LAION لإنشاء مجموعة بيانات تدريبية تساعد البوت على التعلم والتطور، تعتمد شركة Together على نموذج الذكاء الاصطناعي RedPajama الذي يعد واحدًا من أهم وأشهر نماذج الذكاء الاصطناعي مفتوحة المصدر لتشغيل البوت OpenChatKit. ويمكن تجربة هذا البوت ومطالعة سائر تفاصيله التقنية عبر صفحة البوت على موقع جيت هاب. ChatRWKV يعد بوت ChatRWKV بديلًا مفتوح المصدر لشات جي بي تي، وهو يعتمد على النموذج اللغوي RNN، ويمكنكم إيجاد نسخة تجريبية منه عبر موقع Huggingface، كما يمكن معرفة سائر المعلومات التقنية ومتابعة الإصدارات عبر مستودع البوت على موقع جيت هاب، بالإضافة إلى ذلك، يمكن للمطورين وأصحاب الأعمال بناء روبوتات الدردشة الخاصة بهم باستخدام ChatRWKV. ColossalChat تشير Colossal AI إلى مبادرة تساعد المطورين على استخدام نماذج ذكاء اصطناعي مُدرَّبة مسبقًا لتطوير بوتات دردشة شبيهة بشات جي بي تي ChatGPT-Like، أما ColossalChat فهو شات بوت مبني باستخدام الأدوات التي توفرها مبادرة Colossal AI، ويمكنكم مطالعة مزيد من التفاصيل حوله عبر مستودع جيت هاب. GPT4ALL يختلف بوت GPT4ALL عن سائر بوتات الدردشة، ذلك بأنه بوت مفتوح المصدر يهدف لتزويدنا ببوتات دردشة قابلة للعمل في أي مكان، أي يمكننا أن نستخدم الشات بوت محليًا على أجهزتنا الخاصة ونعالج الأوامر عبر وحدة المعالجة المركزية دون الحاجة للاتصال بخوادم أو حتى الاتصال بالإنترنت، كما يدعم العمل على جميع وحدات المعالجة الرسومية تقريبًا، ولا نحتاج سوى تثبيت تطبيق سطح المكتب الخاص بالبوت ثم البدء باستخدامه، ولمعرفة طريقة عمل البوت يمكن الاطلاع على مستودعه على جيت هاب. Alpaca-LoRA يهدف نموذج ألباكا لوراAlpaca-LoRA إلى توفير نموذج لغوي باستخدام التكيُّف منخفض الرتبة Low-Rank Adaptation، أي يمكن تدريب النموذج وتحسين نتائجه باعتماد عدد قليل من البرامترات، وبالتالي يمكن أن يعمل النموذج بموارد قليلة وتكاليف منخفضة، ما يسمح لنا بتشغيله على الحواسيب المصغرة محدودة الموارد، مثل حاسوب راسبيري باي Raspberry Pi، ومن المثير أنه يمكن تدريب النموذج كاملًا باستخدام معالج الرسوميات RTX 4090 GPU خلال ساعات قليلة، ويمكن مطالعة المزيد عنه عبر مستودع البوت على جيت هاب. H2oGPT يعد بوت H2oGPT مخصصًا لتلخيص المستندات النصية، وإن كان يمكنك محادثته واستفساره كسائر البوتات، فهو يسمح لنا برفع واستعراض المستندات وتلخيصها عبر واجهته الأمامية، كما تتوافر مثبتات Installers لبوت H2oGPT لنظامي تشغيل ويندوز Windows وماك أو إس MacOS، بينما نحتاج استخدام دوكر Docker لتنصيبه على نظام تشغيل لينكس Linux، ويمكن تجربته عبر المتصفح من موقع Huggingface، كما يمكن الاطلاع على شيفراته المصدرية عبر مستودع جيت هاب. Cerebras-GPT لا يعد Cerebras-GPT بوت دردشة في حد ذاته، ولكنه يوفر نماذج لغوية مفتوحة المصدر مُدرَّبة على بيانات بأحجام ضخمة وشبيهة بنموذج جي بي تي GPT-Like، يساعدنا استخدام هذه النماذج في تطوير البوت الخاص بنا على زيادة دقة البوت ورفع كفاءته الحسابية، ولمطالعة مزيد من المعلومات عن النموذج يمكن زيارة صفحته على Huggingface. KoboldAI يعد KoboldAI شات بوت يعمل مساعدًا شخصيًا للكُتَّاب، ولا سيما كتاب الروايات، ويُستخدم عبر المتصفح Browser-Based، ويمكن تشغيله مع برنامج Google Colab بسهولة، يتميز KoboldAI بقدرته على الكتابة بأساليب مختلفة، ليساعد الكتاب على إثراء نصوصهم ويساعدهم على توليد أفكار جديدة. ويمكن اختبار أداه والاطلاع على المزيد من التفاصيل حوله عبر مستودع جيت هاب. الخاتمة بهذا نكون وصلنا لنهاية مقالنا الذي عرفناكم فيه على مجموعة من البدائل مفتوحة المصدر لبوت ChatGPT، كل ما عليكم هو تجربتها واستخدامها في تطوير بوتات مخصصة تلائم احتياجات أعمالكم دون الحاجة إلى ميزانية مرتفعة والتحقق من مدى كفاءتها، ونرجب بمشاركة تجربتكم مع أي روبوت دردشة مفتوح المصدر في قسم التعليقات أسفل المقال. ترجمة -وبتصرف- لمقال Best Open Source ChatGPT Alternatives لكاتبه Ankush Das اقرأ أيضًا تدريب بوت المحادثة ChatGPT وتعليمه كيف يتحدث ويتعلم تعرف على 11 طريقة يساعدك فيها ChatGPT كمطور ووردبريس دليل استخدام ChatGPT API لتحسين خدماتك عبر الإنترنت بناء روبوت دردشة باستخدام بايثون و OpenAI API
  4. تطور الذكاء الاصطناعي تطورًا كبيرًا في الآونة الأخيرة، وساهم بفعالية في كافة نواحي حياتنا، كما تنوعت الأهداف التي يسعى الذكاء الاصطناعي لتحقيقها من أجل تحسين الكفاءة وزيادة إنتاجيتنا وتوفير حلول مبتكرة للتحديات التي نواجهها نحن البشر في مختلف الصناعات، ونناقش في مقال اليوم أبرز هذه أهداف الذكاء الاصطناعي ونوضح أهم فوائده ومحدودياته. مفهوم الذكاء الاصطناعي قبل التعرف على أهداف الذكاء الاصطناعي لنوضح مفهوم الذكاء الاصطناعي وما يسعه فعله. فالذكاء الاصطناعي هو مجال يختص ببناء أجهزة وأنظمة حاسوبية تستطيع التفكير والتعلم والتصرف كالإنسان، كما يمكنها تحليل البيانات واستخراج نتائج مفيدة منها واتخاذ قرارات فعالة بناء عليها كما لو أن إنسانًا هو من حلل هذه البيانات. ولعلك تتساءل لماذا نستعين بالذكاء الاصطناعي لمحاكاة طرق تفكيرنا نحن البشر؟ والجواب هو أن الذكاء الاصطناعي يمكننا من تحليل البيانات الضخمة Big Data التي يستحيل على عقلنا البشري استيعابها وفهم العلاقات فيما بينها والأنماط التي تحكمها، وبهذا نستعين بالذكاء الاصطناعي للوصول إلى المعلومات والقرارات المناسبة التي لم نكن لنصل إليها بمفردنا ونطور تطبيقات ذكية لم يكن يتسنى لنا تطويرها دون الاعتماد عليه مثل السيارات ذاتية القيادة، وبرمجيات الترجمة الفورية وغيرها من التطبيقات الذكية الأخرى. أهمية البيانات لتحقيق أهداف الذكاء الاصطناعي يعتمد الذكاء الاصطناعي اعتمادًا كليًا على البيانات لتحقيق هذه الأهداف، فالبيانات هي وقود خوارزميات ونماذج الذكاء الاصطناعي، وهي الأدوات التي تمكّننا من اتخاذ قرارات مدروسة، والتعرف على الأنماط، وإجراء التنبؤات. فكلما زادت كمية وجودة البيانات التي تتدرب عليها نماذج الذكاء الاصناعي وكانت أكثر تنوعًا، كلما زادت خبرتها ودقتها في أداء المهام المختلفة. على سبيل المثال، لا يمكن لأنظمة التعرف على الصور التمييز بين صورة قطة وصور كلب إلا إذا دربناها على عدد كبير من الصور المتنوعة للحيوانات. وبالمثل، تعتمد تطبيقات الذكاء الاصطناعي الأخرى مثل الترجمة الآلية والمساعدات الذكية الافتراضية على مجموعات بيانات ضخمة Big Data لتحسين قدرتها على الفهم والتواصل. فالبيانات هي وقود الذكاء الاصطناعي وهي العامل الأساسي لتحقيق أهدافه المختلفة كالأتمتة، والتنبؤ، واتخاذ القرارات وتحقيق النتائج المرجوة منها. أهداف الذكاء الاصطناعي تتعدد أهداف الذكاء الاصطناعي، ومن أهمها: أتمتة المهام حل المشكلات تحسين اتخاذ القرارات رفع القدرات البشرية خدمة المجتمعات تعزيز البحث العملي دعونا نتعمق في استعراض التفاصيل المتعلقة بهذه الأهداف. أتمتة المهام من أبرز أهداف الذكاء الاصطناعي أتمتة المهام وإنجازها بسرعة وسهولة وتقليل الحاجة للموارد البشرية مما يوفر الوقت والموارد، فالذكاء الاصطناعي يفيد العاملين في خطوط الإنتاج كالمصانع وغيرها، وفي مواقع تقديم الخدمات، كما يهدف الذكاء الاصطناعي لمساعدة المبرمجين والمطورين على كتابة الشيفرات البرمجية وحل المشكلات، ويساعد العاملين في قطاع الرعاية الصحية على تحليل الصور الطبية وتشخيص الأمراض بدقة وسرعة، ويوفر للمعلمين أدوات مخصصة للتعلم لمساعدة الطلاب على تحسين أدائهم وتطوير مهاراتهم، كما يسهم الذكاء الاصطناعي المتخصصين في مجال التجارة الإلكترونية لتحسين تجربة العملاء من خلال أنظمة التوصية الذكية التي تعتمد على تحليل بيانات السلوك الشرائي مما يزيد المبيعات ويعزز رضا العملاء. كما تساعد تطبيقات الذكاء الاصطناعي على أتمتة المهام المتكررة مثل إدخال البيانات أو إعداد التقارير الإدارية الشركات على توجيه جهود موظفيها لتنفيذ أعمال أكثر إبداعًا. حل المشكلات تهدف نماذج الذكاء الاصطناعي لحل كثير من المشكلات المختلفة، سواء كانت هذه المشكلات برمجية كالمساعدة في كتابة الأكواد وتصحيح الأخطاء البرمجية، أو مشكلات عملية كمساعدة موظفي الموارد البشرية في اختيار أفضل المرشحين للوظائف واتخاذ القرارات المناسبة لسير العمل، أو حل غيرها من المشكلات التي نواجهها في الحياة أو العمل وهذه الأهداف تساعدنا نحن البشر على تخطي العقبات التي تعيق تقدمنا ويساعدنا على زيادة إنتاجيتنا وتسريع وتيرة أعمالنا. تحسين اتخاذ القرارات يعد اتخاذ القرارات الذكية أحد أهم وأبرز أهداف الذكاء الاصطناعي، حيث تتيح النماذج الذكية المتقدمة لأصحاب الأعمال اتخاذ قرارات دقيقة وفعالة ترتقي بأعمالهم إلى مستويات أعلى من النجاح. تعتمد هذه النماذج على تحليل شامل لكل جوانب العمل، مما يمكّنها من اتخاذ قرارات متوازنة ومدروسة، تعتمد على كميات هائلة من البيانات والتحليلات الدقيقة، والنتيجة اتخاذ قرارات تتسم بدرجة عالية من الدقة، وتتفوق في كثير من الأحيان على القرارات البشرية التي قد تتأثر بالعاطفة أو نقص المعلومات. على سبيل المثال، تستخدم كبرى شركات التجارة الإلكترونية أنظمة متقدمة لإدارة سلاسل التوريد، وتساعد على تحليل بيانات المخزون والتنبؤ بالاحتياجات المستقبلية، مما يضمن توفر المنتجات المطلوبة في الوقت المناسب مع تقليل الفاقد. كما أصبحت أنظمة تحليل البيانات المالية أداة أساسية في عالم الاستثمار، إذ توفر رؤى دقيقة لصناديق الاستثمار لاتخاذ قرارات مثالية في شراء وبيع الأسهم، بناءً على تحليل تاريخ السوق والتوقعات المستقبلية. رفع القدرات البشرية من أعظم أهداف الذكاء الاصطناعي رفع القدرات البشرية، فهو يمنح البشر أدوات غير مسبوقة لتحقيق ما كان يومًا يبدو مستحيلًا. فالذكاء الاصطناعي لا يحل محل العقل البشري، بل يعززه ويثريه، مما يفتح آفاقًا جديدة للإبداع والابتكار. وعند الجمع بين الإبداع البشري وقدرة الذكاء الاصطناعي على التحليل العميق واستخراج الأنماط، ستظهر فرص هائلة لابتكار منتجات وخدمات تُحسن جودة حياة الإنسان وتحقق مزيدًا من الراحة والرفاهية. على سبيل المثال، أصبحت روبوتات التنظيف المنزلية الذكية من الأدوات اليومية التي تسهّل الأعمال المنزلية، حيث يمكنها تنظيف الأرضيات بكفاءة دون تدخل بشري. كما مكّنت أنظمة التحكم الصوتي كتلك المستخدمة في المنازل الحديثة المستخدمين من التحكم بالإضاءة ودرجة الحرارة وتشغيل الأجهزة بكلمات بسيطة، مما يوفر الوقت والجهد. خدمة المجتمعات أصبح الذكاء الاصطناعي جزءًا أساسيًا من حياتنا اليومية، ومن أهدافه الأساسية خدمة المجمتع ومساعدته على التقدم والتحسن، فمثلًا صرنا نرى في المطارات استخدامات متعددة لأنظمة الذكاء الاصطناعي في تسريع عمليات الفحص الأمني، وروبوتات لتقديم خدمات مخصصة للمسافرين، مثل الإرشادات التفاعلية واستقبال الزوار بلغات متعددة، وكذلك بدأت السيارات ذاتية القيادة في الانتشار رويدًا رويدً ما ساعد على تقليل الحوادث، كما توجد صور أخرى عديدة ومختلفة لخدمة الذكاء الاصطناعي للمجتمعات، مثل الرعاية الصحية والمساعدة في إدارة الميزانية وتحسين الأنظمة الأمنية وغيرها. تعزيز البحث العملي صار الذكاء الاصطناعي مساعدًا للعلماء في أبحاثهم العلمية، إذ يساعدهم على نقد جميع جوانب نظرياتهم قبل اختبارها معمليًا وتضييع الموارد هباءً لخطأ مسهو عنه، وكذلك يساعد العلماء على زيادة سرعة تعلمهم للمفاهيم المعقدة، ويساعدهم في تطوير أبحاثهم، ويقدم لهم توصيات مستندة إلى البيانات لتحسين القرارات المتعلقة بالأبحاث العلمية. ولعلَّ أبرز تطبيقات الذكاء الاصطناعي التي تدخل في هذا الهدف هي الأنظمة الخبيرة Expert Systems فالنظام الخبير هو محاولة جمع الخبرة البشرية المتعلقة بمجال محدد ليحل محل الخبير، ويمكن القول أنّه برنامج ذكي مصمم لينفذ مهام متعلقة بالخبرة البشرية، وهذا يتضمن التحليل والتشخيص واتخاذ القرارات والتنفيذ أيضًا. دورة الذكاء الاصطناعي احترف برمجة الذكاء الاصطناعي AI وتحليل البيانات وتعلم كافة المعلومات التي تحتاجها لبناء نماذج ذكاء اصطناعي متخصصة. اشترك الآن فوائد تحقيق أهداف الذكاء الاصطناعي من أهم الفوائد التي ستعود علينا من تحقيق أهداف الذكاء الاصطناعي ما يلي: رفع الإنتاجية الفردية والجماعية من خلال أتمتة المهام المتكررة، وتبسيط العمليات في مجالات متعددة مثل خدمة العملاء والصناعات تخصيص التجارب والخدمات وفقًا للاحتياجات الفردية. على سبيل المثال، تساعد أنظمة التوصية المعتمدة على الذكاء الاصطناعي في تقديم محتوى أو منتجات ملائمة بناءً على اهتمامات وسلوك الأفراد، وتعزيز الرعاية الصحية بتصميم خطط علاج فردية تسريع البحث العلمي والابتكار من خلال تسريع العمليات الحسابية المعقدة واختبار الفرضيات المختلفة، مما يوفر الكثير من الوقت والجهد تحسين السلامة والأمان في العديد من المجالات، مثل تقليل حوادث الطرقات عبر السيارات الذاتية القيادة، وكذلك في مجال الأمن السيبراني من خلال الكشف عن الهجمات السيبرانية والتصدي لها تحسين الابتكار من خلال معالجة كميات هائلة من البيانات بسرعات تفوق القدرة البشرية، مما يسمح لنا باتخاذ قرارات صائبة مدعومة بالبيانات ويعزز ابتكاراتنا في مجالات عديدة كاكتشاف الأدوية والبحث المناخي الآثار السلبية للذكاء الاصطناعي كما أنَّ للذكاء الاصطناعي مميزات وفوائد لا حصر لها، فإنّ له عيوبًا معدودة تجدر الإشارة لها كذلك، ومن أهمها: تهديد الوظائف البشرية التحيز والتمييز فقدان الخصوصية إضعاف القدرات البشرية المسؤولية القانونية والأخلاقية دعنا نناقش هذه المحدوديات ونتعرفْ على تفاصيلها عن كثب تهديد الوظائف البشرية كما لا يخفى على أحدٍ فقد بات الذكاء الاصطناعي يهدد العمالة البشرية تهديدًا كبيرًا، وذلك في شتى المجالات؛ بدءًا من السائقين الذي تستبدلهم السيارات ذاتية القيادة رويدًا رويدًا، مرورًا بالعاملين في مجالات الكتابة والتصميم والتسويق وغيرها، وصولًا إلى المبرمجين أنفسهم الذين صارت أدوات الذكاء الاصطناعي تنوب عنهم في أعمالهم، واستبدلت هذه الأدوات جزءًا كبيرًا منهم، والعمل الذي كان ينجزه فريق صار قادرًا على إنجازه مبرمجٌ واحدٌ مستعينًا بأدوات الذكاء الاصطناعي. ولكنَّ الأمرَ ليس معتمًا جدًّا، فكما يغلق الذكاء الاصطناعي أبوابًا لبعض الوظائف فإنَّه يفتح أبوابًا أخرى لوظائف جديدة، منها مثلًا وظائف تحليل البيانات وهندسة الذكاء الاصطناعي، ويُتوَقع أن تبدأَ وظائف أخرى في الظهور مع استقرار الذكاء الاصطناعي وتوغله في كل شيءٍ ومع تطوره المستمر، كما حدث عند اختراع الحواسيب؛ حين استبدلت الأنظمة الذكية العمال في المصانع، ثم بعد سنوات قليلة أظهرت لنا هذه الأنظمة حاجة لوظائف لا حصر لها في مجالات الهندسة وغيرها. التحيز والتمييز تنتج بعض التحيزات والتمييزات أحيانًا في إجابات الذكاء الاصطناعي ونتائجه، وهو ما يُعرف بمصطلح AI Bias، وتكون هذه التحيزات ناتجة عن تلف في مجموعات بيانات التدريب، أو احتواء مجموعات البيانات على ما يسيء لجماعة معينة عندها سيكون النموذج متحيزًا لأنه سيطلق الأحكام بناء على هذه المجموعة من البيانات. فقدان الخصوصية يعتمد الذكاء الاصطناعي كليًّا على البيانات، فبذلك صار التساؤل عن خصوصية بيانات المستخدمين وعن مصير هذه البيانات مطروحًا، ولا تزال الأبحاث قائمةً لتحديد أكثر الطرق الموثوقة لتأمين بيانات المستخدمين، ومنع الذكاء الاصطناعي من استخدام هذه البيانات هذه في مآرب أخرى غير مساعدة المستخدم صاحب البيانات. إضعاف القدرات البشرية ذكرنا أن الذكاء الاصطناعي سيزيد من إنتاجية البشر وكفاءتهم، ولكن مع الاعتمادية المفرطة عليه سيزيد كسل البشر، وستقل حاجة الإنسان للتفكير والعمل، وهذا يثير مخاوف حول إمكانية ضعف القدرات البشرية في التفكير والتحليل، وقلة قدراتهم الإبداعية، ولتجنب هذه المشكلة ينصح بالاعتدال في استخدام أدوات الذكاء الاصطناعي، فتصير لنا أدوات مساعدة ولا نعتمد عليها اعتمادًا كليًا، بل نستخدمها لتحسين مهاراتنا والمساعدة في البحث واتخاذ القرارات، فلا نستغني بها عن التفكير العميق والابتكار. المسؤولية القانونية والأخلاقية تشكل المسؤولية القانونية والأخلاقية أبرز العوامل التي يتوجب مراعاتها في أنظمة الذكاء الاصطناعي، فحينما يرتكب الإنسان جريمة تسهل معاقبته وردعه عن جريمته، لكن ماذا إذا ارتكب الذكاء الاصطناعي جريمة سواءً كانت عن أخطاء تقنية أو بتوجيه بشري دون معرفة صاحب النظام فكيف ستعاقبه السلطات حينها، هذا من الأسئلة التي لا إجابة عليها إلى الآن. لذا من الضروري تطوير أسس قانونية وأخلاقية تضمن أن أنظمة الذكاء الاصطناعي تُستخدم بشكل آمن وعادل، مع تحديد واضح لمسؤولية الأفعال الناتجة عن هذه الأنظمة. الخلاصة تعرفنا في مقال اليوم على أبرز أهداف الذكاء الاصطناعي، وما الفوائد التي سنجنيها من تطبيقه كما ذكرنا بعض التحديات المرتبطة به. والسؤال الذي يطرح نفسه هل يشكّل الذكاء الاصطناعي تهديدًا لنا نحن البشر أم أنه على العكس يسهم في جعل مستقبلنا أكثر سهولة وازدهارًا وتطورًا، وهل من أهداف أخرى تجد أنها مهمة وتستحق أن نسعى لتحقيقها بتطبيقه. نرحب بمشاركاتكم في التعليقات أسفل المقال. اقرأ أيضًا أهمية الذكاء الاصطناعي مجالات الذكاء الاصطناعي كيف أستخدم تقنيات الذكاء الاصطناعي في عملي أمثلة على الذكاء الاصطناعي
  5. يتطور مجال الذكاء الاصطناعي يومًا بعد الآخر ويزداد الاهتمام بمعرفة مفاهيمه ومبادئه الأساسية وفهمهما جيدًا، وسنستعرض لكم في مقال اليوم أهم مفاهيم الذكاء الاصطناعي التي يحتاج أي مهتم بهذا الاختصاص لمعرفتها عن كثب. أهم مفاهيم الذكاء الاصطناعي سنناقش في الفقرات التالية العديد من مفاهيم الذكاء اصطناعي التي يُبنى عليها المجال بأكمله، والتي ينبغي على كل مهتم بتعلم الذكاء الاصطناعي فهمها ومعرفة مدلولاتها وهي: الذكاء الاصطناعي Artificial Intelligence الذكاء الاصطناعي التوليدي Generative Artificial Intelligence تعلم الآلة Machine Learning التعلم العميق Deep Learning الرؤية الحاسوبية Computer Vision معالجة اللغة الطبيعية Natural Language Processing بيانات التدريب Training Data نماذج الذكاء الاصطناعي Artificial Intelligence Models خوارزميات الذكاء الاصطناعي Artificial Intelligence Algorithms الشبكات العصبية الاصطناعية Artificial Neural Networks النماذج اللغوية الكبيرة Large Language Models الأنظمة الخبيرة Expert Systems علم الروبوتات Robotics لنتعرف على كل مفهوم من مفاهيم الذكاء الاصطناعي السابقة بمزيد من التفصيل في فقراتنا التالية. الذكاء الاصطناعي Artificial Intelligence الذكاء الاصطناعي Artificial Intelligence أو AI اختصارًا، هو تخصص تقني يهتم بتمكين الآلات والأنظمة الإلكترونية من محاكاة طريقة البشر في التفكير وحل المشكلات، وتتمكن من معالجة المدخلات أو البيانات كما لو أن إنسانًا يعالجها، واستخراج نتائج مفيدة منها، وابتكار مخرجات جديدة بناء عليها، وتجمع هذه الأنظمة بين قدراتها الهائلة على التذكر والتنظيم مع قدرة البشر على التفكير والتحليل، لتصنع ما لا يستطيع الإنسان صنعه، وتخرج لنا بتطبيقات ذكية كانت أٌقرب للخيال العلمي. الذكاء الاصطناعي التوليدي Generative Artificial Intelligence الذكاء الاصطناعي التوليدي Generative AI هو نوع أنواع من الذكاء الاصطناعي جرى تدريبه على ابتكار وتوليد محتوى جديد بشكل ذاتي، كتوليد النصوص المختلفة من مقالات وقصائد، أو توليد الصور والمقاطع الصوتية وغيرها من أنواع المحتوى. وقد تتساءل كيف يتمكن الذكاء الاصطناعي من القيام بذلك والجواب هو أنه يتعلم الأنماط والقواعد من كميات البيانات الضخمة الفعلية التي تدرب عليها فتمكن بعدها من محاكاتها وتقليدها وتوليد محتوى جديد. على سبيل المثال، إذا دربنا نظام ذكاء اصطناعي على مجموعة كبيرة من صور الطيور، فإنه سيتعلم الأنماط التي تميز الطيور عن الأشياء الأخرى وسيكون قادرًا على إنشاء صورة جديدة لطير لم يرها من قبل ولكنها تبدو حقيقية وتشبه الطيور فعلًا، ويعتمد الذكاء الاصطناعي التوليدي في هذا الأمر على مفهوم التعلم العميق الذي سنشرحه في فقرة لاحقة. تعلم الآلة Machine Learning تعلم الآلة Machine Learning أو ML اختصارًا هو أحد المفاهيم الفرعية الأساسية للذكاء الاصطناعي وهو يعني تمكين الآلات من التعلم من البيانات دون الحاجة إلى برمجتها مسبقًا، وتمكينها من تحسين أداءها مع مرور الوقت، وتعزيز قدرتها على اتخاذ القرارات وإجراء التنبؤات وأداء المهام بالاعتماد على تلك البيانات. على سبيل المثال، إذا أردنا تدريب نظام للتعرف على محتوى الصور، فعلينا تغذيته بصور تحتوي على أشياء مختلفة مثل صور الأشخاص والسيارات والحيوانات وغيرها، وسيتعلم هذا النظام بعد التدريب كيف يميز محتوى الصور، وكلما زادت كمية وجودة البيانات المقدمة لها النظام، كلما تحسن أداؤه مع مرور الوقت. ويوجد ثلاثة أنواع من لتعلم الآلة وهي: 1. التعلم تحت إشراف Supervised Learning وفيه تتدرب خوارزميات الذكاء الاصطناعي على مجموعات بيانات مصنفة ومنظمة، أي مجموعات بيانات تحتوي على أمثلة للمدخلات والمخرجات التي يُفترض أن تنتجها الخوارزمية بناء على هذه المدخلات. فمثلًا إذا أردنا تطوير خوارزمية للتفريق بين القطط والكلاب باستخدام أسلوب التعلم مع إشرافٍ فإننا نعطي الخوارزمية مجموعة بيانات تحتوي على صور قطط تحت تصنيف أو وسم بعنوان قطط، وصور كلاب تحت تصنيف بعنوان كلاب، ثم نسمح للخوارزمية بتحليل الصور ومعرفة سبب تصنيفها، وبالتالي التعرف على صفات الكلاب والقطط، فإذا ما انتهت الخوارزمية من التدرب يمكن أن نعطيها بعد ذلك صورًا جديدة لكلاب وقطط لم تتدرب عليها من قبل، ونسألها إذا ما كان في الصور كلب أم قطة، فإن أجابت الخوارزمية بدقة فقد نجحنا، وأما إذا لم تكن إجابات الخوارزمية دقيقة فنحن حينئذ بحاجة إلى تدريبها على مجموعات بيانات أكبر، أو إلى تعديل الخوارزمية لزيادة دقتها. 2. التعلم بدون إشراف Unsupervised Learning يختلف التعلم بدون إشراف عن التعلم تحت إشراف في أن الخوارزميات تتدرب على مجموعات بيانات غير مصنفة أو موسومة، ويعمل نموذج الذكاء الاصطناعي بنفسه على تصنيفها تلقائيًا بناء على أوجه التشابه والاختلاف بين البيانات، فمثلًا عند تطوير نموذج ذكاء اصطناعي للتعرف على أنواع الأشجار فإننا لا نزود النموذج بأسماء الأنواع، ولا نصنف الأنواع في مجموعة البيانات، وإنما نعطي للنموذج صورًا لهذه الأنواع فقط، فيبدأ في تصنيف الأشجار ضمن فئات استنادًا إلى أشكالها وأحجام أوراقها والخصائص المشتركة بينها، ويشيع استخدام هذا النوع من التعلم في المهام المعقدة التي تتطلب تصنيفًا وترتيبًا لكميات كبيرة من البيانات غير المنظمة. التعلم المعزز Reinforcement Learning يعتمد التعلم المعزز على مبدأ التجربة والخطأ والمكافأة، إذ تتخذ الخوارزمية قرارات فتُمنح مكافأة عند اتخاذها قرارًا صحيحًا وعقابًا عند الخطأ، فتتعلم من هذا الخطأ، مما يعزز من فرصها لتحقيق النتائج الصحيحة، ويُستخدم التعلم المعزز بشكل واسع في ألعاب مثل الشطرنج، حيث تُدرّب برامج الشطرنج مثل ستوك فيش Stockfish وألفا زيرو AlphaZero عبر لعب ملايين المباريات ضد نفسها، ومن خلال التجربة والخطأ وتلقي المكافآت، تتمكن هذه البرامج من استيعاب قواعد الشطرنج بالكامل وتعلم كيفية اتخاذ أفضل القرارات وحساب جميع الاحتمالات دون الحاجة إلى تدخل بشري. التعلم العميق Deep Learning التعلم العميق Deep Leaning هو فرع متقدم من تعلم الآلة يركز على حل المشكلات المعقدة والتعامل مع البيانات الضخمة Big Data. يعتمد في عمله على مفهوم الشبكات العصبية الاصطناعية التي تعمل بشكل مشابه لعمل دماغنا البشري. ومن أبرز استخدامات التعلم العميق الرؤية الحاسوبية Computer Vision التي تمكًن الآلات من فهم الصور ومقاطع الفيديو والتعرف على الأشياء الموجودة فيها. الرؤية الحاسوبية Computer Vision يعد مفهوم الرؤية الحاسوبية Computer Vision من مفاهيم الذكاء الاصطناعي المهمة التي تهدف إلى تمكين الحواسيب والأنظمة من استخراج معلومات ذات معنى من الصور الرقمية ومقاطع الفيديو والمدخلات البصرية الأخرى، ثم اتخاذ إجراءات أو تقديم توصيات عند ملاحظة مشكلات أو عيوب في هذه المدخلات، وتتضمن تطبيقات الرؤية الحاسوبية أنظمة التعرف على الوجوه والأشياء وأنظمة السيارات ذاتية القيادة. معالجة اللغة الطبيعية Natural Language Processing يشير مفهوم معالجة اللغة الطبيعية Natural Language Processing أو NLP اختصارًا إلى قدرة الآلات على فهم لغتنا البشرية مثل العربية والإنجليزية والألمانية سواء كانت لمكتوبة أو منطوقة، وذلك من خلال استخدام تقنيات متقدمة كالتعلم العميق، وبهذا تتمكن الآلات من التفاعل معنا نحن البشر بلغتنا وتؤدي لنا المهام المختلفة مثل تحليل النصوص وتصنيفها وتلخيص النصوص الطويلة وترجمتها من لغة إلى أخرى والإجابة على الأسئلة وغيرها من المهام التي من شأنها تحسين التواصل بيننا نحن البشر وبين الآلات من حولنا. تعتمد معالجة اللغة الطبيعية على عدة مفاهيم في عملها أهمها الترميز Tokenization، وهو تقسيم النص إلى كلمات أو رموز Tokens، والتحليل النحوي Parsing لتركيب الجمل، والتحليل العاطفي Sentiment analysis لفهم العواطف والمشاعر في النصوص وهي تُستخدم في العديد من المجالات، مثل تحليل الأخبار والتقارير المالية، وخدمة العملاء لتوفير دعم فوري عبر روبوتات الدردشة. بيانات التدريب Training Data يقوم مجال الذكاء الاصطناعي من أبسط أشكاله إلى أعقدها على بيانات التدريب Training Data، فالبيانات هي الوقود الذي تتغذى عليه نماذج الذكاء الاصطناعي، وهي التي تعلمه كيفية التعرف على الأنماط وإجراء التوقعات. على سبيل المثال، إذا كان لدينا الكثير من الصور لأنواع مختلفة من الطيور ودربناه عليها، سيتعلم نموذج الذكاء الاصطناعي تدريجيًا كيفية تمييز الأنماط في هذه الصور ويتعرف على الخصائص والسمات المشتركة التي تمير الطيور، ويصبح قادرًا مع مرور الوقت على تحديد نوع الطائر في صورة جديدة لم يسبق له أن رآها أو تدرب عليها. نماذج الذكاء الاصطناعي يعد نموذج الذكاء الاصطناعي AI Model برنامج أو أداة جاهزة دُرّبت مسبقًا على كم هائل من البيانات في مجال محدد لتكون قادرة على حل مشكلات أو أداء مهام معينة بدون الحاجة إلى برمجة كل خطوة يدويًا، حيث يمكن لهذه النماذج التنبؤ بما بالقرارات المستقبلية وإيجاد الحلول لمشكلات معينة بناء على خبرتها السابقة، فمثلًا لو أعطينا نموذج ذكاء اصطناعي بيانات عن الطقس ودرجة الحرارة والرطوبة لعدد كبير من الأيام فسيتمكن النموذج من التنبؤ بطقس اليوم التالي بناء على الأنماط التي تعلّمها من البيانات السابقة، ولو دربناه على عدد كبير من الأكواد البرمجية فسيتمكن من فهم الأنماط البرمجية وتقديم اقتراحات لحلول برمجية أو حتى كتابة كود جديد لحل مشكلة معينة، كما الحال مع نموذج GitHub Copilot مثلًا، ولو دربناه على مجموعات متنوعة من البيانات العامة فسيتمكن من الرد على الأسئلة في مجالات متعددة كنموذج ChatGPT. خوارزميات الذكاء الاصطناعي إذا اعتبرنا أن نموذج الذكاء الاصطناعي حل جاهز يمكن استخدامه لإجراء التنبؤات وأداء المهام بناء على التدريب الذي تلقاه. فإن الخوارزميات هي التي تعلّم هذا النموذج كيف يقوم بمهامه، لذا يمكن القول أن خوارزميات الذكاء الاصطناعي هي دستور نماذج الذكاء الاصطناعي، فكلمة خوارزمية ما هي إلا مجموعة من الخطوات والقواعد المتبعة لحل مشكلة محددة أو تنفيذ مهمة، وخوارزميات الذكاء الاصطناعي هي من يحدد لنموذج الذكاء الاصطناعي طريقة التعامل مع البيانات المدخلة له، وتودهه لكيفية استكشاف الأنماط في هذه البيانات وتحليلها لتقديم النتائج أو التنبؤات الصحيحة. ومن الأمثلة على خوارزميات الذكاء الاصطناعي نذكر: خوارزمية الانحدار الخطي Linear Regression التي تتوقع القيم العددية بناءً على علاقة خطية بين المتغيرات خوارزمية أشجار Decision Trees التي تتخذ القرارات من خلال تقسيم البيانات إلى مجموعات فرعية بناء على سمات معينة خوارزمية الجار الأقرب K-Nearest Neighbors لتصنيف البيانات بناء على أقرب الجيران في فضاء البيانات خوارزمية الدعم الآلي للمتجه Support Vector Machines لتصنيف البيانات وتحديد الفئات بناءً على خطوط فاصلة بين الفئات المختلف تعتمد هذه الخوارزميات على أساليب مختلفة لمعالجة البيانات وتعلم الأنماط، وهي تشكل الأساس الذي يبني عليه الذكاء الاصطناعي ليحقق النتائج المطلوبة. الشبكات العصبية الاصطناعية Artificial Neural Networks يمكن اعتبار الشبكة العصبية نوعًا من أنواع نماذج أو خوارزميات تعلم الآلة، وتصميمها مستوحى من تصميم الدماغ البشري، وهي أكثر تعقيدًا من الخوارزميات التقليدية، لذا تدخل الشبكات العصبية عادة في بناء نماذج الذكاء الاصطناعي التي تتعامل مع بيانات معقدة، مثل نماذج الرؤية الحاسوبية ونماذج التعرف على الأصوات، وتستفيد هذه الشبكات من البيانات، كما أنها تتعلم من الأخطاء السابقة لتحسن دقة قراراتها بمرور الوقت، وتُستخدم مفاهيم الشبكات العصبية في العديد من المجالات مثل تصنيف الصور والنصوص، وكذلك التنبؤ بأسعار الأسهم ودرجات الحرارة وغيرها من المجالات والتطبيقات. تُبنى الشبكات العصبية من وحدات بسيطة تسمى العقد أو الخلايا العصبية وتنظم على هيئة عدة طبقات مترابطة فيما بينها وهي: طبقة الدخل التي تستقبل البيانات وتمررها إلى الطبقة التالية الطبقات المخفية التي تحلل البيانات وتعالجها بعمق وقد تحتوي الشبكة على عدة طبقات مخفية تحاول كل طبقة التعرف على نمط معين في البيانات طبقة الخرج التي تعرض النتيجة النهائية بعد معالجة البيانات النماذج اللغوية الكبيرة Large Language Models النماذج اللغوية الكبيرة Large Language Models أو LLMs اختصارًا هي نوع من نماذج الذكاء الاصطناعي المدربة على كميات ضخمة من البيانات النصية. تهدف هذه النماذج إلى فهم وتوليد اللغة البشرية بطريقة مشابهة لكيفية فهم البشر للكلمات والنصوص، فقد تدربت هذه النماذج على ملايين الجمل والنصوص من مصادر متنوعة مثل الكتب والمقالات، . هذا سمح لها بالتعلم عن قواعد اللغة وترابط الكلمات والعلاقات بين الجمل وحتى الفهم البسيط للمنطق ومكنها من التنبؤ بالكلمات التالية أو إنشاء نصوص جديدة بناء على ما تعلمته. على سبيل المثال، يمكن للنموذج اللغوي الكبير LLM الإجابة على الأسئلة وكتابة مقاطع نصية وتقديم اقتراحات لتحسين الكتابة. ومن الأمثلة على تطبيقات النماذج اللغوية الكبيرة: مساعدات الكتابة مثل Grammarly التي تساعد في تصحيح النصوص روبوتات الدردشة الذكية مثل ChatGPT التي تستطيع التفاعل مع المستخدمين عبر المحادثات المساعدين الشخصيين مثل Siri وAlexa التي يمكنها تنفيذ الأوامر الصوتية الأنظمة الخبيرة Expert Systems تهتم الأنظمة الخبيرة Expert Systems بتطوير أنظمة متخصصة في مجال محدد لتحاكي في هذا المجال أكثر العاملين فيه خبرة، ومن ثم تساعد هذه الأنظمة المتخصصين في المجال على تسريع عملهم والإبداع فيه والابتكار، وتعتمد الأنظمة الخبيرة في عملها على قاعدة معرفية Knowledge Base تتكون من مجموعة من المعلومات والقواعد التي يستخدمها الخبراء في مجال النظام لحل المشكلات، بالإضافة إلى محرك استدلال Inference Engine لتحليل المعلومات والقواعد بالقاعدة المعرفية واتخاذ القرارات بناءً على هذه التحليلات. علم الروبوتات Robotics يعد مجال الروبوتات أو علم الروبوتات من المجالات سريعة التطور، ويعد أحد المجالات ذات المستقبل الباهر، ويسعى مهندسو الروبوتات إلى بناء أنظمةٍ تساعد عتاد الروبوت على استيعاب البيئة المحيطة والتعرف على الأشياء من حوله، وكذلك تنفيذ المهام المطلوبة منه بدقة وسرعة، ومن أبرز تطبيقات مجال هندسة الروبوتات روبوتات المصانع وروبوتات التنظيف وروبوتات التمريض وغيرها. والجدير بالذكر معرفة الفرق بين الروبوتات المقصودة هنا وبين روبوتات الدردشة الذكية مثل ChatGPT فالروبوتات التي نشرحها هنا هي آلات مادية تقوم بمهامها الفعلية في العالم الواقعي باستخدام مكونات ميكانيكية وإلكترونية. أما روبوتات الدردشة الذكية فهي برمجيات رقمية تعتمد على الذكاء الاصطناعي للقيام بمهامها دون الحاجة إلى مكونات مادية. مفاهيم واعتبارات تتعلق بالذكاء الاصطناعي إضافة للمفاهيم الأساسية التي شرحناها سابقًا، يتضمن مجال الذكاء الاصطناعي على عدة اعتبارات ومفاهيم يجب إدراكها ومعرفة دلالتها، سنكتفي بذكر ثلاثة منهم: هلوسة الذكاء الاصطناعي AI Bias تحيز الذكاء الاصطناعي AI Hallucination تقنية الصقل Fine-Tuning لنوضح أكثر كل مفهوم من هذه المفاهيم. تحيز الذكاء الاصطناعي AI Bias تحيز الذكاء الاصطناعي مفهوم أساسي في الذكاء الاصطناعي يجب الانتباه له، حيث يقع التحيز عندما تتخذ أنظمة الذكاء الاصطناعي قرارات غير عادلة بسبب وجود تحيزات في البيانات التي تدربت عليها في الأساس. على سبيل المثال، إذا دربنا نظام ما على قبول أو رفض طلبات القروض في البنك باستخدام بيانات معينة جرى فيها رفض معظم قروض العملاء ذوي الدخل المنخفض أو الذين ينتمون لعرق أو جنس معين، فإن النظام قد يتعلم بطريقة غير عادلة ويبدأ في تصنيف العملاء الجدد بطريقة خاطئة بناء على هذه التحيزات المسبقة في مجموعات بيانات التدريب. هلوسة الذكاء الاصطناعي AI Hallucination تشير هلوسة الذكاء الاصطناعي إلى فشل نموذج الذكاء الاصطناعي في توليد نتائج صحيحة ومفيدة، أو أن يولد النموذج نتائج متداخلة غير منطقية وغير مفهومة كأن تطلب منه اقتراح مميزات هاتف جوال ما فخبرك أن بإمكانه الطيران أو تطلب توليد صورة لغروب الشمس على البحر مع مجموعة من الطيور الطائرة في السماء فيولد لك صورة فيها طيور تسبح في الماء بدل أن تطير، فغالبًا ما تحدث هلوسات الذكاء الاصطناعي في النماذج التوليدية، ولا سيما في نماذج توليد الصور والنصوص، وتحدث عادة بسبب استخراج النموذج لنمط غير صحيح أو لا وجود له من الأساس في بيانات التدريب. تقنية الصقل Fine-Tuning الصقل Fine-Tuning هو مفهوم يشير إلى نقل خبرات نموذج ذكاء اصطناعي عام إلى نموذج آخر جديد، ثم تكييف هذا النموذج الجديد وتخصيصه لتأدية مهمة محددة أو استخدامه في حالات معدودة، على سبيل المثال بفرض لدينا نموذج ذكاء اصطناعي عام يستخدم لترجمة النصوص، يمكن صقله ليتخصص في فهم وترجمة المصطلحات الطبية. لذلك، يمكننا تدريبه على بيانات طبية محددة، ليصبح أكثر دقة في التعامل مع هذه المصطلحات بدل تدريب النموذج من الصفر، وهي تقنية مفيدة توفر الكثير من الوقت والجهد والموارد التي يبذلها مهندسو الذكاء الاصطناعي. تعلم المزيد حول مفاهيم الذكاء الاصطناعي حاولنا أن نوضح لكم أبرز المفاهيم المتعلقة بالذكاء الاصطناعي، وإن كنتم تهدفون إلى التعمق في معرفة المزيد حول كل المفاهيم الخاصة بالذكاء الاصطناعي وتعلم الآلة Machine Learning والتعلم العميق Deep Learning والرؤية الحاسوبية Computer Vision وغيرها، وتعزيز معرفتكم النظرية بمشاريع عملية حقيقة تعزز خبراتكم وتصقلها، فقد وفرت لكم أكاديمية حسوب دورة مميزة تحقق لكم أهدافكم وتنقلكم لمستوى متقدم واحترافي، فالتطبيق العملي في أي تخصص تقني ولا سيما في تخصص الذكاء الاصطناعي هو المفتاح الرئيسي لتطوير المهارات وتحقيق التميز والنجاح. دورة الذكاء الاصطناعي احترف برمجة الذكاء الاصطناعي AI وتحليل البيانات وتعلم كافة المعلومات التي تحتاجها لبناء نماذج ذكاء اصطناعي متخصصة. اشترك الآن كما توفر أكاديمية حسوب الكثير من مقالات ودروس الذكاء الاصطناعي الاحترافية المميزة التي تشرح كل ما تحتاجونه من المستوى المبتدئ للمتقدم، إضافة إلى كتب الذكاء الاصطناعي القيًمة المتوفرة في قسم كتب أكاديمية حسوب والمتاحة لتحميلها بالمجان فهي مصدر مهم يساعدكم لتعلم الكثير حول هذا التخصص الرائد بطريقة منهجية ومنظمة. الخلاصة تحدثنا في مقال اليوم أهم مفاهيم الذكاء الاصطناعي، ووضحنا المفاهيم الأساسية والتقنية المرتبطة بهذا المجال، كما شرحنا بعض الاعتبارات والمصطلحات المرتبطة بمجال الذكاء الاصطناعي وأهم مصادر تعلمه واحترافه بشكل عملي، إذا كنتم مهتمين بمعرفة المزيد عن هذا المجال أو كان لديكم تساؤل عن أحد المفاهيم التي أوردناها يمكنكم إضافة أسئلتكم في قسم التعليقات أسفل المقال. اقرأ أيضًا استكشف مصطلحات الذكاء الاصطناعي التوليدي مصطلحات الذكاء الاصطناعي للمبتدئين المفاهيم الأساسية لتعلم الآلة الذكاء الاصطناعي: دليلك الشامل أهداف الذكاء الاصطناعي
  6. أصبح تخصص الذكاء الاصطناعي Artificial Intelligence واحدًا من أهم التخصصات المطلوبة في سوق العمل اليوم. فمع تطور التقنية واعتماد معظم المجالات على الذكاء الاصطناعي، ازداد الطلب على المتخصصين فيه بشكل كبير وتوفرت لهم فرص عمل ممتازة برواتب عالية تضمن مستقبلًا وظيفيًا آمنًا. فما هو تخصص الذكاء الاصطناعي؟ وما خطوات تعلمه، وما أبرز المجالات التي يندرج تحتها؟ سنجيب في الفقرات التالية على كل هذه الأسئلة. ما هو تخصص الذكاء الاصطناعي تخصص الذكاء الاصطناعي هو فرع من علوم الحاسوب، يركز على تصميم وتطوير أنظمة ذكاء اصطناعي قادرة على محاكاة الذكاء البشري في طريقة التفكير وحل المشكلات وفهم الأمور المختلفة، يعمل خبراء الذكاء الاصطناعي على بناء خوارزميات وبرمجيات تُعلّم الآلات التعرف على الأنماط وتحليل البيانات واستنتاج حلول للمشكلات المختلفة. تعتمد هذه الأنظمة على تعلم البيانات وتحسين أدائها مع مرور الوقت. أهمية الخوارزميات والبيانات لأنظمة الذكاء الاصطناعي تعتمد أنظمة الذكاء الاصطناعي على ركيزتين أساسيتين هما الخوارزميات والبيانات. إذ تشكل الخوارزميات حجر الأساس لهذه الأنظمة، فهي تمثل مجموعة من القواعد والتعليمات التي توجه النظام للتعامل مع البيانات بشكل منهجي ودقيق، بهدف استخلاص استنتاجات ذات قيمة واتخاذ القرارات المطلوبة بكفاءة، بعد تصميم الخوارزمية، تأتي خطوة تجهيز كميات ضخمة من البيانات. تستخدم هذه البيانات لتدريب الخوارزمية على العمل بكفاءة من خلال استكشاف الأنماط الموجودة داخلها واستخراج نتائج عملية. إلى جانب هاتين الخطوتين، يتضمن تطوير أنظمة الذكاء الاصطناعي العديد من المهام الأخرى، مثل جمع البيانات وتنقيحها، واختيار النموذج الأنسب لبناء النظام. بعد بناء النموذج، يخضع لاختبارات دقيقة ويُطوَّر تدريجيًا باستخدام بيانات أكثر تعقيدًا، أخيرًا، ينشر النموذج في بيئة الإنتاج، حيث يُراقب أداؤه ويُحدّث باستمرار اعتمادًا على التغذية الراجعة والبيانات الجديدة التي تدرب عليها لضمان فعاليته واستمراريته في تحسين أدائه ونتائجه. أهمية تخصص الذكاء الاصطناعي ازادت أهمية تخصص الذكاء الاصطناعي في الآونة الأخيرة زيادة كبيرة، وذلك لأسباب عديدة، لنستعرض أهمها في الفقرات التالية: زيادة الاعتماد على التطبيقات الذكية ذاع صيت أدوات وتطبيقات الذكاء الاصطناعي وانتشرت بين المبرمجين وغيرهم، ما زاد من شهرة تخصص الذكاء الاصطناعي وجعله على رأس أكثر المجالات حاجةً لمتخصصين وخبراء، وزاد ذلك بدوره من الطلب على تخصص الذكاء الاصطناعي. وتشير إحصائية موقع ستاك أوفر فلو Stack OverFlow على سبيل المثال إلى أن 44% من المطورين المحترفين يستخدمون أدوات الذكاء الاصطناعي في عملهم على تطوير البرمجيات، أضف إلى ذلك يستخدم المترجمون وصانعو المحتوى والمصممون والمدرسون والفنانون اليوم أدوات الذكاء الاصطناعي المختلفة لمساعدتهم في أعمالهم. الأمان الوظيفي ففي ظل التحول الرقمي، تشير التنبؤات إلى أنّ الطب سيزداد على تخصص الذكاء الاصطناعي ويُتوقع أنه سيستبدل الكثير من العاملين البشريين في المجالات المختلفة، لكن هذا الأمر لا ينطبق بالطبع على متخصصي الذكاء الاصطناعي فهم من يطوره ويعملون على صيانته وتحسينه وبالتالي لن يتم استبدالهم، ما يجعل الأمان الوظيفي لتخصص الذكاء الاصطناعي عاليًا. الرواتب العالية إن رواتب العاملين في تخصص الذكاء الاصطناعي من أعلى الرواتب أجرًا ولا سيما الخبراء منهم، وذلك لقلة المتميزين في هذا المجال، وصراع الشركات على توظيف هذه الثلة القليلة من المميزين الذين يتقنون المجال ويعرفون خباياه وأسراره. ما مجالات تخصص الذكاء الاصطناعي؟ يعد الذكاء الاصطناعي تخصصًا واسعًا يضم الكثير من المجالات الفرعية، وأهمها: تعلم الآلة Machine Learning التعلم العميق Deep Learning معالجة اللغات الطبيعية Natural Language Processing الرؤية الحاسوبية Computer Vision الأنظمة الخبيرة Expert Systems برمجة الروبوتات Robots Programming لنناقش كل تخصص من هذه التخصصات الفرعية ونتعرف على طبيعة كل تخصص وأهم تطبيقاته. تعلم الآلة Machine Learning يعمل مهندسو تعلم الآلة على تطوير خوارزميات الذكاء الاصطناعي وتحسين طريقة تعاملها مع البيانات، وتمكينها من التعامل مع مواقف أكثر وبيانات أعقد، ويهتمون بدراسة الطرق التي يتعلم بها نظام الذكاء الاصطناعي من البيانات، كالتعلم مع إشراف Supervised Learning والتعلم بدون إشراف Unsupervised Learning والتعلم المعزز Rainforcement Learning. ومن أهم تطبيقات مجال تعلم الآلة أنظمة ترشيح المحتوى في منصات تواصل الاجتماعي وأنظمة تحليل الأسواق والتنبؤ بمستقبل السوق، وتحليل البيانات الطبية للتشخيص المبكر للأمراض، وأنظمة اكتشاف الاحتيال في المعاملات المالية وغيرها من التطبيقات العديدة الأخرى. التعلم العميق Deep Learning يتفرع مجال التعلم العميق من مجال تعلم الآلة، ويتعامل المتخصصون في التعلم العميق مع الشبكات العصبية المعقدة التي تتألف من عدة طبقات متداخلة، والتي تستطيع التعلم من مجموعات بيانات غير منظمة، ولعل هذا هو الفارق الجوهري بين التعلم العميق وتعلم الآلة، إذ لا تتعلم خوارزميات تعلم الآلة سوى من بيانات منظمة حصرًا، وتعد تطبيقات التعرف على الأصوات مثل مساعدات الذكاء الاصطناعي مثل Siri وGoogle Assistant وتطبيقات التعرف على الصور وتمييز الوجوه من أهم تطبيقات التعلم العميق. معالجة اللغات الطبيعية Natural Language Processing يجعل مجال معالجة اللغات الطبيعية NLP التخاطب بين الآلات والبشر ممكنًا، إذ يهتم مهندسو معالجة اللغات الطبيعية بتمكين الآلات من فهم اللغات البشرية من عربية وإنجليزية وغيرها ويشمل هذا الفهم تحليل السياق، واستخلاص المعاني، والتعرف على الأنماط اللغوية، وتوليد نصوص بهذه اللغات، وتبرز أنظماة الترجمة الآلية، وأنظمة تحليل المشاعر مثل تحليل تقييمات المنتجات أو تعليقات وسائل التواصل الاجتماعي، وبوتات الدردشة من أبرز تطبيقات تخصص معالجة اللغات الطبيعية. الرؤية الحاسوبية Computer Vision صارت الآلات تتعرف على الأشياء في الصور وتستطيع تحليل العناصر المرئية وفهمها بفضل تخصص الرؤية الحاسوبية، الذي يعد أحد التخصصات الفرعية للذكاء الاصطناعي القوية فهو يسمح للآلات والأنظمة المختلفة بتحليل الصور تحليلًا دقيقًا واستخراج عناصر الصورة وتمييز كل كائنٍ في الصورة عن الآخر، ولعل من أشهر تطبيقات الرؤية الحاسوبية أنظمة التعرف على الوجوه والسيارات ذاتية القيادة التي تعتمد على تحليل البيئة المحيطة لتحديد العوائق والمسارات، وتطبيقات تحليل الصور الطبية لتشخيص الأمراض، وتقنيات الواقع المعزز التي تدمج العناصر الافتراضية مع العالم الحقيقي في الوقت الفعلي. الأنظمة الخبيرة تعد الأنظمة الخبيرة Expert Systems تخصصًا فرعيًا من الذكاء الاصطناعي وهي أنظمة مصممة لمحاكاة الخبرات والمعارف البشرية في مجالات محددة، فيسعى مهندسو الذكاء الاصطناعي مثلًا إلى تطوير أنظمة خبيرة طبية لتحاكي طرق تفكير الأطباء الخبراء في التشخيص الطبي والعلاج أو أنظمة خبيرة في التخطيط المالي لاتخاذ قرارات استثمارية مناسبة بناءً على تحليل بيانات السوق، وكذلك فإنَّ لمجال الأنظمة الخبيرة تطبيقات في ميادين مختلفة، مثل الاقتصاد والتعليم وتطوير البرمجيات والكيمياء وغيرها. برمجة الروبوتات يتفرع مجال برمجة الروبوتات من تخصص الذكاء الاصطناعي، ويعمل مبرمجو الروبوتات على بناء أنظمة تشغيل الروبوتات وكتابة الشيفرات التي تسمح للروبوت بتحريك الأجزاء المختلفة من جسمه وتفادي العواقب والتعرف على الأشياء، وتعتمد الروبوتات في عملها على مجموعة متنوعة من الحساسات مثل الكاميرات والرادارات وأجهزة الاستشعار للتعرف على الأشياء في البيئة المحيطة بها ثم تبرمج خوارزميات ذكية لتفسير البيانات الواردة من هذه الحساسات واتخاذ قرارات بشأن كيفية التصرف لتفادي العقبات أو التفاعل مع الأجسام. ولعل أشهر تطبيقٍ لهذا المجال روبوتات المصانع والروبوتات الطبية. مواد تخصص الذكاء الاصطناعي إذا قررت دراسة هذا التخصص عليك دراسة العديد من المواد والمفاهيم، ومن أهمها: علوم الحاسوب Computer Science الرياضيات Mathematics علم البيانات Data Science أمان الذكاء الاصطناعي AI Security لنتعرف أكثر عن كل مفهوم منها بمزيد من التفصيل. علوم الحاسوب يقوم تخصص الذكاء الاصطناعي أساسًا على الحاسوب، ما يجعل المعرفة بأساسيات علوم الحاسوب ضرورية لفهم تخصص الذكاء الاصطناعي، ويندرج تحت علوم الحاسوب مواد عديدة أخرى، ومن أهمها: لغات البرمجة وأطر العمل إذ تتعدد لغات البرمجة وأطر العمل المستخدمة في تخصص الذكاء الاصطناعي، ولعل أهمها وأسهلها لغة بايثون Python وإطار عمل تينسر فلو TensorFlow. الخوارزميات وهياكل البيانات، فالخوارزميات هي القواعد التي يضعها المطور لنموذج الذكاء الاصطناعي ليتعلم ويتطور بكفاءة ويؤدي دوره دون أخطاء، وهياكل البيانات تساعد على تنظيم وتخزين البيانات التي تعد أساس الذكاء الاصطناعي. أنظمة التشغيل إذ يحتاج كل مطور للتعامل مع أنظمة التشغيل وإدارة العمليات والموارد، فتعلم نظم التشغيل يساعد على تخصيص نظام الذكاء الاصطناعي وتطويره بالطريقة المثلى. الرياضيات والإحصاء يحتاج متخصص الذكاء الاصطناعي لمعرفة جيدة بأساسيات الرياضيات، ولا سيما في فروع الجبر الخطي والتفاضل والتكامل والتحليل العددي والرياضيات المتقطعة والإحصاء والاحتمالات والإحصاء، لما ينبني عليها من خوارزمياتٍ وطرق لتحليل البيانات وفهم الأنماط والاتجاهات من خلال أدوات وتقنيات إحصائية يقوم عليها تخصص الذكاء الاصطناعي كله. علم البيانات يرتبط تخصص الذكاء الاصطناعي مع علم البيانات Data Science بشكل وثيق فالذكاء الاصطناعي قائم على البيانات، ويحتاج لتوفر بيانات ملائمة لبناء نماذج الذكاء الاصطناعي وتحسين أدائها، فعلم البيانات هو الذي يوفر الأدوات والتقنيات اللازمة لجمع وتحليل البيانات كي تُستخدم في تدريب وتقييم نماذج الذكاء الاصطناعي. فمن دون بيانات عالية الجودة، تكون قدرة نماذج الذكاء الاصطناعي على التعلم والتنبؤ محدودة. تشمل علوم البيانات نمذجة البيانات Data Modelling، وهي عملية جمع البيانات وتنقيحها وتنسيقها وتجهيزها للتحليل والاستخدام، وتحليل البيانات Data Analysis للخروج من البيانات باستنتاجات مفيدة وإحصاءات مهمة كما تضم التمثيل المرئي Data Visualization للنتائج لجعلها سهلة الفهم. أمان الذكاء الاصطناعي AI Security تعتمد نماذج الذكاء الاصطناعي بشكل كبير على معالجة معلومات المستخدمين، والتي قد تتضمن بيانات شخصية أو حساسة. لذلك، تقع على عاتق متخصص الذكاء الاصطناعي مسؤولية كبيرة في حماية هذه البيانات وضمان سريتها وأمانها، فمثلًا لو لم يكن شات جي بي تي آمنًا لما استخدمه الناس في مهامهم المختلفة، فيجب أن تكون خصوصية البيانات وأمانها على رأس أولويات أنظمة وتطبيقات الذكاء الاصطناعي. دراسة تخصص الذكاء الاصطناعي إذا كنت مهتمًا بدراسة تخصص الذكاء الاصطناعي فستقف أمام خيارين، وهما الدراسة الأكاديمية في أحد الكليات المتخصصة، والدراسة الذاتية. تتميز الدراسة الأكاديمية بالمسار الواضح والمناهج الدراسية المنظمة، وكذلك فستحظى خلالها بدعم من الأساتذة المتخصصين، وستجد حولك جمعًا من الزملاء والأصدقاء المشاركين لك في رحلتك في تعلم الذكاء الاصطناعي، مما يساعدك على التزام الطريق والاستمرار فيه، كما تمنحك الجامعة شهادة معتمدة تثبت دراستك للمجال. ولكن يعيب الدراسة الجامعية طول مدتها المبالغ فيه وتركيزها على الجانب النظري من المواد دون التطبيق العملي، ما يضع فجوة بين الطالب حين يتخرج ومتطلبات سوق العمل، حيث ستجد أنك تملك زخمًا من المعلومات النظرية الكثيفة، لكنك لا تستطيع تطبيقها في مشاريع ذكاء اصطناعي حقيقية. من ناحية أخرى، تتسم بالمرونة والتنوع في الأساتذة وإمكانية الاختيار بينهم، وتتميز كذلك بالتركيز على متطلبات سوق العمل والتطبيق العملي أكثر من الدراسة النظرية المملة، ويستغرق الطالب مدة أقل من الدراسة الأكاديمية لكي يكون مؤهلًا لسوق العمل. لكن الدراسة الذاتية تتطلب انضباطًا ذاتيًا شديدًا، وقدرة على تخطي العقبات والإحباطات والإخفاقات، وكذلك سيكون من الصعب الوصول إلى خبير يرشدك في طريقك، مما يضيع عليك أحيانًا الكثير من الوقت في السير في طريق خاطئ. إذا كنت ترغب في الجمع بين مميزات الدراسة الجامعية مثل الدعم الأكاديمي والمنهج الواضح والشهادة المعتمدة، ومميزات الدراسة الذاتية من تطبيقٍ عملي ومرونة ومواكبة لسوق العمل، ننصحك بمطالعة دورة الذكاء الاصطناعي من أكاديمية حسوب فهي تقدم لك الفرصة لدراسة التخصص من البداية حتى الاحتراف، بإشراف مدربين محترفين يجيبون على تساؤلاتك ويشرحون لك ما يصعب عليك فهمه ويكسبونك الخبرة لتطوير تطبيقات عملية عديدة تعزز معرض أعمالك وتزيد فرصتك في الحصول على عمل. دورة الذكاء الاصطناعي احترف برمجة الذكاء الاصطناعي AI وتحليل البيانات وتعلم كافة المعلومات التي تحتاجها لبناء نماذج ذكاء اصطناعي متخصصة. اشترك الآن كما ستجد في أكاديمية حسوب مصادر أخرى تساعدك على بدء رحلتك في الذكاء الاصطناعي، مثل: المقالات والدروس المتخصصة والكتب المجانية الشاملة، وإذا كنت تشعر بالتشتت أو تخشى البداية الخاطئة في هذا المجال الواسع، فابدأ من صفحة تعلم الذكاء الاصطناعي التي تضم جميع المعلومات والإرشادات التي تحتاجها للبدء في هذا المجال. نصائح لتعلم تخصص الذكاء الاصطناعي حدد هدفك من التعلم واختر مجالًا محددًا من مجالات الذكاء الاصطناعي وركز على تعلمه تعلم المفاهيم الأساسية في علوم الحاسوب والرياضيات والإحصاء والتفاضل والتكامل لأنها ضرورية في جميع مجالات الذكاء الاصطناعي تعلم الخوارزميات والتفكير المنطقي وأساسيات لغات البرمجة تعلم المفاهيم النظرية للذكاء الاصطناعي وأهم مصطلحاته احترف إحدى لغات برمجة للذكاء الاصطناعي مثل لغة بايثون تعلم التعامل مع منصات ومكتبات الذكاء الاصطناعي مثل Hugging Face وباي تورش PyTorch و Scikit-learn وغيرها لتسريع تطوير التطبيقات الذكية افهم كيفية معالجة وتنظيف البيانات وتحويلها إلى شكل مناسب لاستخدامها في الخوارزميات طبق كل ما تعلمته على مشاريع عملية بسيطة في البداية، ثم انتقل لمشاريع أكثر تعقيدًا لتعزيز مهاراتك ابحث عن فرصة عمل تمكنك من تنفيذ مشاريع حقيقية على أرض الواقع الخلاصة عرفنا في مقال اليوم ماهية تخصص الذكاء الاصطناعي وأهميته، ثم عرفنا شيئًا من مجالاته، ومن بعدها مواده التخصصية وسبل دراسة التخصص، فبعدما عرفت قدرًا من المعلومات عن تخصص الذكاء الاصطناعي، فهل ترى أن هذا التخصص يناسبك ويوافق تطلعاتك المستقبلية؟ شاركنا برأيك في التعليقات أسفل المقال. اقرأ أيضًا مستقبل الذكاء الاصطناعي تطبيقات الذكاء الاصطناعي كيف أستخدم تقنيات الذكاء الاصطناعي في عملي؟ أمثلة على الذكاء الاصطناعي
  7. لا شك أن هندسة الذكاء الاصطناعي أصحبت مجالًا رائدًا ومرتفع الطلب وترجع أهميتها لأهمية تخصص الذكاء الاصطناعي الذي اختصر علينا نحن البشر كثيرًا من العمل، ووفر الكثير من وقتنا وجهدنا في مختلف المجالات مثل دعم عملية التعليم، وإدارة العمليات التجارية، وتشخيص الأمراض، وتصميم الصور وصناعة مقاطع الفيديو وغيرها الكثير، فما هي هندسة الذكاء الاصطناعي؟ وما أهميتها؟ وما طرق درستها المختلفة؟ وما أهم تطبيقاتها العملية؟ هذا ما سنعرفه في مقال اليوم. ما هو تخصص الذكاء الاصطناعي؟ قبل التعرف على هندسة الذكاء الاصطناعي لنوضح بداية ما هو الذكاء الاصطناعي الذي يعد مجالًا حديثًا يهتم ببناء آلات وحواسيب وأنظمة تستطيع التعلم والتفكير ومحاكاة الأدمغة البشرية، وتستطيع تأدية الوظائف التي كانت تتطلب ذكاءً بشريًا للتعامل معها، بل وصل الأمر إلى ما هو أبعد من ذلك فصارت الآلات والحواسيب المبنية بالذكاء الاصطناعي قادرة على التعامل مع بيانات ضخمة لم يكن البشر ليتعاملوا معها ويستطيعوا تحليلها لضخامة حجمها، فساعد الذكاء الاصطناعي على تحليلها والخروج بنتائج مفيدة منها. ويعتمد تخصص الذكاء الاصطناعي بشكل أساسي على البيانات، إذ يتعلم منها ويكتسب خبراته من تحليل أحجام ضخمة من البيانات واكتشاف ما تخفيه هذه البيانات من أنماط وعلاقات بالاعتماد على خوارزمية الذكاء الاصطناعي. ما هي هندسة الذكاء الاصطناعي هندسة الذكاء الاصطناعي AI-Engineering أحد التخصصات الهندسية الرائدة التي تهدف إلى تصميم وتطوير وإدارة الأنظمة التي تعتمد على تقنيات الذكاء الاصطناعي، فهي مجال حيوي يهتم باستخدام الأساليب الحديثة والأدوات المتطورة لتطبيق حلول الذكاء الاصطناعي وحل المشكلات المعقدة وأتمتة العمليات في مختلف الصناعات كالتعليم والنقل والتمويل والرعاية الصحية. وهي تخصص حديث ومهم يجمع بين عدة مجالات رئيسية من بينها هندسة البرمجيات وعلوم الحاسوب وعلم البيانات والتحليل الإحصائي، ويركز بشكل خاص على على برمجة الآلات وجعلها قادرة على التفكير بطريقة مشابهة لطريقة الدماغ البشري. ويعنى بتطوير خوارزميات ونماذج تعلم الآلة ML وبناء أدوات وحلول قائمة على الذكاء الاصطناعي لمنح الآلات قدرة على التفكير واتخاذ القرارات المنطقية بكفاءة. تختلف هندسة الذكاء الاصطناعي عن الهندسة التقليدية لأن الأنظمة الذكية تعتمد على البيانات لتحديد سلوكها النهائي فهي تتعلم من البيانات وتحسن أدائها بمرور الوقت، ولا تعتمد على البرمجة الصريحة المباشرة، وما يميز مهندسي الذكاء الاصطناعي عن مهندسي البرمجيات التقليديين هو قدرتهم على العمل مع هياكل البيانات المعقدة والشبكات العصبية وشبكات التعلم العميق، ونماذج تعلم الآلة المتطورة والاستفادة من قدراتها لحل المشكلات بدل طرق البرمجة التقليدية العادية. كما تهتم هندسة الذكاء الاصطناعي بإجراء الأبحاث الأساسية في مجالات الذكاء الاصطناعي وتعلم الآلة وتبني جسرًا بينها وبين العلوم الهندسية، وتسعى لجعل تخصصات الذكاء الاصطناعي وتعلم الآلة سهلة الاستخدام وتضمن تطبيقها الآمن والفعال في مختلف المجالات. تخصصات هندسة الذكاء الاصطناعي تتضمن هندسة الذكاء الاصطناعي العديد من التخصصات الفرعية، ومن أهمها: تعلم الآلة Machine Learning: يركز هذا التخصص على جعل الأجهزة ذكية وقابلة للتعلم من البيانات وتحسين أدائها تلقائيًا دون برمجة صريحة وهو يستخدم في التنبؤ وتصنيف البيانات وأنظمة التوصية. التعلم العميق Deep Learning: فرع متقدم من تعلم الآلة يحاكي عمل الدماغ البشري من خلال استخدام شبكات عصبية اصطناعية متعددة الطبقات، ويستخدم في تطبيقات التعرف على الوجوه، وتحويل النصوص المكتوبة إلى كلام منطوق، وتشخيص الأمراض. التعلم بواسطة التعزيز Reinforcement Learning: أحد أساليب تعلم الآلة يركز على تدريب الأنظمة على اتخاذ القرارات والتعلم بالاعتماد على أسلوب المكافأة والعقاب لتحسين سلوكها، وهو يستخدم في تطوير الألعاب والتحكم الآلي والتنبؤات المالية. معالجة اللغات الطبيعية Natural language processing: يركز هذا التخصص على تمكين الآلات من فهم ومعالجة وإنتاج اللغة البشرية ويستخدم في الترجمة الآلية وأنظمة الدردشة الذكية وتحليل المشاعر. الرؤية الحاسوبية Computer Vision: يهتم بتمكين الأجهزة من فهم وتحليل الصور والفيديو يستخدم في التعرف على الوجوه والسيارات ذاتية القيادة والفحص الطبي. علم الروبوتات Robotics: يهتم بدمج الذكاء الاصطناعي في الأنظمة الفيزيائية للتفاعل مع العالم الحقيقي ويستخدم في التصنيع والرعاية الصحية. مهام مهندس الذكاء الاصطناعي تتضمن المهام الرئيسية لمهندسي الذكاء الاصطناعي تصميم وبناء تطبيقات ونماذج ذكية يمكنها معالجة كميات ضخمة من البيانات، والتعلم منها لاتخاذ عن قرارات صائبة باستخدام لغات برمجة الذكاء الاصطناعي والشبكات العصبية التي تحلل هذه البيانات وتستخرج الأنماط والتنبؤات منها، بالإضافة إلى نشر التطبيقات الذكية في بيئات الإنتاج وصيانة وتحديث أنظمة الذكاء الاصطناعي بصورة مستمرة وتحسين أدائها لضمان فعاليتها وملاءمتها. من الأمثلة على التطبيقات التي يمكن لمهندس الذكاء الاصطناعي تطويرها تطبيقات الترجمة بمساعدة الذكاء الاصطناعي، وروبوتات الدردشة الذكية مثل ChatGPT، وتطبيقات الرؤية الحاسوبية التي تتعرف على الوجوه أو الصور، وتطبيقات تحليل المشاعر، وأنظمة التوصية التي تقترح الأفلام أو المنتجات بناءً على تفضيلات المستخدم والألعاب المعتمدة على الذكاء الاصطناعي التي تتكيف مع أساليب اللعب المختلفة وتحسن تجربة اللاعبين وغيرها الكثير. مهارات هندسة الذكاء الاصطناعي تحتاج دراسة هندسة الذكاء الاصطناعي لامتلاك العديد من المهارات التقنية من أهمها: إلمام بمبادئ علوم الحاسوب وأساسيات لغات البرمجة مثل بايثون Python أو R أو جافا Java معرفة بخوارزميات تعلم الآلة والتعلم العميق ومعالجة اللغة الطبيعية لبناء واختبار النماذج المناسبة واستخدامها في مشاريعهم وتطبيقاتهم خبرة في استخدام أطر عمل ومكتبات الذكاء الاصطناعي مثل بايتورش PyTorch وتنسرفلو TensorFlow التي تسهل تنفيذ النماذج. امتلاك أساس في الإحصاء والجبر الخطي لفهم أنماط البيانات وإجراء التنبؤات. الإلمام بمفاهيم قواعد البيانات لإدارة واسترجاع البيانات بكفاءة. بالإضافة المهارات التقنية، هناك عدة مهارات شخصية للنجاح في مجال هندسة الذكاء الاصطناعي كالتفكير الإبداعي وحل المشكلات وفهم مجال العمل التي يحتاج لأن يطور لها أنظمة ذكية. أخيرًا يحتاج مهندس الذكاء الاصطناعي لفهم أساسيات أخلاقيات الذكاء الاصطناعي وتأثيره على المجتمع لتطوير مشاريع ذكاء اصطناعي آمنة وموثوقة. مستقبل هندسة الذكاء الاصطناعي تزداد سرعة تطور الذكاء الاصطناعي يومًا بعد الآخر من تقنيات ومسائل أمنية وأخلاقية ووظائف، وتتحسن أدواته وتزيد دقتها، بل تظهر أدوات جديدة هي أكثر تطورًا من سابقاتها وتزداد الحاجة إلى تطوير حلول ذكية قابلة للتطبيق في مختلف المجالات. وهذا سيفتح المجال لظهور فرص واسعة للمهندسين والمبرمجين الخبراء بتطوير التطبيقات والأدوات الذكية والقادرين على استخدام خوارزميات الذكاء الاصطناعي وتعلم الآلة، ولغات البرمجة، وهياكل البيانات بكفاءة لبناء واختبار ونشر نماذج ذكاء اصطناعي عالية الكفاءة وقادة على أداء المهام التي تتطلب ذكاءً مشابهًا للذكاء البشري. فدراسة هندسة الذكاء الاصطناعي خيار مثالي لضمان مستقبل واعد والمساهمة الفعالة في التطور التقني وهي تفتح أمامك الكثير من الفرص والإمكانيات وتعزز فرصة حصولك على وظيفة مرموقة تضمن مستقبلك وتوفر لك راتبًا مرتفعًا . فإذا كنت شغوفًا بالتقنية ومهتمًا بتخصص الذكاء الاصطناعي، فابدأ من الآن بدراسة هذا التخصص الرائد وحقق طموحك المهني. طرق دراسة هندسة الذكاء الاصطناعي إذا قررت دراسة الذكاء الاصطناعي وتعلم التقنيات الضرورية لهذا التخصص فأمامك مساران: الدراسة الجامعية: تتميز بوضوح المسار والمنهج وتوافر الدعم من الأساتذة الخبراء، وكذلك وجود مجتمع من الأصدقاء الداعمين السائرين في نفس الطريق، وسهولة الالتزام والاستمرارية في هذا المسار، وتحصيل شهادة مهنية تشهد لك بدراستك للمجال، أما عيوبها فطول مدة الدراسة، ونظرية المناهج دون التركيز على التطبيق العملي وسوق العمل. الدراسة الذاتية: تتفوق على الدراسة الجامعية في المرونة والقدرة على انتقاء الأستاذ الذي تعجبك طريقته، وتتميز أيضًا بالتركيز على سوق العمل والتطبيقات العملية المفيدة، وأنَّ مدة دراستها أقل من مدة الدراسة الجامعية، ولكن يعيب الدراسة الذاتية صعوبة الانضباط، وصعوبة الوصول الدائم إلى خبير يرشدك ويعينك في طريقك. واحرص أثناء دراسة هندسة الذكاء الاصطناعي على تطوير مشاريع ذكاء اصطناعي والتطبيق العملي على كل ما تدرسه، فأصل دراسة المجالات التقنية عمومًا هو التطبيق العملي. وإن أردت الجمع بين مميزات الدراسة الجامعية من دعم ومنهج واضح والتزام وشهادة معتمدة ومميزات الدراسة الذاتية من تطبيق عملي ومرونة ومواكبة لسوق العمل؛ فستساعدك دورة الذكاء الاصطناعي من أكاديمية حسوب على دراسة المجال من الصفر حتى الاحتراف مع مدربين محترفين يجيبون على كل تساؤلاتك ويشرحون لك ما يصعب عليك فهمه. دورة الذكاء الاصطناعي احترف برمجة الذكاء الاصطناعي AI وتحليل البيانات وتعلم كافة المعلومات التي تحتاجها لبناء نماذج ذكاء اصطناعي متخصصة. اشترك الآن وكذلك ستجد في أكاديمية حسوب مصادر عديدة مجانية تساعدك على البدء في تعلم هندسة الذكاء الاصطناعي من مقالات ودروس متخصصة، وكتبٍ شاملة، وإن كان التشتت والخشية من البداية الخاطئة ، ولا تدري أين نقطة البداية في هذا المجال الفسيح، فابدأ من صفحة تعلم الذكاء الاصطناعي التي تحوي جميع المعلومات والإرشادات التي تحتاجها للبداية في مجال الذكاء الاصطناعي، وتذكر أن الذكاء الاصطناعي هو مجال سريع التطور لذا من الضروري متابعة آخر التطورات، بما في ذلك نماذج تعلم الآلة الجديدة، وتقنيات تطوير الذكاء الاصطناعي، وتتابع أحدث التقنيات الناشئة وتوظفها في عملك. الخلاصة تعرفنا في مقال اليوم على هندسة الذكاء الاصطناعي وطرق دراسته المختلفة ومستقبله المتوقع ، فإن كنت مهتمًا بهذا المجال الحيوي فلا تتردد في البدء في دراسة المجال أو أدواته وتطبيقاته في مجالك، وتجهيز نفسك لمستقبل مهني مشرق يسوقه أصحاب المهارات التقنية الذكية ويفضلون على غيرهم من الموظفين في سوق العمل. اقرأ أيضًا مستقبل الذكاء الاصطناعي كيف أستخدم تقنيات الذكاء الاصطناعي في عملي؟ اسأل مهندس الذكاء الاصطناعي: أسئلة شائعة حول الذكاء الاصطناعي أمثلة على الذكاء الاصطناعي مستقبل البرمجة
  8. كان بناء نموذج ذكاء اصطناعي متطور صعبًا، ومقتصرًا على الشركات الكبيرة، مثل جوجل و OpenAI نظرًا لصعوبة تجميع مجموعات بياناتٍ كبيرةٍ لتدريب النموذج عليها والحاجة إلى بنية تحتية حاسوبية قوية لتشغيل تلك النماذج. حتى ظهرت منصة Hugging Face التي غيرت المشهد. فقد أصبحت منصة Hugging Face واحدة من أبرز المنصات التي تسهل بناء النماذج الذكية وتطويرها وتوفر للمطورين نماذج ذكاء اصطناعي ومجموعات بيانات مفتوحة المصدر وتمكنهم من إنجاز مشاريع ذكار اصطناعي خاصة بهم دون العناء في تجميع البيانات وتنقيحها، ودون الحاجة لدفع مبالغ طائلة، فما هي منصة Hugging Face؟ وما أهم استخداماتها؟ وما النماذج التي توفرها؟ هذا ما سنعرفه في مقال اليوم. ما هي منصة Hugging Face تعد Hugging Face منصة مختصة في الذكاء الاصطناعي وتعلم الآلة ومعالجة اللغات الطبيعية وعلوم البيانات، فهي توفر العديد من المكتبات مفتوحة المصدر مثل مكتبة المحولات Transformers، التي توفر نماذج جاهزة يمكن استخدامها مباشرةً أو تحسينها، كما توفر منصات لتجربة النماذج دون الحاجة إلى إعداد بيئة برمجية معقدة. بالإضافة إلى ذلك، تسهل Hugging Face الوصول إلى مجموعات بيانات متنوعة من خلال مكتبة Datasets، مما يقلل من عبء إعداد البيانات اللازمة للتدريب. كما أن دعمها القوي لدمج النماذج في التطبيقات المختلفة عبر واجهات برمجية (APIs) جعلها الخيار الأمثل للمطورين، ومن خلال هذه الأدوات والخدمات، تمكنت Hugging Face من إزالة الحواجز التقنية أمام بناء النماذج، مما ساهم في تعزيز انتشار الذكاء الاصطناعي في العديد من المجالات مثل معالجة اللغات الطبيعية، وتحليل الصور والتعرف على الأصوات وغيرها.. وتؤمن لك المنصة بنية تحتية لتطبيقات الذكاء الاصطناعي، فتستطيع باستخدامها بناء نموذج ذكاء اصطناعي وتدريبه واختباره وإطلاقه، وكذلك توفر مستودعًا يضم كثيرًا من نماذج الذكاء الاصطناعي مفتوحة المصدر، وتطبيقات تفاعلية جاهزة تُسمى Spaces، والتي يمكنك من خلالها بناء نماذج جديدة محسنة، وستجد فيها أيضًا مجتمعًا ضخمًا يجمع كافة المهتمين بمجال الذكاء الاصطناعي وتعلم الآلة ويسمح بتبادل الخبرات وتطوير وتحسين هذا المجال الحيوي بطريقة تعاونية. ما أهم مميزات منصة Hugging Face؟ تتميز منصة Hugging Face بمجموعةٍ من الخواص، ومنها: توفر نماذج ذكاء اصطناعي متنوعة مفتوحة المصدر: إذ يحوي مستودع Hugging Face آلاف نماذج ذكاء اصطناعي models يمكنك الاطلاع عليها واستخدامها في بناء نموذجك الخاص بخلاف النماذج مغلقة المصدر مثل ChatGPT من OpenAI أو Bard من جوجل حيث تتيح Hugging Face للمطورين عرض ومشاركة الشيفرة البرمجية للنماذج، مما يجعلها مكانًا ديناميكيًا للنماذج المتجددة باستمرار، وعدد هذه النماذج في تزايد مستمر، كما توفر المنصة إمكانية رفع نماذجك الخاصة ومشاركتها مع المطورين الآخرين عبر المنصة، ووتنوع مجالات هذه النماذج، فمنها نماذج معالجة لغات طبيعية NLP Models، ومنها نماذج تعلم آلة Machine Learning Models، ومنها نماذج معالجة صور Image Processing Models. تتضمن مجموعات بيانات تغطي مجالات متعددة: توفر منصة Hugging Face أيضًا مكتبة ضخمة من مجموعات البيانات Datasets مفتوحة المصدر؛ وهي منظمة وجاهزة لتدريب نماذج الذكاء الاصطناعي عليها، ما يختصر على المطور وقتًا وجهدًا عظيمًا يبذله في جمع البيانات وتنقيحها وتنظيمها وتدريبها. تحتوي تطبيقات جاهزة للاستخدام: منصة Hugging Face ليست موجهة لمهندسي ومطوري الذكاء الاصطناعي فقط، بل يمكن لغير المختصين الاستفادة منها من خلال المساحات Spaces وهي عبارة عن تطبيقات أو نماذج ذكاء اصطناعي جاهزة متاحة للاستخدام إذ يستطيع المستخدم العادي استخدامها في تنفيذ مهامه المختلفة مثل توليد الصور واستنساخ الأصوات، وتحليل البيانات. وفي كل أسبوع، تعرض مساحات متميزة لتلهم المجتمع وتستخدم بشكل فعال للتجارب والأبحاث والأعمال الإبداعية، وبهذا يمكن للمستخدمين استكشاف التطبيقات المميزة والوصول لها بسهولة من أعلى الصفحة. ومن الأمثلة على مساحات مفيدة مساحة CodeFormer المستخدمة في استعادة وتحسين ملامح الوجه في الصور القديمة، ومساحة Arabic Tashkeel لتشكيل النصوص العربية وغيرها من المساحات التي يمكنك استكشافها والإفادة منها. دورة الذكاء الاصطناعي احترف برمجة الذكاء الاصطناعي AI وتحليل البيانات وتعلم كافة المعلومات التي تحتاجها لبناء نماذج ذكاء اصطناعي متخصصة. اشترك الآن ما أهم استخدامات منصة Hugging Face؟ يستخدم مهندسو الذكاء الاصطناعي منصة Hugging Face بطرق مختلفة، وأهمها: صقل وتحسين النماذج Fine-Tuning: تختص تقنية الصقل بتكييف نموذج ذكاء اصطناعي مدرب مسبقًا لأداء مجموعة من المهام المحددة المندرجة تحت قسمٍ واحدٍ، ما يوفر الموارد المبذولة في تدريب نموذجٍ جديدٍ من الصفر، ويوفر كذلك من الوقت والجهد كثيرًا. ومع توفير منصة Hugging Face لكثيرٍ من نماذج الذكاء الاصطناعي العامة بشكلٍ مجانيٍّ ومفتوح المصدر؛ صارت المنصة مقصدًا لكل من أراد صقل نموذجٍ وتخصيصه في مجالٍ محددٍ. الاطلاع على نماذج تعلم الآلة ومشاركتها: تسمح منصة Hugging Face بالاطلاع على عدد ضخم من نماذج الذكاء الاصطناعي المختلفة، فقد تستوحي أفكارًا لمشاريع ذكاء اصطناعي خاصة من تصفح هذه النماذج والبحث فيها والتعلم منها، واستخدامها في التطبيق العملي، وكذلك فيمكنك مشاركة نماذج الذكاء الاصطناعي التي طورتها بنفسك مع مطورين خبراء على المنصة، فتختبرها وتعرف نقاط الضعف والقوة. الاطلاع على مجموعات بيانات ومشاركتها: توفر منصة Hugging Face كثيرًا من مجموعات البيانات Datasets المختلفة كما شرحنا سابقًأ، والتي يمكنك مباحثتها واختيار أنسبها لمشروعك الخاص ولتدريب نموذجك عليه، ويمكنك أيضًا مشاركة مجموعات البيانات التي نظمتها مع المطورين الآخرين، ليساعدوك في تحسينها وتعزيزها. البحث العلمي: تعرض منصة Hugging Face جمعًا من الأوراق والمواضيع البحثية في المجالات المختلفة من الذكاء الاصطناعي، مثل: معالجة اللغات الطبيعية Natural Language Processing والبيانات الضخمة Big Data، وتستطيع المشاركة في هذه الأبحاث مع مجموعة من مهندسي الذكاء الاصطناعي الخبراء للارتقاء بمجال الذكاء الاصطناعي والمضي به قدمًا. ما أهم مصطلحات منصة Hugging Face؟ تتعدد المصطلحات المهمة في منصة Hugging Face، ومنها: المحولات Transformers: تعد المحولات نوعًا من الشبكات العصبية المشهورة في مجال معالجة اللغات الطبيعية، وتتميز بقدرتها على فهم الكلام المكتوب بشكلٍ أفضل من غيرها من الشبكات العصبية، أمَّا المحولات Transformers في سياق منصة Hugging Face فهي مكتبة مفتوحة المصدر مطورة بلغة بايثون، توفر مجموعة من نماذج معالجة اللغات الطبيعية المبنية على الشبكات العصبية من نوع المحولات. المكتبات Libraries: تحوي المكتبات مقاطع من الشيفرات البرمجية التي يستخدمها المطورون بكثرة، وتختلف استخدامات المكتبات، فمثلًا تحتوي مكتبات تطوير مواقع الويب على أهم الشيفرات التي يستخدمها مطورو الويب باستمرار في غالب مشروعاتهم. مستودع Hugging Face Hub: تتشابه مستودعات Hugging Face Hub إلى حد ما مع منصة جيت هاب GitHub، ولكن مع تخصيص أكبر لمجال الذكاء الاصطناعي، إذ تحتوي على عددٍ ضخمٍ من نماذج تعلم آلة مدربة مسبقًا مفتوحة المصدر، وكذلك تحتوي على مجموعات بياناتٍ كثيرةٍ يمكن للمطور استخدامها لبناء نموذج الذكاء الاصطناعي الخاص به. الدفتر Notebook: تعد تطبيقاتٍ تفاعليةٍ تساعد علماء البيانات وخبراء تعلم الآلة على كتابة الشيفرات الجاهزة للتنفيذ واختبارها فورًا، مع كتابة نصوص توضيحية لهذه الشيفرات، ومشاركتها عبر المنصة مع خبراء آخرين. مميزات منصة Hugging Face تتعدد مزايا منصة Hugging Face، ومن أهمها: سهولة التطوير: جعلت منصة Hugging Face بناء نماذج الذكاء الاصطناعي سهلًا بتوفيرها لنماذج مدربة مسبقًا يمكن صقلها، وبتوفيرها كذلك لواجهات برمجية ذات خواصٍ تساعد مهندسي الذكاء الاصطناعي على تطوير نماذج معالجة لغات طبيعية ونماذج تعلم آلة متطورة، مما يرفع عن المطورين تحدياتٍ كانت تواجههم من صعوبة تدريب نماذج الذكاء الاصطناعي نظرًا للموارد الحاسوبية الكبيرة التي تحتاجها، وكذاك جمع البيانات لتدريب هذه النماذج. سهولة النمذجة الأولية: مع تقنية الصقل ونماذج الذكاء الاصطناعي مفتوحة المصدر بمنصة Hugging Face، باتت النمذجة الأولية لأي فكرة مشروع ذكاء اصطناعي غاية في السهولة ولا يحتاج إلى وقت كثير وجهد كبير، ولا يتطلب كذلك دفع مبالغ طائلة من المال. المجتمع الداعم: توفر منصة Hugging Face مجتمعًا داعمًا لمطوري الذكاء الاصطناعي، وتوفر مصادر كثيرة لهم لتطوير مهاراتهم، فمجتمع Hugging Face مملوء بالدورات والوثائق Documentations المجانية التي تزيد من مهارات مهندسي البرمجيات. منصة مجانية: تعد منصة Hugging Face مجانية بالأصل، ورغم أنها تتضمن بعض الخطط المدفوعة التي توفر ميزاتٍ إضافية للأعمال، ولكن حتى هذه الخطط المدفوعة ليست باهظة الثمن، ما يجعلها منصة فعالة من حيث التكاليف لاستخدامها في مشروعات الذكاء الاصطناعي الخاصة. عيوب منصة Hugging Face رغم مميزات منصة Hugging Face الكثيرة إلَّا أنَّ بها تحدياتٍ ستواجهك عند استخدامها كذلك، وأهمها: تحيز النماذج: تعاني بعض نماذج الذكاء الاصطناعي على منصة Hugging Face من تحيز الذكاء الاصطناعي AI Bias، وهو توليد النماذج لنتائج تسيء لفئة معينة أو تنحاز لطرف على حساب آخر، فيجب أن تحرص على اختبار النموذج الذي ستبني عليه نموذج الخاص قبل بنائه، لتتأكد أن ليس هذا النموذج متحيزًا. كثرة النماذج: كما أنَّ كثرة النماذج على المنصة ميزةٌ، فإنه بذات الوقت عيبٌ لصعوبة الوصول إلى النموذج المناسب لاحتياجاتك الخاصة، لذا توفر منصة Hugging Face توفر كثيرًا من المحددات Filters التي يمكنك استخدامها أثناء البحث لتسهيل وتسريع الوصول إلى النموذج المناسب لك. ضعف الأمان: تتفاوت درجات الأمان في نماذج الذكاء الاصطناعي على منصة Hugging Face نظرًا لتفاوت مستويات مطوريها، فيجب أن تحرص أثناء اختيارك للنموذج المناسب لمشروعك على بحث معايير الأمان لدى المطور واختبار النموذج أمنيًا مرارًا وتكرارًا للتيقن من سلامة وخصوصية العملاء والحرص على نماذج طورتها جهات معروفة. الخلاصة سرنا خلال رحلتنا في هذا المقال عبر مواضيعٍ متعددة، بدءًا من تعريف منصة Hugging Face وتوضيح ماهيتها، مرورًا بإيضاح مميزات المنصة واستخداماتها، وصولًا إلى تبسيط أهم مصطلحات المنصة وتبيان مزاياها وعيوبها، والآن دورك لتجرب هذه المنصة وتشاركنا في التعليقات بانطباعاتك عنها وخططك لاستخدام منصة Hugging Face وتضمينها في أعمالك. اقرأ أيضًا اسأل مهندس الذكاء الاصطناعي: أسئلة شائعة حول الذكاء الاصطناعي مشاركة نموذج ذكاء اصطناعي على منصة Hugging Face كيف أستخدم تقنيات الذكاء الاصطناعي في عملي؟ تطبيقات الذكاء الاصطناعي
  9. إنَّ التطبيق العملي أمر ضروري لإتقان أي مجال تقني ولا سيما مجال الذكاء الاصطناعي، فإذا كنت مهتمًا بالعمل في هذا التخصص وبدأت تعلمه بالفعل لكنك لاتزال مبتدئًا ولا تعرف ماهي مشاريع الذكاء الاصطناعي التي يمكنك تنفيذها لتطبيق معلوماتك النظرية وتوظيفها في مشاريع عملية تحسن خبراتك وتعزز معرض أعمالك فهذا المقال لك، إذ نقترح لك فيه مجموعة من المشاريع العملية متفاوتة الصعوبة في مجالات الذكاء الاصطناعي المختلفة لتساعدك على تحسين مستواك وصقل مهاراتك. مشاريع ذكاء اصطناعي في مجال تعلم الآلة يعد تعلم الآلة Machine Learning (ML) من أهم المجالات الفرعية لتخصص الذكاء الاصطناعي Artificial Intelligence (AI) فهو مجالٌ يسمح للأجهزة الحاسوبية بالتعلم من البيانات وحل المشكلات واتخاذ القرارات دون الحاجة إلى البرمجة الصريحة لكل جزء من أجزاء المشروع، ويهتم مهندسو تعلم الآلة بتطوير خوارزميات حاسوبية تتطور ذاتيًا باستخدام البيانات. لمجال تعلم الآلة استخدامات وتطبيقات عديدة، من بينها أنظمة التوصية المدمجة في منصات عديدة، كالمتاجر الإلكترونية التي تقترح عليك سلعًا تلائمك، ومنصات الفيديو التي تقترح عليك مقاطع جديدة بناءً على تاريخ مشاهداتك، ومواقع التواصل الاجتماعي التي تُظهِرُ لك منشوراتٍ تبعًا لإعجاباتك وتعليقاتك السابقة. ومن أهم مشاريع الذكاء الاصطناعي المقترحة لمهندسي تعلم الآلة: مشروع تصنيف صور بالذكاء الاصطناعي. مشروع توقع أسعار العقارات بالذكاء الاصطناعي. مشروع كشف الاحتيال المالي بالذكاء الاصطناعي. لنشرح المزيد عن كل مشروع من هذه المشاريع وآلية تنفيذه. 1. مشروع ذكاء اصطناعي لتصنيف صور مستوى الصعوبة: سهل. يعد نموذج تصنيف الصور باستخدام خوارزميات تعلم الآلة من مشاريع الذكاء الاصطناعي السهلة المناسبة للمبتدئين، إذ تقوم فكرة المشروع على بناء نموذج ذكاء اصطناعي يستطيع التمييز بين صورٍ مختلفة لأنواعٍ متعددةٍ من أشياء محددة، مثل: نموذج يميز بين صور الأنواع المختلفة من الحيوانات، ويكون هذا بمنح النموذج قاعدة بيانات بها عدد كبير من الصور المرتبة لكل نوع من الأنواع التي نريد أن يميز النموذج بينها مع نص يوضح ماهية كل نوع ومواصفاته، كأن نمنح النموذج صورًا لكلابٍ وقططٍ مع التوضيح النَّصي أنَّ هذه كلاب وقطط، ويتدرب النموذج على هذه البيانات محاولًا اكتشاف أنماط وسمات كل نوع، ففي مثالنا يحاول النموذج اكتشاف صفات الكلب والقطة، ثم يكون قادرًا على التعرف عليهما من صور أخرى لم يتدرب عليها قبلًا. نمر خلال عملية تطوير نموذج تصنيف صور على خطوات متعددة، وهي: جمع البيانات: يمكنك جمع الصور التي سيتدرب عليها النموذج بنفسك، كما يمكنك العثور على مجموعة بيانات Dataset جاهزة عبر الإنترنت، مثل مجموعات بيانات CIFAR-10. معالجة البيانات: إذا جمعت البيانات التي سيتدرب النموذج عليها بنفسك فعليك معالجتها وتصنيفها ووضع صور الكلاب تحت تصنيف واحد وتوضح أنَّ هذه صور كلاب، وتضع صور القطط تحت تصنيف واحد وتوضح أنها صور قطط، أمَّا إذا حمَّلت مجموعة بيانات جاهزة من الإنترنت فيمكنك الانتقال للخطوة التالية مباشرةً. بناء النموذج: يشير بناء النموذج إلى عملية إنشاء الشبكة العصبية Neural Network التي ستتدرب على البيانات وتتمكن من تصنيف الصور بعد التدريب، وغالبًا ما تستخدم في هذه المرحلة أطر عمل جاهزة لتسهيل وتسريع عملية التطوير مثل تينسرفلو TensorFlow. تدريب النموذج: تمنح النموذج مجموعة البيانات الجاهزة ليبدأ النموذج في محاولة استكشاف الأنماط بين الصور، ويسعى لفهم سبب وضع كل صورة ضمن تصنيفها، فيبدأ بفحص صور القطط ويحاول فهم السمات المميزة لكل قطة حتى يتمكن من التعرف على صور القطط خارج مجموعة البيانات التي تدرَّب عليها. اختبار النموذج: هنا يحين موعد اختبار مدى نجاح المشروع، فتسأل النموذج عن صور لكلابٍ وقططٍ أو أيٍّ كان ما درَّبتَ نموذجكَ عليه، على أن تكون هذه الصور خارج مجموعة البيانات التي تدرَّب عليها النموذج، فإن أجاب بدقة فقد نجح المشروع، وإن أخطأ فتأكد من دقة تصنيفك للبيانات أولًا، فإن كانت مصنفة وموصوفة بدقة فامنحه مزيدًا من البيانات للتدرب عليها ثم أعد اختباره. 2. مشروع توقع أسعار العقارات مستوى الصعوبة: متوسط. يعد نموذج توقع أسعار العقارات من أفكار مشاريع الذكاء الاصطناعي المفيدة متوسطة الصعوبة، ويساعدك نموذج توقع أسعار العقارات على تحديد السعر المناسب للعقار بناءً على معطيات عديدة، بدءًا من موقع العقار، مرورًا بمساحته وعدد الغرف فيه، وصولًا إلى رفاهيات العقار، مثل وجود فناء خلفي ومسبح. لا تختلف خطوات تنفيذ مشروع نموذج توقع أسعار العقارات كثيرًا عن خطوات تنفيذ مشروع نموذج تصنيف الصور، وكذا سائر مشاريع الذكاء الاصطناعي في مجال تعلم الآلة، فكلُّ مشاريع تعلم الآلة تتفق في خطوات جمع البيانات ومعالجتها وبناء النموذج وتدريبه واختباره، ولكن تختلف المشاريع فيما بينها في أحجام البيانات ومدى تعقيدها، ووظائف النموذج ومدى تعقيد خوارزمياته وطريقة تعامله مع البيانات وتعلمه منها. يمكنك في مرحلة جمع البيانات لهذا المشروع الاستعانة بمجموعات البيانات التي توفرها المواقع الرسمية للحكومات حول الإسكان، أو البحث في مواقع العقارات لجمع البيانات المُرادة، ثم معالجة بياناتك وتنظيفها، فإذا كانت هنالك بعض المعلومات المفقودة كمساحة عقار أو ما شابه فيمكنك ملؤها بمتوسط المساحات أو أن تحذف هذه القطعة من البيانات. ينصح في مرحلة بناء النموذج استخدام خوارزميات الانحدار الخطي Linear Regression فهي قادرة على اكتشاف العلاقات بين البيانات المختلفة كالعلاقة بين مساحة العقار وموقعه وسعره، كما يمكنك الاستعانة بمكتبات التحليل التنبؤي للبيانات مثل مكتبة ساي كيت ليرن Scikit-Learn المكتوبة بلغة بايثون. بعد ذلك عليك أن تمرر مجموعة البيانات التي جمعتها للنموذج كي يتدرب عليها ويستكشف الأنماط المختلفة بين البيانات، ويفهم لماذا كان العقار باهظ الثمن في منطقة ما وكان زهيدًا في منطقة أخرى، ويتعلم العلاقة بين المساحة وسعر العقار وغيرها من البيانات ذات الصلة، ويمكنك أخيرًا اختبار مشروعك مع عقارات بمعطياتٍ غير تلك الموجودة في مجموعة البيانات التي تدرب عليها مسبقًا. 3. مشروع كشف الاحتيال المالي مستوى الصعوبة: متقدم. تقع نماذج الكشف على الاحتيال ضمن أهم مشاريع الذكاء الاصطناعي، ولا سيما تلك المتعلقة بالاحتيال المالي، حيث تساعد هذه النماذج على كشف العمليات الاحتيالية في المعاملات المالية بناءً على معطيات عديدة، منها مثلًا التاريخ الإنفاقي للعميل، فإن أُجريَت عملية مالية مفاجئة بمبلغ أعلى بكثيرٍ من متوسط إنفاق العميل تُصنَّف العملية احتيالًا، وكذلك إذا تتابعت العديد من العمليات دون فروق زمنية واسعة تصنفها نماذج الكشف عن الاحتيال كعملياتٍ احتيالية. تكمن صعوبة تطوير مشروع ذكاء اصطناعي للكشف عن الاحتيال في صعوبة جمع ومعالجة البيانات التي سيتدرب عليها النموذج، حيث تحتاج لإنشاء مجموعة بيانات تحتوي على عدة تواريخ إنفاقية مع تفاصيل عن عملائها، وإضافة مجموعة من العمليات إلى مجموعة البيانات هذه ثم تصنيفها كعملياتٍ آمنة وعملياتٍ احتيالية، ثم ومعالجة البيانات والتأكد من اكتمال الخانات وعدم فراغ أيٍّ منها. يمكنك استخدام عدة خوازرميات في تطوير نموذج الكشف عن الاحتيال، مثل خوارزمية الانحدار اللوجستي Logistic Regression التي تستطيع توقع احتماليات الاحتيال في العمليات المالية بناءً على المدخلات، كما يمكنك استخدام خوارزمية الغابة العشوائية Random Forest التي تستطيع اكتشاف العمليات المشبوهة والاحتيالية عن الطبيعية بدقة كبيرة، ويوجد خورازميات أخرى تفيد في هذا المجال مثل خوارزمية تعزيز التدرج Gradient Boosting. بعد كتابة خوارزميات النموذج عليك تزويده بالبيانات ليتدرب عليها ويكتشف العمليات الاحتيالية من بين تاريخ العمليات لكل بطاقة أو حساب موجود في مجموعة البيانات، وما إن ينتهي من التدرب على البيانات يمكنك حينئذٍ اختباره على معاملات مالية جديدة. مشاريع ذكاء اصطناعي في مجال معالجة اللغات الطبيعية يعد مجال معالجة اللغات الطبيعية Natural Language Processing (NLP)‎ واحدًا من المجالات الفرعية الحيوية في الذكاء الاصطناعي، وهو يختص بتمكين الآلات والحواسيب من فهم اللغات البشرية، كالعربية والإنجليزية وغيرها، سواءً كانت اللغة مدخلة نصيًا أو صوتيًا وله تطبيقات عديدة منتشرة، بدءًا من روبوتات الدردشة وأشهرها شات جي بي تي ChatGPT وجوجل جيميني Google Gemini، مرورًا بالمساعدين الصوتيين مثل مساعد جوجل Google Assistant وأليكسا Alexa وسيري Siri، وصولًا إلى أدوات الترجمة بمساعدة الحاسوب وأهمها ترجمة جوجل Google Translation. تتعدد مشاريع الذكاء الاصطناعي المقترحة لمهندسي معالجة اللغات الطبيعية، ومنها: مشروع روبوت دردشة لخدمة العملاء باستخدام الذكاء الاصطناعي. مشروع ذكاء اصطناعي لتحليل مشاعر جمهور مواقع التواصل الاجتماعي. مشروع ذكاء اصطناعي للترجمة الآلية. لنوضح المزيد حول كل مشروع من هذه المشاريع وآلية تنفيذه ومستوى صعوبته. 1. مشروع روبوت دردشة لخدمة العملاء بالذكاء الاصطناعي مستوى الصعوبة: سهل. يعد روبوت الدردشة لخدمة العملاء مشروع ذكاء اصطناعي للمبتدئين، ويتمحور بشكلٍ أساسيٍّ حول بناء روبوت دردشة يفهم استفسارات العملاء ويجيب عليها تلقائيًا بإجاباتٍ واضحةٍ كافيةٍ صحيحةٍ، ويعتمد روبوت الدردشة لخدمة العملاء على خوارزميات معالجة اللغات الطبيعية في المقام الأول، ثم على خوارزميات تعلُّم الآلة في المقام الثاني. نبدأ بناء روبوت دردشة خدمة العملاء بتطوير كل جزء منه على حدة، بدءًا من أساس روبوت الدردشة والذي يمكنك بناؤه مستخدمًا إحدى منصات تطوير روبوتات الدردشة عبر واجهة أمامية بسيطة، مثل Chatfuel، أو أن تكتب شيفرات روبوت الدردشة بنفسك مستعينًا بمكتبات وأطر عمل مساعدة مثل مكتبة NLTK بلغة باثيون ثم نطور بعد ذلك نظام التعرف على النوايا Intent Recognition في روبوت الدردشة، والذي يحاول معرفة المغزى وراء الأمر المُدخل من العميل، كتحديد ما إن كان عميل متجر إلكتروني يتساءل عن سياسات الاسترجاع أو تتبع طلبه أو غيرها. نشرع بعد ذلك في تطوير نظام استخراج الكيانات المُسمَّاة (named entity extraction)، والذي يعمل على استخراج التفاصيل المهمة من رسالة العميل، مثل رقم المنتج واسمه أو رقم الطلب وغيرها، وبعد ذلك نبني منهجية تدفق المحادثة التي تساعد روبوت الدردشة على إدارة المحادثة بكفاءة وكتابة ردود مناسبة لاستفسارات العميل ومساعدته على حل مشكلاته، وأخيرًا نجمع كل هذه الأجزاء ونُضمِّنها ليتكون روبوت الدردشة، ثم نبدأ في اختبار كفاءته في إدارة المحادثات. 2. مشروع ذكاء اصطناعي لتحليل مشاعر جمهور مواقع التواصل الاجتماعي مستوى الصعوبة: متوسط. يعمل نموذج تحليل مشاعر جمهور مواقع التواصل الاجتماعي على تحليل المنشورات والتغريدات، ومحاولة تحديد المشاعر العاطفية خلف الكلمات المكتوبة، فيصنف المنشورات بين منشورات إيجابيةٍ ومنشوراتٍ سلبيةٍ وأخرى طبيعية أو عادية، ويساعد هذا النوع من النماذجِ الأعمالَ على تخصيص حملاتهم التسويقية تبعًا للفئة المستهدفة، ويساعدهم كذلك على إطلاق حملات تسويقية ذات كفاءة، وذلك بتحليل أحجام ضخمة من المحتوى المكتوب من هذه الفئة المستهدفة. نبدأ في العمل على تطوير نموذج تحليل مشاعر منشورات مواقع التواصل الاجتماعي بجمع البيانات، فالبيانات في حالتنا هي منشورات التواصل الاجتماعي، ولأنَّ هذا النوع من البيانات غالبًا ما يكون فوضويًا وغير مهيكل فنحتاج جهدًا كبيرًا في معالجة بيانات هذا المشروع، فيمكننا تطوير برنامج يعيد الجملة إلى تكوينها الأصلي، فيزيل الرموز ويحول الحروف الكبيرة إلى صغيرة، ثم يختصر الجملة ما أمكن. بعد ذلك نبدأ في اختيار منهجية معالجة اللغة الطبيعية المناسبة، ولتكن النهج القائم على المعجم Lexicon-Based Approach، والذي يُقسِّم الجملة إلى كلماتٍ ويُحدِّد ماهية كل كلمة على حدة ما إذا كانت كلمة إيجابية أم سلبية أم عادية، فكلما زادت الكلمات الإيجابية في المنشورات صنَّفها ضمن المنشورات الإيجابية، وكذلك كلما زادت الكلمات السلبية في المنشورات صنَّفها ضمن المنشورات السلبية. وأخيرًا بعد تجهيز البيانات وتحديد المنهجية نبدأ في تطوير النموذج، ونعطيه البيانات ليتدرب عليه، ثم نختبره على محتوى ليس ضمن مجموعة البيانات وننظر هل سيصنفه بشكلٍ صحيحٍ أم يخطئ في التصنيف. ولمزيدٍ من التفاصيل حول مشروع نموذج تحليل المشاعر ننصحك بمطالعة مقال تحليل المشاعر في النصوص العربية باستخدام التعلم العميق. 3. مشروع ذكاء اصطناعي للترجمة الآلية مستوى الصعوبة: متقدم يعد المترجم الآلي متعدد اللغات من أهم مشاريع الذكاء الاصطناعي، وتتمحور فكرته حول تمكين المستخدم من الترجمة بين لغة وأخرى، مع دعم لغات عديدة ومتنوعة، وذلك مع تحري الدقة في الترجمة والمقارنة بين الترجمات المختلفة للكلمة الواحدة واستخدام الترجمة الأنسب لها، وأخيرًا تكوين جملة واضحة مفهومة سليمة. الخطوة الأولى من عملية تطوير مترجم آلي متعدد اللغات هي جمع البيانات وتنظيفها ومعالجتها، وتحتاج في هذا المشروع بالذات للبحث عن مجموعة بيانات جاهزة تحتوي على الكلمات بمرادفاتها في اللغات المختلفة مع أمثلة للكلمة في سياقات حديثية عديدة بكل لغة، ثم تعالج هذه البيانات بالبحث فيها عن الترجمات الناقصة أو المفقودة، ثم تترجمها بنفسك. بعد ذلك تختار منهجية الترجمة ونقترح عليك منهجية الترجمة الآلية العصبية Neural Machine Translation (NMT) لدقة عالية في الترجمة، ومن بعد ذلك تكتب خوارزميات النموذج التي ستتدرب على البيانات، ثم تمنح مجموعة البيانات للنموذج ليتدرب عليها، وتجدر الإشارة لأنَّ هذا المشروع هو من مشاريع الذكاء الاصطناعي التي تتطلب الكثير من الموارد الحاسوبية وقدرات معالجة قوية قادرة على التدرب على البيانات الضخمة. ثم ما إذا انتهى النموذج من التدرب على البيانات يمكنك اختبار دقته في الترجمة بين اللغات المختلفة. مشاريع ذكاء اصطناعي في مجال الرؤية الحاسوبية يعد مجال الرؤية الحاسوبية Computer Vision أحد المجالات الحيوية من مجال الذكاء الاصطناعي ويمكن تنفيذ العديد من مشاريع الذكاء الاصطناعي التي تستفيد من قدرة الآلات على تفسير الصور ومقاطع الفيديو وسائر المرئيات والتعرف على محتوياتها مثل تطبيقات التعرف على الوجوه والتعرف على الأشياء وتتبع الحركة، كما تدخل فيه تطبيقات أعقد من ذلك، مثل أنظمة السيارات ذاتية القيادة، وأنظمة الروبوتات، وغيرها. ومن مشاريع الذكاء الاصطناعي المهمة لمهندسي الرؤية الحاسوبية: مشروع التعرف على الوجوه بالذكاء الاصطناعي. مشروع ذكاء اصطناعي لتتبع الأشياء المرئية. مشروع سيارة ذاتية القيادة. وإليك شرحًا أوفى عن كل مشروع من هذه المشاريع وطريقة تنفيذه. 1. نظام التعرف على الوجوه بالذكاء الاصطناعي مستوى الصعوبة: سهل. يعد نظام التعرف على الوجوه مشروع ذكاء اصطناعي للمبتدئين، وتدور فكرة المشروع حول تطوير برنامج يمكنه تحديد الوجوه في الصور والتعرف على أصحابها، وذلك باستخدام تقنيات تعلم الآلة وتقنيات الرؤية الحاسوبية. في أولى الخطوات وهي خطوة جمع البيانات نجد صور المشاهير خيارًا جيدًا لتدريب النموذج عليها، إذ تتوفر صورٌ لهم من زوايا مختلفة عبر الإنترنت، فيمكنك تحميل مجموعة من الصور لكل شخص وتصنيفها داخل مجموعة البيانات حيث تكون جميع صور الشخص تحت تصنيفٍ باسمه، ثم بعد ذلك تبني النموذج باستخدام المكتبات وأطر العمل الجاهزة، مثل مكتبة face_recognition في لغة بايثون. ثم تسمح للنموذج بالتدرب على البيانات والتعرف على الوجوه وتحديد أصحاب هذه الوجوه، ثم إذا ما انتهى من التدرب على مجموعة البيانات يمكنك اختباره على صورٍ غير الموجودة في مجموعة البيانات لنفس الأشخاص الذين كانوا فيها. طالع المزيد عن أنظمة التعرف على الوجوه بقراء مقال إعداد شبكة عصبية صنعية وتدريبها للتعرف على الوجوه. 2. مشروع ذكاء اصطناعي لتتبع الأشياء المرئية مستوى الصعوبة: متوسط. يشير نظام تتبع الأشياء المرئية إلى نظام برمجي يستخدم الذكاء الاصطناعي للتعرف على الأشياء المختلفة في مقاطع الفيديو وتتبعها، كالتعرف على السيارات وتتبعها في أنظمة الرادارات، والتعرف على الأجساد البشرية وتتبعها في أنظمة كاميرات المراقبة. نبدأ تطوير النموذج بجمع مقاطع للأشياء المرئية التي تود تتبعها، مثل مقاطع متعددة لسياراتٍ تجري على طريقٍ سريع، مع إضافة مربعات حول الأشياء المراد تتبعها في مقاطع الفيديو، ثم تطور نموذجك بإحدى المنهجيتين YOLO أو SSD، ثم تمنح النموذج مجموعة البيانات ليتدرب عليها ويحاول التعرف على الأشياء الموجودة في مقطع الفيديو وتتبع الشيء المطلوب منه تتبعه، ثم تختبر النموذج. 3. مشروع سيارة ذاتية القيادة مستوى الصعوبة: متقدم. يعد بناء نظام لسيارة ذاتية القيادة أمرًا صعبًا، نظرًا لتعقيد هذه الأنظمة وكثرة وظائفها وخواصها، ولكنه مشروعٌ تتعلم منه الكثير، وتتضمن أنظمة السيارات ذاتية القيادة أنظمة تتبع للأشياء، كما تتضمن أنظمة لرسم الخرائط وتحديد الطرق. تمر خلال مشروع تطوير نظام سيارة ذاتية القيادة بمراحلٍ ثلاث: الإدراك: تعمل في هذه المرحلة على بناء النظام الإدراكي للسيارة، والذي يساعدها على رسم الخرائط ثلاثية الأبعاد للمكان المحيط، ويساعدها على التقاط صور للطريق ومعرفة الأشياء أمامها، وكذلك يتضمن النظام الإدراكي نظامًا لتحديد السرعة والمسافة، ويعمل أيضًا على معرفة معلومات عامة عن الموقع المحيط باستخدام نظام تحديد الموقع العالمي GPS. تخطيط المسار: تبني لنظام السيارة ذاتية القيادة في هذه المرحلة نظامًا داخليًا لرسم الخرائط عالية الجودة، ونظامًا لتحديد أفضل المسارات وأسرعهم للسير فيه مع النظر للظروف الحالية من أجواءٍ وغيرها، كما نُعلِّم النظام كيفية تجنُّب الحواجز من بشرٍ وسياراتٍ أخرى وغيرها من الحواجز. اتخاذ القرارات: نجعل النظام قادرًا على السير في المسار الذي خططه قبلًا، ونزده بنظام توقعٍ لحركات المركبات المجاورة، ونحرص في هذه المرحلة على تطوير منطق اتخاذ القرارات التي تؤدي إلى سلامة وأمان الراكب والسيارة. مشاريع ذكاء اصطناعي في مجال برمجة الروبوتات تشير برمجة الروبوتات Robotics Programming إلى عملية استخدام إحدى لغات برمجة الروبوتات لتطوير النظام الذي يستطيع به جسد الروبوت أن يبدأ في تنفيذ مهامه، وتساعد برمجة الروبوتات الروبوت على أن يدرك بيئته، ويضع خططًا، ويتخذ قراراتٍ، وينفذ مهامًا، فمثلًا عند تطوير روبوت للتنقل الأرضي نحتاج إلى تزويد نظامه بخوارزميات الرؤية الحاسوبية التي تسمح له بالإدراك والتعرف على الأشياء من حوله، كما نحتاج إلى جعل النظام قادرًا على رسم خرائط، ويحتاج أيضًا إلى خوارزميات لتخطيط مسارٍ والسير فيه، وخوارزميات للتحكم في محركاته وأجزائه الفيزيائية، وغيرها. ومن أهم مشاريع برمجة الروبوتات: مشروع تحريك ذراع روبوت في مسار محدد. مشروع مساعدة روبوت على تجنب العقبات. مشروع روبوت يتفاعل مع البيئة ويتعلم ويتطور باستقلالية. وإليك المزيد حول كل مشروع من هذه المشاريع الذكية. 1.مشروع لتحريك ذراع الروبوت في مسار محدد مستوى الصعوبة: سهل يهتم هذا المشروع بتطوير خوارزمية لذراع الروبوت تجعله قادرًا على التحرك في مسار محدد مسبقًا لحمل شيء من مكان إلى آخر، ونرى تطبيقات هذا المشروع بكثرة في المصانع المعتمدة كليًا أو جزئيًا على الآلات في تصنيع منتجاتها، إذ تتواجد فيها أذرع روبوتات تنقل المنتجات وتدخلها وتخرجها من آلات التصنيع، ثم تغلفها وتجعلها جاهزة للبيع. تحتاج أولًا في هذا المشروع إلى ذراع روبوت لتطور الخوارزمية له وتختبرها عليه، فما إن حصلت عليه فابدأ بفحصه وتعرف على مواصفاته وعدد مفاصله والنطاق الحركي لكل مفصل، وتعرف على سائر المستعشرات المدمجة فيه، ثم ابدأ بتحديد المسار المناسب للذراع بناءً على هذه المواصفات، وبعد ذلك ابدأ في تحويل هذا المسار إلى شيفرات برمجية تساعد الذراع على التحرك حركةً بحركة، وحدد سرعة تنفيذ كل حركة في المسار، ثم ثبت النظام على ذراع الروبوت واختبر مدى دقته في التحرك من مكان إلى آخر. 2. مشروع مساعدة روبوت على تجنب العقبات مستوى الصعوبة: متوسط يهدف مشروع تطوير نظام يساعد الروبوت على تجنب العقبات إلى تمكين الروبوت من التحرك الحر في بيئة مع تجاوز العقبات المختلفة وعدم الاصطدام بها. يعتمد هذا المشروع على كتابة خوارزميات لمستشعرات الروبوت، ونمر فيه بثلاث خطوات، أمَّا الأولى فهي تحصيل المستشعرات وبرمجتها بحيث يعرف الروبوت من خلالها ما حوله من مرئيات وماديات، ويتعرف على العقبات المحتملة في طريقه، وأمَّا الخطوة الثانية فهي تحديد الخوارزمية المناسبة للنظام حسب حجم الروبوت والهدف منه وسرعته، وتختار بين الخوارزميات الثلاث: خوارزمية متابعة الحائط Wall-Following أو خوارزمية الميادين المحتملة Potential Fields أو خوارزميات الأخطاء Bug Algorithms، وهذه الخوارزميات مسؤولة عن رسم مسار الروبوت وتجنب العقبات أثناء السير في المسار، وأمَّا الخطوة الثالثة والأخيرة هي اختبار النظام على روبوت حقيقي ومراقبة مدى كفاءته في تجاوز العقبات. 3. مشروع روبوت يتفاعل مع البيئة ويتعلم ويتطور باستقلالية مستوى الصعوبة: متقدم يعد نظام روبوت يتفاعل مع البيئة ويتعلم ويتطور باستقلالية واحدًا من أهم وأصعب مشاريع الذكاء الاصطناعي وبرمجة الروبوتات، وكما يتضح من اسم المشروع فإنَّ الهدف منه هو تطوير نظام روبوت يدرك البيئة المحيطة به ويفهم ماهية الأشياء من حوله، ويستطيع أن يتعامل مع المهام المختلفة في مجال محدد ويعالجها، ويتمكن كذلك من التعلم المستمر عن المجال الخاص به والتطور وزيادة القدرة على تنفيذ المهام المتنوعة. تحتاج أولًا إلى جسد روبوت لتنفيذ هذا المشروع، فإذا ما حصلت عليه فابدأ بتطوير المهام الأساسية للروبوت، بدءًا من التعرف على الأشياء والتقاطها، مرورًا بتخطيط المسارات، وصولًا إلى تخطي العقبات، وغيرها من المهام الأساسية للروبوت، وبعد ذلك طوِّر النظام الحركي للروبوت وطوِّر كذلك النظام الإدراكي له، والذي يساعده على معرفة الأشياء في البيئة حوله والتفاعل معها. ابدأ بعد ذلك في تطوير خوارزميات تعلم الآلة الخاصة بالروبوت، ونقترح عليك تطويرها بنهج التعلم المعزز Rainforcement Learning، وزوِّد الروبوت بمجموعات ضخمة من البيانات التي تضم معلومات عن المجال التي تود من الروبوت فهمه بعمق وإتقانه، وغالبًا ما تأخذ هذه المرحلة من تطوير الروبوت الوقت الأطول، ولكنها ضرورية لتمكين الروبوت من فهم المجال المختار جيدًا وتعلمه دون الحاجة إلى إشراف بشري، فإذا ما أنهيتها فأعطِ الروبوت مهامًا في هذا المجال لاختباره وتحديد مدى دقته ومدى نجاح المشروع. تنفيذ مشاريع الذكاء الاصطناعي بلغة البايثون إذا كنت تتساءل ما هي أفضل لغة برمجة لتنفيذ مشاريع الذكاء الاصطناعي فإننا ننصحك باعتماد لغة بايثون فهي تعد لغة رائدة في مجال الذكاء الاصطناعي وتسهل عليك تنفيذ مشاريعك لما تتضمنه من مكتبات وأطر عمل ذكاء اصطناعي قوية من أبرزها: تنسرفلو (TensorFlow) بايتورش (PyTorch) كيراس (Keras) نومباي (NumPy) سايباي (SciPy) سكيت-ليرن (Scikit-learn) بلوتلي (Plotly) ماتبلوتليب (Matplotlib) وإن أردتَّ التعرف على مزيد من مشاريع الذكاء الاصطناعي غير المذكورة في هذا المقال بلغة بايثون فيمكنك الاطلاع على كتب الذكاء الاصطناعي المتنوعة التي توفرها أكاديمية حسوب مجانًا، وأهمها كتاب عشرة مشاريع عملية عن الذكاء الاصطناعي. وإن كنت مهتمًا بالتأسيس السليم في مجال الذكاء الاصطناعي والتعلم على يد خبراءٍ في المجال، مع التطبيق العملي المستمر على كل مصطلح من مصطلحات الذكاء الاصطناعي ننصحك بمطالعة دورة أكاديمية حسوب في الذكاء الاصطناعي، والتي تُحدَّث دوريًا بالمصطلحات والمفاهيم الجديدة في مجال الذكاء الاصطناعي وتساعدك على تنفيذ العديد من مشاريع الذكاء الاصطناعي العملية المفيدة والتي توائم متطلبات سوق العمل. دورة الذكاء الاصطناعي احترف برمجة الذكاء الاصطناعي AI وتحليل البيانات وتعلم كافة المعلومات التي تحتاجها لبناء نماذج ذكاء اصطناعي متخصصة. اشترك الآن اقرأ أيضًا دليلك الشامل لتعلم الذكاء الاصطناعي تطبيقات الذكاء الاصطناعي اسأل مهندس الذكاء الاصطناعي: أسئلة شائعة حول الذكاء الاصطناعي تطوير تطبيق 'اختبرني' باستخدام ChatGPT ولغة جافاسكربت مع Node.js بناء تطبيق بايثون يجيب على أسئلة ملف PDF باستخدام الذكاء الاصطناعي أهم مصطلحات الذكاء الاصطناعي للمبتدئين
  10. مع التطور المستمر في مجال الذكاء الاصطناعي يزداد استخدامنا لمفردات ومصطلحات الذكاء الاصطناعي بشكل كبير، وتظهر مصطلحات جديدة باستمرار، وقد تكون بعض هذه المصطلحات صعبة ومربكة لا سيما لغير المختصين والمبتدئين في تخصص الذكاء الاصطناعي، وسنحاول في مقال اليوم شرح أهم هذه المصطلحات بأسلوب سهل ومبسط يساعد على فهمها بسلاسة. هيا بنا نتعلم أهم مصطلحات الذكاء الاصطناعي. الذكاء الاصطناعي Artificial Intelligence (AI) لنبدأ بتوضيح مفهوم الذكاء الاصطناعي نفسه، الذي يشير إلى قدرة الأنظمة الحاسوبية على تنفيذ مهام لم يكن يقدرعلى تنفيذها سابقًا سوى البشر، ومن هذه المهام التفكير المنطقي واتخاذ القرارات وحل المشكلات وصار بمقدور الآلات فهم الكلام الطبيعي الذي ننطقه نحن البشر بمختلف لغاته ولهجاته. تتعدد الأمثلة على الذكاء الاصطناعي وتزداد تطبيقاته في حياتنا يومًا بعد الآخر، ولعل أبرزها روبوت الدردشة الشهير شات جي بي تي ChatGPT الذي يستخدم الذكاء الاصطناعي لتوليد النصوص والرد على الاستفسارات، ومنها ترجمة جوجل التي تستخدم خوارزميات ذكية لترجمة الكلام من لغة لأخرى وتمييز الحديث الصوتي وترجمته، ومن أمثلة الذكاء الاصطناعي أيضًا نظام الاقتراحات في منصة يوتيوب الشهيرة، إذ تقترح عليك مقاطع مناسبة لتفضيلاتك باستخدام خوارزميات الذكاء الاصطناعي، ومثالٌ آخر شائع على الذكاء الاصطناعي سيارات تيسلا ذاتية القيادة وغيرها من الاستخدامات العديدة الأخرى التي باتت بمتنناول الجميع. تعلم الآلة Machine Learning إنَّ الذكاء الاصطناعي مجال شامل يتفرع منه مجالاتٌ عديدة، ومن بين هذه المجالات وأشهرها مجال تعلم الآلة، وهو مجال يجعل الأنظمة الحاسوبية قادرة على التعلم وتحسين قدراتها على اتخاذ القرارات وإصدار النتائج دون الحاجة إلى برمجتها بصورة صريحة، فكما نتعلم نحن البشر من والمعارف والخبرات والتجارب السابقة التي نخوضها يمكن للأنظمة الحاسوبية أيضًا أن تستفيد من البيانات السابقة وتحللها لتحسين أدائها وتعزيز فعاليتها مع الوقت. لذا يعمل مهندسو الذكاء الاصطناعي على تطوير خوارزميات تعلم آلة تحلل البيانات وتكتشف الأنماط بينها، ثم تتعلم منها وتبدي توقعاتٍ وتستنتج استنتاجاتٍ مفيدة بناءً على هذه البيانات، وتدخل تقنيات تعلم الآلة في غالبية تطبيقات ومشاريع الذكاء الاصطناعي، بدءًا من التعرف على الكلام وتمييزه ومعالجته، مرورًا بالتعرف على الصور، وصولًا لأنظمة التوصية والترشيح، وتطبيقاتٍ أخرى مثل أنظمة كشف الاحتيال وأدوات تحسين معرض الأعمال وأنظمة السيارات ذاتية القيادة وغيرها. التعلم مع إشراف Supervised Learning يعد التعلم تحت الإشراف منهجية من منهجيات تعلم الآلة، وفيه تتدرب فيها خوارزميات الذكاء الاصطناعي على مجموعة بياناتٍ مُصنَّفة، أي مجموعة بيانات تحتوي على أمثلة من المدخلات والمخرجات الصحيحة التي يجب أن تخرج بها الخوارزميات من هذه البيانات المدخلة. على سبيل المثال، إذا أردنا تطوير خوارزمية تتعرف على الأشجار باستخدام التعلم تحت الإشراف، فعلينا أن نمنح الخوارزمية مجموعة من صور الأشجار المتنوعة مع اسم كل نوع من الأشجار (نخيل، زيتون، رمان، تفاح) ثم نسمح للخوارزمية بمحاولة اكتشاف صفات وسمات كل شجرة، ثم نأتي بصورٍ لأشجار ضمن البيانات المعطاة للخوارزمية ونسألها عن نوع الشجرة، فإن أجابت الخوارزمية إجابة صحيحة بناء على ما اكتسبته من معلومات خلال فترة تدريبها سنبدأ بعدها بتجارب تحديد أنواع الأشجار خارج البيانات التي تتدربت عليها، وإن لم تجب إجاباتٍ صحيحة كافية فنحتاج تدريبها على مجموعة أكبر من البيانات المُصنَّفة وتعديل الخوازرميات المستخدمة لتحقق لنا الدقة المطلوبة. التعلم بدون إشراف Unsupervised Learning يشير التعلم بدون إشراف إلى منهجية أخرى من منهجيات التعلم الآلي، وعلى عكس التعلم تحت إشراف فإنَّ خوارزميات الذكاء الاصطناعي المطورة بمنهجية التعلم بدون إشراف تتدرب على بيانات غير مُصنَّفة، وتحاول تصنيفها ذاتيًا بناءً على المتشابهات والفروق بين البيانات، ففي مثال تحديد نوع الشجرة إذا أردنا تطوير الخوارزمية بمنهجية التعلم بدون إشراف، فلن نعطي للخوارزمية في هذه الحالة أسماء الأشجار ولن نصنف كل نوع من الأشجار معًا، وإنما نمنح الخوارزمية الصور فقط، ثم تسعى الخوارزمية بنفسها لتصنيف كل مجموعة من الأشجار إلى أنواعٍ حسب أشكال الشجر وأحجام الورق وغيرها من المتشابهات والفروق، ويُستخدم التعلم بدون إشراف بشكلٍ أكبر في مهام المعالجة الثقيلة التي تحتاج تصنيف وترتيب البيانات ضخمة الأحجام غير المنظمة والمنسقة. التعلم المعزز Reinforcement Learning يقع التعلم المعزز ضمن منهجيات تعلم الآلة، وتعتمد منهجية التعلم المعزز على التجربة والخطأ والمكافأة، حيث تتخذ الخوارزمية القرار على القرار السابق له، فنحن نعطيها مكافأة إذا أجابت بشكل صحيح، وعقابًا إذا أجابت بشكل خاطئ وبهذا نمنحها فرصة تعزيز النتائج الصحيحة وتجنب الأخطاء حيث ستزداد المكافأة في حال أصابت في اتخاذ القرار، وستقل في حال أخطأت. ويشيع استخدام التعلم المعزز في لعبة الشطرنج، فهو يُستخدم لتدريب برامج الشطرنج وتحسين مستواها مثل برنامج ستوك فيش Stockfish وألفا زيرو Alphazero حيث تتعلم برامج الشطرنج هذه قواعد الشطرنج كاملةً عبر لعب ملايين المباريات عبر نفسها والتجربة والخطأ والمكافأة حتى تتعلم اتخاذ أذكى القرارات وحساب جميع الاحتمالات دون تدخل بشري. الشبكات العصبية الاصطناعية Artificial Neural Network تعد الشبكات العصبية الاصطناعية ANN نماذج رياضية مستوحاة من التركيب العصبي لدماغ الإنسان وتحاكي وظائفه، وتتكون من عقد مترابطة تعالج البيانات وتتعلم منها وتكتشف الأنماط بينها، يتم تدريب الشبكة العصبية بداية باستخدام مجموعة من البيانات التي تحتوي على مدخلات معروفة والمخرجات المطلوبة منها وخلال عملية التدريب، تقوم الشبكة بضبط نفسها لتقليل الخطأ وتحسين أدائها، وبعد التدريب، يمكن للشبكة العصبية أن تقوم بالتنبؤ بالنتائج أو تصنيف البيانات الجديدة التي لم تُستخدم في التدريب وتعالج المدخلات الجديدة من خلال طبقاتها المختلفة لتوليد نتائج دقيقة. تقوم على الشبكات العصبية الاصطناعي مجالات مثل تعلم الآلة، وتتعلم هذه الشبكات العصبية الاصطناعية معالجة البيانات وتفهمها وتدركها باستخدام المنهجيات المذكورة آنفًا مثل التعلم تحت إشراف والتعلم بدون إشراف والتعلم المعزز. التعلم العميق Deep Learning يعد مجال التعلم العميق أحد المجالات الفرعية من مجال تعلم الآلة، ويختلف التعلم العميق عن تعلم الآلة في أمورٍ قليلة، منها قدرة خوارزميات التعلم العميق على التعلم من البيانات غير المنظمة، كما يمكنها التعلم من البيانات مختلفة الأنواع مثل النصوص والصور، وكذلك يتميز التعلم العميق بقلة الحاجة للتدخل البشري على عكس تعلم الآلة، وذلك لاعتماده على شبكات عصبية اصطناعية ANN مكونة من عدة طبقات تعالج البيانات وتنقلها، والشبكة العصبية الاصطناعية هي مجموعة من الخلايا المتصلة ببعضها بعضًا، وتتشابه مع الخلايا العصبية في أدمغتنا البشرية، وكلما زاد عدد طبقات الشبكة الاصطناعية ازدادت قدرتها على فهم وتمثيل الأنماط المعقدة للبيانات، ما يؤدي كذلك إلى ازداد تطبيقات الشبكة العصبية في مجالات عديدة، مثل التشخيص الطبي وكشف الاحتيال. معالجة اللغات الطبيعية Natural Language Processing (NLP) حينما صار التعامل مع الحواسيب والأجهزة الرقمية جزءًا لا يُجتزأ من حياتنا أصبح من الضروري أن نساعد هذه الآلات على فهم لغاتنا، ظهر هاهنا مجال معالجة اللغات الطبيعية، وهو مجال فرعيٌّ من الذكاء الاصطناعي يختص بتمكين الحواسيب من تمييز الخطابات والكلام واللغات البشرية وفهمها، سواءً كان هذا الكلام مكتوبًا أو منطوقًا. تتعدد تطبيقات معالجة اللغات الطبيعية، ومن أهمها: روبوتات الدردشة التي اشتهرت شهرة واسعة في الآونة الأخيرة مثل جيميني Gemini وشات جي بي تي ChatGPT، وأدوات الترجمة الآلية مثل ترجمة جوجل، والمساعدين الآليين مثل أليكسا Alexa ومساعد جوجل Google Assistant وسيري Siri. الذكاء الاصطناعي التوليدي Generative AI يشير الذكاء الاصطناعي التوليدي إلى نماذج الذكاء الاصطناعي القادرة على توليد صور ومقاطع فيديو وشيفرات ونصوص مُنسَّقة ذات مغزى ومعنى مفهوم، وتتعدد الأمثلة على الذكاء الاصطناعي التوليدي، ومنها روبوتات الدردشة المذكورة سابقًا، وأدوات توليد شيفرات برمجية مثل جيتهاب كوبايلوت GitHub Copilot، وأدوات توليد الصور مثل DALL-E وميد جورني Midjourney، وأخيرًا أدوات توليد مقاطع الفيديو مثل سورا Sora من شركة OpenAI القادر على توليد مقاطع فيديو مذهلة! النماذج اللغوية الكبيرة Large Language Models تعد نماذج اللغة الكبيرة Large Language Models (LLMs)‎ نوعًا من خوارزميات الذكاء الاصطناعي التي تعمل على تزويد الشبكات العصبية الاصطناعية بمعاملات Parameters ومعلومات، لتعالجها الشبكات العصبية الاصطناعية وتتعلم منها كلام البشر وكيفية فهمه، ويتم ذلك باستخدام تقنيات التعلم تحت إشراف Supervised Learning، ومن أشهر تطبيقات نماذج اللغة الكبيرة روبوتات الدردشة وأدوات الترجمة والتلخيص وأدوات توليد الصور من النصوص. الرؤية الحاسوبية Computer Vision تعد الرؤية الحاسوبية مجالًا فرعيًا من الذكاء الاصطناعي، ويهتم مجال الرؤية الحاسوبية بتمكين النظام الإلكتروني من محاكاة النظرة البشرية إلى المرئيات، فيستطيع النظام استخراج معاني ذات فائدة من الصور ومقاطع الفيديو، ويتمكن من فهم ما يوجد في الصورة وما يجري في مقطع الفيديو. تكثر تطبيقات الرؤية الحاسوبية، وتبدأ من أنظمة التعرف على الوجوه وتحديد الأشخاص، وتضم أنظمة السيارات ذاتية القيادة، وتمر على أنظمة الروبوتات، وتدخل في أنظمة اكتشاف عيوب الصناعة، وتصل إلى أنظمة التحليل الرياضي، وتنتهي بأنظمة الكشف عن الأدوية والعلاجات الطبية. الأنظمة الخبيرة Expert Systems تعد الأنظمة الخبيرة نوعًا مهمًا جدّا من أنظمة الذكاء الاصطناعي، إذ تعمل هذه الأنظمة الخبيرة على محاكاة المهارات الإنسانية في مجال محدد حتى تكون خبيرةً في هذا المجال وتستطيع حل مشكلاته والمساعدة فيه. بداية تجمع المعرفة من الخبراء البشريين في مجال معين، وما نعنيه بالمعرفة هنا قواعد وأمثلة وحالات سابقة، ثم تخزن هذه المعرفة في شكل قواعد أو نماذج في قاعدة بيانات النظام الخبير بحيث يمكن للنظام استرجاعها واستخدامها لحل المشكلات. وعندما يواجه المستخدم مشكلة ما في مجال معين، يمكنه إدخال التفاصيل إلى النظام الخبير ليستخدم بدوره المعرفة المخزنة لمعالجة البيانات المدخلة من المستخدم وتقديم توصيات وحلول. ومن أشهر الأنظمة الخبيرة نظام Dendral المستخدم في التحليل الكيميائي، ونظام MYCIN المستخدم في التشخيص الطبي، وتتميز الأنظمة الخبيرة بالمعارف الواسعة المحفوظة والتي لا يقدر الإنسان على تخزينها وبالتواجد الدائم والقدرة على العمل في كل وقت، ومن مميزاتها أيضًا توفير كثيرٍ من التكاليف والقدرة على التوسع. علم الروبوتات أو الروبوتيكس Robotic يشير مصطح الروبوتيكس إلى تصميم وبناء الروبوتات وهي آلات مبرمجة تؤدي نفس المهام التي تُنفذ عادة من قبل البشر. وتُستخدم هذه الروبوتات في العديد من الصناعات مثل تصنيع السيارات والطب والتنظيف وفي بيئات العمل الخطرة على البشر. ويجمع هذا المجال بين الهندسة الميكانيكية والكهربائية والتقنية. ومن المهم أن تفرق بين هذه الروبوتات التقليدية وبين برامج الروبوتات التي تعني برامج حاسوبية تنفذ المهام بشكل مستقل بذاتها مثل روبوتات الدردشة التي تتفاعل مع المستخدمين وتجيب على تساؤلاتهم والتي لا تمتلك هيكلًا ماديًا بل برمجيًا فحسب. هندسة المُوجِّهات Prompt Engineering تعد هندسة المُوجِّهات Prompt Engineering أحد أكثر المصطلحات المرتبطة بالذكاء الاصطناعي شيوعًا اليوم، وهي تشير إلى عملية صياغة الأوامر المعطاة إلى روبوتات الذكاء الاصطناعي بطريقة تساعد على تحصيل النتائج المرجوة، والجدير بالذكر أنها ليست من جوهر مصطلحات الذكاء الاصطناعي نفسه، وإنما هي عملية للمستخدمين لتحسين تعاملهم مع الذكاء الاصطناعي والنتائج التي يوفرها لهم. ويجب أن يهتم المستخدمون بصياغة المُوجِّهات بأفضل طريقة من خلال توفير كافة التفاصيل اللازمة مع الحرص على اختزالها وتوضيحها قدر المستطاع وكتابة الموجه بصيغة الإيجاب لا النفي، فبدلًا من كتابة "اكتب مقالًا عن تأثيرات التعلم العميق ولا تذكر مجالات لا تخص الطب"، على سبيل المثال يمكن كتابة "اكتب مقالًا قصيرًا عن تأثيرات التعلم العميق في الطب والصناعات الدوائية، وضمِّن فيه أمثلة على التأثيرات في كل مجال منهم"، فهنا قد حددت حجم المقال والعناصر المحددة التي تود أن يكتب النموذج اللغوي عنها، وحددت أنَّك تريد المقال مزودًا بالأمثلة، على عكس الأمر الأول الذي كان أمرًا عامًا لن يجيبك عليه روبوت الدردشة بإجابةٍ ملائمةٍ دقيقةٍ وافية. تقنية الصقل Fine-Tuning الصقل Fine-Tuning واحد من مصطلحات الذكاء الاصطناعي الشائعة اليوم، وهي تعني تعديل نموذج ذكاء اصطناعي مدرب مسبقًا على كميات ضخمةمن البيانات، وجعله يتكيف مع مهام معينة أو بيانات جديدة. فبدلاً من بدء التدريب من الصفر، يستخدم نموذج مُدرب بالفعل لكن هذه المرة باستخدام بيانات جديدة ومخصصة للمهمة المطلوبة مما يوفر الكثير من الوقت والجهد مقارنة بالتدريب من البداية. على سبيل المثال، إذا كان لديك نموذج مدرب على فهم اللغة العامة مثل GPT-4، يمكنك استخدام تقنية الصقل لتكييف هذا النموذج مع مجال أو تخصص بعينه، مثل الطب أو الاقتصاد وتدريبه على بيانات محددة تتعلق بذلك التخصص فقط، لتجعل النموذج أكثر فعالية في تنفيذ المهام الخاصة بك والإجابة على أسئلتك بدقة وكفاءة أكبر. التحيز Bias يشير مصطلح التحيز في الذكاء الاصطناعي إلى النتائج المنحرفة أو الخاطئة من أدوات الذكاء الاصطناعي، والتي تنعكس غالبًا من الانحياز في البيانات التي تدرب عليها نموذج الذكاء الاصطناعي، وتظهر مخاطر الانحياز في مجالات حساسة مثل التوظيف والتعليم والقضاء، فيمكن للخوارزميات المتحيزة أن توصي برفض توظيف شخصٍ كفؤ لا لشيءٍ إلا لجنسيته أو لجنسه مثلًا، وكذلك في القضاء ربما توصي بحكمٍ ظالمٍ على شخصٍ لهيئته فقط. تتعدد حلول التحيز في الذكاء الاصطناعي، ومنها مثلًا تنويع مصادر البيانات وتحديد مبادئ أخلاقية لنموذج الذكاء الاصطناعي، والتدقيق المنتظم للنموذج وحل تحيزاته، والشفافية مع النموذج وتعريفه معاني التحيز وأمره بتجنبها. هلوسة الذكاء الاصطناعي AI Hallucination تشير هلوسة الذكاء الاصطناعي إلى توليد الذكاء الاصطناعي لمعلوماتٍ خاطئةٍ وعرضها كأنَّها حقائق مُسلَّمة، وغالبًا ما تحدث هذه الهلوسات لقصورٍ أو قِدَمٍ في البيانات التي تدربت عليها الخوارزمية أو النموذج، وتتعدد أشكال الهلوسة في الذكاء الاصطناعي، فقد يخطئ في حدثٍ تاريخي حيث أخطأ روبوت الدردشة بارد Bard -وهو النسخة السابقة من جوجل جيميني- عن سؤاله عن أول صورة لكوكب خارج المجموعة الشمسية، فأجاب أنَّ أول صورة لكوكب خارج المجموعة الشمسية التُقِطَت باستخدام تيليسكوب جيمس ويب، وهذا غير صحيح، فأول صورةٍ ملتقطة لكوكب خارج المجموعة الشمسية كانت عام 2004، بينما أُطلِق تيليسكوب جيمس ويب عام 2021. كذلك من هلوسات الذكاء الاصطناعي تلفيق المعلومات، فيمكنه توليد معلومات عن أناسٍ لا وجود لهم، ويقدم هذه المعلومات على أنها حقائق لا جدال فيها، ومن هلوسات الذكاء الاصطناعي توليده لمعلومات كاذبة عن أشخاص حقيقيين، على سبيل المثال قال ChatGPT ذات مرة أنَّ عمدة أستراليا كان مدانًا في قضية رشوة في أواخر التسعينات، بينما كان في الواقع هو المُبلِّغ عنها. قابلية التفسير والشرح Interpretability and Explainability تشير قابلية التفسير Interpretability إلى فهم الأسباب وراء التوقعات والنتائج المُولَّدة من نموذج الذكاء الاصطناعي فإذا كان لدينا نموذج ذكاء اصطناعي يتنبأ بإمكانية إصابة شخص بمرض معين، فإن قابلية التفسير تعني القدرة على معرفة العوامل التي أثرت في هذا التنبؤ مثل العمر والتاريخ الطبي ونمط الحياة …إلخ. بينما تشير قابلية الشرح Explainability إلى مدى سهولة شرح كيفية عمل نموذج الذكاء الاصطناعي وهي تفيد المطورين في شرح آلية عمل النموذج للآخرين، سواء كانوا خبراء في المجال أو غير خبراء، ويساعد الفهم العميق لنموذج الذكاء الاصطناعي على معرفة نقاط قوة وقصور النموذج، وبالتالي تحسين أدائه وزيادة دقته وفعاليته وحل مشكلاته وقصوره من هلوسة وتحيز وغيرها، وعمومًا يُستخدم المصطلحان بالتبادل في أحيان كثيرة. مصادر لتعلم مصطلحات الذكاء الاصطناعي إذا كنت مهتمًا بالتعرف على مفاهيم ومصطلحات الذكاء الاصطناعي بشكل احترافي ودمجها في تطبيقات عملية مفيدة ومطلوبة في سوق العمل، ننصحك بالاطلاع على مصادر التعلم المتنوعة، مثل دروس ومقالات الذكاء الاصطناعي، إلى جانب كتب الذكاء الاصطناعي المجانية المشروحة بأسلوب منظم وشامل يتضمن كمًا وافرًا من المفاهيم النظرية والعملية التي تحتاجها كي تتعلم الذكاء الاصطناعي. كما توفر أكاديمية حسوب دورة الذكاء الاصطناعي التي تُعد واحدة من أفضل الدورات العربية في هذا المجال. إذ تبدأ الدورة معك من الصفر وتعلمك أساسيات البرمجة وتحليل البيانات، وخوارزميات الذكاء الاصطناعي، ومفاهيم تعلم الآلة، والتعلم العميق، والشبكات العصبية وغيرها من المفاهيم، وتكامل بين الشرح النظري والتطبيق العملي من خلال مشاريع حقيقية تتوافق مع احتياجات سوق العمل، كما تمنحك شهادة معتمدة تعزز حصولك على فرصة عمل مناسبة خلال زمن قياسي. الخلاصة تحدثنا في مقال اليوم عن أهم مصطلحات الذكاء الاصطناعي وأكثرها شهرة، فبدأنا بالحديث عن ماهية الذكاء الاصطناعي ومجالاته، ثم انتقلنا للحديث عن بعض تطبيقاته، وكذلك عرفنا مصطلحات تتعلق بتحديات تطبيق واستخدام الذكاء الاصطناعي من هلوسةٍ وتحيز وقابلية للشرح والتفسير، وننوه في الختام لأن فهم هذه مصطلحات الذكاء الاصطناعي هذه لم يعد حكرًا على التقنيين والمتخصصين في المجال، بل أصبح ضرورة لكل شخص يسعى لمواكبة التطور التقني. وإذا كان لديك التباسٌ في فهم أي مصطلح من مصطلحات الذكاء الاصطناعي لا تتردد في السؤال حوله في قسم التعليقات أسفل المقال. اقرأ أيضًا الذكاء الاصطناعي: دليلك الشامل لغات برمجة الذكاء الاصطناعي تعلم الآلة Machine Learning كيف تبدأ في مجال الذكاء الاصطناعي مستقبل الذكاء الاصطناعي
  11. يتصدر الذكاء الاصطناعي اليوم المشهد العالمي، وذلك لأسبابٍ عدة من بينها دخول أدواته وتقنياته في شتى المجالات، ومنها أيضًا أنَّ المجال صار متاحًا للعامة بعدما كان حكرًا على الباحثين والمتخصصين، مما حفز الكثيرين على لدراسة هذا المجال المتطور الذي تزداد أهميته يومًا بعد يوم. في مقال اليوم سنوضح لك ما هو الذكاء الاصطناعي؟ وما طريقة دراسة الذكاء الاصطناعي والعمل فيه؟ وكيف تتعلم الذكاء الاصطناعي من الصفر حتى الاحتراف ما هو الذكاء الاصطناعي؟ يعرف الذكاء الاصطناعي بأنه قدرة الآلة على أداء مجموعة من الوظائف المعرفية المشابهة للوظائف البشرية كالإدراك والتفكير والتعلم والإبداع وحل المشكلات، وقد تطور الذكاء الاصطناعي اليوم على نحو غيرمسبوق وصارت تقنيات الذكاء الاصطناعي وأدواته وتطبيقاته تستخدم في العديد من المجالات وتساعد الأفراد والشركات على حدٍ سواء، فهي تساعد الأفراد على توفير الوقت والجهد وزيادة الإنتاجية بتنفيذ المهام الروتينية بدلًا عنهم، كما تساعد الشركات على رفع مستوى الكفاءة والإنتاجية وزيادة معدل الأرباح، هذا زاد الطلب على المتخصصين في مجال الذكاء الاصطناعي من جهة وزاد من أهمية دراسة الذكاء الاصطناعي من جهة أخرى. إيجابيات دراسة الذكاء الاصطناعي تتعدد إيجابيات دراسة الذكاء الاصطناعي والعمل فيه، ومنها أبرزها نذكر: إن نمو مجال الذكاء الاصطناعي يومًا بعد الآخر توسع تقنياته وتكامله مع تخصصات ومجالاتٍ أخرى عديدة مثل الطب والمواصلات والاقتصاد والترفيه وغيرها، جعله مجالًا آمنًا تعلو فيه فرص التوظيف ودفع الكثير للتوجه نحو دراسته للتآلف مع هذه التقنيات وفهم آلية عملها. توفر دراسة الذكاء الاصطناعي الكثير من فرص العمل في السوق العالمي والعربي، ورغم ما وصل إليه مجال الذكاء الاصطناعي من تطور كبير إلا أنَّه لا يزال في بداياته ولازال عدد دارسيه قليلًا نسبيًا وبالتالي فإن سارعتَ وسابقتَ إلى تعلمه ودراسته الآن ستتاح لك الكثير من الفرص الواعدة والمميزة في المستقبل حينما يزداد المجال توسعًا وطلبًا. تتميز دراسة الذكاء الاصطناعي بالمرونة إذ لا يحتاج مهندس الذكاء الاصطناعي لتأدية مهامه إلا حاسوبه واتصالًا بالإنترنت، وهذا يجعل العمل عن بعد متاحًا في هذا المجال ويوفر لدارسي الذكاء الاصطناعي مرونةً كبيرةً في العمل في أي زمان ومكان. تحديات دراسة الذكاء الاصطناعي لا تخلو دراسة الذكاء الاصطناعي من بعض التحديات من بينها: يعد تخصص الذكاء الاصطناعي من المجالات التقنية المتقدمة والصعبة نسبيًا وهو مرتبط بشكل وثيق بالعديد من المجالات العلمية كالرياضيات والإحصاء وعلوم الحاسوب وعلم البيانات وصولًا إلى علم الأعصاب في تخصصات دقيقة مثل صناعة الروبوتات. ينمو تخصص الذكاء الاصطناعي بشكل مستمر وعلى الرغم من كون النمو المستمر يعد أحد الجوانب الإيجابية لهذا التخصص إلا أنه يتطلب من دراس الذكاء الاصطناعي أن يتعلم كثيرًا وباستمرار نظرًا للتغير المتسارع والمتواصل في المجال وتقنياته، فإن تقاعس متخصص الذكاء الاصطناعي عن مواصلة التعلم فحتمًا سيكون مصيره التقادم والاستغناء عن خدماته. مجالات الذكاء الاصطناعي يعد الذكاء الاصطناعي مجالًا واسعًا ويتضمن تعلمه العديد من التخصصات والمجالات الفرعية، ومن أهم هذه المجالات: تعلم الآلة Machine Learning التعلم العميق Deep Learning معالجة اللغات الطبيعية Natural Language Processing لنتعرف أكثر على كل تخصصٍ على حدة وما المفاهيم التي ستتعلمها فيه. تعلم الآلة Machine Learning يهتم تخصص تعلم الآلة Machine Learning أو ML اختصارًا بتطوير خوارزميات حاسوبية تساعد الآلات على التطور والتحسن تلقائيًا باستخدام البيانات، حيث تساعد هذه الخوارزميات الذكية الحواسيب أو الآلات عمومًا على إنجاز مهام مثل تحليل البيانات والتعلُّم منها واتخاذ قرارات بناءً على هذه التحليلات دون الحاجة إلى تدخل برمجي من المطورين. يكمن الفرق بين تعلم الآلة والبرمجة التقليدية أنَّ البرمجة التقليدية تعتمد على اتباع الحاسوب لمجموعة من الأوامر المتتالية حتى يصل إلى النتيجة النهائية بناءً على هذه الأوامر، أمَّا في تعلم الآلة فيمنح المطورُ للخوارزمية مجموعة ضخمة من البيانات ويمنحها النتائج التي يجب الوصول إليه من هذه البيانات، لتبدأ الخوارزمية في التجربة والتدرب حتى تصل إلى النتيجة المناسبة،. على سبيل المثال لتطوير برنامج ذكي يميز صور القطط باستخدام تعلم الآلة فلن نمنحه المواصفات العامة للقطة، وإنما سنمنحه صورًا لآلاف القطط ليتعلم منها بنفسه مواصفات القطة، ثم يكون قادرًا على التعرُّف على القطط بعد ذلك، وتزداد دقة خوارزميات تعلم الآلة كلما ازداد حجم ودقة البيانات المعطاة لها. التعلم العميق Deep Learning يعد التعلم العميق Deep Learning أو DL اختصارًا فرعًا حيويًا من تعلم الآلة، ويركز هذا المجال على تنفيذ خوارزميات تمكن الآلة من محاكاة طريقة عمل العقل البشري في فهم ومعالجة النصوص واللغات والصور وغيرها من أنواع البيانات. يكمن الفرق بين التعلم العميق وتعلم الآلة هو أن التعلم العميق يستخدم هيكلًا معقدًا من الخوارزميات المعقدة التي تحاكي طريقة عمل دماغنا البشري والشبكات العصبية، لاكتشاف الأنماط في البيانات كما أنه يحتاج بيانات أكثر لتحسين دقته، في حين يستخدم تعلم الآلة خوارزميات قادرة على التعلم من البيانات المنظمة لاكتشاف الأنماط في تلك البيانات التنبؤ بالمخرجات دون برمجتها بشكل صريح. معالجة اللغات الطبيعية Natural Language Processing معالجة اللغة الطبيعية Natural Language Processing أو NLP اختصارًا هي تخصص مهم في دراسة الذكاء الاصطناعي حيث تركز على فهم وتحليل النصوص وبيانات الكلام البشري ويمكنها التعامل مع الفروقات في اللهجات والكلمات العامية والاختلافات النحوية، وقد اشتهرت تطبيقات هذا الفرع من الذكاء الاصطناعي كثيرًا في الآونة الأخيرة، ولعل أبرزها روبوتات الدردشة Chatbot مثل شات جي بي تي ChatGPT، وأدوات الترجمة وتلخيص النصوص بالذكاء الاصطناعي. ما هي مواد تخصص الذكاء الاصطناعي؟ بعد أن تعرفنا على تخصصات الذكاء الاصطناعي لنتعرف على أبرز المواد التي عليك تعلمها لدراسة الذكاءالاصطناعي والتي تشمل: الرياضيات Mathematics لغات برمجة وأطر عمل الذكاء الاصطناعي علم البيانات Data Science خوارزميات الذكاء الاصطناعي AI Algorithms خدمات الذكاء الاصطناعي AI Services أمان الذكاء الاصطناعي AI Security ديف أوبس DevOps (اختياري) لنعرف مزيدًا من التفاصيل عن كل مقرر من هذه المقررات وما الأساسيات التي عليك تعلمها خلال دراستها. الرياضيات Mathematics يحتاج مهندس الذكاء الاصطناعي لدراسة أسس الرياضيات ومفاهيم التفاضل والتكامل والجبر الخطي والإحصاء، فمصطلحات هذه الفروع مستخدمة بكثرة في الذكاء الاصطناعي، وهي مصطلحاتٌ ضروريةٌ لحل مشكلات الذكاء الاصطناعي وفهم تطبيقاته المتنوعة، لذا تعد دراسة الرياضيات وفروعها ضمن المهارات الأساسية والضرورية لأي متخصص في الذكاء الاصطناعي. لغات البرمجة وأطر عمل الذكاء الاصطناعي لدراسة الذكاء الاصطناعي ستحتاج لأن تستخدم لغات البرمجة في كتابة الخوارزميات وتطوير التطبيقات الذكية وهذا يجعل من دراسة البرمجة والخوارزميات والتفكير المنطقي أحد أهم مواد ومهارات مهندس الذكاء الاصطناعي. ولغات البرمجة كثيرة ومتنوعة ومن أشهر لغات البرمجة التي ينصح بها لدراسة الذكاء الاصطناعي نرشح ما يلي: بايثون Python: تعد بايثون أبرز لغات الذكاء الاصطناعي، وذلك نظرًا لسهولتها واحتوائها على كثيرٍ من المكتبات وأطر العمل المميزة في هذا المجال مثل مكتبة تينسر فلو TensorFlow وإطار عمل باي تورش PyTorch. لغة سي بلس بلس C++‎: تتميز لغة C++‎ بسرعة ادائها وهي لغة مميزة في إدارة العتاد الحاسوبي، وتصلح لكتابة خوارزميات متطورة عالية الكفاءة، ما يجعلها خيارًا مميزًا في مشاريع الذكاء الاصطناعي المعقدة مثل مشاريع الرؤية الحاسوبية. لغة جافا Java: يشيع استخدام لغة جافا في دراسة الذكاء الاصطناعي، ولا سيما في تطبيقات المعالجة اللغوية ومشاريع روبوتات الدردشة، وتتميز بقابليتها للتوسع وقدرتها على معالجة أحجام ضخمة من البيانات والإدارة الجيدة للعتاد. لغة R تبرز لغة R في العديد من التطبيقات كالتحليل الإحصائي وتحليل البيانات والتمثيل الرسومي، ما يجعلها تلعب دورًا مهمًا في تطوير تطبيقات الذكاء الاصطناعي وأدوات البحث العلمي والتحليل الاقتصادي وتحليلات وسائل التواصل الاجتماعي. علم البيانات Data Science يقوم مجال الذكاء الاصطناعي على البيانات والتعلم منها واستخراج العلاقات بين البيانات وبناء القرارات عليها، ما يوجب على المهتمين بدراسة الذكاء الاصطناعي فهم علم البيانات، التي تضم بدورها مجالاتٍ فرعية عديدة، وأهمها: نمذجة البيانات Data Modelling وتعني جمع البيانات وتنقيحها وتنسيقها لتكون جاهزةً للتحليل والاستخدام، كما يحتاج المتخصص في الذكاء الاصطناعي لفهم لتعامل مع قواعد البيانات وأدواتٍ مثل Apache Spark وHadoop. تحليل البيانات Data Analysis: واستخراج إحصاءات واستنتاجات مفيدة منها، ويتعلم متخصص الذكاء الاصطناعي التعامل مع أدواتٍ مثل: SparkSQL وApache Flink، كما يتعلم أهم مبادئ تحليل البيانات الضخمة Big Data. خوارزميات الذكاء الاصطناعي AI Algorithms يعد فهم خوازرميات الذكاء الاصطناعي مثل خوارزميات تعلم الآلة أمرًا ضروريًا خلال دراسة الذكاء الاصطناعي، ويتضمن ذلك معرفة أنواع خوازرميات تعلم الآلة مثل خوارزميات التعلم الخاضع للإشراف Supervised Learning وخوارزميات التعلم غير الخاضع للإشراف Unsupervised Learning وتعلم خوارزميات التعلم العميق، مثل الشبكات العصبية التلافيفية Convolutional Neural Networks (CNNs)‎ والشبكات العصبية المتكررة Recurrent Neural Networks (RNNs)‎ وغيرها من الخوارزميات المتنوعة وما ومتى نستخدم كل نوع منها. خدمات الذكاء الاصطناعي AI Services يفيد التعامل مع أدوات الذكاء الاصطناعي القائم على السحابة Cloud-Based AI وخدمات تعلم الآلة ML Services كذلك في دراسة الذكاء الاصطناعي ولا سيما الأدوات المقدمة من كبار مقدمي الخدمات، مثل Azure ومنصة جوجل السحابية، إذ توفر هذه الخدمات مجموعة من الأدوات وواجهات برمجة تطبيقات APIs ونماذج ذكاء اصطناعي جاهزة توفر كثيرًا من الوقت والجهد وتجعل من عمليات تطوير التطبيقات الذكية أسهل وأسرع. أمان الذكاء الاصطناعي AI Security من أساسيات دراسة الذكاء الاصطناعي الاهتمام بأمور سلامة وتأمين البيانات، ذلك لأن مجال الذكاء الاصطناعي كله قائم على البيانات المستخدمة في تدريب النماذج والخوارزميات، لذا المهم أن يقع تأمين بيانات المستخدمين على رأس أولويات خبير الذكاء الاصطناعي. ديف أوبس DevOps ليس بالضرورة أن يتعلم مهندس الذكاء الاصطناعي ديف أوبس، فغالبًا ما يكون هناك مهندس ديف أوبس متخصص في مقر العمل، ولكن يُفضَّل التعرف على أساسيات هذا المجال ليتمكن من نشر تطبيقات الذكاء الاصطناعي بنجاح. كيف أتعلم الذكاء الاصطناعي؟ لديك خياران متاحان لتعلم ودراسة الذكاء الاصطناعي، إمَّا الدراسة الجامعية لتخصص الذكاء الاصطناعي والتي تتميز بالمنهجية الواضحة وتلزمك بالمتابعة والاستمرارية، لكن يعيبها طول مدة الدراسة ودراسة مواد نظرية مملة لن تفيدك في عملك الحقيقي، والطريقُ الثاني هو الدراسة الذاتية المستقلة لمجال الذكاء الاصطناعي من دروس ومقالات ودورات عبر الإنترنت تتعلم من خلالها أهم المواد والمقررات المطلوبة لفهم التخصص، ويتميز هذا الطريق بالتركيز على سوق العمل وقِصَر مدة الدراسة نسبيًا، ولكن من تحدياته الرئيسية صعوبة الالتزام والانضباط. إذا كنت مهتمًا بدارسة الذكاء الاصطناعي من الصفر حتى الاحتراف، ستساعدك دورة الذكاء الاصطناعي من أكاديمية حسوب في طريقك في الدراسة الذاتية بمنهجٍ شامل وفريد عربيًا ومُحدَّثٍ حسب احتياجات سوق العمل، كما تساعدك على الانضباط والمتابعة والتعلم المستمر وتوفر لك مدربين أكفاء يساعدونك في رحلة تعلمك ويجيبون على أي تساؤول ويشرحون لك أي فكرة لا تستطيع فهمها. كما ستجد في أكاديمية حسوب العديد من مصادر التعلم المفيدة التي تعينك على دراسة الذكاء الاصطناعي من دروس ومقالات تنشر بصورة دورية، إلى جانب كتب الذكاء الاصطناعي الشاملة المتاحة للتحميل مجانًا، وإذا كنت مشتتًا ولا تعرف من أين تبدأ أنصحك بالبدء من صفحة تعلم الذكاء الاصطناعي الشاملة التي توفر لك كل الإرشادات والنصائح التي تحتاجها. الأسئلة الشائعة حول دراسة الذكاء الاصطناعي نختم المقال بأهم الأسئلة حول دراسة الذكاء الاصطناعي والفرق بينه وبين المجالات القريبة منه. ما عدد سنوات دراسة الذكاء الاصطناعي؟ تأخذ الدراسة الجامعية لتخصص الذكاء الاصطناعي أربع سنوات في غالبية الجامعات، أما الدراسة الذاتية للمجال فتعتمد على عوامل عديدة، منها: خبراتك السابقة والتخصص الفرعي المختار والوقت الذي تخصصه للدراسة، فلا يمكن تحديد مدة محددة لإتقان الأساسيات، ولكن على كل حال تشير بعض المقالات إلى أنَّ متوسط مدة تحصيل أساسيات المجال تقع بين ستة أشهر إلى اثني عشر شهرًا. هل دراسة الذكاء الاصطناعي صعبة؟ ربما يكون تخصص الذكاء الاصطناعي صعبًا نسبيًا، ولا سيما لمن لا يملك خبراتٍ برمجيةٍ سابقة، ولكن مع التعلم المستمر من المصادر الصحيحة والممارسة والتطبيق يمكنك أن تتقن المجال وتصبح ماهرًا فيه، واحرص على التأسيس القوي في البرمجة وعلم البيانات وخوارزميات تعلم الآلة، فهي عواميدُ المجال. أيهما أفضل: تعلم الذكاء الاصطناعي أم البرمجة؟ يحتاج مهندسُ الذكاء الاصطناعي إلى دراسة البرمجة، بل والتعمُّق فيها وفهمها جيدًا، للتمكُّن من تطوير برمجيات ذكاءٍ اصطناعي، أمَّا عن التفضيل بين الذكاء الاصطناعي ووظائف البرمجة التقليدية فلا يمكن التفضيل بين مختلفين، فللذكاء الاصطناعي تطبيقاته وحالات استخدامه وكذلك البرمجة التقليدية واختيار مجال التخصص التقني يعتمد على تفضيلاتك الشخصية والمجال الذي تجد شغفك فيه في المقال الأول. ما الفرق بين الذكاء الاصطناعي وهندسة الروبوتات؟ يدخل الذكاء الاصطناعي في تطوير نظام تشغيل الروبوتات فقط، أمَّا هندسة الروبوتات فتهتم ببناء عتاد الروبوت وضبط حركاته، ثم يأتي دور الذكاء الاصطناعي في تحديد وظائف الروبوت ووضع خطوات لتنفيذ هذه الوظائف، فالذكاء الاصطناعي وهندسة الروبوتات مجالان مختلفان يتقاطعان في نقطة محددة، لكنهما يظلان مختلفين، فمهندسو الذكاء الاصطناعي يهتمون بالجانب البرمجي فقط، بينما يهتم مهندسو الروبوتات بالعتاد أولًا، ثم فيزياء وحركة هذا العتاد، وأخيرًا ربط هذا العتاد بنظام التشغيل البرمجي. ما الفرق بين الذكاء الاصطناعي وعلم البيانات؟ يقوم مجالا الذكاء الاصطناعي وعلم البيانات بشكلٍ رئيسيٍّ على البيانات، ولكن تختلف أهدافهما، فيهدف الذكاء الاصطناعي إلى تطوير الآلات من خلال منحها هذه البيانات وتمكينها من تحليلها والتعلم منها، بينما يهدف علم البيانات إلى استخدام الخوارزميات والإحصاء للخروج بنتائج مفيدة من مجموعة من البيانات المنظمة. ما الفرق بين دراسة الذكاء الاصطناعي والأمن السيبراني؟ يختلف الذكاء الاصطناعي عن الأمن السيبراني إذ يركز متخصص الذكاء الاصطناعي على تطوير أنظمة ذكية تحاكي العقل البشري في التعلم وحل المشكلات، بينما يركز متخصص الأمن السيبراني على تأمين التطبيقات والأنظمة والشبكات والبيانات من محاولات الاحتيال والاختراق. لكن في الآونة الأخيرة بدأ مجالا الذكاء الاصطناعي والأمن السيبراني يتكاملان معًا بشكل جليَ، فبدأ مهندسو الأمن السيبراني في استخدام تقنيات الذكاء الاصطناعي لأتمتة الكشف عن التهديدات، وكذلك استخدم مهندسو الذكاء الاصطناعي تقنيات الأمن السيبراني لتأمين برمجيات الذكاء الاصطناعي وبيانات تدريب النماذج الذكية. اقرأ أيضًا تعلم الذكاء الاصطناعي مجالات الذكاء الاصطناعي تعرف على أفضل دورات الذكاء الاصطناعي علم البيانات Data science: الدليل الشامل برمجة الروبوت: الدليل الشامل فوائد الذكاء الاصطناعي
  12. ازداد الإقبال على الألعاب ومجالات الترفيه في الآونة الأخيرة بين أوساط المستخدمين، وهو يزداد يومًا بعد الآخر لاسيما بعد انتشار ألعاب الجوال التي سهلت عملية الوصول للألعاب والتسلية بها، واليوم تعد صناعة الألعاب صناعة رائجة ومربحة وتُقام لها مسابقاتٌ بأموالٍ طائلة، وهذا زاد من الطلب على مبرمجي الألعاب ورفع من فرصهم التوظيفية، وفي مقال اليوم نشرح لكم ما هي برمجة الألعاب؟ وما أهم تقنياتها؟ وما مراحل برمجة لعبة إلكترونية؟ ما هي برمجة الألعاب؟ تعد برمجة الألعاب واحدة من أهم تخصصات البرمجة، وهي مرحلة هامة في صناعة الألعاب الإلكترونية تأتي بعد العديد من المراحل السابقة بدءًا من وضع فكرة اللعبة وكتابة قصتها وتحديد شخصياتها وقواعدها، مرورًا بتصميم اللعبة ثم برمجتها وكتابة المنطق البرمجي اللازم لتحويلها من فكرة وتصماميم إلى لعبة فعلية يمكن لعبها، وصولًا إلى إصدارها للمستخدمين وإتاحتها للتحميل على المتاجر المخصصة وتحديثها وصيانتها بصورة مستمرة. تعرف برمجة الألعاب بأنها عملية كتابة الكود البرمجي اللازم لعمل الألعاب الإلكترونية باستخدام مجموعة متنوعة من التقنيات ولغات البرمجة، وهي تتطلب إلى جانب توفر المهارات التقنية لوجود معرفة جيدة بالرياضيات مثل الأشعة الرياضية والرسوم المتجهة، والجبر الخطي، وفهمًا جيد لتصميم الألعاب وأنواعها كالألعاب ثنائية الأبعاد 2D وثلاثية الأبعاد 3D، وامتلاك مهارات إبداعية وتفكير منطقي لإنشاء ألعاب احترافية وحل مشكلاتها وصناعة ألعاب محببة يمكن اللعب بسلاسة واستمتاع. أهمية برمجة الألعاب لا تقتصر أهمية برمجة الألعاب على الترفيه والتسلية، وإنما تتعدد فوائدها وتمتد إلى مجالاتٍ أخرى، وإليك قائمة توضح أهم هذه الفوائد: تسهيل التعليم: دخلت الألعاب إلى عملية التعليم وزادت الألعاب التعليمية زيادةً ملحوظة في الآونة الأخيرة، فنجد لُعَبًا لتعليم البرمجة، مثل: سكراتش ومايكروسوفوت ميك كود، ويوجد ألعابٌ لتعليم اللغات المختلفة، وألعابٌ أخرى لتعليم مبادئ الرياضيات والفيزياء. تطوير القدرة على الإبداع وحل المشكلات: تحفز غالبية الألعاب الفرد على ابتكار طرق جديدة للتفوق على أقرانه في اللعبة، مما يزيد من قدراته الإبداعية والابتكارية، وكذلك أثناء ابتكار هذه الطرق تواجهه مشكلات عديدة يسعى لحلها، فتتطور عنده مهارة حل المشكلات. تنمية المهارات الناعمة: باتت كثيرٌ من الألعاب تعتمد على تشكيل الفرق واللعب ضمن مجموعات، ما يساعد على تنمية مهارات التعاون والتواصل والقيادة وغيرها. ولمطالعة المزيد من المعلومات حول أهمية برمجة الألعاب وأهم النصائح التي تساعدك لتصبح مطور ألعاب محترف، ننصحك بمطالعة مقال تعرف على أهمية صناعة الألعاب الإلكترونية. ما لغات برمجة الألعاب الإلكترونية؟ تكثر لغات برمجة الألعاب الإلكترونية، ويشتهر منها أربع لغات: سي بلس بلس⁦ C++ سي شارب #C⁦ جافا Java بايثون Python يعتمد اختيار اللغة البرمجية المناسبة لبرمجة الألعاب على متطلباتك وطبيعة اللعبة التي تطورها، لنتعرف على المزيد من المعلومات عن كل لغة من هذه اللغة، وأبرز مزايا وعيوب استخدامها في برمجة الألعاب. سي بلس بلس ++C⁦ تعد سي بلس بلس إحدى أهم لغات البرمجة في مجال برمجة الألعاب، إذ لديها قدرة قوية على إدارة الذاكرة والعتاد بكفاءة، كما تتميز الألعاب المطورة باستخدام سي بلس بلس بالسرعة والأداء المرتفع، وكذلك تحظى لغة سي بلس بلس بدعم واسع من محركات الألعاب المختلفة، ما يجعلها لغة مميزة في برمجة الألعاب الثقيلة والمعقدة، ولا يعيب سي بلس بلس سوى صعوبة تعلمها وطول الوقت المتوقع للانتهاء من برمجة لعبة. سي شارب #C⁦⁦ تتشابه لغة البرمجة سي شارب في مميزاتها مع لغة سي بلس بلس، من سرعة إلى إدارة مميزة للعتاد ودعم واسع من مختلف محركات الألعاب، إلا أن سي شارب تعد أقل تعقيدًا وأسرع تعلمًا من سي بلس بلس، ما يجعلها خيارًا مناسبًا للمبتدئين في برمجة الألعاب، وكذلك تعد لغة سي شارب متعددة المنصات؛ أي يمكن باستخدامها برمجة ألعاب لأنظمة تشغيل الحواسيب وأنظمة تشغيل الهواتف سواءً. جافا Java تشتهر لغة جافا في برمجة ألعاب نظام تشغيل أندرويد، وتتميز الألعاب المبنية على لغة جافا بالقدرة الهائلة على التوسع وتحمل الزيادة المستمرة في أعداد المستخدمين دون حدوث أعطال في اللعبة، وكذلك توفر لغة جافا أدواتٍ مميزة للتعامل مع الرسوم Graphics والرسوم المتحركة Animations، ما يساعد المطور على برمجة ألعاب معقدة بصريًا بسهولة. بايثون Python لعل ما يميز بايثون في مجال برمجة الألعاب هو سهولتها، ولذلك تُستخدم لغة بايثون في برمجة الألعاب البسيطة الخالية من التعقيدات الرسومية، وكذلك تُستخدم بايثون للنمذجة الأولية للألعاب المعقدة قبل الشروع في تطويرها باستخدام لغة أخرى. ما أهم التقنيات المستخدمة في برمجة الألعاب؟ إلى جانب لغات البرمجة التي شرحناها سابقُا، هناك العديد من التقنيات التي يتوجب على مبرمجي الألعاب معرفتها وتعلم استخدامها وأبرز هذه التقنيات: محركات الألعاب Game Engines برامج التصميم أو النمذجة ثلاثية الأبعادوالتحريك 3D Modeling and Animations برامج تصميم رسومات البكسل Pixel Art محركات الألعاب Game Engines تعد محركات الألعاب بيئات مجهزة لتطوير وتشغيل الألعاب، وتضم مجموعة من المحركات الأخرى، مثل: محرك الفيزياء الذي يساعد المبرمج على محاكاة الحركات الحقيقية في اللعبة، ومحرك الرسوم الذي يعالج الرسوم ثنائية الأبعاد وثلاثية الأبعاد في اللعبة، ومحرك الصوت المسؤول عن معالجة التأثيرات الصوتية في اللعبة، ومحرك الرسوم المتحركة، وغيرها من المحركات. لعل أبرز فوائد محركات اللعبة هي تسهيلها لعملية برمجة الألعاب وتوفيرها للكثير من الوقت على المبرمج، إذ كانت هذه العملية قبلًا شديدة التعقيد، ولكن بفضل محركات اللعبة صارت عملية سهلة وزادت إمكانيات الألعاب من رسوم وأداء وغيرها، ومن أشهر محركات الألعاب نذكر محرك يونتي Unity ومحرك أن ريل Unreal Engine ومحرك الألعاب جودو Godot. برامج التصميم أو النمذجة ثلاثية الأبعاد والتحريك 3D Modeling and Animations تشير النمذجة ثلاثية الأبعاد إلى عملية التمثيل المرئي للأبعاد الثلاثة وهم الطول والعرض والارتفاع لعنصرٍ في اللعبة باستخدام النقاط والخطوط والمضلعات، مثل: تمثيل إحدى شخصيات اللعبة مرئيًا على هيئة رسم ثلاثي الأبعاد، كما تتضمن نمذجة تحريكات العناصر، علي سبيل المثال نمذجة تحريك النباتات حول الشخصية أثناء سيرها، أو نمذجة سير الشخصية نفسها. تتضمن عملية النمذجة ثلاثية الأبعاد تحديد حجم الكائن أو العنصر وهيئته وتحديد طريقة حركته وتناغمه مع باقي عناصر اللعبة، ويعد التصميم ثلاثي الأبعاد مهمًا لزيادة واقعية اللعبة وتحسين رسومها وجاذبيتها، ومن أشهر البرمجيات المستخدمة في هذه العملية: برنامج Blender وAutodesk. برامج تصميم رسومات البكسل Pixel Art يعد فن البكسل فنًا رقميًا يستخدم في العديد من المجالات ومن ضمنها رسومات الألعاب، إذ يعمل مصمم رسوم البكسل على تصميم الصورة أو الرسم على مستوى البكسل، وهو الوحدة الأصغر من مكونات الصورة ويستخدمون فيها عددًا محددًا من الألوان، ولتبيين هذا المفهوم بدقة أكبر انظر الصورة التالية: ولعل أبرز لعبة مبنية على هذا النوع من الرسوم هي لعبة ماين كرافت الشهيرة، ومن أشهر برامج تصميم فن البكسل نذكر برنامج Aseprite وبرنامج PyxelEdit. وللتنويه لا يحتاج مبرمجو الألعاب لإنشاء رسومات البكسل بأنفسهم فهناك العديد من المواقع التي توفر مكتبات مجانية أو مدفوعة من رسومات البكسل التي يمكن استيرادها إلى محركات الألعاب والبدء بكتابة المنطق البرمجي الخاص بها. ما مراحل برمجة لعبة فيديو؟ تتضمن عملية برمجة لعبة فيديو عديدًا من المراحل، منها: التخطيط: تبدأ عملية برمجة لعبة فيديو بالتخطيط لها، وتبدأ عملية التخطيط بابتداع فكرة ثم تطوير هذه الفكرة، كما تضم مرحلة التخطيط عملية تحديد نوع اللعبة؛ هل هي لعبة رعب أم حرب أم رياضة أو غيرها؟ وتضم أيضًا تحديد طراز اللعبة؛ ثنائية الألعاب كانت أو ثلاثية الأبعاد، وكذلك تتضمن تحديد محرك الألعاب ولغة البرمجة والتقنيات التي ستستخدمها لبرمجة اللعبة. ما قبل التطوير: تضم هذه المرحلة خطوات عديدة، فمنها مثلًا كتابة قصة اللعبة وخلق عالمها وشخصياتها وتحديد صفات كل شخصية، ومنها أيضًا النمذجة الأولية للعبة وإنشاء تصاميم أولية لأشكال الشخصيات، وكذلك تحديد أسلوب التصميم والألوان المستخدمة في اللعبة حسب القصة ونوع اللعبة. التطوير: تعد المرحلة الأهم والأطول في عملية برمجة لعبة فيديو، ويعمل خلالها المطور على كتابة شيفرات اللعبة وتحويل التصاميم الأولية إلى لعبة حقيقية، كما يعمل فنانو الصوت على تسجيل الحوارات بين الشخصيات، ويعمل المصممون على تصميم الرسوم المتحركة للعبة، ويعمل مصممو الصوت على إضافة التأثيرات الصوتية للعبة، ثم تُجمع هاته الإبداعات المختلفة معًا عبر محرك اللعبة لتكون اللعبة جاهزة للاختبار. الاختبار: يُختبر في هذه المرحلة جميع أجزاء اللعبة، بدءًا من الشيفرات لاستخراج الثغرات الأمنية وتنقيحها، مرورًا بالأداء لتحسينه وتحسين تجربة المستخدم الكلية، وصولًا إلى تناغم الأجزاء المختلفة من اللعبة عمومًا مع بعضها، وكذلك تُختبر مدى صعوبة اللعبة، وغيرها من الأجزاء المختلفة في اللعبة، ثم تُجمَع الأخطاء المكتشفة وتُنقَّح قبل إطلاق اللعبة. ما قبل الإطلاق: تتضمن هذه المرحلة التسويق للعبة وكتابة إعلانات تسويقية عنها، كما تتضمن إطلاق نسخة مبدئية للعبة لتجربتها والحصول على آراء أولية قبل الإطلاق الرسمي لها، ما يساعدك على تحسين اللعبة وإطلاقها في أفضل هيئة لها. الإطلاق: أصبحت اللعبة جاهزة وحان موعد الإطلاق؛ في هذه المرحلة تنشر اللعبة على المنصات المخطط لها، ولكن لم تنتهِ المراحل بعض فلا تزال اللعبة تحتاج تحديثاتٍ. التحديث: لا تنتهي هذه المرحلة أبدًا، إذ تستمر في إصدار التحديثات تحديثًا بعد الآخر لإضافة مميزات جديدة تزيد من متعتها وتُحسِّن من تجربة المستخدم، كما تسد الثغرات والمشكلات المكتشفة بعد إطلاق اللعبة. إذا كنت مهتمًا بدخول عالم تطوير الألعاب فقد وفرت لك أكاديمية حسوب دورة تطوير الألعاب لتحويل شغفك إلى مهارة عملية. ستتعلم في هذه الدورة كيف تبني ألعابك الخاصة باستخدام محرك الألعاب جودو Godot، وستتقن برمجة الألعاب وتطور شخصيات ألعاب تتفاعل مع بعضها بذكاء وإبداع. دورة تطوير الألعاب ابدأ رحلة صناعة الألعاب ثنائية وثلاثية الأبعاد وابتكر ألعاب ممتعة تفاعلية ومليئة بالتحديات. اشترك الآن ما الفرق بين برمجة ألعاب الجوال وبرمجة ألعاب الحاسوب؟ تتعدد الفروق بين برمجة ألعاب الجوال وبرمجة ألعاب الحواسيب، ومن أهمها: الإمكانيات: يفوق عتاد الحواسيب عتاد الجوالات قوةً وقدراتٍ، ما يزيد من إمكانيات ألعاب الحواسيب، بدءًا من الرسوم فتكون رسوم ألعاب الحواسيب أكثر تعقيدًا، مرورًا بالأداء المرتفع لألعاب الحواسيب، وصولًا إلى توسعية اللعبة وحجم بياناتها وتعقيدها. محركات الألعاب: تكثر محركات ألعاب الحواسيب وتتفوق على محركات ألعاب الجوال في المواصفات والإمكانات، ومن أشهرها: محرك الألعاب Unreal Engine ومحرك CryEngine، بينما يعد Unity محرك الألعاب الأشهر في برمجة ألعاب الجوال. التكلفة: تعد تكلفة تطوير لعبةٍ للحاسوب أكثر من تكلفة تطوير لعبة للجوال، إذ تتضمن ألعاب الحاسوب تعقيداتٍ أكثر وتأخذ أوقاتًا أطول لبرمجتها من ألعاب الجوال. الخاتمة استكشفنا في مقال اليوم عالم برمجة الألعاب الإلكترونية وحظينا بنظرةٍ شاملةٍ عن ماهيتها وتعرفنا على مجموعة متنوعة من لغات البرمجة المستخدمة في تطوير الألعاب، مع تسليط الضوء على مميزات كل لغة وأهم تقنياتها ومحركاتها، ومراحل تطوير لعبة والفرق بين برمجة ألعاب الجوال وبرمجة ألعاب الحاسوب. وختامًا إذا كنت مهتمًا بمجال برمجة الألعاب ننصحك بأن تبدأ رحلتك في تطوير الألعاب بخطوة صحيحة من خلال تحديد متطلبات اللعبة التي تود صناعتها واختيار اللغة ومحرك الألعاب المناسب، والاستمتاع في تنفيذ أفكارك الإبداعية وتحويلها للعبة مميزة مليئة بالتحديات والإنجازات. اقرأ أيضًا ألعاب الفيديو: تطورها وأهميتها وخطوات برمجتها كيف تصبح مبرمج ألعاب فيديو ناجح تعرف على أهمية صناعة الألعاب الإلكترونية تعرف على أفضل برنامج تصميم الألعاب الإلكترونية أشهر أنواع الألعاب الإلكترونية
  13. يتساءل كل مبتدئ في البرمجة ما هي برامج البرمجة وما أهم البرمجيات التي أحتاجها لتعلم كتابتها بصورة صحيحة، فإذا كنت في المراحل الأولى من تعلم البرمجة ولا تعلم أين تكتب الشيفرات أو الأكواد البرمجية الخاصة بك ولا كيف تنفذها بعد كتابتها وترى نتائج عملية التنفيذ، ولا تدري كيف تتحقق من أدائها ومدى أمانها، ننصحك بأن تقرأ هذا المقال حيث نستعرض فيه أهم برامج البرمجة المستخدمة بكثرة خلال العمل على تطوير التطبيقات وكتابة الشيفرات بكفاءة وسرعة. ما هي برامج البرمجة؟ تعد برامج البرمجة مجموعةً من الأدوات التي يستعملها المبرمج لتطوير تطبيقات برمجية مختلفة بسرعة وفعالية، ولبرامج البرمجة استخداماتٌ عديدة، فهي تساعد المطور على كتابة الكود البرمجي وتقدم له مميزات وخيارات عديدة لتسريع عمله مثل ميزة الاستكمال التلقائي للشيفرات، وكذلك تساعده على أتمتة المهام المتكررة، مثل أتمتة اختبارات الأمان والأداء، كما تساعده على كشف وإحصاء أخطاء الشيفرات البرمجية وتنقيحها ما توفر عليه الكثير من الوقت والجهد. فوائد برامج البرمجة تعد برامج البرمجة بالغة الأهمية على أصعدة عديدة، من أهمها: توفير وقت المبرمج: لعل توفير الوقت أبرز فائدة من استخدام برامج البرمجة، إذ تساعد هذه البرمجيات المطور على أتمتة مهام عديدة، وتوفر له قوالب جاهزة للوظائف البرمجية المستخدمة بكثرة، وكثيرًا من الخيارات والمميزات الأخرى التي سيلي ذكرها خلال المقال. زيادة القدرة على التوسع: تعمل بعض أنواع برامج البرمجة على مزامنة عمليات معالجة البيانات، وبالتالي تساعد هذه البرمجيات على زيادة كمية البيانات التي يمكن معالجتها في آنٍ واحد، ما يؤدي تبعًا إلى سهولة توسعة المواقع وتطوير البرمجيات وزيادة قدرتها على تحمُّل الأعداد الضخمة من المستخدمين. رفع فرص التوظيف: كلُّ برنامجٍ يتعلم المبرمج التعامل معه سيزيد من كفاءته ويعززفرصه في التوظيف، فهذه البرمجيات تساعد المبرمج على كتابة شيفرات أفضل وتسريع عملية التطوير، وهذا بالضبط ما يحتاجه أصحابُ الأعمال. أنواع البرامج المستخدمة في البرمجة تتفرع البرامج المستخدمة في البرمجة إلى أنواع عديدة، ولكل نوعٍ استخداماته، ومن أهم أنواعها: برامج تعلم البرمجة Programming Studying Programs المترجمات والمفسرات Compiler and Interpreter بيئات التطوير المتكاملة IDEs⁦ منقّحات الأخطاء Debuggers أنظمة التحكم في الإصدارات Version Control Systems برامج البرمجة المعتمدة على الذكاء الاصطناعي لنتعرف على كل نوع من هذه البرامج بمزيد من التفصيل. برامج تعلم البرمجة Programming Studying Programs لا نعني هنا التطبيقات والبرمجيات المخصصة لتدريس أو تعليم من خلال الدورات التعليمية والتدريب المستمر على كتابة الشيفرات التي تحل مشكلات معينة، ولكن نعني بها الأدوات والبرمجيات التعليمية التي تساعد المبتدئين على دخول تعلم البرمجة وفهم أساسياتها من خلال واجهات رسومية تعتمد على البلوكات أوالكتل التي يمكنك من خلالها تركيب الشيفرات بأسلوب سهل ومبسط وتعلم أساسيات البرمجة من خلالها ومن أبرز هذه البرامج سكراتش Scratch والذي يمكن أن يصنف كلغة برمجة مرئية مصممة بهدف تعلم مفاهيم البرمجة للطلاب في أعمار مبكرة ومساعدتهم في إنشاء ألعاب وقصص ورسوم متحركة ومواضيع تفاعلية تعليمية بطريقة محببة وسهلة وهذه البرامج تناسب المبتدئين بشكل كبير وسنشرح المزيد عنها لاحقًا. المُصرِّفات والمفسرات Compilers and Interpreters تحتاج لغات البرمجة عالية المستوى إلى برنامج حاسوبي لترجمة الشيفرات إلى لغة الآلة machine language كي يفهمها الحاسوب قبل تنفيذها، ويوجد نوعان رئيسيان من هذه البرمجيات: المُصرِّف Compiler: وهو برنامج يترجم الشيفرات أو الأكواد البرمجية كاملةً قبل تنفيذها، وما إذا كان في الشيفرات أخطاء فلن تُنفَّذ، وتتميز لغات البرمجة المُصرَّفة بالسرعة والأمان. المُفسِّر Interpreter: وهو برنامج ينفذ شيفرات البرنامج سطرًا بسطر، ويبدأ تنفيذ البرنامج ولو كان في الشيفرات أخطاء، ولكن سرعان ما يتوقف التنفيذ إذا وصل المُفسِّر إلى شيفرة بها خطأ برمجي. بيئات التطوير المتكاملة IDEs⁦ تعد بيئات التطوير المتكاملة Integrated Development Environments أو IDEs اختصارًا من برامج البرمجة المفيدة التي تساعد المطورين على كتابة الشيفرات البرمجية بسرعة وكفاءة، فهي تحتوي على مميزات عديدة تجعل عمل المطور أسهل، من خواص استكمال تلقائي للشيفرات إلى خواص تصحيح فوري للأخطاء في صيغة الشيفرة، كما تحوي بيئات التطوير المتكاملة عدة أدواتٍ مدمجة مفيدة للمطور، مثل: محرر الأكواد ومُنقِّح الأخطاء ومترجم الشيفرة والأكمال التلقائي للكود، وتوفر كذلك إمكانية تثبيت العديد من الإضافات الخارجية المساعدة في عملية التطوير. تتعدد بيئات التطوير المتكاملة، ومن أشهرها نذكر: فيجوال ستوديو كود Visual Studio Code: ذاع صيت فيجوال ستوديو كود حتى صارت بيئة التطوير الأشهر والأكثر استخدامًا بين المبرمجين، وذلك لتعدد مميزاتها، بدءًا من دعمها لغالب لغات البرمجة الحية وجميع لغات البرمجة الشهيرة، مرورًا بتوفيرها لإضافاتٍ عديدة تجعل من كتابة الشيفرات أمرًا يسيرًا على المطورين، وصولًا إلى بساطة واجهتها وسهولة التعامل معها، وكذلك من أبرز ما يميزها مجانيتها وأنها بيئة تطوير مفتوحة المصدر. بايشارم PyCharm: تُستخدم بيئة التطوير المتكاملة بايشارم من مطوري لغة البرمجة بايثون خاصة، وتعد بيئة تطوير مدفوعة، وتدعم بايشارم بالكاد جميع أطر عمل ومكتبات لغة بايثون، كما توفر أدواتٍ مخصصة لاختبار شيفرات بايثون وتنقيح أخطائها، وتدعم تضمين نظام التحكم في الإصدارات غيت داخل بيئة التطوير لتسريع عملية تتبع النُّسخ المختلفة من الشيفرات. إنتيليج إيديا IntelliJ IDEA: بيئة تطوير مدفوعة مصممة لمطوري تطبيقات الأندرويد، وتدعم لغات البرمجة جافا وكوتلن وسكالا وجروفي، وهي أشهر لغات تطوير تطبيقات الأندرويد وأكثرها استخدامًا، وتتميز بيئة التطوير إنتليج إيديا بالدعم الجزئي لعدة لغات برمجة أخرى، مثل: بايثون Python و php وروبي Ruby وغيرها. بي إتش بي ستورم PhpStorm: تعد بيئة تطوير مدفوعة موجهة خصيصًا لمطوري لغة بي إتش بي، وتدعم جميع أطر العمل الشهيرة للغة بي إتش بي، كما تدعم أشهر قواعد البيانات المستخدمة مع بي إتش بي لتطوير تطبيقات الويب، وتدعم تقنيات بناء الواجهة الأمامية لتطبيقات الويب، مثل: لغة HTML ولغة CSS ولغة جافا سكريبت وتايب سكريبت وغيرها. إكس كود XCode: بيئة تطوير مجانية مخصصة لتطوير التطبيقات الموجهة لجميع أنظمة تشغيل آبل، والتي تتضمن نظام تشغيل هواتف آبل أي أو إس iOS، ونظام تشغيل الأجهزة اللوحية أي باد أو إس iPadOS، ونظام تشغيل الحواسيب المحمولة ماك أو إس MacOS، وكذلك نظام تشغيل الساعات الذكية WatchOS، وسائر أنظمة تشغيل آبل. مُنقِّحات الأخطاء Debuggers تدخل عمليتا الاختبار وتنقيح الأخطاء ضمن المهام الأساسية للمطور، ويعد مُنقِّح الأخطاء أداةً تساعد المطور على اختبار التطبيق وتحديد أماكن الخطأ في الشيفرات ثم تنقيحها، ما يساهم في تأمين التطبيق من الثغرات والاختراق. برامج سطر الأوامر Command Line Interpreters تعد برامج سطر الأوامر من البرامج المفيدة التي تسمح للمطور بإدخال أوامر كتابية وتوجيهها إلى نظام التشغيل لتنفيذها، ومن أشهر برامج سطر الأوامر نذكر: موجه الأوامر CMD.exe: وهو البرنامج الافتراضي لنظام التشغيل ويندوز، ويكون على هيئة نافذةٍ سوداءٍ بسيطة يمكن للمبرمج من خلالها كتابة أوامر لتأدية وظائف عديدة، منها مثلًا إنشاء ملفات جديدة والتعديل عليها وحذفها وتغيير مسارها، والتعرُّف على معلومات النظام والشبكة والتحكم فيهما، ويساعد موجهُ الأوامر المطورَ على توفير الكثير من الوقت المستهلك في تنفيذ نفس المهام يدويًا عبر الواجهة الرسومية. ويندوز باورشيل Windows PowerShell: يعد مفسر سطر أوامر مدمج في نظام تشغيل ويندوز، وهو يتشابه كثيرًا مع موجه الأوامر CMD إلا أنه أكثر تطورًا منه ويحوي بعض الخصائص الإضافية، ومنها مثلًا الوصول إلى البرمجيات السحابية لمايكروسوفت. سيمدر CMDER: مفسر أوامر مجاني ومفتوح المصدر متاحٌ على الإنترنت، ويتميز بالواجهة القابلة للتعديل وإمكانية تغيير أحجام الخطوط وألوانها، كما يسمح بتنفيذ بعض سطور أوامر نظام تشغيل لينكس على نظام تشغيل ويندوز، وكذلك يدعم التحكم مع نظام إدارة الإصدارات غيت، ما يجعله مفسر أوامر قوي ومميز. باش Bash: يعد باش مفسر الأوامر الافتراضي لنظامي تشغيل لينكس وماك أو إس، ويتميز بكفاءته في التحكم في نظام التشغيل وإمكانية الوصول إلى أجزاء منه لا يمكن الوصول لها عبر الواجهة الرسومية، كما يساعد على أتمتة مهام عديدة، مثل: الاختبارات الدورية للخوادم. أنظمة التحكم في الإصدارات Version Control System يشير مفهوم التحكم في الإصدارات إلى عملية إدارة التحديثات والتطويرات المتتابعة لشيفرات البرنامج، أما نظام التحكم في الإصدارات فهو نظامٌ يُستخدم لتسجيل النسخ المختلفة من الشيفرات، حتى يتسنى للمطور العودة لأيِّها شاء وقتما أراد وهو أمر يحتاجه أي مبرمج إذ تتعدد فوائد أنظمة التحكم في الإصدارات، ومنها تحسين تعاون فريق المبرمجين وتنظيم تعديلاتهم المختلفة على الشيفرات، كما تعد نسخ الشيفرات المخزنة في نظام التحكم في الإصدارات بمثابة نسخ احتياطية مستقرة يستطيع المطور العودة إليها ما إذا أطلق تحديثًا للبرنامج ثم اكتشف فيه ثغرةً قد تؤدي به إلى الاختراق. يعد غيت Git أشهر برنامج للتحكم في الإصدارات بالمجتمع التقني، ويتتبع غيت التعديلات على شيفرات كل ملف من ملفات البرنامج، ويمكن الوصول إلى النسخ المختلفة من الملفات المُخزَّنة على غيت عن طريقين؛ إما بسطر الأوامر أو بأداة للتحكم في ملفات غيت، ومن أشهر أدوات التحكم في غيت أداة غيت هاب GitHub وأداة غيت لاب GitLab، وتساعد هذه الأدوات على تخزين ملفات المشروع سحابيًا، ما يجعل الوصول إليها سهلًا بين جميع أعضاء الفريق البرمجي. برامج البرمجة المعتمدة على الذكاء الاصطناعي لقد ازدادت إمكانيات البرامج المستخدمة في البرمجة من خلال تعزيزها بقدرات الذكاء الاصطناعي مما سهل على المطورين والمبرمجين عملهم بشكل كبير، ومن أبرز هذه البرامج نذكر: أمازون كود ويسبيرر AWS CodeWhisperer فيجوال ستوديو إنتيليكود Visual Studio IntelliCode ديفن Devin لنعلم أكثر عن كل برنامج من هذه البرامج وكيف تستفيد من الذكاء الاصطناعي في مجال البرمجة. أمازون كود ويسبيرر AWS CodeWhisperer يتشابه أمازون كود ويسبيرر في وظيفته مع جيتهاب كوبايلوت، إلا أنَّه يناسب فئة مختلفة من المطورين، إذ يعد أكثر تخصيصًا وتوجهًا لمهندسي الحوسبة السحابة ومستخدمي خدمات AWS، وكذلك يتميز أمازون كود ويسبيرر عن جيتهاب كوبايلوت بتوافر نسخة مجانية منه. فيجوال ستوديو إنتيليكود Visual Studio IntelliCode تعد فيجوال ستوديو إنتيليكود إضافة مجانية لبيئة التطوير فيجوال ستوديو كود، ولا تدعم إلا لغات برمجة محددة، وهي بايثون وجافا سكريبت وتايب سكريبت وجافا، وتقل إمكانيات فيجوال ستوديو إنتيليكود بشكلٍ ملحوظ عن نظائره جيتهاب كوبايلون وأمازون ويسبيرر. ديفن Devin يعد برنامج Devin الذي أنتجته شركة Cognition أحد برامج البرمجة الأحدث فقد أُعلن عنه بكونه أول مهندس برمجيات في العالم يعتمد على الذكاء الاصطناعي وهو قادر على كتابة أكواد البرمجة بنفسه وتصحيح أخطائها ونشرها كما أنه قادر على التفكير المنطقي والتخطيط واتخاذ القرارات وتحسين أدائه باستمرار. برامج البرمجة للمبتدئين إليك مجموعة من أهم برامج البرمجة التي توفر أدوات مفيدة تساعد المبتدئين على الولوج إلى عالم تطوير البرمجيات دون صعوبات وتعقيدات لغات البرمجة: سكراتش Scratch مايكروسوفت ميك كود Microsoft MakeCode تينكر Tynker لنشرح أكثر عن كل برنامج من برامج البرمجة التي ينصح بها للمبتدئين. سكراتش Scratch يعد سكراتش من أشهر برامج تعليم البرمجة للأطفال والمبتدئين فهو يعتمد على تعلم أساسيات البرمجة من خلال واجهة رسومية تتكون من عدة كتل برمجية لاستخدامات متعددة وتعتمد على سحب وإسقاط الكتل البرمجية المطلوبة لبناء المنطق الصحيح لعمل البرنامج، وهو سهل التعامل ويجعل عملية تعلم البرمجة ممتعة ومشوقة. وينصح به لمساعدة الأطفال على تحسين مهاراتهم في حل المشكلات والتفكير المنطقي، وهما مهارتان من أهم مهارات المبرمج المحترف، وكذلك يتيح سكراتش للمستخدمين مشاركة برمجياتهم ومشاريعهم، مما يخلق جوًا من المتعة والتنافسية ويؤدي إلى الرغبة في التحسن الدائم. مايكروسوفت ميك كود Microsoft MakeCode يتبنى برنامج مايكروسوفت ميك كود نهجًا مشابهًا لمنهج سكراتش في تعليم البرمجة، إذ يساعد المبتدئين والأطفال على تعلم البرمجة بتركيب كتل من الشيفرات البرمجية الجاهزة، ولكنه يختلف عنه في ماهية البرامج المُطوَّرة، فيركز مايكروسوفت ميك كود على تطوير الألعاب البسيطة، وكذلك يتدرج برنامج مايكروسوفت ميك كود مع المبرمج في مستويات الصعوبة حتى ينتهي بالمبتدئ إلى أن يكون قادرًا على تعلُّم لغة جافا سكريبت. تينكر Tynker يعد تينكر أحد أهم برامج البرمجة للمبتدئين، ورغم استناده إلى نفس نهج سكراتش ومايكروسوفت ميك كود في تعليم البرمجة، إلا أنه يبرز عنهما بتطوره، إذ يوفر دوراتٍ في مجالاتٍ حديثة، مثل علوم البيانات والذكاء الاصطناعي وتعلم الآلة، كما يتدرج بالمطور المبتدئ إلى مستويات أعلى من نظيريه سكراتش ومايكروسوفت ميك كود. ولكن يتوفر سكراتش ومايكروسوفت ميك كود مجانًا دون الحاجة لدفع أية رسوم، بينما يعد تينكر مدفوعًا، وذلك نظرًا لتقدمه وصعوبة توفير دوراته ومنهاجه المميز في التعليم بشكل مجاني. وأخيرًا تذكر أن تعلُّم البرمجة اليوم لم يعد صعبًا كما كان في السابق، إذ تتوفر اليوم الكثير من البرمجيات التي تُسهِّل عملية التعلُّم يومًا بعد يوم، كل ما عليك هو اتخاد قرار بالبدء في التعلُّم والحرص على الالتزام والمثابرة، وإذا كنت لا تعلم من أين تبدأ في رحلة تعلم البرمجة فيمكنك الاطلاع على دورات أكاديمية حسوب المميزة التي أعدها خبراء في البرمجة والتي تأخذ بيدك في تعلم البرمجة من الصفر وصولًا للاحتراف والحصول على فرصة عمل في أحد مجالات البرمجة المميزة. الخلاصة تعرفنا في هذا المقال على مجموعة متنوعة من برامج البرمجة التي يحتاجها المطورون في مختلف المجالات، سواء برامج تعلم البرمجة أو برامج كتابة وتنقيح الشيفرات ومفسرات سطر الأوامر كما تطرقنا إلى برامج البرمجة الحديثة التي تعتمد على الذكاء الاصطناعي في عملية البرمجة، وختمنا المقال بذكر أهم برامج البرمجة الموجهة للمبتدئين في عالم البرمجة، هل هناك برنامج مفيد في عملية البرمجة تجده مفيدًا في رحلة تعلم البرمجة يسرنا أن تشاركنا تجربتك في التعليقات أسفل المقال. اقرأ أيضًا أسهل لغات البرمجة فوائد تعلم البرمجة ما هي مدة تعلم البرمجة؟ اكتشف ما هي البرمجة وما أهمية تعلمها برمجة الحاسوب للمبتدئين لماذا يجب أن تعلم طفلك البرمجة؟
  14. يعد مجال هندسة الحاسوب Computer Engineering واحدًا من أهم المجالات التقنية وأعرقها، كما تلعب هندسة الحاسوب دورًا رئيسيًا في تطوير أنظمة حاسوبية متكاملة تُستخدم في مختلف المجالات والتخصصات. ويوفر لك هذا المقال لمحة شاملة عن هندسة الحاسوب، بدءًا من تعريفها وأقسامها، مرورًا بموادها ويوضح أبرز الفروق بين تخصص هندسة الحاسوب وبين تخصصات مشابهة مثل هندسة البرمجيات وعلوم الحاسوب، ويختتم بتعريفك على أهم مهارات مهندس الحاسوب والوظائف التي تتاح لك عند دراسة هندسة الحاسوب. ما هي هندسة الحاسوب؟ تعد هندسة الحاسوب أحد فروع الهندسة وهي تخصص شامل وواسع يجمع بين علوم متعددة مثل تصميم الأجهزة وعلم الإلكترونيات وتطوير البرمجيات، إذ تعتمد هندسة الحاسوب على مبادئ من علوم الحاسوب وهندسة الإلكترونيات لتطوير أنظمة حاسوبية مدمجة ومتكاملة تُستخدم في مختلف المجالات، مثل: الصناعة والطب والاتصالات والنقل. يبدأ عمل مهندسي الحاسوب من تصميم الدوائر الإلكترونية والشرائح الإلكترونية للحاسوب، ثم كتابة البرمجيات منخفضة المستوى لتشغيل هذه الدوائر والشرائح وتشغيل عتاد الحاسوب عامة، ثم تطوير أنظمة التشغيل لإدارة موارد الحاسوب، وأخيرًا تطوير البرمجيات الملائمة لاحتياجات المستخدم لتثبيتها على الحاسوب. وتدخل هندسة الحاسوب كما ذكرنا للتو في كثيرٍ من المجالات المختلفة، ما يجعلها إحدى أهم المجالات المعاصرة، ومن هذه المجالات: الصناعة: يساعد مهندسو الحاسوب على تطوير الآلات وتسهيل أتمتة العمليات، ما يزيد إنتاجية المصانع وبالتالي زيادة دخلها وتحسين جودة المنتجات. الطب والخدمات الصحية: يعمل مهندسو الحاسوب على بناء أجهزة طبية متطورة وتطوير برمجياتها وتحديثها باستمرار لزيادة دقتها في تشخيص المريض وتحديد حالته والدواء المناسب له. الاتصالات: يساهم مهندسو الحاسوب في تصميم وتطوير بنية الشبكات التي تدعم اتصالات البيانات بين الأجهزة المختلفة وتطوير برمجيات ت وتطبيقات تسهل عمليات الاتصال ونقل البيانات عبر الشبكات. الاقتصاد: تعزز هندسة الحاسوب من النمو الاقتصادي من خلال تطوير حلول رقمية ومنصات تجارة إلكترونية توسع الوصول إلى الأسواق وتسهل العمليات التجارية. ما أقسام هندسة الحاسوب؟ تتعدد أقسام هندسة الحاسوب وتتفرع، ومن أشهر أقسامها: قسم هندسة البرمجيات Software Engineering قسم هندسة الشبكات Networks Engineering قسم الذكاء الاصطناعي Artificial Intelligence قسم أمن المعلومات Information Technology لنشرح بتفصيلٍ أكبر كل قسم من هذه الأقسام. قسم هندسة البرمجيات Software Engineering يعد قسم هندسة البرمجيات أحد أشهر أقسام هندسة الحاسوب وأكثرها انتشارًا، ويعمل مهندسو البرمجيات على توظيف التقنيات البرمجية من لغات برمجة وأطر عمل وقواعد بيانات وغيرها من التقنيات لتطوير برامج للمستخدمين. وتتعدد المجالات الفرعية من مجال هندسة البرمجيات، ومن أشهرها مجال تطوير الويب، والذي يهتم بتطوير تطبيقات الويب التي يتصفحها المستخدمون عبر متصفحات الويب، وكذا يعد تطوير تطبيقات الجوال أحد المجالات الفرعية من هندسة البرمجيات، وهو المجال المختص في تطوير تطبيقات موجهة إلى أنظمة تشغيل الهواتف الجوالة، مثل: أندرويد وأي أو إس iOS، وكذلك مجال تطوير تطبيقات سطح المكتب الذي يُعنى بتطوير تطبيقات لأنظمة تشغيل الحواسيب، ومنها ويندوز ولينكس وماك أو إس MacOS. قسم هندسة الشبكات Networks Engineering يعمل مهندسو الشبكات على تصميم الشبكات وبنائها وصيانتها دوريًا، والشبكة هي نظامٌ رقميٌّ يسمحُ للأجهزة الإلكترونية بالتواصل وتناقل البيانات، ولا يكاد مجالٌ تقنيٌّ أن يظهر إلا بالاعتماد على الشبكات، ما يجعل من هندسة الشبكات أحد أهم أقسام هندسة الحاسوب. قسم الذكاء الاصطناعي Artificial Intelligence يظفر قسم الذكاء الاصطناعي برواج واسعٍ في الآونة الأخيرة سواءً بين المبرمجين أو غيرهم، وذلك نظرًا للتقدم السريع والكبير في هذا المجال، ويعد الذكاء الاصطناعي قسمًا من أقسام هندسة الحاسوب، ويجمع مهندسو الذكاء الاصطناعي بين مجالات تعلم الآلة وتحليل البيانات ومجالات أخرى لتطوير برمجيات لأتمتة المهام الروتينية، ما يزيد من إنتاجية الشركات ويقلل التكاليف ويرفع الأرباح. قسم أمن المعلومات Information Technology يهتم قسم أمن المعلومات بإدارة أنظمة التشغيل وتنظيم العمليات عليها وحمايتها، كما يهتم بإدارة قواعد البيانات، ما يجعله مجالًا واسعًا يحتاج متخصصوه مهاراتٍ عديدة، منها: إدارة أنظمة التشغيل وإدارة الشبكات وإدارة قواعد البيانات والاختبار وتنقيح الأخطاء وتأمين التطبيقات وغيرها من المهارات. ما هي مواد هندسة الحاسوب؟ يدرس مهندسو الحاسوب مواد عديدة، منها: أساسيات الهندسة الكهربائية Electrical Engineering أساسيات علوم الحاسوب Computer Science أنظمة التشغيل Operating Systems الشبكات Networking التصميم والتحليل الهندسي Engineering Design and Analysis لنتعرف بعمقٍ عن ماهية كل مادة وأهميتها. أساسيات الهندسة الكهربائية تتفرع الهندسة الكهربية من مجال الهندسة، وتهتم الهندسة الكهربية بدراسة التطبيقات الكهربية في الأجهزة الحديثة، ولا سيما الدوائر الإلكترونية المتكاملة Integrated Circuits والترانزستورات Trasistors، واللذان يُعدَّان من القطع الأساسية في عتاد أي حاسوب، كما تهتم الهندسة الكهربية أيضًا بدراسة الإشارات ومعالجتها Signal Processing، وكذلك يدرس الإلكترونيات الدقيقة وأشباه الموصلات Microelectronics and Semiconductors. أساسيات علوم الحاسوب تشير علوم الحاسوب إلى دراسة الحاسوب والأنظمة الحاسوبية وطريقة عملها، ويتضمن ذلك دراسة البرمجة ولغاتها، ودراسة الخوارزميات وهياكل البيانات وتحليل البيانات وتأمين التطبيقات البرمجية، كما يتضمن دراسة أساسيات معمارية الحاسوب، والتي تهتم بمكونات الحاسوب الداخلية من معالج إلى الذاكرة العشوائية والذاكرة الصلبة وكيفية عمل هذه القطع معًا. أنظمة التشغيل يهتم مهندس الحاسوب بدراسة نظام التشغيل ومكوناته وطريقة عمله، ويتعرف على طريقة تطوير وظائف نظام التشغيل، مثل: إدارة الموارد وإدارة العمليات وإدارة الشبكات وغيرها، ويعلم أيضًا عوامل أمان نظام التشغيل وكيفية تطبيقها أثناء تطوير نظام تشغيل ومن ضمن ذلك اختبار النظام وتنقيح أخطائه، كما يدرس كيفية ارتباط هذا النظام بعتاد الحاسوب والتوافق معه. الشبكات تدخل دراسة الشبكات الحاسوبية ضمن مواد هندسة الحاسوب، إذ يدرس مهندس الحاسوب ماهية الشبكة ومكوناتها من حواسيب وخوادم وحواسيب مركزية وأجهزة أخرى، وطريقة عمل الشبكة وبروتوكولات تبادل المعلومات والبيانات والموارد والخدمات عبر الشبكة، ويعرف أنواع الشبكات المختلفة ومعايير اختيار النوع المناسب من الشبكات حسب احتياجات العمل، كما يتعلم بناء الشبكة ومبادئ تأمينها وحمايتها من الاختراق. التصميم والتحليل الهندسي يشير التصميم الهندسي في هندسة الحاسوب إلى عملية تصميم هيكل حاسوب أو جهاز إلكتروني وتحديد مواصفاته وإمكانياته، وتصميم نظام تشغيله وعمليات نظام التشغيل أيضًا، أما عملية التحليل الهندسي في هندسة الحاسوب فهي إحدى خطوات عملية التصميم الهندسي، ويشير التحليل الهندسي إلى عملية تحديد المشكلات التي يواجهها المهندس أثناء عملية التصميم وتفكيكها إلى مشكلات صغيرة وحل هذه المشكلات الصغيرة واحدة تلو الأخرى حتى يصل إلى حل للمشكلات الكبيرة في التصميم. ما الفرق بين علوم الحاسوب وهندسة الحاسوب وهندسة البرمجيات؟ تركز هندسة البرمجيات أساسيًا على دراسة البرمجيات ومكوناتها وطريقة عملها، ودراسة لغات البرمجة والنظريات البرمجية وطريقة تطوير برنامج ذي أداء سريعٍ وأمانٍ عالٍ، بينما تدرس هندسة الحاسوب عتاد الأجهزة الإلكترونية وكيفية بناء جهاز إلكتروني والمكونات الدقيقة للأجهزة، كما تدرس البرمجيات أيضًا ولا سيما التطبيقات منخفضة المستوى المستخدمة لتشغيل قطع العتاد المختلفة داخل الحاسوب. تتشابه علوم الحاسوب مع هندسة البرمجيات تشابهًا كبيرًا، ولكنها تختلف معها في دراسة العتاد، إذ يدرس طلاب علوم الحاسوب أمورًا عن عتاد الحاسب وكيفية عملها، ولكنها تختلف عن هندسة الحاسوب في مدى التعمق في دراسة العتاد، إذ يدرس مهندسو الحواسيب العتاد بعمق، حتى يدرسوا أدق أنواع العتاد، مثل: الدوائر الإلكترونية المتكاملة والترانزستورات، بينما لا يدرس طلاب علوم الحاسوب عن العتاد إلا علومًا نظريةً قليلة. ما هي أهم مهارات مهندس الحاسوب الناجح؟ تعد مهارات مهندس الحاسوب الناجح عديدة، ولعل أهمها: الشهادة التفكير المنطقي التفكير النقدي حل المشكلات المهارات الناعمة لنأخذ لمحة سريعة عن كل مهارة من هذه المهارات وأهميتها لمهندس الحاسوب. الشهادة لا شك أن الشهادة الجامعية في مجال هندسة الحاسوب مفيدة، فالتعليم الجامعي يساعدك على التعلُّم المنظم ويضمن وجود رقيب يتابع تطور مستواك، ولكنها كذلك ليست ضرورية للنجاح في تخصص هندسة الحاسوب وقد تعدلها الدراسة الذاتية والتطبيق العملي والخبرة في المجال فكثير من جهات العمل اليوم تشترط الخبرة في المجال أكثر من اشتراط الشهادات. فمصادر التعلم الذاتي كثيرة ومنوعة ومن بين مصادر التعلم البارزة عربيًا أكاديمية حسوب التي توفر لك من خلال دوراتها البرمجية في مختلف المجالات التقنية مميزات التعليم الأكاديمي من منهجية واضحة في التعلم وشهادة تثبت ما تعلمته ورقابة من خبير في هندسة الحاسوب، كما تمنحك مميزات التعليم الذاتي من مرونة التعلُّم وسهولته وسرعته وغيرها مما لا توفره الجامعة. دورة علوم الحاسوب دورة تدريبية متكاملة تضعك على بوابة الاحتراف في تعلم أساسيات البرمجة وعلوم الحاسوب اشترك الآن التفكير المنطقي لا يستطيع مهندس الحاسوب مزاولة مهنته دون مهارات التفكير المنطقي فهو الذي يجعلك تكر بشكل منظم يساعدك علة فهم عتاد وبرمجيات الحواسيب ويوفر له مهارة التخطيط الجيد ويمنحك القدرة على اتباع خطواتٍ متسلسلة مرتبة مفصلة للوصول إلى أفضل حل للمشكلات التي تواجهها. التفكير النقدي يحتاج كل مهندس حواسيب إلى عقلٍ نقديٍّ يساعده على تحديد مواطن الضعف في برنامجه أو جهازه، فنقاط الضعف في البرنامج الرقمي ينتج عنها وصول المخترقين والمحتالين إلى بيانات المستخدمين، ما يؤدي إلى فقد الموثوقية والمصداقية، أما مواطن الضعف في الأجهزة سواءً حواسيب أو هواتف جوالة أو غيرها فإنَّها تؤدي إلى سوء تجربة المستخدم، مما يؤدي أيضًا إلى خسارة الموثوقية والمصداقية من العملاء. حل المشكلات تواجه مهندس الحاسوب مشكلاتٌ كثيرةٌ أثناء بناء الأجهزة والتطبيقات، مما يُحتِّم عليه تعلُّم مهارة حل المشكلات، وهذه المهارة مرتبطةٌ ارتباطًا وثيقًا بمهارة التفكير المنطقي، إذ يساعد التفكير المنطقي على وضع خطوات متسلسلة للوصول إلى أفضل حلٍّ للمشكلة؛ سواءً كانت هذه المشكلة برمجية أو مشكلة في تصميم الجهاز وتحديد الموارد والخامات أو غيرها. المهارات الناعمة عادةً ما يعمل مهندسو الحاسوب ضمن فرق عمل، فلا يستطيع مهندس حاسوب واحد تنفيذ جميع مهام من بناء جهاز إلكتروني إلى تطوير نظام تشغيل له ثم تطوير برمجيات موجهة لهذا الجهاز، وذلك يجعل تعلُّم مهارات التعامل مع الأصدقاء في فريق العمل أمرًا ضروريًا. ما وظائف هندسة الحاسوب؟ تفتح لك هندسة الحاسوب أبوابًا عديدة أمام وظائفٍ كثيرة، ومنها: متخصص دعم تقني مهندس DevOps خبير أمن معلومات خبير ذكاء اصطناعي مطور تطبيقات لنعرف مزيدًا من المعلومات عن كل وظيفة على حدة. متخصص دعم تقني يعمل متخصص الدعم التقني على تكوين النظام التقني للشركة، بدءًا من تنصيب الخوادم والشبكات، مرورًا باختبار النظام واستخراج نقاط ضعفه وحلها، وصولًا إلى صيانة النظام وترقيته دوريًا لضمان استمرار عمله على أفضل وجه. مهندس DevOps ينتشر مجال ديف أوبس DevOps بسرعة شديدة رغم حداثته، وذلك لما له من فوائد في تسريع عملية تطوير البرمجيات، ولتصبح مهندس DevOps عليك تعلُّم مجموعة من المهارات، أهمها: كتابة الشيفرات البرمجية لأتمتة المهام وإدارة أنظمة التشغيل والشبكات والخوادم، والتعامل مع الحاويات Containers وأشهرها دوكر Docker، وتنفيذ مهام الحوسبة السحابية ومنهجية التكامل المستمر والنشر المستمر CI|CD، وتأمين البنية التحتية اللازمة لتشغيل التطبيقات والخدمات وإدارة السجلات Logs ومراقبة حالة النظام Monitoring للكشف أي أخطاء فور وقوعها. خبير أمن معلومات يشرف خبير أمن المعلومات على اسكتشاف والثغرات الأمنية سواءً في عتاد الحواسيب أو في برمجياتها وحل هذه الثغرات ويعد أمن المعلومات أحد أهم وظائف هندسة الحاسوب، ويجب أن يكون خبير أمن المعلومات على دراية واسعة بأمن الشبكات ونظم التشغيل وقواعد البيانات، ويكون خبيرًا في الأمن السيبراني واختبار التطبيقات وتنقيح أخطائها. خبير ذكاء اصطناعي يعد الذكاء الاصطناعي واحدًا من وظائف البرمجة الحديثة الأكثر طلبًا في سوق العمل اليوم، وتتفرع منه مجالاتٌ عديدة، مثل: تعلم الآلة والتعلم العميق ومعالجة اللغة الطبيعية وغيرها، ويحتاج خبير الذكاء الاصطناعي إلى إتقان لغة برمجة، وتشتهر لغة البرمجة بايثون بشدة في هذا المجال، كما يحتاج إلى معرفة بأطر عمل الذكاء الاصطناعي وتعلُّم الآلة وأشهرها إطار عمل باي تورش PyTorch وتنسر فلو TensorFlow، وأن يتعرف أيضًا على مبادئ الإحصاء والرياضيات وتحليل البيانات، وكذا ينبغي عليه المعرفة بماهية الرؤية الحاسوبية Computer Vision والحوسبة السحابية Cloud Computing. مطور تطبيقات يتعلم مهندس الحاسوب العديد من لغات البرمجة والتقنيات خلال دراسته وتمكنه هذه المعرفة التقنية من تطوير العديد من أنواع التطبيقات ما بين تطبيقات ويب وتطبيقات هاتف وتطبيقات سطح مكتب، فلكلٍّ منها لغات برمجة وأطر عمل ومهارات خاصة به، لذا يشترك مطورو التطبيقات بجميع أنواعها في حاجتهم لدراسة لغة برمجة وإطار عمل وقاعدة بيانات ونظام تحكم في الإصدارات، بينما تختلف نوعية اللغات وأطر العمل بين التطبيقات المختلفة، فمثلًا يحتاج مطورو الويب لمعرفة إحدى لغات الويب، مثل: جافا سكريبت أو PHP أو روبي أو بايثون وغيرها، بينما يحتاج مطورو تطبيقات الهاتف إلى معرفة بلغة البرمجة جافا أو كوتلن لتطبيقات أندرويد وسويفت لتطبيقات أي أو إس iOS، أما مطورو تطبيقات سطح المكتب فيحتاج لمعرفة لغة البرمجة جافا Java أو سي بلس بلس ⁦C++⁧⁧⁧ الخاتمة إلى هنا نكون قد وصلنا لنهاية مقالنا الشامل الذي شرحنا فيه كل ما يخص هندسة الحاسوب التي تعد مجالًا واسعًا يوفر لدارسيه فرصًا وظيفية مميزة ذات رواتب مجزية ويفتح لمن يتقن مهاراته الواسعة الكثير من المجالات والتخصصات، وهو مجالٌ ذو مستقبلٍ مميز ولا سيما مجالاته المتعلقة بالذكاء الاصطناعي لذا ننصحك بالبدء بتعلم مهاراته من الآن واللحاق بركب التطور التقني الحاصل في شتى المجالات. اقرأ أيضًا تعرف على تخصص هندسة البرمجيات تعرف على وظائف البرمجة الأعلى أجرًا مدخل إلى تطوير البرمجيات Software Development الأخطاء السبع القاتلة لأيّ مشروع برمجيات شهادات البرمجة: أهميتها وسبل الحصول عليها ما هي مدة تعلم البرمجة؟
  15. تمثل لغات البرمجة عالية المستوى نسبة تزيد عن ثمانين بالمائة من أشهر خمسين لغة برمجة في المجتمع التقني، ما يجعلنا نتساءل: ما هي لغات البرمجة عالية المستوى؟ ولماذا تعد مشهورة إلى هذا الحد؟ وما أشهر استخدامات هذا النوع من لغات البرمجة؟ تعريف لغات البرمجة عالية المستوى تتعدد مستويات لغات البرمجة، فمن لغات البرمجة لغات منخفضة المستوى تساعد المطور على التخاطب المباشر مع عتاد الحاسوب، ما يجعلها مميزة في إدارة موارد الحاسوب، ويوجد كذلك لغات برمجة عالية المستوى، وتعد أكثر تجريدًا عن عتاد الحاسوب وتجعل تركيز المطور ينصبُّ على خواص التطبيق ومميزاته، وهي أسهل من اللغات منخفضة المستوى وأقرب منها إلى اللغات البشرية. تعد لغات البرمجة عالية المستوى نوعًا من لغات البرمجة يسمح للمطور بتطوير برمجيات مجردة عن عتاد الحاسوب، بمعنى أنَّ المطور لا يحتاج إلى وصف طريقة تعامل الأجزاء المختلفة من البرنامج مع المكونات الداخلية للحاسوب مثل: المعالج والذاكرة المؤقتة والذاكرة الدائمة، وتهدف لغات البرمجة عالية المستوى إلى تسهيل عملية تطوير البرمجيات وزيادة إنتاجية المطور، وكذلك تقريب بنية لغات البرمجة إلى بنية اللغات البشرية حتى تسهُل قراءة الشيفرات وكتابتها. أنواع لغات البرمجة عالية المستوى يجب ترجمة كل برنامج مكتوب بلغة برمجة عالية المستوى إلى لغة الآلة قبل تنفيذه، وتنقسم لغات البرمجة عالية المستوى إلى نوعين رئيسيين تبعًا لطريقة ترجمة الشيفرات، وهما: لغات برمجة مترجمة Compiled Programming Languages: يعد المترجم برنامجًا حاسوبيًا يعمل كوسيط بين برنامجك الرقمي والآلة، ويعمل على ترجمة شيفرات البرنامج كاملة إلى لغة الآلة ثم تنفيذها دفعةً واحدة، ويتميز هذا النوع من لغات البرمجة بالسرعة والكفاءة، ومن أشهر أمثلته لغة سي بلس بلس C++‎ وراست Rust وجو Go. لغات برمجة مفسرة Interpreted Programming Languages: يتشابه المفسر مع المترجم في وساطته بين البرنامج والآلة ولكنه يختلف في طريقة الترجمة، إذ يقرأ المفسر الشيفرات واحدة تلو الأخرى ويترجمها إلى لغة الحاسوب وينفذ كل شيفرة مباشرة بعد ترجمتها، ويتميز هذا النوع بالسهولة والمرونة، ومن لغاته بايثون Python وجافا سكريبت JavaScript وبي إتش بي PHP. تُستخدم لغات البرمجة عالية المستوى في كل مجال برمجي تقريبًا، فهي تُستخدم في المجالات الكلاسيكية، مثل: تطوير الويب وتطبيقات الهاتف وتطبيقات سطح المكتب، وكذلك تُستخدم في المجالات الحديثة، مثل: الذكاء الاصطناعي وتحليل البيانات، كما تدخل في مجالات الأمن السيبراني ومجالات سلسلة الكتل Blockchain والعملات الرقمية وسائر المجالات التقنية الأخرى، ومن أشهر لغات البرمجة عالية المستوى لغة بايثون وجافا و PHP و R و كوتلن وجو و C وC#‎. الفرق بين لغات البرمجة عالية المستوى ولغات البرمجة منخفضة المستوى تعد لغات البرمجة منخفضة المستوى نوعًا من اللغات البرمجة يوفر تواصلًا مباشرًا مع عتاد الحاسوب، وتشبه بنيتها بنية لغة الآلة، ومن أبرز الفروق بينها وبين اللغات عالية المستوى نذكر التالي: تتميز لغات البرمجة عالية المستوى بسهولة قراءة وكتابة الشيفرات ما يجعل تطوير البرمجيات سهلًا وسريعًا، وكذلك تسهُل عمليتا الاختبار ومعالجة الأخطاء مما يساعد على حفظ أمان البرنامج، بينما تتميز اللغات منخفضة المستوى بالوصول المباشر لعتاد الجهاز واستهلاك موراده بالطريقة الأمثل. تُستخدم لغات البرمجة عالية المستوى في جميع المجالات البرمجية تقريبًا،مثل برمجة تطبيقات الويب والجوال وتطبيقات الذكاء الاصطناعي وتحليل البيانات، أما لغات البرمجة منخفضة المستوى فتُستخدم اليوم في مجالات محدودة تحتاج للتعامل مع عتاد الحاسوب مباشرة، مثل: تطوير أنظمة التشغيل وتطوير الأنظمة المدمجة. أنواع لغات البرمجة عالية المستوى تعد النماذج البرمجية منهجيات لكتابة الشيفرات وحل المشكلات البرمجية وتختلف أهداف كل نموذج برمجي عن الآخر، وقد تدعم لغة البرمجة الواحدة أكثر من نموذج برمجي، وتتعدد أنواع لغات البرمجة عالية المستوى تبعًا للنماذج البرمجية، منها: لغات البرمجة كائنية التوجه Object-Oriented Programming Languages لغات البرمجة الوظيفية Functional Programming Languages لغات البرمجة الإجرائية Procedural Programming Languages لغات البرمجة المنطقية Logical Programming Languages لنشرح بمزيد من التفصيل مميزات كل نوع من هذه الأنواع وأشهر لغات البرمجة التي تندرج ضمنه. لغات البرمجة كائنية التوجه Object-Oriented Programming Languages يعد نموذج البرمجة كائنية التوجه أشهر نموذج برمجي في المجتمع التقني؛ ذلك لتقسيمه البرنامج كاملًا إلى مجموعات صغيرة من الشيفرات القابلة لإعادة الاستخدام في مواضع أخرى، ما يساعد على تقليل إجمالي عدد الشيفرات النهائي للبرنامج وبالتالي تحسين أدائه، وكذلك يساعد على تنظيم الشيفرات وتسهيل عملية اختبار البرنامج ومعالجة أخطائه مما يرفع من أمان البرنامج. يقوم نموذج البرمجة كائنية التوجه على مفهوم الأصناف Classes التي تحتوي على كائنات Objects، والكائنات هي بيانات البرنامج التي تمتلك واصفات Attributes وطرق أو توابع Methods، والواصفات هي المتغيرات Variables التي تتضمن نوع بيانات الكائن وحجمها وتفاصيلها، وأما الطرق فهي الدوال البرمجية التي تحقق الوظائف Functions التي تقوم بها الكائنات. ويمكننا تشبيه الصنف في نموذج البرمجة كائنية التوجه بنموذج تصنيع لسيارة، فالواصفات في هذا المثال هي مواصفات السيارة بدءًا من لونها مرورًا بسرعتها وصولًا إلى سعرها، أما التوابع فهي أفعال السيارة، مثل: التشغيل وزيادة السرعة وتغيير الاتجاه، أما الكائنات فهي السيارات النهائية الناتجة عن هذا الصنف. class Car: # These are the attributes of the object: color = 'Red' speed = "180KM\H" price = "5500 USD" # These are the methods of the object: def turn_on(self): return 'Car is turned on' def increase_speed(self): return 'Speed is increased' def change_direction(self): return 'Direction is changed' the_car = Car() # This is the object print(the_car.color) # Output: Red print(the_car.turn_on()) # Output: Car is turned on تدعم لغاتُ برمجةٍ عديدة نموذجَ البرمجة كائنية التوجه، ولعل أشهرهم بايثون وجافا وسي بلس بلس C++‎ وجافا سكريبت وروبي وبي إتش بي PHP وكوتلن. وتُستخدم لغات البرمجة كائنية التوجه في مجالات عديدة، منها: تطوير تطبيقات الويب وتطوير تطبيقات الهاتف. لغات البرمجة الوظيفية Functional Programming Languages تعتمد لغات البرمجة الوظيفية على بناء البرنامج كاملًا من مجموعة من الوظائف البرمجية Functions، ويعد نموذج البرمجة الوظيفية مبنيًا على مصطلح الوظائف النقية Pure Functions، وهو نوع من الوظائف تعتمد نتائجه اعتمادًا كليًّا على البيانات الداخلة له، ولا تحتاج الوظيفة إلى تعديل البيانات الداخلة أو تعيين متغيرات للتمكُّن من إصدار النتائج. def pure_function(a, b): return a + b print(pure_function(2, 3)) # Output: 5 def impure_function(a, b): new_a = a + 3 new_b = b + 4 new_data = a + b return new_data print(impure_function(2, 3)) # Output: 19 تتميز لغات البرمجة الوظيفية بقابلية إعادة استخدام الشيفرات وسهولة الاختبار وحل المشكلات، وتُستخدم لغات البرمجة الوظيفية بكثرة في المجالات المعتمدة على تحليل أحجام ضخمة من البيانات، مثل: معالجة البيانات والذكاء الاصطناعي والحوسبة العلمية والحوسبة الرياضية ومزامنة الأنظمة، ومن أشهر لغات البرمجة الوظيفية هاسكل وسكالا وإرلانج وليسب، كما تدعم بايثون هذا النموذج البرمجي. لغات البرمجة الإجرائية Procedural Programming Languages تعد البرمجة الإجرائية نموذجًا برمجيًا سهلًا يساعد على كتابة البرنامج على هيئة خطوات برمجية منطقية متسلسلة، ويساعد نموذج البرمجة الإجرائية على تنظيم شيفرات البرنامج بطريقة وجعلها سهلة القراءة ومنطقية التسلسل، وتُستخدم لغات البرمجة الإجرائية عادةً لكتابة الخوارزميات والعمليات الحسابية ولكتابة برمجيات التشغيل الآلي أو الأتمتة Automation، كما تُستخدم أحيانًا لتطوير أنظمة التشغيل، وتدعم هذا المجال لغاتٌ مثل لغة ++C‎ وجافا وباسكال. def greet_user(): name = input("Enter your name: ") # Procedure 1: Asking the user about his name # Procedure 2: Storing the name of the user in a variable print(f"Hello {name}!") # Procedure 3: Constructing the greeting message greet_user() # Procedure 4: Displaying the greeting message for the user لغات البرمجة المنطقية Logical Programming Languages تعتمد البرمجة المنطقية على المنطق الرسمي Formal Logic، وهو نظام لتحليل وتقييم النتائج المحتملة بناءً على حقائق Facts وقواعد Rules، ثم استخراج النتيجة السليمة والمنطقية للتساؤلات Queries، وتعد لغة برولوج Prolog أشهر لغة برمجة منطقية، ويشيع استخدام لغات البرمجة المنطقية في مجالات الذكاء الاصطناعي والتعلُّم الآلي ومعالجة اللغة الطبيعية. likes(Mohammed, Apples). % This is a fact that Mohammed likes apples likes(Ahmed, Grapes). likes(Mahmoud, Pizza). % This is a rule that people who share the same food preferences are good friends good_friends(Person1, Person2) :- likes(Person1, Food) likes(Person2, Food) مميزات لغات البرمجة عالية المستوى التجريد Abstraction: تعد اللغات عالية المستوى مجردة عن عتاد الحاسوب، أي إن المطور يعمل على تطوير البرنامج ليناسب نظام التشغيل، ويحاول مراعاة مكونات الحاسوب لكن دون حاجة إلى توصيف طريقة تعامل البرنامج مع العتاد، مما يوفر كثيرًا من الوقت والجهد ويجعل عملية التطوير أسهل ويزيد من كفاءة التطبيقات وخواصها. الأمان: تضم معظم لغات البرمجة عالية المستوى مكتباتٍ وأدواتٍ تساعد على اختبار شيفرات البرنامج واستخراج ثغراتها ثم سد هذه الثغرات، ما يساهم في تقليل احتمالية اختراق التطبيق وتعسير الوصول إلى بيانات المستخدمين. التوافقية Portability: تدعم غالبية اللغات عالية المستوى تعدد المنصات، والتي تعني قدرة البرنامج على العمل على أنظمة تشغيل مختلفة، كأن يعمل برنامج سطح المكتب على ويندوز ولينكس وMacOS، كما تتوافق لغات البرمجة عالية المستوى مع مواصفات العتاد المختلفة للحواسيب أيضًا. تعدد الاستخدامات: تُستخدم لغات البرمجة عالية المستوى في مجالات لا حصر لها، بدءًا من تطوير التطبيقات للمنصات المختلفة، مرورًا بتطوير الألعاب، وصولًا إلى تطوير برمجيات الذكاء الاصطناعي وتحليل البيانات وغيرها. سهولة الاستخدام: يسهل تعلم لغات البرمجة عالية المستوى، وذلك لتشابه الكثير من شيفراتها باللغة الإنجليزية، وكذلك يسهل العمل بها لقلة عدد الشيفرات المطلوبة لتطوير البرمجيات. أمثلة على لغات البرمجة عالية المستوى تنتشر لغات البرمجة عالية المستوى وتكثر، ومن أشهرها: بايثون Python سي بلس بلس C++‎ جافا Java جافا سكريبت JavaScript بي إتش بي PHP سويفت Swift لنستعرض ماهية كل لغة ونماذجها البرمجية المدعومة وحالات استخدامها. لغة بايثون Python تعد بايثون إحدى لغات البرمجة العصرية التي يزداد رواجها في الأوساط البرمجية، وهي لغة عالية المستوى مفسرة، تدعم البرمجة كائنية التوجه والبرمجة الوظيفية والبرمجة الإجرائية، وتعد لغة عامة الاستخدامات، إذ تُستخدم في مجالات عديدة ومختلفة، مثل: الذكاء الاصطناعي وتحليل البيانات وتطوير الويب وتطوير تطبيقات سطح المكتب وغيرها. لغة C++‎ تقع لغة C++‎ ضمن أشهر لغات البرمجة عالية المستوى المترجمة، وتدعم البرمجة كائنية التوجه والبرمجة الإجرائية كليًا، وتدعم بعض خواص البرمجة الوظيفية، وتتعدد استخدامات لغة C++‎‎‎، ومن أشهر استخداماتها تطوير أنظمة التشغيل وتطوير الألعاب وتطوير تطبيقات السحابة وإنترنت الأشياء. لغة جافا Java تعد جافا لغة برمجة عالية المستوى كائنية التوجه تدعم التنفيذ كلغة مترجمة وكلغة مفسرة أيضًا، وتشتهر كثيرًا في مجال تطوير تطبيقات الهاتف ولا سيما الموجهة منها إلى نظام تشغيل أندرويد، كما يشيع استخدامها في مجال تطوير الألعاب. لغة جافا سكريبت JavaScript تتعدد النماذج البرمجية للغة جافا سكريبت، فهي تدعم البرمجة الإجرائية والبرمجة الوظيفية، وكذلك تعد داعمة لنموذج البرمجة كائنية التوجه، وتعد لغة مفسرة، وتبرز جافا سكريبت بشدة في مجال تطوير الواجهات الأمامية لتطبيقات الويب. لغة PHP تعد لغة PHP واحدة من لغات البرمجة المفسرة الكلاسيكية التي لا تزال مستخدمة إلى يومنا هذا، وهي داعمةٌ للبرمجة كائنية التوجه والبرمجة الإجرائية، وتُستخدم في تطوير جهة الخادم Server-Side في تطبيقات الويب. لغة سويفت Swift تحظى لغة سويفت بشعبية واسعة رغم حداثتها وظهورها متأخرًا في الأوساط البرمجية، وهي لغة مترجمة وتتلاءم بشدة مع نموذج البرمجة كائنية التوجه، وكذلك تدعم بعض النماذج البرمجية الأخرى مثل البرمجة الوظيفية، وتُستخدم سويفت لتطوير تطبيقات الجوال الموجهة إلى نظام تشغيل iOS. الخلاصة تعرفنا في مقال اليوم على أهمية لغات البرمجة عالية المستوى وأبرز أنواعها وتطبيقاتها، ويمكن القول أنه لا يمكن الاستغناء عن لغات البرمجة عالية المستوى في عصرنا الحالي، بل يسعى خبراء المطورين لتحديثها وتعديلها تارةً بتارةٍ حتى تكون أسهل وأقرب إلى اللغات البشرية، ولكي تصبح أكفأ وأسرع وأكثر أمانًا، وتُوائِم التغيرات السريعة في عالم التقنية، فاحرص على حجز وظيفتك في المستقبل بتعلُّم إحدى لغات البرمجة عالية المستوى من دورات أكاديمية حسوب المميزة. اقرأ أيضًا ما هي مدة تعلم البرمجة اكتشف ما هي البرمجة وما أهمية تعلمها دليلك الشامل إلى لغات البرمجة لغات برمجة الذكاء الاصطناعي دليلك إلى لغات برمجة الألعاب
×
×
  • أضف...