-->

ADS

طيور للمعلوماتية , تقنية تعليمية و معلوماتية
Toyour Info


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

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



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

الكود مقابل التواصل: القيمة الحقيقية للمبرمج

إذا كنت مبرمجاً، فمن الطبيعي أن تشعر بأن الكود هو أهم إنجازاتك. إنه ملموس، قابل للقياس، ويمكن مناقشته. لكن هل هذا هو كل ما في الأمر؟ يشير الخبراء إلى أن الكود يمثل 10-20% فقط من القيمة التي يقدمها المبرمج. الـ 80-90% المتبقية تكمن في "التواصل المنظم".

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

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

فك شفرة "البرمجة البديهية" (Vibe Coding)

لنأخذ "البرمجة البديهية" (Vibe Coding) كمثال توضيحي. لماذا تبدو هذه الطريقة مُرضية؟ لأنها تعتمد على التواصل أولاً. الكود هو نتاج ثانوي لهذه العملية. نحن نصف نوايانا والنتائج التي نريد رؤيتها، ونترك النموذج يتعامل مع العمل الشاق. ومع ذلك، هناك شيء غريب في الطريقة التي نمارس بها البرمجة البديهية.

نحن نتواصل مع النموذج عبر الأوامر (Prompts)، ونخبره بنوايانا وقيمنا، فنحصل على كود. ثم نرمي الأوامر جانباً وكأنها غير مهمة! هذا يشبه تمزيق الشيفرة المصدرية (Source Code) والاحتفاظ بالملف التنفيذي (Binary) فقط. في عالم البرمجة التقليدي، المصدر هو الأثمن؛ منه نُولد الملفات التنفيذية. هذا هو السبب في أهمية التقاط النية والقيم في المواصفات. المواصفة المكتوبة تمكّنك من مواءمة البشر حول مجموعة مشتركة من الأهداف، والتأكد من أن الجميع على نفس الصفحة. إنها الأداة التي تناقشها، وتجادل حولها، وتستشيرها، وتتوافق عليها.

المواصفات: المصدر الأصلي للنية والقيم

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

على عكس ذلك، المواصفة المكتوبة جيداً تُشفر جميع المتطلبات اللازمة لإنشاء الكود. ومثلما يسمح لك الكود المصدري باستهداف معماريات مختلفة (ARM64، x86، WebAssembly)، تحتوي المواصفة القوية على معلومات كافية لوصف كيفية ترجمتها إلى أهداف متعددة. يمكن لمواصفة كافية، عند إعطائها للنماذج، أن تنتج TypeScript جيداً، وRust جيداً، وخوادم، وعملاء، ووثائق، ودروس تعليمية، وحتى منشورات مدونة، وحتى بودكاستات.

المبرمجون هم في الأساس في مجال مواءمة "السيليكون" عبر مواصفات الكود. مديرو المنتجات يواءمون الفرق عبر مواصفات المنتجات. والمشرعون يواءمون البشر حرفياً عبر المواصفات القانونية. كل من يكتب أمراً لنموذج ذكاء اصطناعي (Prompt) هو مؤلف مواصفات بشكل أو بآخر. أنت تعمل على مواءمة نماذج الذكاء الاصطناعي نحو مجموعة مشتركة من النوايا والقيم. سواء أدركت ذلك أم لا، أنت مؤلف مواصفات في هذا العالم، والمواصفات تمكنك من التسليم بشكل أسرع وأكثر أماناً، لأن الجميع يمكنهم المساهمة فيها. لذا، من يكتب المواصفة – سواء كان مدير منتج، أو مشرعاً، أو مهندساً، أو مسوقاً – هو الآن المبرمج.

دراسة حالة: مواصفات نموذج OpenAI (Model Spec)

أصدرت شركة OpenAI وثيقة "مواصفات النموذج" (Model Spec) وهي وثيقة حية تسعى للتعبير بوضوح لا لبس فيه عن النوايا والقيم التي تأمل OpenAI في غرسها في نماذجها التي تشحنها للعالم. هذه الوثيقة مفتوحة المصدر، ويمكنك الاطلاع على تنفيذها على GitHub. والمفاجأة أنها مجرد مجموعة من ملفات Markdown!

الـ Markdown لغة رائعة: قابلة للقراءة البشرية، قابلة للتحكم في الإصدارات، وتسجل التغييرات. وبما أنها لغة طبيعية، يمكن للجميع – ليس فقط التقنيين – المساهمة فيها، بمن فيهم أقسام المنتجات، والشؤون القانونية، والسلامة، والبحث، والسياسة. يمكنهم جميعاً قراءة ومناقشة ومجادلة والمساهمة في نفس الشيفرة المصدرية. إنها الأداة العالمية التي تواءم جميع البشر حول نوايانا وقيمنا داخل الشركة.

حادثة "التملق" (Sycophancy) في GPT-40: دليل على قوة المواصفات

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

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

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

جعل المواصفات قابلة للتنفيذ: توجيه النماذج بالنية

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

المواصفات كـ "كود": تشابهات عميقة

على الرغم من أن مواصفات النموذج هي مجرد ملفات Markdown، إلا أنه من المفيد جداً التفكير فيها ككود. فهي تتألف من أجزاء يمكن تجميعها، وقابلة للتنفيذ، وقابلة للاختبار، ولها واجهات تتصل بالعالم الحقيقي، ويمكن شحنها كوحدات. تماماً كما هو الحال في البرمجة حيث يتحقق مدقق الأنواع (Type Checker) من الاتساق بين الواجهات، يمكن أن تبرز المواصفات التعارضات وتمنع نشر المواصفة غير المتسقة. يمكن للسياسة نفسها أن تجسد اختبارات الوحدة الخاصة بها، ويمكن تصور أدوات تحليل الكود (Linters) التي تحدد اللغة الغامضة التي قد تربك البشر والنماذج على حد سواء، مما يؤدي إلى نتائج أقل إرضاءً. المواصفات توفر لنا سلسلة أدوات مشابهة جداً، ولكنها تستهدف النوايا بدلاً من بناء الجملة (Syntax).

المشرعون كمبرمجين: مبدأ عالمي

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

أنت مؤلف مواصفات: نظرة على مستقبل الهندسة البرمجية

الهندسة البرمجية لم تكن أبداً تتعلق بالكود بحد ذاته. لقد كانت دائماً تدور حول الاستكشاف الدقيق من قبل البشر للحلول البرمجية للمشاكل البشرية. لقد كان الأمر هكذا دائماً. نحن فقط ننتقل من "تشفيرات الآلة المتفرقة" إلى "تشفير بشري موحد" لكيفية حل هذه المشاكل في الواقع. وهذا يدفعنا للتساؤل: كيف سيبدو بيئة التطوير المتكاملة (IDE) في المستقبل؟ ربما ستكون شيئاً مثل "مُوضِح الأفكار المتكامل" (Integrated Thought Clarifier) الذي يسحب الغموض ويطلب منك توضيحه، مما يوضح فكرك بحيث يمكنك أنت وجميع البشر توصيل نيتكم لبعضكم البعض بشكل أكثر فعالية وإلى النماذج.

خاتمة: دعوة للعمل وبناء المستقبل

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

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