أهم الانتقادات الموجهة إلى Copilot

الحمد لله الذي علَّم بالقلم، علَّم الإنسان ما لم يعلم، والصلاة والسلام على خير معلِّم الناس الخير سيدنا محمد - صلَّى الله عليه وسلم … أما بعد ،،
ربما هناك اجتماع مجلس إدارة يجري الآن، ويقول فيه أحدهم: "هل تصدق أن هؤلاء الحمقى يدفعون لنا لتدريب نموذج الذكاء الاصطناعي الخاص بنا؟ أولاً، سرقنا كل أكوادهم من GitHub، والآن لدينا حق الوصول إلى أكوادهم الخاصة مباشرة من خلال بيئة التطوير الخاصة بهم!"
النقطة الأساسية هنا أن Copilot يتعلم من المستخدمين أكثر مما يقدم لهم. في الواقع، ينبغي لهم أن يدفعوا لنا مقابل تدريبه.
منذ إطلاق Copilot، وقد أصبح محط أنظار وإعجاب العديد من المطورين نظرا لقدرته على تحسين كفاءة البرمجيات وتسريع عمليات التطوير، لكنه في نفس الوقت لم يكن بعيدا عن الجدل.
سبق وتحدثت في مقال سابق عن (تجربتى مع GitHub CoPilot لأكثر من 7 شهور - الاشتراك المدفوع)، وفي هذا المقال، نلقي نظرة على أهم الانتقادات ونناقش التأثيرات المحتملة لهذه الأداة على مستقبل البرمجة.
الاعتمادية على الذكاء الاصطناعي واستبدال المبرمجين
عندما تبدأ في استخدام Copilot قد تشعر بشئ غريب، الأمر كما لو أن هناك شخصًا بجانبك يخبرك بكيفية القيام بالأمور، صحيح قد تبدو الفكرة مثيرة وجذابة، ولكن عندما تدرك أن هذا الشخص غير حقيقي، وأنه مجرد قطعة من البرمجيات، يصيبك ذلك بالجنون والخوف.
إن السؤال الذي يتبادر إلى أذهان الكثيرين: هل نحن نغذي وحشًا سوف يستبدلنا كمطورين ويطلق قوة Skynet على العالم؟

