How is an Internet bot constructed?

インターネットボットを構成する基本的なコンポーネントについて知りましょう。

学習目的

この記事を読み終えると、以下のことができるようになります。

  • ボットとは何か、どう機能するかについて、より具体的な説明を受ける

記事のリンクをコピーする

「ボット」とは何を意味するのか

インターネットボットとは、ネットワーク上で動作するコンピュータプログラムです。ボットは、Webページのクロール、ユーザーとのチャット、ユーザーアカウントへの侵入など、特定のアクションを自動的に実行するようにプログラムされています。

工場で使用される製造ロボット、またはロボット愛好家によって構築された「戦闘ボット」とは異なり、ボットは、実際にはデータベースを持つ数行のコードです。言い方を変えると、インターネットボットはコンピュータのための命令のセットと情報の集合体であると言えるでしょう。ほとんどのボットは設計がかなりシンプルですが、一部のボットはより複雑で、人工知能(AI)を使用して人間の行動を模倣する試みをしています。

ボットを作成することは、ほとんどの開発者にとってかなり簡単で、開発者でなくても作成できる場合もあるほどです。これが、ボットがインターネットで広まっている理由の一つです。場合によっては、ボットを作成するために、実際のコードを記述する必要さえありません。例えば、ツイッターはユーザーがソーシャルネットワークでツイート、リツイートその他のアクションを実行するボットを作成できるようビジュアルインターフェースを提供しています。

インターネットボットの主要コンポーネントは何か

ボットのアーキテクチャには通常以下が含まれます。

  • アプリケーションロジック
  • データベース
  • API統合

アプリケーションロジック は、ボット開発者が記述し、コンピュータが実行する、実行可能でマシン可読なコードです。上記のチャットボットのコード例は、このカテゴリーに適合します。

データベース は、どのようなアクションを取るべきかを知るために、ボットが引き出すデータの集合体です。ボットはウェブスクレーパーボットがWebサイトからコンテンツをダウンロードする場合などに、データベースに追加情報を保存できます。

APIを使用すると、ボットが外部機能を使用できるようになるので、開発者がコードを書く必要がありません。開発者はコードに適切なコマンドを追加するだけで、ボットは必要に応じてAPIを呼び出します。

(APIとは他の誰かがすでに構築した複雑なソフトウェア機能を組み込む一つの方法です。APIはアプリケーションをプログラミングする際に、わざわざ1からやり直す手間を避けるための方法だと考えてください。たとえば、チャットボットは、天気予報アプリのAPIを使用して、天気予報に関する詳細な情報をユーザーに提供できます。そうすることで、チャットボットは天気自体を追跡する必要はなく、外部の天気アプリのAPIを呼び出すだけで済みます。)

ユーザーが使い慣れているアプリケーションとは異なり、ほとんどのボットにはユーザーインターフェースがありません。これは、インターネット上のボットは通常、ユーザーではなくWebページ、アプリ、APIと対話するためです(しかし、ボットはチャットソーシャルメディア、その他のチャネルを介してユーザーと対話できます)。

Webサイトやアプリは過剰なボットトラフィックにどう対処するのか

ボットは比較的簡単に作成できるため、インターネット上で広く使用されています。インターネットトラフィックの約半分はボットからのものです。これには、良性ボットと悪性ボットの両方が含まれます。

ウェブクローラーボットやチャットボットなどの一部のボットは、インターネットが正常に動作し、ユーザーが必要な情報を見つけるために不可欠です。しかし、過剰なボットトラフィックは、Webプロパティの配信元サーバーを圧倒し、悪意のあるボットはさまざまなサイバー攻撃を実行する可能性があります。このような事態を防止するために、WebサイトやWebアプリは robots.txtファイルを戦略的に使用し、Rate Limitingを実装し、ボット管理ソリューションを活用することができます。

ボット開発についてもっと情報が必要ですか?ブログ記事サーバーレスチャットボットの作成方法を参照してください。