กลับไปหน้าบทความ

อ่าน 4 นาที

ซอฟต์แวร์บอท

บอทซอฟต์แวร์ เป็น ซอฟต์แวร์เอเจนต์ประเภทหนึ่งที่ให้บริการด้านการจัดการโครงการซอฟต์แวร์และวิศวกรรมซอฟต์แวร์

ซอฟต์แวร์บอท

บอทซอฟต์แวร์ เป็น ซอฟต์แวร์เอเจนต์ประเภทหนึ่งที่ให้บริการด้านการจัดการโครงการซอฟต์แวร์และวิศวกรรมซอฟต์แวร์ บอทซอฟต์แวร์มีตัวตนและอาจมีลักษณะเป็นบุคคลเพื่อให้บริการแก่ผู้มีส่วนได้ส่วนเสีย[ 1 ]บอทซอฟต์แวร์มักประกอบเป็นบริการซอฟต์แวร์และจัดเตรียมอินเทอร์เฟซผู้ใช้ทางเลือก ซึ่งบางครั้งอาจเป็นการสนทนา แต่ไม่จำเป็นเสมอไป

โดยทั่วไปแล้วซอฟต์แวร์บอทจะถูกใช้เพื่อดำเนินการงาน แนะนำการกระทำ มีส่วนร่วมในการสนทนา และส่งเสริมด้านสังคมและวัฒนธรรมของโครงการซอฟต์แวร์[ 2 ]

คำว่าบอทมาจากคำว่าหุ่นยนต์อย่างไรก็ตาม หุ่นยนต์ทำงานในโลกทางกายภาพ ในขณะที่บอทซอฟต์แวร์ทำงานเฉพาะในพื้นที่ดิจิทัลเท่านั้น[ 1 ]บอทซอฟต์แวร์บางตัวได้รับการออกแบบและมีพฤติกรรมเหมือนแชทบอ ท แต่แชทบอท ทั้งหมดไม่ได้ เป็นบอทซอฟต์แวร์[ 3 ]การอภิปรายเกี่ยวกับอดีตและอนาคตของบอทซอฟต์แวร์แสดงให้เห็นว่าบอทซอฟต์แวร์ได้รับการนำมาใช้เป็นเวลาหลายปีแล้ว

การใช้งาน

บอทซอฟต์แวร์ถูกใช้เพื่อสนับสนุนกิจกรรมการพัฒนา เช่น การสื่อสารระหว่างนักพัฒนาซอฟต์แวร์และการทำงานอัตโนมัติของงานที่ซ้ำซาก บอทซอฟต์แวร์ได้รับการนำไปใช้โดยชุมชนหลายแห่งที่เกี่ยวข้องกับการพัฒนาซอฟต์แวร์ เช่น ชุมชนโอเพนซอร์สบนGitHub [ 4 ]และStack Overflow

บอทของ GitHub มีบัญชีผู้ใช้และสามารถเปิด ปิด หรือแสดงความคิดเห็นในคำขอพูลและปัญหาได้บอทของ GitHub ถูกใช้เพื่อมอบหมายผู้ตรวจสอบ ขอให้ผู้ร่วมให้ข้อมูลลงนามในข้อตกลงใบอนุญาตผู้ร่วมให้ข้อมูล รายงานความล้มเหลวของการรวมระบบอย่างต่อเนื่อง ตรวจสอบโค้ดและคำขอพูล ต้อนรับผู้มาใหม่ เรียกใช้การทดสอบอัตโนมัติ รวมคำขอพูล แก้ไขข้อบกพร่องและช่องโหว่[ 5 ] [ 6 ]เป็นต้น

เครื่องมือSlackมี API สำหรับพัฒนาบอทซอฟต์แวร์[ 7 ]มีบอท Slack สำหรับติดตามรายการสิ่งที่ต้องทำ ประสานงานการประชุมประจำวัน และจัดการตั๋วสนับสนุน ผลิตภัณฑ์ของ บริษัทChatBot [ 8 ]ช่วยลดความซับซ้อนของกระบวนการสร้างบอท Slack แบบกำหนดเองได้อีกด้วย

ใน Wikipedia บอทของ Wikipediaจะทำงานอัตโนมัติหลายอย่าง เช่น การสร้างบทความย่อ การอัปเดตรูปแบบของบทความหลายบทความอย่างสม่ำเสมอ และอื่นๆ บอทอย่างClueBot NGสามารถตรวจจับการก่อกวนและลบเนื้อหาที่ก่อกวนโดยอัตโนมัติ[ 9 ]

อนุกรมวิธานและกรอบการจำแนกประเภท

