AI エージェントとはWhat are AI agents?

ユーザーは会話型インターフェイスにより多く関わるようになってきており、ここでは、人間が自然言語を使って自身のニーズを表現し、タスクをすばやく完了するより自然な体験が実現されます。Users are engaging more and more with conversational interfaces, which can present a more natural experience where humans express their needs through natural language and quickly complete tasks. 多くの企業にとって、会話型 AI アプリケーションは、競争上の差別化要因になりつつあります。For many companies, conversational AI applications are becoming a competitive differentiator. 多くの組織が戦略的に、顧客が時間を費やす同様のメッセージング プラットフォーム内でボットを利用できるようにしています。Many organizations are strategically making bots available within the same messaging platforms in which their customers spend time.

世界中の組織が会話型 AI によってビジネスを変革しており、これにより、その顧客と従業員の両方とのより効率的で自然な対話が促進されます。Organizations around the world are transforming their businesses with conversational AI, which can promote more efficient and natural interactions with both their customers and their employees. 一般的なユース ケースには、次のようなものがあります。Here are a few common use cases:

  • カスタマー サポートCustomer support
  • エンタープライズ アシスタントEnterprise assistant
  • コール センターの最適化Call center optimization
  • 社内音声アシスタントIn-car voice assistant

ボットを作成するBuild a bot

Azure Bot Service および Bot Framework は、このプロセスを支援するために、統合された一連のツールとサービスを提供します。Azure Bot Service and Bot Framework offer an integrated set of tools and services to help with this process. ご自身の好みの開発環境やコマンド ライン ツールを選んで、ボットを作成できます。Choose your favorite development environment or command-line tools to create your bot. C#、JavaScript、TypeScript、および Python 用の SDK が存在します。SDKs exist for C#, JavaScript, TypeScript, and Python. Java 用の SDK は開発中です。The SDK for Java is under development. ボット開発のさまざまなステージ用にツールが用意されており、ボットの設計と構築に役立てることができます。We provide tools for various stages of bot development to help you design and build bots.



目標、プロセス、およびユーザーのニーズを完全に理解することが、成功するボットを作成するプロセスにとって重要です。Having a thorough understanding of the goals, processes, and user needs is important to the process of creating a successful bot. コードを書く前に、ボットのデザイン ガイドラインでベスト プラクティスを確認し、作成するボットに必要な事柄を見極めてください。Before you write code, review the bot design guidelines for best practices, and identify the needs for your bot. 単純なボットを作成することも、音声、自然言語の解釈、質問への応答などの高度な機能を含めることもできます。You can create a simple bot or include more sophisticated capabilities such as speech, natural language understanding, and question answering.

計画フェーズでボットを設計する場合は、次の点を考慮してください。While you design your bot in the Plan phase, consider these aspects:

  • ボットのペルソナの定義:Define bot personas:
    • ボットの外観は?What should your bot look like?
      • 名前は?What should it be named?
      • ボットのパーソナリティは?What's your bot's personality? 性別を設定するか?Does it have a gender?
      • 難しい状況や質問をボットはどのように処理するか?How should your bot handle difficult situations and questions?
  • 会話フローの設計:Design conversation flow:
    • 自身のユース ケースで予測される会話はどのようなものか?What type of conversations can you expect for your use cases?
  • 評価計画の定義:Define an evaluation plan:
    • 成功の測定方法How would you measure success?
    • サービスを向上させるために使用する測定値What measurements do you want to use to improve your service?

ボットを設計する方法の詳細については、「ボット設計の原則」を参照してください。To learn more about how to design your bot, see Principles of bot design.


作成するボットは会話型インターフェイスを実装した Web サービスであり、Bot Framework サービスとやり取りして、メッセージとイベントを送受信します。Your bot is a web service that implements a conversational interface and communicates with the Bot Framework Service to send and receive messages and events. Bot Framework Service は、Azure Bot Service および Bot Framework のコンポーネントの 1 つです。The Bot Framework Service is one of the components of Azure Bot Service and Bot Framework. 任意の数の環境と言語でボットを作成できます。You can create bots in any number of environments and languages. Azure portal 内でボット開発を開始することも、C#、JavaScript、または Python のテンプレートを使用してローカルで開発することもできます。You can start your bot development in the Azure portal or use C#, JavaScript, or Python templates for local development. また、SDK を通じて利用できる機能の多くを紹介しているさまざまなサンプルにアクセスすることもできます。You also have access to a variety of samples that showcase many of the capabilities available through the SDK. これらのサンプルは、始めから豊富な機能を求めている開発者に最適です。These samples are great for developers who want a more feature-rich starting point.

