Software-Bot - Software bot

Ein Software-Bot ist eine Art Software-Agent im Dienste des Software-Projektmanagements und des Software-Engineerings. Ein Software-Bot hat eine Identität und potenziell personifizierte Aspekte, um seinen Stakeholdern zu dienen. Software-Bots stellen häufig Softwaredienste zusammen und bieten eine alternative Benutzeroberfläche, die manchmal, aber nicht unbedingt dialogorientiert ist.

Software-Bots werden typischerweise verwendet, um Aufgaben auszuführen, Aktionen vorzuschlagen, einen Dialog zu führen und soziale und kulturelle Aspekte eines Softwareprojekts zu fördern.

Der Begriff Bot leitet sich von Roboter ab . Roboter agieren jedoch in der physischen Welt und Software-Bots nur in digitalen Räumen. Einige Software-Bots sind so konzipiert und verhalten sich wie Chatbots , aber nicht alle Chatbots sind Software-Bots. Erlenhovet al. diskutieren Vergangenheit und Zukunft von Software-Bots und zeigen, dass Software-Bots seit vielen Jahren eingesetzt werden.

Verwendungszweck

Software-Bots werden verwendet, um Entwicklungsaktivitäten zu unterstützen, wie z. B. die Kommunikation zwischen Softwareentwicklern und die Automatisierung sich wiederholender Aufgaben. Software-Bots wurden von mehreren Communities im Zusammenhang mit der Softwareentwicklung übernommen, beispielsweise von Open-Source-Communitys auf GitHub und Stack Overflow .

GitHub-Bots haben Benutzerkonten und können Pull-Requests und Issues öffnen, schließen oder kommentieren . GitHub-Bots wurden verwendet, um Gutachter zuzuweisen, Mitwirkende aufzufordern, die Lizenzvereinbarung für Mitwirkende zu unterzeichnen , Fehler bei der kontinuierlichen Integration zu melden, Code und Pull-Requests zu überprüfen, Neulinge willkommen zu heißen, automatisierte Tests durchzuführen, Pull-Requests zusammenzuführen, Fehler und Schwachstellen zu beheben usw.

Das Slack- Tool enthält eine API zur Entwicklung von Software-Bots. Es gibt Slack-Bots, um Todo-Listen zu verfolgen, Standup-Meetings zu koordinieren und Support-Tickets zu verwalten. Die Produkte des Chatbot-Unternehmens vereinfachen den Prozess der Erstellung eines benutzerdefinierten Slack-Bots weiter.

Auf Wikipedia automatisieren Wikipedia-Bots eine Vielzahl von Aufgaben, z. B. das Erstellen von Stub-Artikeln, das ständige Aktualisieren des Formats mehrerer Artikel und so weiter. Bots wie ClueBot NG sind in der Lage, Vandalismus zu erkennen und störende Inhalte automatisch zu entfernen.

Taxonomien und Klassifikationsrahmen

Lebeufet al. bieten eine facettenreiche Taxonomie zur Charakterisierung von Bots basierend auf einer Literaturrecherche. Es besteht aus 3 Hauptaspekten: (i) Eigenschaften der Umgebung, in der der Bot erstellt wurde; (ii) intrinsische Eigenschaften des Bots selbst; und (iii) die Interaktionen des Bots in seiner Umgebung. Sie detaillieren die Facetten weiter in Sätze von Unterfacetten unter jeder der Hauptfacetten.

Paikari und van der Hoek haben eine Reihe von Dimensionen definiert, um den Vergleich von Software-Bots zu ermöglichen, die speziell auf Chatbots angewendet werden. Daraus ergeben sich sechs Dimensionen:

  • Typ : der Hauptzweck des Bots (Information, Zusammenarbeit oder Automatisierung)
  • Richtung des "Gesprächs" (Eingabe, Ausgabe oder bidirektional)
  • Anleitung (menschlich vermittelt oder autonom)
  • Vorhersagbarkeit (deterministisch oder sich entwickelnd)
  • Interaktionsstil (dumpf, alternatives Vokabular, Beziehungsaufbau, menschenähnlich)
  • Kommunikationskanal (Text, Sprache oder beides)

Erlenhovet al. stellte die Frage nach dem Unterschied zwischen einem Bot und einfacher Automatisierung, da viele Forschungen, die im Namen von Software-Bots betrieben werden, den Begriff Bot verwenden, um verschiedene Tools zu beschreiben, und manchmal sind es "nur" alte Entwicklungstools. Nach Interviews und Befragungen von über 100 Entwicklern stellten die Autoren fest, dass nicht eine, sondern drei Definitionen die Community dominierten. Sie erstellten drei Personas basierend auf diesen Definitionen und der Unterschied zwischen dem, was die drei Personas als Bot ansehen, ist hauptsächlich die Assoziation mit einer anderen Reihe von menschenähnlichen Eigenschaften.

  • Die Chat-Bot-Persona (Charlie) betrachtet Bots in erster Linie als Werkzeuge, die mit dem Entwickler über eine natürliche Sprachschnittstelle (normalerweise Sprache oder Chat) kommunizieren und sich wenig darum kümmern, für welche Aufgaben der Bot verwendet wird oder wie er diese Aufgaben tatsächlich implementiert.
  • Die autonome Bot-Persona (Alex) betrachtet Bots als Werkzeuge, die eigenständig (ohne viel Input von einem Entwickler) für eine Aufgabe arbeiten, die normalerweise von einem Menschen erledigt würde.
  • Die Smart Bot Persona (Sam) unterscheidet Bots und schlichte alte Entwicklungstools dadurch, wie intelligent (technisch ausgereift) ein Tool ist. Sam kümmert sich weniger darum, wie das Tool kommuniziert, sondern mehr darum, ob es bei der Ausführung einer Aufgabe ungewöhnlich gut oder anpassungsfähig ist.

Die Autoren empfehlen, dass Personen, die über Bots forschen oder schreiben, versuchen, ihre Arbeit in den Kontext einer der Personas zu stellen, da die Personas unterschiedliche Erwartungen und Probleme mit den Tools haben.

Beispiel für bemerkenswerte Bots

Probleme und Bedrohungen

Software-Bots werden von Menschen möglicherweise nicht gut akzeptiert. Eine Studie der Universität Antwerpen hat verglichen, wie Entwickler, die auf Stack Overflow aktiv sind, Antworten wahrnehmen, die von Software-Bots generiert werden. Sie stellen fest, dass Entwickler die Qualität der von Software-Bots generierten Antworten als deutlich schlechter wahrnehmen, wenn die Identität des Software-Bots sichtbar gemacht wird. Dagegen kamen Antworten von Software-Bots mit menschenähnlicher Identität besser an. In der Praxis wird beim Einsatz von Software-Bots auf Plattformen wie GitHub oder Wikipedia anhand des Benutzernamens deutlich, dass es sich um Bots handelt, zB DependaBot, RenovateBot, DatBot, SineBot.

Bots können besonderen Regeln unterliegen. Zum Beispiel erlauben die GitHub-Nutzungsbedingungen keinen `Bot`, akzeptieren aber `Maschinenkonto`, wobei ein `Maschinenkonto` zwei Eigenschaften hat: 1) ein Mensch übernimmt die volle Verantwortung für die Aktionen des Bots 2) er kann keine anderen Konten erstellen.

Siehe auch

Verweise