برنامج روبوت

الروبوت البرمجي هو نوع من أنواع البرامج الآلية المستخدمة في إدارة مشاريع البرمجيات وهندسة البرمجيات. يتمتع الروبوت البرمجي بهوية وخصائص شخصية محتملة لخدمة أصحاب المصلحة. [ 1 ] غالبًا ما تُكوّن الروبوتات البرمجية خدمات برمجية وتوفر واجهة مستخدم بديلة، قد تكون تفاعلية في بعض الأحيان، ولكن ليس بالضرورة.

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

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

الاستخدام

تُستخدم برامج الروبوت لدعم أنشطة التطوير، مثل التواصل بين مطوري البرامج وأتمتة المهام المتكررة. وقد تبنت العديد من المجتمعات ذات الصلة بتطوير البرامج برامج الروبوت، مثل مجتمعات المصادر المفتوحة على GitHub [ 4 ] و Stack Overflow .

تمتلك روبوتات GitHub حسابات مستخدمين، ويمكنها فتح طلبات السحب والمشاكل وإغلاقها والتعليق عليها . وقد استُخدمت هذه الروبوتات لتعيين المراجعين، ومطالبة المساهمين بتوقيع اتفاقية ترخيص المساهم ، والإبلاغ عن حالات فشل التكامل المستمر، ومراجعة التعليمات البرمجية وطلبات السحب، والترحيب بالمنضمين الجدد، وتشغيل الاختبارات الآلية، ودمج طلبات السحب، وإصلاح الأخطاء والثغرات الأمنية، [ 5 ] [ 6 ] إلخ.

تتضمن أداة Slack واجهة برمجة تطبيقات (API) لتطوير برامج الروبوت. [ 7 ] توجد روبوتات Slack لتتبع قوائم المهام، وتنسيق اجتماعات الفريق اليومية، وإدارة طلبات الدعم. كما تُسهّل منتجات شركة ChatBot [ 8 ] عملية إنشاء روبوت Slack مخصص.

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

التصنيفات وأطر التصنيف

يقدم ليبوف وآخرون [ 1 ] تصنيفًا متعدد الأوجه لتوصيف الروبوتات استنادًا إلى مراجعة الأدبيات. ويتألف هذا التصنيف من ثلاثة جوانب رئيسية: (أ) خصائص البيئة التي أُنشئ فيها الروبوت؛ (ب) الخصائص الذاتية للروبوت نفسه؛ (ج) تفاعلات الروبوت داخل بيئته. كما يُفصّلون هذه الجوانب إلى مجموعات من الجوانب الفرعية ضمن كل جانب رئيسي.

حدد بايكاري وفان دير هوك [ 10 ] مجموعة من الأبعاد لتمكين مقارنة برامج الروبوت، والتي تم تطبيقها تحديدًا على برامج الدردشة الآلية. وقد أسفر ذلك عن ستة أبعاد:

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

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

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

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

مثال على الروبوتات البارزة

  • يقوم برنامجا Dependabot و Renovatebot بتحديث تبعيات البرامج واكتشاف الثغرات الأمنية. ( https://dependabot.com/ )
  • بروبوت هي منظمة تقوم بإنشاء وصيانة برامج الروبوت لمنصة جيت هاب. فيما يلي أمثلة على برامج الروبوت التي تستخدم بروبوت.
  • برنامج إعادة هيكلة الكود ( Refactoring-Bot ): يوفر إعادة هيكلة الكود بناءً على تحليل الكود الثابت
  • يبدو جيدًا بالنسبة لي ( LGTM ) هو منتج من Semmle يقوم بفحص طلبات السحب على GitHub بحثًا عن أسلوب كتابة التعليمات البرمجية وممارسات كتابة التعليمات البرمجية غير الآمنة.

القضايا والتهديدات

قد لا تحظى برامج الروبوت بقبول واسع لدى البشر. قارنت دراسة من جامعة أنتويرب [ 12 ] آراء المطورين النشطين على منصة Stack Overflow حول الإجابات التي تُنشئها هذه البرامج. وخلصت الدراسة إلى أن المطورين يرون جودة الإجابات التي تُنشئها برامج الروبوت أقل بكثير إذا تم الكشف عن هوية البرنامج. في المقابل، لاقت الإجابات من برامج الروبوت التي تُحاكي هوية الإنسان استحسانًا أكبر. عمليًا، عند استخدام برامج الروبوت على منصات مثل GitHub أو Wikipedia، يُوضح اسم المستخدم أنها برامج روبوت، مثل DependaBot وRenovateBot وDatBot وSineBot.

قد تخضع برامج الروبوت لقواعد خاصة. على سبيل المثال، لا تسمح شروط خدمة GitHub [ 13 ] بـ "برامج الروبوت" ولكنها تقبل "حسابات الأجهزة"، حيث يتميز "حساب الجهاز" بخاصيتين: 1) يتحمل الإنسان المسؤولية الكاملة عن تصرفات الروبوت 2) لا يمكنه إنشاء حسابات أخرى.

انظر أيضاً

