ما الذي تعنيه النماذج اللغوية الكبيرة (LLMs) المخصصة للتعليمات البرمجية لمستقبل تطوير البرمجيات؟

لقد دخلنا عصرًا تتم فيه كتابة التعليمات البرمجية بالشراكة بين الإنسان والآلة.

عندما ظهر ChatGPT من OpenAI في الساحة التقنية لأول مرة، أطلق عصر الذكاء الاصطناعي التوليدي، وكان توليد التعليمات البرمجية من أوائل حالات الاستخدام التي برزت فيه. ثم ظهرت مساعدات البرمجة المدعومة بالذكاء الاصطناعي (AI)، بدءًا من GitHub Copilot الرائد ووصولًا إلى Amazon Q Developer وClaude Code من Anthropic وGemini Code Assist من Google وIBM Bob وMistral Code.

لكن خلف هذه الأدوات البرمجية تقف تقنية قوية: النماذج اللغوية الكبيرة (LLMs) للبرمجة. وهي تغيّر الطريقة التي يتم بها بناء البرمجيات.

تحدثنا مع عدد من خبراء IBM للتعرُّف عن قرب على كيفية مساهمة النماذج اللغوية الكبيرة للبرمجة في إعادة تشكيل دور مطوِّر البرمجيات وتوقعاتهم لمستقبل هذه النماذج. ويشاركنا رؤاهم كلٌّ من:

  • Bridget McGinn، مهندسة برمجيات بحثية، AI for Code.

  • Fumiko Satoh، عضو أول في الطاقم التقني ومديرة أولى، AI for Code and Security.

ما المقصود بالنماذج اللغوية الكبيرة (LLMs) للبرمجة؟

النماذج اللغوية الكبيرة (LLMs) للبرمجة هي نماذج متخصصة تم تدريبها على التعليمات البرمجية المصدر. ويمكن بناؤها من الصفر أو تطويرها انطلاقًا من نموذج مدرَّب مسبقًا تم ضبطه بدقة باستخدام مجموعات بيانات خاصة بالبرمجة. ويجب أن تكون بيانات التدريب هذه عالية الجودة ومتنوعة بما يكفي لضمان قدرة النماذج اللغوية الكبيرة للبرمجة على التعامل مع سيناريوهات برمجية متعددة عبر لغات برمجة مختلفة.

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

  • إكمال التعليمات البرمجية (ويُعرَف أيضًا بالإكمال التلقائي).

  • تلخيص الكود

  • اقتراح تحسينات التعليمات البرمجية

  • ترجمة التعليمات البرمجية الحالية من لغة برمجة إلى أخرى (مثل التحويل من Python إلى JavaScript).

ومن الأمثلة الشائعة على النماذج اللغوية الكبيرة للبرمجة: CodeGemma من Google وCode Llama من Meta وCodestral وDevstral من Mistral. أما النماذج مفتوحة المصدر للبرمجة فتشمل DeepSeek Coder وIBM Granite Code وQwen3 Coder.

وهناك نماذج لغوية كبيرة أخرى ليست مخصصة حصريًا للبرمجة، لكن تم تدريبها على التعليمات البرمجية وتم تكوينها لأداء مهام البرمجة، مثل Claude Sonnet وOpus من Anthropic وGemini Pro من Google.

أكاديمية الذكاء الاصطناعي

كن خبيرًا في الذكاء الاصطناعي

اكتسب المعرفة لتحديد أولويات استثمارات الذكاء الاصطناعي التي تدفع نمو الأعمال. ابدأ مع أكاديمية الذكاء الاصطناعي المجانية اليوم وتولَّ زمام المبادرة لتعزيز مستقبل الذكاء الاصطناعي في مؤسستك.

الدور المتغير لمطوِّري البرمجيات

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

ولا يقتصر تأثير النماذج اللغوية الكبيرة للبرمجة على إعادة تشكيل تطوير البرمجيات فحسب، بل يمتد إلى إعادة تعريف دور مطوِّري البرمجيات أنفسهم.

من المستوى المنخفض إلى المستوى العالي

وفقًا لـ El Maghraoui، يتطور دور مهندسي البرمجيات من منتِجي تعليمات برمجية إلى قيّمين عليها. "في حين تظل البرمجة مهارة أساسية، يتجه التركيز بشكل متزايد نحو هندسة المطالبات. كيف نصوغ الاستفسارات المناسبة في سياق هذه النماذج اللغوية الكبيرة؟ وبدلًا من كتابة كل سطر برمجي يدويًا، يتجه المطورون بشكل متزايد إلى تنسيق التعليمات البرمجية التي يولِّدها الذكاء الاصطناعي وربط أجزائها معًا".