Azure Bot Service および Bot Framework の一環として、ボットの機能拡張に使用できる追加コンポーネントが用意されています。As part of the Azure Bot Service and Bot Framework, we offer additional components you can use to extend the functionality of your bot.

特徴量Feature 説明Description LinkLink
自然言語処理を追加するAdd natural language processing ボットによる自然言語の解釈、スペル ミスの理解、音声の使用、ユーザーの意図の認識を可能にします。Enable your bot to understand natural language, understand spelling errors, use speech, and recognize the user's intent. LUIS の使用方法How to use LUIS
質問に答えるAnswer questions ナレッジ ベースを追加して、より自然な会話方法でユーザーの質問に答えます。Add a knowledge base to answer questions users ask in a more natural, conversational way. QnA Maker の使用方法How to use QnA Maker
複数のモデルを管理するManage multiple models LUIS や QnA Maker などの複数のモデルを使用している場合、ボットの会話中に、いつ、どのモデルを使用するかをインテリジェントに判断します。If you use more than one model, such as for LUIS and QnA Maker, intelligently determine when to use which one during your bot's conversation. ディスパッチ ツールDispatch tool
カードとボタンを追加するAdd cards and buttons グラフィックス、メニュー、カードなど、テキスト以外のメディアでユーザー エクスペリエンスを強化します。Enhance the user experience with media other than text, such as graphics, menus, and cards. カードを追加する方法How to add cards


この表は、包括的なリストではありません。This table isn't a comprehensive list. 詳細については、「Azure Bot Service のドキュメント」を参照してください。For more information, see the Azure Bot Service documentation.


ボットは、連携する多くの異なる部分を持つ複雑なアプリケーションです。Bots are complex applications with many different parts that work together. 他の複雑なアプリケーションの場合と同様、この複雑さのために変わったバグが発生したり、期待どおりにボットが動作しなかったりすることがあります。Like any other complex application, this complexity can lead to some interesting bugs or cause your bot to behave differently than expected. ボットを発行する前に、テストしてください。Before you publish your bot, test it. ボットを使用できるようにリリースする前に、ボットをテストする方法をいくつか用意しています。We provide several ways to test bots before they're released for use:

  • エミュレーターを使ってボットをローカルでテストする。Test your bot locally with the emulator. Bot Framework Emulator は、チャット インターフェイスだけでなく、ボットの動作方法とその動作の理由を理解するのに役立つデバッグ ツールと質問ツールも提供するスタンドアロン アプリケーションです。The Bot Framework Emulator is a stand-alone application that not only provides a chat interface but also debugging and interrogation tools to help you understand how and why your bot does what it does. このエミュレーターは、開発中のボット アプリケーションと共にローカルで実行できます。The emulator can be run locally alongside your in-development bot application.
  • Web 上でボットをテストする。Test your bot on the web. ボットは、Azure portal から構成した後、Web チャット インターフェイスを介してアクセスすることもできます。After your bot is configured through the Azure portal, it can also be reached through a web chat interface. Web チャット インターフェイスは、実行されているコードに直接アクセスできないテスターなどに、ボットへのアクセスを許可する優れた方法です。The web chat interface is a great way to grant access to your bot to testers and other people who don't have direct access to the running code.
  • Bot Framework SDK の 7 月の更新を使用してボットの単体テストを実行する。Unit test your bot with the July update of the Bot Framework SDK.


ボットを Web 上で使用する準備が整ったら、それを Azure に発行するか、独自の Web サービスまたはデータセンターに発行します。When you're ready to make your bot available on the web, publish it to Azure or to your own web service or datacenter. パブリック インターネット上のアドレスを取得することが、ボットをサイト上やチャット チャネル内で稼働させる第一歩です。Having an address on the public internet is the first step to bringing your bot to life on your site or inside chat channels.


ボットを、Facebook、Messenger、Kik、Skype、Slack、Microsoft Teams、Telegram、SMS 送信、Twilio、Cortana、Skype などのチャネルに接続できます。Connect your bot to channels such as Facebook, Messenger, Kik, Skype, Slack, Microsoft Teams, Telegram, text/SMS, Twilio, Cortana, and Skype. Bot Framework は、こうしたさまざまなプラットフォームすべてとの間でメッセージを送受信するために必要な作業のほとんどを行います。Bot Framework does most of the work necessary to send and receive messages from all of these different platforms. ボット アプリケーションは、接続されているチャネルの数や種類に関係なく、統一され、正規化されたメッセージのストリームを受信します。Your bot application receives a unified, normalized stream of messages no matter number and type of channels to which it's connected. チャネルを追加する方法の詳細については、チャネルに関するページを参照してください。For information on how to add channels, see Channels.