مراجع

  1. 1 2 3 ليبوف، كارلين؛ زاغالسكي، أليكسي؛ فوكو، ماثيو؛ ستوري، مارغريت-آن (2019). "تعريف وتصنيف برامج الروبوت: تصنيف متعدد الأوجه". ورشة العمل الدولية الأولى لعام 2019 IEEE/ACM حول الروبوتات في هندسة البرمجيات (BotSE) . الصفحات 1-6 . doi : 10.1109/BotSE.2019.00008 . ISBN  978-1-7281-2262-5. S2CID 195064960 . 
  2. فريق SOBotics (17 سبتمبر 2019). "تعرّف على الروبوتات التي تساعد في إدارة موقع Stack Overflow" . مدونة Stack Overflow . تم الاطلاع عليه بتاريخ 22 نوفمبر 2019 .
  3. إرلينهوف، ليندا؛ غوميز دي أوليفيرا نيتو، فرانسيسكو؛ سكاندارياتو، ريكاردو؛ لايتنر، فيليب (2019). "الروبوتات الحالية والمستقبلية في تطوير البرمجيات". ورشة العمل الدولية الأولى لعام 2019 IEEE/ACM حول الروبوتات في هندسة البرمجيات (BotSE) . مونتريال، كيبيك، كندا: IEEE. الصفحات 7-11 . doi : 10.1109/BotSE.2019.00009 . ISBN  978-1-7281-2262-5. S2CID 195065273 . 
  4. ^ فيسيل ، ميريلي. دي سوزا، برونو مينديز؛ شتاينماخر، ايجور. فيزي، ايجور S .؛ بولاتو، إيفانيلتون؛ تشافيز، آنا باولا؛ جيروسا، ماركو أ. (1 نوفمبر 2018). “قوة الروبوتات: توصيف وفهم الروبوتات في مشاريع OSS”. وقائع ACM بشأن التفاعل بين الإنسان والحاسوب . 2 (CSCW): 1– 19. دوى : 10.1145 / 3274451 . S2CID 53235433 . 
  5. "احصل على تصحيحاتك هنا! يوفر GitHub إمكانية إنشاء طلبات سحب تلقائية محملة بإصلاحات الثغرات الأمنية" . www.theregister.co.uk . 30 مايو 2019. تم الاطلاع عليه في 22 نوفمبر 2019 .
  6. أورلي، سيمون؛ يو، تشونغشينغ؛ سينتورييه، ليونيل؛ مونبيروس، مارتن (2018). "كيفية تصميم روبوت لإصلاح البرامج؟: رؤى من مشروع repairnator". وقائع المؤتمر الدولي الأربعين لهندسة البرمجيات: هندسة البرمجيات في الممارسة . الصفحات 95-104 . doi : 10.1145/3183519.3183540 . ISBN  978-1-4503-5659-6تم الاطلاع عليه بتاريخ 6 يونيو 2026 .
  7. غواي، ماثيو (22 نوفمبر 2019). "كيفية إنشاء روبوت سلاك في 5 دقائق" . مدونة سلاك . تم الاطلاع عليه بتاريخ 22 نوفمبر 2019 .
  8. "تكامل سلاك: روبوت محادثة يعمل بالذكاء الاصطناعي" . شركة لايف تشات . 22 نوفمبر 2019. تم الاطلاع عليه بتاريخ 22 نوفمبر 2019 .
  9. "تعرّف على 'الروبوتات' التي تُحرّر ويكيبيديا" . بي بي سي نيوز . 25 يوليو 2012. تاريخ الاطلاع: 19 سبتمبر 2021 .
  10. بايكاري، إلاهي؛ فان دير هوك، أندريه (2018). "إطار لفهم روبوتات المحادثة ومستقبلها". وقائع ورشة العمل الدولية الحادية عشرة حول الجوانب التعاونية والبشرية لهندسة البرمجيات - CHASE '18 . الصفحات 13-16 . doi : 10.1145/3195836.3195859 . ISBN  9781450357258. S2CID 49562888 . 
  11. إرلينهوف، ليندا؛ غوميز دي أوليفيرا نيتو، فرانسيسكو؛ لايتنر، فيليب (2020). "دراسة تجريبية للروبوتات في تطوير البرمجيات: الخصائص والتحديات من منظور الممارس" . وقائع الاجتماع المشترك الثامن والعشرين لجمعية ACM حول المؤتمر الأوروبي لهندسة البرمجيات والندوة حول أسس هندسة البرمجيات . حدث افتراضي، الولايات المتحدة الأمريكية، كندا: ACM. الصفحات 445-455 . arXiv : 2005.13969 . doi : 10.1145/3368089.3409680 . ISBN  9781450370431. S2CID 218971687 . 
  12. مورجيا، أليساندرو؛ جانسينز، دان؛ ديمير، سيرج؛ فاسيلسكو، بوغدان (2016). "بين الآلات". وقائع مؤتمر CHI لعام 2016، ملخصات موسعة حول العوامل البشرية في أنظمة الحوسبة . الصفحات 1272-1279 . doi : 10.1145/2851581.2892311 . ISBN  9781450340823. S2CID 13026142 . 
  13. "شروط خدمة GitHub - مساعدة GitHub" . help.github.com . تم الاطلاع عليه بتاريخ 22 نوفمبر 2019 .