أم أن الأمر لا يعدو كونه أداة لتحسين عملنا، لكنها ما زالت تفتقر إلى الإبداع البشري الذي نملكه عندما نكتب الأكواد البرمجية ؟
إحدى أكبر المخاوف التي يثيرها استخدام أدوات مثل Copilot هي الاعتمادية المتزايدة على الذكاء الاصطناعي، والتي قد تؤدي في نهاية المطاف لتقليل الحاجة إلى المبرمجين المبدعين.
هناك قلق من أن هذا الاعتماد قد يساهم في تقليل فرص العمل المتاحة للمبرمجين، خاصة إذا بدأت الشركات تفضل استخدام أدوات الذكاء الاصطناعي بدلًا من توظيف مبرمجين جدد.
في المستقبل، قد نرى تحولات كبيرة في سوق العمل البرمجي حيث يتم تقليل أعداد العاملين في بعض الوظائف الروتينية لصالح الذكاء الاصطناعي.
هل يستبدل البشر ؟
بالطبع لا، الأمر ليس كذلك على الإطلاق. كما يوحي الاسم، Copilot هو مساعد طيار، هو يهدف إلى تسهيل حياتك كمبرمج وليس استبدالك.
الأداة تسهم في تقليل الجهد المتكرر والمساعدة في المهام الروتينية، لكنها لا تمتلك القدرة على التفكير الإبداعي أو الفهم العميق للتجارب الإنسانية والاحتياجات المتغيرة.
أنت الطيار الفعلي الذي يفهم السياق والعواطف البشرية، ومن ثم يحول الأفكار والرؤى إلى منتجات برمجية.
أعتقد أن أدوات الذكاء الاصطناعي مثل Copilot ستساعدنا و تدعمنا و تجعل حياتنا أسهل، لكن هذا لا يعني أننا سنفقد وظائفنا، بالعكس سيكون لدينا وقتًا أكبر للتعامل مع المشكلات الأكبر والأكثر تعقيدًا.
لنعُد بالزمن إلى الوراء، عندما بدأت أجهزة الكمبيوتر الشخصية (PCs) في الانتشار بشكل كبير، كان الجميع خائفين من فقدان وظائفهم بسبب الكمبيوترات، ولكن الكمبيوترات لم تستبدل الأشخاص، بل جعلت الوظائف أكثر كفاءة وأدت إلى زيادة الإنتاجية. وبالمثل، أعتقد أن Copilot سيزيد من الإنتاجية، ويحسن تجربة البرمجة، ويقود إلى تطوير منتجات برمجية أفضل.
الإبداع ينبع منا نحن البشر، وهو أحد أعظم نقاط قوتنا، وبالطبع الذكاء الاصطناعي يمكن أن يصبح مبدعًا أيضًا، كما رأينا في العديد من الأمثلة التي قام فيها الAI بإنشاء أعمال فنية وموسيقية.
لكنني أؤمن بشدة أن أفضل النتائج ستتحقق عندما يعمل البشر والذكاء الاصطناعي معًا.
إنني أسمع الكثير من الناس يقولون Copilot سوف يستبدلنا جميعا، ولكن هذا بصراحة بعيد كل البعد عن الحقيقة. بالطبع، الأداة تساعد بشكل كبير، لكنها في النهاية مجرد أداة.
الناس يتفاعلون مع أخبار الذكاء الاصطناعي بشكل أكثر مما يستحق، في الحقيقة هو أقرب لكونه فزاعة (على الأقل في الوقت الحالي).
ربما قد تسيطر الآلات على العالم يومًا ما، ولكن مجرد إضافة (extension) لبرنامج VS Code لن تفعل ذلك الآن، لذا لا داعي للقلق.
لتبسيط الصورة، الأمر يشبه إعطاء نجار منشارًا كهربائيًا. هذا المنشار سوف يجعل عمل النجار أسهل وأسرع، لكنه لن يستبدله .. أليس كذلك ؟
السعر والتكلفة
قد تكون أداة Copilot متاحة مجانًا في بعض الحالات المحددة. فمثلا إذا كنت طالبًا جامعيًا، يمكنك الحصول عليه دون تكلفة، مما يُعد فرصة رائعة لتطوير مهاراتك البرمجية واستخدام الذكاء الاصطناعي لدعم مشاريعك الأكاديمية.
كذلك، إذا كنت تساهم في مكتبة مفتوحة المصدر أو مشروع شهير مفتوح المصدر، فإن GitHub تقدم لك Copilot مجانًا، مما يشجعك على دعم المجتمع التقني والمساهمة في تطوير حلول مبتكرة مفتوحة للجميع.
وأيضًا، إذا كنت موظفًا في شركة قامت بشراء اشتراك مدفوع في Copilot لموظفيها، فيمكنك الاستفادة من الأداة دون تكاليف إضافية، مما يعزز من إنتاجيتك ويسهم في كفاءة فريق العمل.
بخلاف الحالات السابقة، فإن السعر الذي تتطلبه خدمات Copilot يثير بعض الجدل. الأداة ليست مجانية في جميع الحالات، وتتطلب اشتراكًا شهريًا أو سنويًا، مما قد يجعلها باهظة الثمن بالنسبة للعديد من المبرمجين المستقلين أو الشركات الصغيرة ذات الميزانيات المحدودة.
المطور المستقل أو الشركة الناشئة في مرحلة التأسيس قد تجد تكلفة Copilot مرتفعة وغير متناسبة مع العائد الذي يمكن تحقيقه من استخدامها.
علاوة على ذلك، هناك من يرى أن التكلفة لا تتناسب دائمًا مع الفائدة الفعلية للأداة، خاصة إذا كان الاستخدام يقتصر على مهام معينة أو متقطعة. هذا الجانب قد يكون عائقًا أمام انتشار الأداة على نطاق واسع، مما يجعلها مقتصرة على فئة معينة من المستخدمين الذين يمتلكون الموارد المالية الكافية.
هل Copilot يستحق الاستثمار؟
من وجهة نظري الشخصية، الإجابة هي 'نعم'، على الأقل من باب الإطلاع على الجديد ومواكبة التطور والتحديثات في المجال، ولكن يجب أن نتذكر أن الأدوات تكون فعالة بقدر جودة استخدامها.
قد يكون Copilot الخيار المثالي لبعض المطورين، بينما قد يجد آخرون طرقًا بديلة تتناسب بشكل أفضل مع سير عملهم واحتياجاتهم. لذا، تعتمد فعالية الأداة على كيفية استغلالها لتحقيق أفضل النتائج والاستفادة القصوى منها.
غير مناسب للمتعلمين و المبرمجين الجدد
رغم أن المساعدة من الذكاء الاصطناعي قد تبدو كأداة تعليمية جيدة، إلا أن هذه ليست الصورة المثلي بشكل دائم، الاقتراحات التي يقدمها الذكاء الاصطناعي مثل Copilot هي مجرد اقتراحات، ويجب على المطور أن يكون قادرًا على تقييمها واختيار ما إذا كان سوف يقبلها، يتجاوزها، أو يتجاهلها.
لاستخدام الأداة بشكل صحيح، من الضروري فهم السياق، المنطق، والنتائج المتوقعة لاتخاذ قرارات ذكية وسريعة. وإلا، فقد تؤدي هذه الاقتراحات إلى أخطاء غير متوقعة.
إن Copilot يمكنه أن يكون مفيدًا للغاية للمبرمجين ذوي الخبرة، ولكنه قد لا يكون الخيار الأنسب للمبتدئين الذين يحتاجون إلى فهم الأساسيات وتطوير مهارات التفكير النقدي من خلال حل المشكلات بأنفسهم.
الاعتماد على Copilot قد يؤدي إلى حلول جاهزة دون بذل الجهد الكافي لفهم المنطق الذي يقف وراءها، مما يؤثر سلبًا على عملية التعلم.
على سبيل المثال، قد يجد الطالب الذي يدرس أساسيات البرمجة أن Copilot يساعده على كتابة الكود البرمجي بسرعة، لكنه لن يتعلم بالضرورة سبب اختيار هذا الحل بالتحديد، مما يحد من تطوير مهاراته البرمجية ويجعل من الصعب عليه حل المشكلات بنفسه بدون الأداة، بالتالي من المهم للمبتدئين تعلم التفكير بطرق منطقية وإبداعية قبل الاعتماد على أدوات مثل Copilot.
على الجانب الآخر، يُعتبر Copilot أداة قوية لأولئك الذين يحاولون تعلم لغات برمجة جديدة، حيث يسهم في تسهيل فهم الصياغة و استكشاف أنماط البرمجة المختلفة.
يمكن أن يعمل Copilot كمدرب في الوقت الفعلي، بحيث يوفر أمثلة توضيحية وتفسيرات حول كيفية استخدام الكود البرمجي في سياقات متعددة، مما يساعد المتعلمين على الاطلاع على ممارسات البرمجة الجيدة واستيعابها بشكل أسرع من خلال التطبيق العملي.
رغم ذلك، من الملاحظ في العديد من المرات أن Copilot قد يحذف أجزاء من الكود أو لا يفهم السياق الذي يعمل عليه، مما يعني أن الاعتماد على النسخ واللصق بشكل مباشر قد يكون محفوفًا بالمخاطر (تذكر دائمًا ألا تنسخ وتلصق الأكواد مباشرة من الإنترنت دون مراجعتها).
في نظري، يُعد Copilot أداة مفيدة للمهام اليومية، لكن لا ينبغي الاعتماد عليه بشكل كامل لكتابة الكود، بل كأداة تسهل الأمور عندما تفهم الأساسيات بالفعل.
تمامًا كما الحال مع الآلة الحاسبة، إذا كنت لا تعرف لماذا 2 + 2 يساوي 4، فلا ينبغي لك استخدام الحاسبة حتى تفهم الأساسيات.
على نفس المنوال، يمكنني تصور سيناريو يستخدم فيه الأشخاص ذوو الخبرة القليلة Copilot للتعلم بشكل أسرع من خلال استخدام الأوامر مثل 'اشرح هذا الكود'، مما يمكنهم من فهم الأكواد البرمجية التي كتبها زملائهم.
نصيحتي لك بشكل عام، لا تفقد فضول التعلم المستمر. إذا اقترح عليك Copilot استخدام طريقة أو دالة لم تكن تعرفها، خذ وقتك للبحث عنها عبر الإنترنت. إذا اقترح كود برمجى، فكّر ما إذا كان جيدا بما يكفي، لا تعتمد فقط على اقتراحاته.
قد يرى البعض أن تجنب زيارة StackOverflow يوفر الوقت، لكنه في الواقع يفوت الكثير من المعرفة.
شخصيًا، استمتع كثيرا بالتعلم من خلال قراءة النقاشات بين المطورين حول أفضل الإستراتيجيات لحل المشكلات.
التعلم من جدالات المطورين المحترفين على StackOverflow يقدم لي فهماً أعمق بكثير من مجرد الحصول على إجابات نصف جاهزة، وهو ما يساعدني في بناء مهارات قوية ومستدامة.
الأخطاء ومشكلات الحماية
رغم أن Copilot قادر على توليد كود برمجي بسرعة وكفاءة، إلا أنه لا يخلو من العيوب. هناك دائمًا احتمال أن تحتوى الأكواد التي يقترحها على أخطاء برمجية أو نقاط ضعف أمنية يمكن استغلالها. هذا يمثل خطورة خاصة عندما يعتمد المستخدم على Copilot بشكل كامل دون مراجعة دقيقة للأكواد.
ولذلك، يُنصح دائمًا بأن يكون المبرمج على دراية كاملة بالأكواد البرمجية التي يقوم باستخدامها، وألا يتجاهل المراجعة والتدقيق.
الجانب الأخلاقي وحقوق الملكية
أحد أكثر الانتقادات تعقيدًا والتي أثارت الجدل حول Copilot هو الجانب الأخلاقي المتعلق بحقوق الملكية الفكرية. يعتمد Copilot في عمله على مجموعة ضخمة من الأكواد البرمجية المتاحة عبر الإنترنت، والتي قد تشمل أكواد محمية بحقوق الملكية أو مرخصة بشروط معينة. على سبيل المثال، إذا قام Copilot باقتراح أكواد مأخوذة من مشروع مفتوح المصدر تحت ترخيص معين، فقد يؤدي استخدام هذا الكود بشكل غير متوافق مع شروط الترخيص إلى انتهاك حقوق الملكية.
رغم الجهود المبذولة من GitHub لتجنب استخدام الأكواد التي تنتهك حقوق الملكية، فإن هذا ليس دائمًا ممكنًا بشكل كامل، مما يثير تساؤلات حول مدى إمكانية ضمان حقوق الملكية للكتّاب الأصليين. في المشاريع التجارية، قد يكون هذا الأمر أكثر تعقيدًا، حيث يمكن أن يؤدي إلى مسائلات قانونية تؤثر على سمعة الشركة واستخدام المنتج.
الخاتمة
إن Copilot بلا شك يعتبر أداة مبتكرة توفر إمكانيات ضخمة للمبرمجين، وتسهل عملية البرمجة بطرق لم تكن ممكنة من قبل. ومع ذلك، من الضروري التعامل مع هذه الأداة بحذر ووعي كامل بجوانبها السلبية.
يجب على المبرمجين استخدام Copilot كأداة مساعدة وليس كبديل عن التفكير والإبداع البشري، لضمان تطوير مهاراتهم وعدم الاعتماد الكلي على الذكاء الاصطناعي.
على المدى الطويل، يجب مراعاة الجوانب الأخلاقية والاقتصادية والأمنية المرتبطة باستخدام مثل هذه الأدوات، لضمان مستقبل مستدام لصناعة البرمجيات. لا يمكن تجاهل الفوائد العديدة التي يقدمها Copilot، ولكن يجب أيضًا مواجهة التحديات والمخاطر المحتملة بحكمة وتخطيط دقيق لضمان الاستفادة القصوى منه دون المساس بحقوق الآخرين أو الأمان البرمجي.
ختاما، ارجو ان تشاركني برأيك في التعليقات حول هذه الانتقادات، ومدي اتفاقك أو معارضتك لأى منها.
وفقنى الله وإياك إلى ما يحبه ويرضاه ،،