نظرًا لأن أدوات برمجة الذكاء الاصطناعي مثل GitHub Copilot وAnthropic Claude وChatGPT Codex أصبحت ذات شعبية متزايدة في بيئات التطوير، فقد بدأت المؤسسات الكبيرة أيضًا في اعتماد التعليمات البرمجية المدعومة بالذكاء الاصطناعي على نطاق واسع في البرامج على مستوى المؤسسة. على سبيل المثال، تدعي Microsoft داخليًا أن AI Copilot شارك في مراجعة مئات الآلاف من طلبات السحب كل شهر والتأثير عليها. لدى المجتمع الآن أيضًا إرشادات مكتوبة أكثر وضوحًا حول كيفية استخدام التعليمات البرمجية التي يتم إنشاؤها بواسطة الذكاء الاصطناعي أو المساعدة في استخدامها بشكل متوافق في Linux kernel.

في الآونة الأخيرة، جذبت وثيقة حول متطلبات التعليمات البرمجية المدعومة بالذكاء الاصطناعي الاهتمام على موقع Hacker News. تتم استضافة هذه الوثيقة بشكل عام في مستودع Linux الرسمي تحت اسم Linus Torvalds في شكل RST، خصيصًا لتوفير الإرشادات والقيود للمطورين الذين يرغبون في استخدام أدوات الذكاء الاصطناعي للمساهمة بالتعليمات البرمجية في Linux kernel.
وفقًا للوثيقة، أولاً وقبل كل شيء، يجب أن تتبع جميع التعليمات البرمجية التي تم إنشاؤها بمساعدة الذكاء الاصطناعي بشكل كامل عملية التنمية البشرية الحالية، بما في ذلك متطلبات العملية والأسلوب المحددة في Development-process.rst وcoding-style.rst و Submitting-patches.rst وغيرها من الملفات. وفي الوقت نفسه، يجب أن تفي التعليمات البرمجية أيضًا بمتطلبات الامتثال الحالية، مثل البقاء متوافقًا مع ترخيص GPL-2.0 فقط، واستخدام معرف ترخيص SPDX بشكل صحيح، والالتزام بجميع القواعد المدرجة في License-rules.rst.
فيما يتعلق بالتوقيع وتحديد المسؤولية، تؤكد القواعد على أنه يجب على وكيل الذكاء الاصطناعي نفسه ألا يستخدم علامة التوقيع بواسطة. هذه التسمية محجوزة للمراجعين البشريين فقط، حيث يمكن للبشر فقط التصديق قانونيًا على شهادة منشأ المطور (DCO). يجب على المطورين البشريين الذين يرسلون التصحيحات أن يقوموا شخصيًا بمراجعة جميع التعليمات البرمجية التي تم إنشاؤها بواسطة الذكاء الاصطناعي للتأكد من أنها تلبي متطلبات الترخيص، واستخدام علامة التوقيع الخاصة بهم على التصحيح لتحمل المسؤولية الفردية بوضوح عن جميع المساهمات.
تتطلب الوثيقة أيضًا إسنادًا صريحًا للمشاركة بمساعدة الذكاء الاصطناعي حتى يتمكن المجتمع من تتبع تطور حصة الذكاء الاصطناعي في تطوير نواة Linux. ويتم ذلك عن طريق استخدام علامة "مساعدة" في طلبات السحب واتباع تنسيق ثابت:AGENT_NAME:MODEL_VERSION [TOOL1] [TOOL2]. من بينها، AGENT_NAME هو اسم أداة الذكاء الاصطناعي أو إطار العمل المستخدم، وMODEL_VERSION هو إصدار النموذج المحدد، وTOOL1 وTOOL2 بين قوسين مربعين هما أدوات تحليل خاصة اختيارية، مثل coccinelle، وsparse، وsmatch، و clang-tidy، وما إلى ذلك.
على خلفية استمرار مطوري Linux kernel والمؤسسات الكبرى في تبني الذكاء الاصطناعي واستخدامه لتحسين كفاءة الترميز والمراجعة، فإن هذه المواصفات التي يحتفظ بها Linus Torvalds هي في الواقع "ترحب بشكل مشروط" بالتعليمات المدعومة بالذكاء الاصطناعي في Linux kernel: فهي لا تنكر مزايا كفاءتها، ولكنها تضع أيضًا حدودًا واضحة لمشاركة الذكاء الاصطناعي من خلال المتطلبات الصارمة مثل المسؤولية البشرية، والامتثال للترخيص، وتنسيقات الإسناد الموحدة. وقد أفيد سابقًا أن تورفالدس نفسه حاول أيضًا تبني ممارسات تطوير جديدة مثل ما يسمى بـ "vibe coding" في بعض المشاريع، وهو ما يؤكد أيضًا موقفه العملي والحكيم تجاه الأدوات الجديدة.
يتعلم أكثر:
https://github.com/torvalds/linux/blob/master/Documentation/process/coding-assistants.rst