البرمجة المستندة إلى التدفق ، وسيلة للذكاء الاصطناعي والبشر للنمو معًا

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

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

هذا ما كتبه الراحل ج. بول موريسون حول هذا الموضوع في كتابه التاريخي ، البرمجة القائمة على التدفق: نهج جديد لتطوير التطبيقات (2010):

تمامًا كما هو الحال في إعداد الطعام واستهلاكه ، هناك دوران للطاهي والعشاء ، في تطوير تطبيق FBP ، هناك دورين متميزين: منشئ المكونات ومستخدم المكون أو مصمم التطبيق.

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

عند تذكر هذا المقطع ، تساءلت عما إذا كان بإمكاني أن أطلب من أحد LLM إنتاج مكونات NoFlo مفيدة؟ مسلحًا بـ New Bing ، شرعت في الاستكشاف.

الذكاء الاصطناعي والبشر يعملان معًا

كانت المحاولة الأولى هي تحديد مكون بسيط إلى حد ما:

مكون جديد للكتابة في Bing

في الواقع يبدو هذا معقولًا تمامًا! لقد حاولت أيضًا الحصول على New Bing لجعل المكون أقل إسهابًا ، بالإضافة إلى إنشاء متغيرات TypeScript و CoffeeScript منه. يبدو أن كل شيء ينتج أشياء قابلة للتنفيذ! بالتأكيد ، قد يكون هناك بعض التنظيم ، لكن هذا قد يزيل الكثير من الملل الناتج عن مكونات البناء.

بالإضافة إلى هذا المكون الرياضي التافه ، تمكنت من إنشاء بعض لاستدعاء واجهات برمجة تطبيقات REST الخارجية ، وما إلى ذلك. كان Bing قادرًا على التبديل بين مكتبات HTTP عند الطلب.

الأكثر روعة هو أنه اقترح سؤاله عن كيفية اختبار المكون . بعمل ما قيل لي ، كانت النتيجة مذهلة للغاية:

New Bing يكتب اختبارات مواصفات fbp

إنها مواصفات fbp! أداة الاختبار التصريحية التي تخيلناها! بالتأكيد أفضل طريقة لاختبار مكونات NoFlo (أو أي إطار عمل FBP آخر).

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

حاولت بالطبع أيضًا جعل Bing ينتج مخططات NoFlo لي. هذا هو المكان الذي تعثرت فيه قليلاً. ومن المثير للاهتمام أن النتائج كانت أفضل في لغة fbp عنها في تنسيق رسومات JSON. ولكن ربما يعزز هذا أن النقطة المثالية هي مكونات الكتابة بالذكاء الاصطناعي والإنسان الذي يصنع الرسومات التي تشغلها .

الذكاء الاصطناعي والبشر يعملان معًا

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

الرسوم التوضيحية: MidJourney ، من مطور برامج روبوت يعمل مع مهندس برمجيات. المخططات العائمة في الخلفية

البرمجة المستندة إلى التدفق ، وسيلة للذكاء الاصطناعي والبشر للنمو معًا

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

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

هذا ما كتبه الراحل ج. بول موريسون حول هذا الموضوع في كتابه التاريخي ، البرمجة القائمة على التدفق: نهج جديد لتطوير التطبيقات (2010):

تمامًا كما هو الحال في إعداد الطعام واستهلاكه ، هناك دوران للطاهي والعشاء ، في تطوير تطبيق FBP ، هناك دورين متميزين: منشئ المكونات ومستخدم المكون أو مصمم التطبيق.

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

عند تذكر هذا المقطع ، تساءلت عما إذا كان بإمكاني أن أطلب من أحد LLM إنتاج مكونات NoFlo مفيدة؟ مسلحًا بـ New Bing ، شرعت في الاستكشاف.

الذكاء الاصطناعي والبشر يعملان معًا

كانت المحاولة الأولى هي تحديد مكون بسيط إلى حد ما:

مكون جديد للكتابة في Bing

في الواقع يبدو هذا معقولًا تمامًا! لقد حاولت أيضًا الحصول على New Bing لجعل المكون أقل إسهابًا ، بالإضافة إلى إنشاء متغيرات TypeScript و CoffeeScript منه. يبدو أن كل شيء ينتج أشياء قابلة للتنفيذ! بالتأكيد ، قد يكون هناك بعض التنظيم ، لكن هذا قد يزيل الكثير من الملل الناتج عن مكونات البناء.

بالإضافة إلى هذا المكون الرياضي التافه ، تمكنت من إنشاء بعض لاستدعاء واجهات برمجة تطبيقات REST الخارجية ، وما إلى ذلك. كان Bing قادرًا على التبديل بين مكتبات HTTP عند الطلب.

الأكثر روعة هو أنه اقترح سؤاله عن كيفية اختبار المكون . بعمل ما قيل لي ، كانت النتيجة مذهلة للغاية:

New Bing يكتب اختبارات مواصفات fbp

إنها مواصفات fbp! أداة الاختبار التصريحية التي تخيلناها! بالتأكيد أفضل طريقة لاختبار مكونات NoFlo (أو أي إطار عمل FBP آخر).

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

حاولت بالطبع أيضًا جعل Bing ينتج مخططات NoFlo لي. هذا هو المكان الذي تعثرت فيه قليلاً. ومن المثير للاهتمام أن النتائج كانت أفضل في لغة fbp عنها في تنسيق رسومات JSON. ولكن ربما يعزز هذا أن النقطة المثالية هي مكونات الكتابة بالذكاء الاصطناعي والإنسان الذي يصنع الرسومات التي تشغلها .

الذكاء الاصطناعي والبشر يعملان معًا

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

الرسوم التوضيحية: MidJourney ، من مطور برامج روبوت يعمل مع مهندس برمجيات. المخططات العائمة في الخلفية

What's Your Reaction?

like

dislike

love

funny

angry

sad

wow