소프트웨어 봇

Software bot

소프트웨어봇(Software bot)은 소프트웨어 프로젝트 관리 및 소프트웨어 엔지니어링 서비스에서 소프트웨어 에이전트의 일종이다.소프트웨어 봇은 이해당사자들에게 봉사하기 위해 정체성과 잠재적으로 의인화된 측면을 가지고 있다.[1]소프트웨어 봇은 종종 소프트웨어 서비스를 구성하고 대안적인 사용자 인터페이스를 제공하는데, 이는 때로는 그렇지만 반드시 대화하는 것은 아니다.

소프트웨어 봇은 일반적으로 소프트웨어 프로젝트의 업무를 실행하고, 행동을 제안하고, 대화에 참여하고, 사회 문화적 측면을 촉진하기 위해 사용된다.[2]

봇이라는 용어는 로봇에서 유래되었다.그러나 로봇은 물리적 세계에서, 소프트웨어봇은 디지털 공간에서만 활동한다.[1]일부 소프트웨어봇은 챗봇처럼 설계되고 동작하지만, 모든 챗봇이 소프트웨어봇은 아니다.Ellenhov 등에서는 소프트웨어 봇의 과거와 미래를 논하고 소프트웨어 봇이 수년간 채택되어 왔음을 보여 준다.[3]

사용법

소프트웨어 봇은 소프트웨어 개발자 간의 통신, 반복 작업 자동화 등 개발 활동을 지원하는 데 사용된다.소프트웨어봇은 GitHub[4] Stack Overflow의 오픈소스 커뮤니티와 같이 소프트웨어 개발과 관련된 여러 커뮤니티에 의해 채택되었다.

GitHub bott는 사용자 계정을 가지고 있으며 풀 요청이슈에 대해 열거나 닫거나 의견을 제시할 수 있다.GitHub bots는 검토자를 할당하고, 기여자에게 기여자 사용권 계약에 서명하도록 요청하며, 지속적인 통합 실패를 보고하고, 코드와 꺼내기 요청을 검토하고, 새로 온 사람을 환영하며, 자동화된 테스트를 실행하고, 끌어오기 요청을 병합하고, 버그와[5] 취약성을 수정하는 [6]데 사용되어 왔다.

슬랙 도구는 소프트웨어 봇 개발을 위한 API를 포함하고 있다.[7]할 일 목록을 추적하고, 스탠드업 미팅을 조정하고, 지원 티켓을 관리하는 느슨한 봇들이 있다.챗봇 회사[8] 제품은 맞춤형 슬랙봇을 만드는 과정을 더욱 단순화한다.

위키백과에서 위키백과 봇은 짧은 기사를 만들고, 여러 기사의 형식을 일관되게 업데이트하는 등 다양한 작업을 자동화한다.실마리봇 NG와 같은 봇은 공공 기물 파손을 인식하고 파괴적인 콘텐츠를 자동으로 제거할 수 있다.[9]

분류 체계 및 분류 프레임워크

르베우프 외 [1]연구진은 문헌 검토를 바탕으로 봇의 특성을 파악할 수 있는 면면적인 분류법을 제공한다.그것은 (i) 봇이 만들어진 환경의 특성, (ii) 봇 자체의 내적 특성, 그리고 (iii) 환경 내에서 봇의 상호 작용의 세 가지 주요 측면으로 구성된다.그들은 각각의 주요 측면 아래에 있는 일련의 하위 요소들로 면들을 상세하게 상세하게 묘사한다.

Bukari와 Van der Hoek은 소프트웨어 봇을 비교할 수 있도록 일련의 치수를 정의했고, 특히 챗봇에 적용했다.그 결과 다음과 같은 6차원이 나왔다.

  • 유형: 봇의 주요 목적(정보, 협업 또는 자동화)
  • "전환"(입력, 출력 또는 양방향)의 방향
  • 지침(인적 매개 또는 자율)
  • 예측 가능성(결정론적 또는 진화)
  • 상호 작용 스타일(당김, 대체 어휘, 관계 구축자, 인간 유사)
  • 통신 채널(텍스트, 음성 또는 둘 다)

소프트웨어 봇의 이름으로 행해진 많은 연구가 봇이라는 용어를 사용하여 다양한 도구를 기술하고 때로는 사물들이 "그저" 단순한 구식 개발 도구에 불과하기 때문에 Ellenhov 등은 봇과 단순한 자동화의 차이에 대해 의문을 제기했다.[11]100명이 넘는 개발자들을 인터뷰하고 조사한 결과, 저자들은 한 명이 아니라 세 가지 정의가 커뮤니티를 지배하고 있다는 것을 발견했다.그들은 이러한 정의를 바탕으로 세 가지 페르소나를 만들었고 세 명의 페르소나가 봇이라고 보는 것 사이의 차이는 주로 다른 일련의 인간다운 특징들을 가진 연관성이다.

  • 챗봇 페르소나(Charlie)는 주로 봇을 자연어 인터페이스(일반적으로 음성 또는 채팅)를 통해 개발자와 소통하는 도구로 생각하고 있으며, 봇이 어떤 작업에 사용되거나 실제로 이러한 작업을 어떻게 구현하는지에 대해서는 거의 신경을 쓰지 않는다.
  • 자율 페르소나(Alex)는 봇을 보통 사람이 할 수 있는 업무에서 스스로 작동하는 도구(개발자로부터 많은 입력을 요구하지 않음)로 생각한다.
  • 스마트 페르소나(Sam)는 봇(Sam)이 얼마나 스마트한(기술적으로 정교한) 도구인지를 통해 봇과 평범한 오래된 개발 도구를 구분한다.샘은 도구가 어떻게 의사소통하는지에 대해서는 덜 신경을 쓰지만, 그것이 작업 수행에 유달리 능숙하거나 적응하는지에 대해서는 더 신경을 쓴다.