غير أن هذا التطور ليس سوى جزء صغير مما هو قادم. وترى El Maghraoui أن أدوار المطورين ستتطور إلى ما تسميه "الهندسة القائمة على النوايا". وتكمن الفكرة في الابتعاد عن تفاصيل الصياغة البرمجية والتركيز على البنية، وترك التفاصيل الدقيقة والنظر إلى الصورة الأشمل، والانتقال من التركيز على "ماذا" إلى التركيز على "لماذا"، مع إبراز الأهداف والنتائج والأثر.

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

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

وتقول Satoh: "يجب أن يركزوا على التفكير التصميمي بدلًا من كتابة التعليمات البرمجية. نحن بحاجة إلى مهندسين ذوي مستوى أعلى قادرين على تصميم البنية للأنظمة".

وهو دور يزداد تعددًا في التخصصات، إذ لا يقتصر على التصميم والبنية فحسب، بل يشمل أيضًا جوانب أخرى مثل الأخلاقيات والأمن. وتقول El Maghraoui: "أصبح العمل أقل اعتمادًا على التنفيذ اليدوي وأكثر اعتمادًا على الأتمتة، لكنه بات أكثر استراتيجية. فأنت تدمج بين هندسة البرمجيات والتفكير على مستوى الأنظمة والتفكير المنتج والاستدلال الأخلاقي. ولم نَعُد نمتلك الإلمام بالبرمجة فحسب، بل أصبحنا مهندسين ملمِّين بالذكاء الاصطناعي ويضعونه في صميم عملهم".

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

يجب أن يظل المبرمجون ضمن دائرة العمل

يُشير Panda إلى أن النماذج اللغوية الكبيرة للبرمجة، شأنها شأن أي نموذج لغوي كبير، لها جوانب قصور. ويوصي بتوخي الحذر فيما يتعلق بحقوق النشر والتحيز والأمن، خاصةً عند العمل على تطبيقات حيوية في قطاعات مثل التمويل والرعاية الصحية.

ويقول Panda: "لا يمكنك الاعتماد عليها بشكل أعمى. فعليك دائمًا التعامل مع التعليمات البرمجية التي تولِّدها بقدر من التحفظ".

ويجب أن يقترن هذا الحذر أيضًا بآليات لتحسين الأداء وإجراءات للتحقق من سلامة النتائج ودقتها. وتقول McGinnis: "لا يزال من الضروري التأكد من كتابة حالات الاختبار وفحص التعليمات البرمجية بالدقة نفسها التي كنت ستطبقها لو كانت مكتوبة يدويًا".

وتؤكِّد El Maghraoui على الاستفادة من نماذج التعليمات البرمجية بوصفها أداة دعم لا بديلًا يعتمد عليه بالكامل. وتقول: "إذا استخدمناها كوسيلة تعليمية أو كشريك برمجي أو كمصدر للأفكار، فيمكنها تعزيز تعلمنا وإبداعنا وإنتاجيتنا. أما إذا استخدمناها كوسيلة نتكئ عليها دون تمحيص أو تحقق، فقد تضعف قدرتنا على الحكم والمساءلة".

أساسيات البرمجة أصبحت أكثر أهمية

لا يمكن إجراء التحقق إلا إذا كان المطورون يفهمون المبادئ الأساسية للحوسبة. ففي النهاية، إذا كنت لا تفهم أساسيات البرمجة، فكيف يمكنك التأكد من صحة التعليمات البرمجية التي تولِّدها هذه النماذج؟.

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

هنا يظهر دور الخبرة المتعمقة، والتي تُتيحها المفاهيم الأساسية في تطوير البرمجيات.

يقول McGinn: "في المدارس، ما زلنا نعلِّم الطلاب إجراء القسمة المطوَّلة يدويًا، لكن ما الفائدة من ذلك إذا كانوا سيستخدمون الآلة الحاسبة؟ الأمر مشابه للبرمجة. ما العناصر الأساسية التي نراها ضرورية لفهم ما يحدث؟".

