Wie ist ein Internet-Bot aufgebaut?

Erfahren Sie mehr über die grundlegenden Komponenten, aus denen ein Internet-Bot besteht.

Lernziele

Nach Lektüre dieses Artikels können Sie Folgendes:

  • Besser verstehen, was ein Bot ist und wie er funktioniert
  • Ein Beispiel für die Funktionsweise eines Chatbots erkunden

Link zum Artikel kopieren

Was bedeutet „Bot“?

Ein Internet-Bot ist ein Computerprogramm, das in einem Netzwerk läuft. Bots sind so programmiert, dass sie automatisch bestimmte Aktionen ausführen, z. B. Webseiten durchsuchen, mit Benutzern chatten – oder versuchen, in Benutzerkonten einzubrechen.

Im Gegensatz zu den Fertigungsrobotern in Fabriken oder den „Kampfrobotern“, die von Robotik-Bastlern gebaut werden, besteht ein Bot eigentlich nur aus ein paar Zeilen Code mit einer Datenbank. Man kann es auch so ausdrücken: Ein Internet-Bot ist eine Reihe von Anweisungen für Computer sowie eine Sammlung von Informationen. Die meisten Bots sind relativ einfach aufgebaut, aber manche Bots sind komplexer und verwenden künstliche Intelligenz (KI), um menschliches Verhalten zu imitieren.

Das Schreiben eines Bots ist für die meisten Entwickler und manchmal sogar für Nicht-Entwickler ziemlich einfach. Dies ist einer der Gründe, warum Bots im Internet so weit verbreitet sind. In manchen Fällen ist es nicht einmal erforderlich, richtige Codezeilen zu schreiben, um einen Bot zu erstellen – beispielsweise bietet Twitter eine visuelle Schnittstelle für Benutzer, um Bots zu erstellen, die tweeten, retweeten, liken sowie andere Aktionen im sozialen Netzwerk ausführen.

Beispiel: Wie funktioniert ein Chatbot?

Ein Chatbot interagiert direkt mit den Benutzern, hat also eine Chat-Schnittstelle. Mit anderen Worten, ein Chatbot ist normalerweise in der Lage, innerhalb einer Chat-Anwendung zu arbeiten.

Hier sehen Sie den Teil eines Codes für einen sehr einfachen Chatbot. (Beachten Sie, dass dies nicht der gesamte Code ist, der notwendig ist, damit der Chatbot tatsächlich funktioniert.)

Bot-Code-Beispiel

Eine Sprache, die häufig von Chatbots verwendet wird, ist die Artificial Intelligence Markup Language (AIML). Im obigen Codeteil wird AIML verwendet.

Schlüsseln wir kurz auf, was dieser AIML-Code bedeutet.

  • „Category“: Jede Kategorie enthält Benutzereingaben, von denen der Chatbot weiß, was er darauf antworten soll, zusammen mit der Art und Weise, wie er darauf antworten wird.
  • „pattern“: Eine exakte Übereinstimmung einer Texteingabe eines Benutzers. Wenn ein Chatbot diese Frage von einem Benutzer erhält, weiß er, was er antworten muss.
  • „template“: Die Antwort, die ein Chatbot gibt, nachdem er eine Eingabe erhalten hat, die dem Muster entspricht.
  • „srai“: Dies bedeutet, dass die Kategorie, die zu diesem Text passt, äquivalent ist, und dass der Chatbot für die Antwort auf diese Kategorie verweisen sollte. In diesem Fall wird die Benutzereingabe „Was bist du“ als gleichbedeutend mit „Wer bist du?“ mit der gleichen Antwort markiert.

Was wird dieser Chatbot tun? Wenn er die Frage „Wer bist du?“ oder „Was bist du?“ erhält, antwortet er mit „Ich bin ein Chatbot“.

Was sind die Hauptbestandteile eines Internet-Bots?

Die Architektur eines Bots umfasst in der Regel Folgendes:

  • Anwendungslogik
  • Datenbank
  • API-Integrationen

Die Anwendungslogik ist der ausführbare, maschinenlesbare Code, den der Bot-Entwickler schreibt und der von einem Computer ausgeführt wird. Das obige Chatbot-Code-Beispiel passt in diese Kategorie.

Die Datenbank ist die Sammlung von Daten, aus denen der Bot schöpft, um zu wissen, welche Maßnahmen zu ergreifen sind. Ein Bot kann auch zusätzliche Informationen in seiner Datenbank speichern, z. B. wenn ein Web-Scraper-Bot Inhalte von einer Website herunterlädt.

APIs ermöglichen dem Bot, externe Funktionalitäten zu nutzen, ohne dass der Entwickler sie schreiben muss. Der Entwickler muss nur die richtigen Befehle in den Code einfügen, und der Bot ruft bei Bedarf eine API auf.

(Eine API ist eine Möglichkeit, komplexe Software-Funktionalität zu integrieren, die bereits von jemand anderem erstellt wurde. Stellen Sie sich eine API als eine Möglichkeit vor, bei der Programmierung einer Anwendung zu vermeiden, „das Rad neu zu erfinden“. Beispielsweise könnte ein Chatbot die API einer Wetter-App verwenden, um den Benutzern detaillierte Informationen über das Wetter zu liefern, wenn sie danach fragen. Auf diese Weise muss der Chatbot nicht selbst das Wetter beobachten – er ruft stattdessen einfach die API der externen Wetter-App auf.)

Im Gegensatz zu Anwendungen, mit denen die Benutzer meistens interagieren, haben die meisten Bots keine Benutzeroberfläche. Das liegt daran, dass Bots im Internet normalerweise mit Webseiten, Apps und APIs interagieren, nicht mit den Benutzern selbst (obwohl sie mit den Benutzern auch über Chat, soziale Medien und andere Kanäle interagieren können).

Wie können Websites und Apps mit übermäßigem Bot-Traffic umgehen?

Da Bots relativ einfach zu erstellen sind, sind sie im Internet extrem verbreitet – etwa die Hälfte des gesamten Internet-Traffics stammt von Bots, sowohl von guten als auch von böswilligen Bots.

Einige Bots, wie Web-Crawler-Bots und Chatbots, sind unerlässlich, damit das Internet richtig funktioniert und die Benutzer die benötigten Informationen finden. Übermäßiger Bot-Verkehr kann jedoch die Ursprungsserver einer Website überfordern, und böswillige Bots können eine Vielzahl von Cyber-Angriffen durchführen. Um dies zu verhindern, können Websites und Web-Apps strategisch robots.txt-Dateien verwenden, Rate Limiting einsetzen und Lösungen zum Bot-Management nutzen.

Möchten Sie tiefer in die Bot-Entwicklung eintauchen? Lesen Sie diesen Blog-Beitrag darüber, wie man einen serverlosen Chatbot schreibt.