Azure portal で収集されたデータを使用し、ボットの機能とパフォーマンスを強化する機会を特定します。Use the data collected in the Azure portal to identify opportunities to improve the capabilities and performance of your bot. トラフィック、待ち時間、統合などのサービス レベルのデータやインストルメンテーション データを取得できます。You can get service-level and instrumentation data like traffic, latency, and integrations. Analytics によって、ユーザー、メッセージ、チャネル データに関する会話レベルのレポートも提供されます。Analytics also provide conversation-level reporting on user, message, and channel data. 詳しくは、分析情報の収集方法に関するページをご覧ください。For more information, see How to gather analytics.

一般的なユースケースのパターンPatterns for common use cases

会話型 AI アプリケーションの実装に使用される一般的なパターンは次のとおりです。There are common patterns used for implementation of a conversational AI application:

  • サポート技術情報: 事実上あらゆる主題に関する情報を提供するナレッジ ボットを設計できます。Knowledge base: A knowledge bot can be designed to provide information about virtually any subject. たとえば、1 つのナレッジ ボットでイベントに関する質問に回答できます。たとえば、"このカンファレンスではどんなボット イベントがありますか?"For example, one knowledge bot might answer questions about events such as "what bot events are there at this conference?" または "次のレゲエのショーはいつ?" などです。Or "when is the next reggae show?" 別のボットで、"オペレーティング システムを更新するにはどうすればよいか?" といった IT 関連の質問にも回答できます。Another bot might answer IT-related questions such as "how do I update my operating system?" また別のボットでは、"john doe とは誰ですか?"Yet another bot might answer questions about contacts such as "who is john doe?" または "jane doe のメール アドレスは?" のような連絡先についての質問にも答えます。Or "what is jane doe's email address?"

    ナレッジ ボットの設計要素の詳細については、「ナレッジ ボットを設計する」を参照してください。For information on the design elements for knowledge bots, see Design knowledge bots.

  • 人間に引き継ぐ: ボットがどれくらいの AI を持っているかにかかわらず、会話を人間に引き継ぐ必要があることがあります。Hand off to a human: No matter how much AI a bot possesses, there might still be times when it needs to hand off the conversation to a human being. そのような場合、ボットは、いつ引き継ぎが必要であるかを認識し、ユーザーにスムーズな移行を提供する必要があります。In such cases, the bot should recognize when it needs to hand off and provide the user with a smooth transition.

    引き継ぐパターンの詳細については、「会話をボットから人間に移行する」を参照してください。For information on the patterns to hand off, see Transition conversations from bot to human.

  • ボットをアプリケーションに埋め込む: 多くの場合、ボットはアプリケーションの外部に存在しますが、アプリケーションに統合することもできます。Embed a bot in an application: Although bots most commonly exist outside of applications, they can also be integrated with applications. たとえば、ユーザーが情報を検索するのに役立つようにナレッジ ボットをアプリケーション内に埋め込むことができます。For example, you could embed a knowledge bot within an application to help users find information. また、受信ユーザー要求に対する最初のレスポンダーとして機能するように、ヘルプ デスク アプリケーションにボットを埋め込むこともできます。You could also embed a bot within a help desk application to act as the first responder to incoming user requests. 簡単な問題はボットが自力で解決し、複雑な問題は人のエージェントにハンドオフされます。The bot could independently resolve simple issues and hand off more complex issues to a human agent.

    アプリケーション内にボットを統合する方法については、「ボットをアプリに埋め込む」を参照してください。For information on the ways to integrate your bot within an application, see Embed a bot in an application.

  • ボットを Web サイトに埋め込む: ボットをアプリケーション内に埋め込むのと同様に、ボットを Web サイト内に埋め込んで、複数のチャネル間で複数の通信モードを有効にすることもできます。Embed a bot in a website: Like embedding bots in applications, bots can also be embedded within a website to enable multiple modes of communication across channels.

    Web サイト内にボットを統合する方法については、「ボットを Web サイトに埋め込む」を参照してください。For information on the ways to integrate your bot within a website, see Embed a bot in a website.

次の手順Next steps