بعض هذه الأسس التقنية يمكن أن تشمل المحوِّلات البرمجية وبنية الكمبيوتر وقواعد البيانات وإدارة الذاكرة وأنظمة التشغيل. تقول El Maghraoui: "قد يبدأ المطوِّرون في تجاوز تعلُّم هذه المفاهيم بعمق لأن النماذج اللغوية الكبيرة للبرمجة تعمل على تجريدها وإخفاء تفاصيلها". وتضيف: "مع ذلك، من الضروري فهم آليات عمل تطوير البرمجيات من الداخل، نظرًا لتأثيرها في وظائف التعليمات البرمجية المصدر وأدائها".

وتوضِّح El Maghraoui أن النماذج اللغوية الكبيرة للبرمجة قد تقلل العبء المعرفي عبر أتمتة المهام المتكررة، لكنها في الوقت نفسه قد تؤدي إلى ما تسميه "الضمور المعرفي". وتقارن El Maghraoui ذلك بالاعتماد المتزايد على GPS الذي يؤدي إلى تراجع الحس الطبيعي للملاحة والتوجيه. وتحذِّر El Maghraoui قائلة: "إذا اعتمد المطورون بشكل كبير على اقتراحات التعليمات البرمجية، فستقل كفاءتهم في تصحيح الأخطاء. كما تُشير إلى أن النماذج اللغوية الكبيرة للبرمجة قد تُضعف القدرة على التفكير الخوارزمي إذا لم تتم موازنتها بالممارسة والمعرفة التأسيسية".

توقعات المرحلة التالية للنماذج اللغوية الكبيرة للبرمجة

مع تطوُّر النماذج اللغوية الكبيرة للبرمجة، ستكشف عن ميزات جديدة وحتى حالات استخدام مبتكرة، كما يتضح من اتجاه البرمجة الحدسية. فما الذي يخبئه المستقبل لهذه النماذج؟ يستعرض خبراؤنا توقعاتهم.

صعود الوكلاء

يشهد العالم حديثًا واسعًا حول وكلاء الذكاء الاصطناعي الذين يُعيدون تشكيل مستقبل العمل في مختلف الصناعات - بما في ذلك تطوير البرمجيات.

تقول El Maghraoui: "أرى توجُّهًا نحو أنظمة البرمجة متعددة الوكلاء مع قواعد تعليمات برمجية قادرة على إصلاح نفسها". بدأت أنظمة الذكاء الاصطناعي الوكيل هذه بالفعل في التبلور. على سبيل المثال، يمكن لوكلاء هندسة البرمجيات (SWE) حل مشكلات GitHub بشكل مستقل، عبر تحديد موقع الأخطاء داخل قاعدة التعليمات البرمجية أولًا، ثم تعديل تلك الأسطر لإصلاحها.

صغير ومستدام

يأمل McGinn في تبنّي نهج أكثر كفاءة في استهلاك الطاقة، "لا يعتمد على أكبر نموذج لكل المهام، بل يوفر الطاقة عبر نهج يعتمد على وكلاء أصغر" بحيث يتولى كل وكيل مهام برمجية محددة.

وبالمثل، يتطلع Panda إلى إتاحة النماذج اللغوية الصغيرة (SLMs) مثل Granite Code للعمل على أجهزة محدودة الموارد مثل أجهزة الكمبيوتر المحمول وأجهزة الحافة. "في الوقت نفسه، هناك مهام يصعب على النماذج اللغوية الصغيرة التعامل معها، وهنا تظهر الحاجة إلى النماذج الأكبر من Granite. الأمر في النهاية توازن بين عدة نماذج، وليس نموذجًا واحدًا يقوم بكل شيء".

تعزيز الذاكرة والاستدلال

تقول El Maghraoui: "يُعَد دمج الذاكرة السياقية والاستدلال داخل النماذج اللغوية الكبيرة للبرمجة من التحسينات المهمة التي يجب مراقبتها. يمكن لهذه النماذج تذكُّر التاريخ الكامل للمشروع وكيف تطوَّر عبر الوقت. وهذا يُتيح تقديم اقتراحات أدق للمستقبل".

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

تطوُّر بيئات التطوير وعمليات النشر

تدمج بيئات التطوير المتكاملة (IDEs) اليوم نماذج التعليمات البرمجية ومساعدات البرمجة كخدمات أو إضافات. لكن بيئات التطوير المستقبلية قد تتجه نحو بيئات مطوَّرة أصيلة مبنية على الذكاء الاصطناعي. تقول El Maghraoui: "سنرى إعادة تصميم هذه البيئات بحيث يتم بناء النماذج اللغوية الكبيرة للبرمجة من الأساس، وليس كإضافات فقط بل كجزء من بنيتها الأساسية".

