بوت البرمجيات

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

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

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

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

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

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

تصنيفات وأطر التصنيفات 
يقدم Lebeuf وآخرون تصنيفًا متعدد الأوجه لوصف البوتات بناءً على مراجعة الأدبيات. وتتكون من 3 جوانب رئيسية:

 خصائص البيئة التي تم إنشاء البوت فيها.
 الخصائص الجوهرية للبوت نفسه.
 تفاعلات البوت داخل بيئته.

يقومون بتفصيل الأوجه في مجموعات من الأوجه الفرعية تحت كل من الأوجه الرئيسية.

حدد بايكاري و فان دير هوك مجموعة من الأبعاد لتمكين مقارنة بوت البرمجيات، والتي يتم تطبيقها بشكل خاص على برامج بوت الدردشة. أسفرت عن ستة أبعاد:

 النوع: الغرض الرئيسي من البوت (معلومات أو تعاون أو أتمتة)
 اتجاه: «المحادثة» (الإدخال أو الإخراج أو ثنائي الاتجاه)
 إرشاد: (بوساطة بشرية أو مستقلة)
 القدرة على التنبؤ: (حتمية أو متطورة)
 أسلوب التفاعل: (المفردات الباهتة، والبناء، وبناء العلاقات، والشبيهة بالإنسان)
 قناة الاتصال: (نص أو صوت أو كليهما)

قضايا وتهديدات 
قد لا يقبل البشر بوت البرمجيات بشكل جيد. قارنت دراسة من جامعة أنتويرب كيفية إدراك المطورين النشطين على ستاك أوفر فلو الإجابات الناتجة عن بوت البرمجيات. وجدوا أن المطورين يرون أن جودة الإجابات التي يتم إنشاؤها بواسطة بوت البرمجيات تكون أسوأ بكثير إذا تم الكشف عن هوية بوت البرمجيات. على النقيض من ذلك، تم تلقي إجابات من بوت البرمجيات ذات الهوية الشبيهة بالإنسان بشكل أفضل. من الناحية العملية، عند استخدام بوت البرمجيات على أنظمة أساسية مثل غيت هاب أو ويكيبيديا، يوضح اسم المستخدم الخاص بها أنها بوت البرمجيات، على سبيل المثال، DependaBot وRenovateBot وUser: DatBot وUser: SineBot.

قد يخضع بوت البرمجيات لقواعد خاصة. على سبيل المثال، لا تسمح شروط خدمة غيت هاب بـ (بوت) ولكنها تقبل (حساب الجهاز)، حيث يحتوي (حساب الجهاز) على خاصيتين:

 يتحمل الإنسان المسؤولية الكاملة عن تصرفات البوت.
 لا يمكنه إنشاء حسابات أخرى.

انظر أيضًا 

 روبوت الدردشة
 وكيل برمجي
 بوت إنترنت
 عفريت

مراجع

روابط خارجية 

 Dependabot and Renovatebot update software dependencies and detect vulnerabilities. (https://dependabot.com/)
 Probot is an organization that create and maintain bots for GitHub. The example bots using Probot are the following.
 Auto Assign (https://probot.github.io/apps/auto-assign/)
 license bot (https://probot.github.io/)
 Sentiment bot (https://probot.github.io/apps/sentiment-bot/)
 Untrivializer bot (https://probot.github.io/apps/untrivializer/)
 Refactoring-Bot (Refactoring-Bot): provides refactoring based on static code analysis
 Looks good to me bot (LGTM) is a Semmle product that inspects pull requests on GitHub for code style and unsafe code practices.

هندسة البرمجيات