Lebeuf et al. [ 1 ]นำเสนอการจำแนกประเภทแบบหลายแง่มุมเพื่อจำแนกลักษณะของบอทโดยอิงจากการทบทวนวรรณกรรม ประกอบด้วยแง่มุมหลัก 3 ประการ ได้แก่ (i) คุณสมบัติของสภาพแวดล้อมที่สร้างบอทขึ้น (ii) คุณสมบัติภายในของบอทเอง และ (iii) ปฏิสัมพันธ์ของบอทภายในสภาพแวดล้อม พวกเขายังให้รายละเอียดเพิ่มเติมเกี่ยวกับแง่มุมต่างๆ โดยแบ่งเป็นชุดของแง่มุมย่อยภายใต้แต่ละแง่มุมหลัก

Paikari และ van der Hoek [ 10 ] ได้กำหนดชุดมิติเพื่อเปิดใช้งานการเปรียบเทียบซอฟต์แวร์บอท ซึ่งใช้กับแชทบอทโดยเฉพาะ ส่งผลให้มีมิติหกประการ:

  • ประเภท : วัตถุประสงค์หลักของบอท (การให้ข้อมูล การทำงานร่วมกัน หรือการทำงานอัตโนมัติ)
  • ทิศทางการ "สนทนา" (ขาเข้า ขาออก หรือแบบสองทิศทาง)
  • การให้คำแนะนำ (โดยมนุษย์เป็นสื่อกลาง หรือโดยระบบอัตโนมัติ)
  • ความสามารถในการคาดการณ์ (แบบกำหนดได้ หรือแบบเปลี่ยนแปลงได้)
  • สไตล์การปฏิสัมพันธ์ (น่าเบื่อ, ใช้คำศัพท์อื่น, สร้างความสัมพันธ์, เหมือนมนุษย์)
  • ช่องทางการสื่อสาร (ข้อความ เสียง หรือทั้งสองอย่าง)

Erlenhov และคณะ[ 11 ]ได้ตั้งคำถามถึงความแตกต่างระหว่างบอทกับการทำงานอัตโนมัติแบบง่ายๆ เนื่องจากงานวิจัยจำนวนมากที่ทำในนามของซอฟต์แวร์บอทใช้คำว่าบอทเพื่ออธิบายเครื่องมือต่างๆ ที่แตกต่างกัน และบางครั้งสิ่งต่างๆ ก็เป็นเพียงเครื่องมือพัฒนาแบบธรรมดาๆ หลังจากสัมภาษณ์และสำรวจนักพัฒนามากกว่า 100 คน ผู้เขียนพบว่าไม่ใช่หนึ่ง แต่มีคำจำกัดความถึงสามแบบที่ครอบงำชุมชน พวกเขาสร้างบุคลิกสามแบบโดยอิงจากคำจำกัดความเหล่านี้ และความแตกต่างระหว่างสิ่งที่บุคลิกทั้งสามมองว่าเป็นบอทนั้นส่วนใหญ่อยู่ที่การเชื่อมโยงกับชุดคุณลักษณะที่คล้ายมนุษย์ที่แตกต่างกัน

  • บุคลิกของแชทบอท (ชาร์ลี)คิดว่าบอทเป็นเพียงเครื่องมือที่สื่อสารกับนักพัฒนาผ่านอินเทอร์เฟซภาษาธรรมชาติ (โดยทั่วไปคือเสียงหรือแชท) และไม่ค่อยสนใจว่าบอทจะใช้สำหรับงานอะไรหรือวิธีการทำงานเหล่านั้นเป็นอย่างไร
  • บุคลิกของบอทอัตโนมัติ (อเล็กซ์)มองว่าบอทเป็นเครื่องมือที่ทำงานได้ด้วยตัวเอง (โดยไม่ต้องการการป้อนข้อมูลจากนักพัฒนามากนัก) ในงานที่ปกติแล้วมนุษย์จะเป็นผู้ทำ
  • ตัวละครบอทอัจฉริยะ (แซม)แยกแยะบอทออกจากเครื่องมือพัฒนาซอฟต์แวร์ทั่วไปโดยพิจารณาจากความฉลาด (ความซับซ้อนทางเทคนิค) ของเครื่องมือ แซมสนใจน้อยกว่าว่าเครื่องมือสื่อสารนั้นมีประสิทธิภาพหรือปรับตัวได้ดีเป็นพิเศษในการทำงานหรือไม่

ผู้เขียนแนะนำว่าผู้ที่ทำการวิจัยหรือเขียนเกี่ยวกับบอทควรพยายามนำงานของตนไปพิจารณาในบริบทของบุคลิกจำลอง (persona) ใดบุคลิกจำลองหนึ่ง เนื่องจากบุคลิกจำลองแต่ละแบบมีความคาดหวังและปัญหาในการใช้งานเครื่องมือที่แตกต่างกัน