كما ترى أن نشر النماذج اللغوية الكبيرة للبرمجة على بنية تحتية خاصة يمثِّل توجُّهًا متزايدًا. على سبيل المثال، يدعم مساعد Mistral Code AI، المدعوم بـ Codestral وDevstral، التشغيل داخل البنية المحلية.

تقول El Maghraoui: "يتم تسريع الاعتماد على النشر الخاص لهذه النماذج بسبب اعتبارات الأداء والتكلفة والخصوصية. تسعى المؤسسات إلى تجنُّب إرسال التعليمات البرمجية الخاصة بها إلى واجهات برمجة تطبيقات تابعة لجهات خارجية". تضمن عمليات النشر الخاصة ألا تغادر التعليمات البرمجية المصدر أو المكتبات الداخلية أو تتبعات التنفيذ شبكة المؤسسة الداخلية. كما توجد اعتبارات تنظيمية للامتثال، خاصةً في قطاعات مثل التمويل أو الرعاية الصحية، وقد تكون تكلفة تشغيل حالات الاستخدام عالية الكثافة داخل المؤسسة أقل على نطاق واسع".

سد الفجوة بين البرمجة والاختبار

كتابة التعليمات البرمجية وإنشاء الاختبارات يمثِّلان جزأين منفصلين من عملية تطوير البرمجيات. تتوقع Satoh أن تساعد نماذج النماذج اللغوية الكبيرة للبرمجة على ربط هاتين المرحلتين بسلاسة، عبر دعم توليد التعليمات البرمجية وتوليد الاختبارات.

وتقول: "يجب علينا ربط المرحلتين داخل نموذج واحد سيؤدي إلى منتج أكثر تكاملًا وسلاسة". وتذهب Satoh إلى أبعد من ذلك، متوقعة أن تدعم نماذج التعليمات البرمجية دورة حياة تطوير البرمجيات بالكامل، بما في ذلك مراحل مبكرة مثل تحديد المتطلبات والتصميم.

وتؤكِّد El Maghraoui أنه رغم توسُّع عصر التعليمات البرمجية المشتركة مع الآلات، فإنه يظل حذرًا لكنه متفائل. وتقول: "إنه مثل سكين ذي حدّين. وقد يكون شيئًا يضرنا كمطورين أو شيئًا يفيدنا. لذا من المهم فهم كيفية استخدام النماذج اللغوية الكبيرة للبرمجة بشكل صحيح، حتى لا نفقد ميزتنا التنافسية، بل نصبح أكثر إبداعًا. وتختتم بأن الأكثر قدرة على النجاح هم "المطورون والشركات الذين يتبنّون مهام سير العمل هذه، ويتعاملون مع الذكاء الاصطناعي ليس كأداة فقط، بل كشريك".

Techsplainers | بودكاست

استمِع إلى: "ما الذي تعنيه النماذج اللغوية الكبيرة للبرمجة لمستقبل تطوير البرمجيات".

تابع Techsplainers على: Spotify وApple Podcasts

المؤلفون

Rina Diane Caballar

Staff Writer

IBM Think

Cole Stryker

Staff Editor, AI Models

IBM Think

حلول ذات صلة
IBM Bob

تسريع عملية تسليم البرامج مع Bob، شريكك المدعوم بالذكاء الاصطناعي للتطوير الآمن والمدرك للأهداف.

استكشف ®IBM Bob
حلول البرمجة بالذكاء الاصطناعي

عزّز كفاءة تطوير البرمجيات باستخدام أدوات موثوقة مدعومة بالذكاء الاصطناعي تساعد في تقليل الوقت المستغرق في كتابة التعليمات البرمجية، وتصحيح الأخطاء، وإعادة هيكلة التعليمات البرمجية، وإكمالها تلقائيًا—مما يمنح المطورين مساحة أكبر للابتكار.

استكشِف حلول البرمجة المدعومة بالذكاء الاصطناعي
الاستشارات والخدمات المتعلقة بالذكاء الاصطناعي

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

استكشف خدمات استشارات الذكاء الاصطناعي
اتخذ الخطوة التالية

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

  1. اكتشف IBM Bob
  2. استكشِف حلول البرمجة المدعومة بالذكاء الاصطناعي