저자들은 봇에 대한 연구를 하거나 글을 쓰는 사람들이 그들의 작품을 페르소나들 중 한 사람의 문맥에 넣으려고 할 것을 권고한다. 왜냐하면 페르소나는 도구에 대한 기대와 문제가 다르기 때문이다.

주목할 만한 봇의 예

문제 및 위협

소프트웨어 봇은 인간에게 잘 받아들여지지 않을 수도 있다.앤트워프[12] 대학의 연구는 스택 오버플로에서 활동 중인 개발자들이 소프트웨어 봇에 의해 생성된 답을 어떻게 인지하는지를 비교했다.그들은 개발자들이 소프트웨어 봇의 정체성이 명백하게 밝혀질 경우 소프트웨어 봇이 생성한 답변의 질이 현저히 나빠진다고 인식하고 있다는 것을 발견한다.이와는 대조적으로, 인간과 같은 정체성을 가진 소프트웨어 봇의 답변은 더 잘 받아들여졌다.실제로 소프트웨어봇이 GitHub나 Wikipedia와 같은 플랫폼에서 사용될 때, 소프트웨어봇의 사용자 이름은 그들이 봇이라는 것을 분명히 한다. 예를 들어, DependaBot, RenovateBot, DatBot, SineBot.

봇은 특별한 규칙의 적용을 받을 수 있다.예를 들어 GitHub의 서비스[13] 약관은 봇을 허용하지 않고 머신 계정을 허용하는데, 머신 계정은 사람이 봇의 행동을 전적으로 책임진다 2) 다른 계정을 만들 수 없다.

참고 항목

참조

  1. ^ a b c Lebeuf, Carlene; Zagalsky, Alexey; Foucault, Matthieu; Storey, Margaret-Anne (2019). "Defining and Classifying Software Bots: A Faceted Taxonomy". Proceedings of Bots in Software Engineering: 1–6. doi:10.1109/BotSE.2019.00008. ISBN 978-1-7281-2262-5. S2CID 195064960.
  2. ^ Team, The SOBotics (2019-09-17). "Meet the Bots that Help Moderate Stack Overflow". Stack Overflow Blog. Retrieved 2019-11-22.
  3. ^ Erlenhov, Linda; Gomes de Oliveira Neto, Francisco; Scandariato, Riccardo; Leitner, Philipp (2019). "Current and Future Bots in Software Development". 2019 IEEE/ACM 1st International Workshop on Bots in Software Engineering (BotSE). Montreal, QC, Canada: IEEE: 7–11. doi:10.1109/BotSE.2019.00009. ISBN 978-1-7281-2262-5. S2CID 195065273.
  4. ^ Wessel, Mairieli; de Souza, Bruno Mendes; Steinmacher, Igor; Wiese, Igor S.; Polato, Ivanilton; Chaves, Ana Paula; Gerosa, Marco A. (2018-11-01). "The Power of Bots: Characterizing and Understanding Bots in OSS Projects". Proceedings of the ACM on Human-Computer Interaction. 2 (CSCW): 1–19. doi:10.1145/3274451. S2CID 53235433.
  5. ^ Monperrus, Martin; Urli, Simon; Durieux, Thomas; Martinez, Matias; Baudry, Benoit; Seinturier, Lionel (2019). "Repairnator patches programs automatically". Ubiquity. 2019 (July): 1–12. arXiv:1910.06247. doi:10.1145/3349589.
  6. ^ "Git your patches here! GitHub offers to brew automatic pull requests loaded with vuln fixes". www.theregister.co.uk. Retrieved 2019-11-22.
  7. ^ Guay, Matthew (2019-11-22). "How to Build a Slack Bot in 5 Minutes". Slack Blog. Retrieved 2019-11-22.
  8. ^ Company, Chatbot (2019-11-22). "Slack integration: AI Chatbot". LiveChat Inc. Retrieved 2019-11-22.
  9. ^ "Meet the 'bots' that edit Wikipedia". BBC News. 25 July 2012. Retrieved 19 September 2021.
  10. ^ Paikari, Elahe; van der Hoek, André (2018). "A Framework for Understanding Chatbots and their Future". Proceedings of the 11th International Workshop on Cooperative and Human Aspects of Software Engineering - CHASE '18. pp. 13–16. doi:10.1145/3195836.3195859. ISBN 9781450357258. S2CID 49562888.
  11. ^ Erlenhov, Linda; Gomes de Oliveira Neto, Francisco; Leitner, Philipp (2020). "An Empirical Study of Bots in Software Development: Characteristics and Challenges from a Practitioner's Perspective". Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering. Virtual Event, USA, Canada: ACM: 445–455. arXiv:2005.13969. doi:10.1145/3368089.3409680. ISBN 9781450370431.
  12. ^ Murgia, Alessandro; Janssens, Daan; Demeyer, Serge; Vasilescu, Bogdan (2016). "Among the Machines". Proceedings of CHI: 1272–1279. doi:10.1145/2851581.2892311. ISBN 9781450340823. S2CID 13026142.
  13. ^ "GitHub Terms of Service - GitHub Help". help.github.com. Retrieved 2019-11-22.