ตัวอย่างของบอทที่น่าสนใจ

  • Dependabot และ Renovatebot อัปเดตส่วนประกอบซอฟต์แวร์และตรวจจับช่องโหว่ ( https://dependabot.com/ )
  • Probot คือองค์กรที่สร้างและดูแลรักษาบอทสำหรับ GitHub ตัวอย่างบอทที่ใช้ Probot มีดังต่อไปนี้
    • การมอบหมายงานอัตโนมัติ ( https://probot.github.io/apps/auto-assign/ )
    • บอทใบอนุญาต ( https://probot.github.io/ )
    • บอทวิเคราะห์ความรู้สึก ( https://probot.github.io/apps/sentiment-bot/ )
    • บอท Untrivializer ( https://probot.github.io/apps/untrivializer/ )
  • Refactoring-Bot ( Refactoring-Bot ): ให้บริการการปรับโครงสร้างโค้ดโดยอิงจากการวิเคราะห์โค้ดแบบคงที่
  • Looks good to me bot ( LGTM ) เป็น ผลิตภัณฑ์ ของ Semmleที่ตรวจสอบ pull request บนGitHubเพื่อหาโค้ดสไตล์และแนวทางการเขียนโค้ดที่ไม่ปลอดภัย

ปัญหาและภัยคุกคาม

บอทซอฟต์แวร์อาจไม่ได้รับการยอมรับจากมนุษย์มากนัก การศึกษาจากมหาวิทยาลัยแอนต์เวิร์ป[ 12 ]ได้เปรียบเทียบว่านักพัฒนาที่ใช้งาน Stack Overflow รับรู้คำตอบที่สร้างโดยบอทซอฟต์แวร์อย่างไร พวกเขาพบว่านักพัฒนาจะรับรู้คุณภาพของคำตอบที่สร้างโดยบอทซอฟต์แวร์แย่ลงอย่างมากหากมีการเปิดเผยตัวตนของบอทซอฟต์แวร์ ในทางตรงกันข้าม คำตอบจากบอทซอฟต์แวร์ที่มีตัวตนคล้ายมนุษย์จะได้รับการยอมรับที่ดีกว่า ในทางปฏิบัติ เมื่อใช้บอทซอฟต์แวร์บนแพลตฟอร์มเช่น GitHub หรือ Wikipedia ชื่อผู้ใช้ของบอทจะทำให้ชัดเจนว่าเป็นบอท เช่น DependaBot, RenovateBot, DatBot, SineBot

บอทอาจอยู่ภายใต้กฎพิเศษ ตัวอย่างเช่น ข้อกำหนดในการให้บริการของ GitHub [ 13 ]ไม่อนุญาตให้ใช้ 'บอท' แต่ยอมรับ 'บัญชีเครื่อง' ซึ่ง 'บัญชีเครื่อง' มีคุณสมบัติสองประการคือ 1) มนุษย์ต้องรับผิดชอบอย่างเต็มที่ต่อการกระทำของบอท 2) ไม่สามารถสร้างบัญชีอื่นได้

ดูเพิ่มเติม

ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Software_bot&oldid=1358349625 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ซอฟต์แวร์บอท

บอทซอฟต์แวร์ เป็น ซอฟต์แวร์เอเจนต์ประเภทหนึ่งที่ให้บริการด้านการจัดการโครงการซอฟต์แวร์และวิศวกรรมซอฟต์แวร์

การใช้งาน

บอทซอฟต์แวร์ถูกใช้เพื่อสนับสนุนกิจกรรมการพัฒนา เช่น การสื่อสารระหว่างนักพัฒนาซอฟต์แวร์และการทำงานอัตโนมัติของงานที่ซ้ำซาก บอทซอฟต์แวร์ได้รับการนำไปใช้โดยชุมชนหลายแห่งที่เกี่ยวข้องกับการพัฒนาซอฟต์แวร์ เช่น ชุมชนโอเพนซอร์สบน GitHub [ 4 ] และ Stack Overflow

อนุกรมวิธานและกรอบการจำแนกประเภท

Lebeuf et al. [ 1 ] นำเสนอการจำแนกประเภทแบบหลายแง่มุมเพื่อจำแนกลักษณะของบอทโดยอิงจากการทบทวนวรรณกรรม ประกอบด้วยแง่มุมหลัก 3 ประการ ได้แก่ (i) คุณสมบัติของสภาพแวดล้อมที่สร้างบอทขึ้น (ii) คุณสมบัติภายในของบอทเอง และ (iii) ปฏิสัมพันธ์ของบอทภายในสภาพแวดล้อม...

ตัวอย่างของบอทที่น่าสนใจ

Dependabot และ Renovatebot อัปเดตส่วนประกอบซอฟต์แวร์และตรวจจับช่องโหว่ ( https://dependabot.com/ ) Probot คือองค์กรที่สร้างและดูแลรักษาบอทสำหรับ GitHub ตัวอย่างบอทที่ใช้ Probot มีดังต่อไปนี้ การมอบหมายงานอัตโนมัติ ( https://probot.github.