チャットボットはモデルだけではなく、システムである
実用的で最も単純な捉え方は、会話の形をしたアプリケーションです。
画面にはメッセージ入力欄と返信の流れが表示されます。その背後では、複数の要素が連携しています。
Your message
↓
Chat application loads instructions and conversation state
↓
AI model interprets the request or drafts a response
↓
Application may retrieve data or use another service
↓
Rules and safety checks run
↓
Reply appears and selected state is saved現代の多くのチャットボットで使われるLLMは、この流れを構成する1つの要素です。LLMは言語を生成または解釈します。チャットボットは、それより大きな製品であり、モデルに何を見せるかを決め、情報に接続し、出力を表示し、モデルがリクエストを安全に完了できない場合の処理を担います。
すべてのAIチャットボットがLLMを使うわけではありません。タスクに特化したチャットボットは、機械学習を使ってユーザーの意図を分類し、メッセージから詳細を抽出できます。LLMベースのチャットボットは、指示とコンテキストから新しい応答を生成できます。多くの本番環境のチャットボットは、予測可能な動作が必要なタスクについて、生成された言語と固定ルールを組み合わせています。
AIチャットボットの仕組み
メッセージごとに新しいターンが始まります。一般的なターンには6つの段階があります。
1. メッセージを受け取る
チャネルは、ウェブサイト、モバイルアプリ、メッセージングサービス、音声インターフェースなどです。ユーザーが話す場合は、音声認識ソフトウェアがまず音声をテキストに変換します。
2. 会話状態を読み込む
アプリケーションは、保持するよう選択した情報を読み込みます。これには、直近のメッセージ、過去のメッセージの短い要約、ユーザーのアカウント状態、タスクの進行状況などが含まれます。
これによって、チャットボットが記憶しているように見えます。モデルが過去のすべての呼び出し内容を非公開の記憶として自動的に保持するわけではありません。アプリケーションまたはモデルサービスが関連する状態を保存し、後のターンで再び渡す必要があります。
3. リクエストを解釈する
インテントベースのチャットボットは、メッセージをtrack_orderのような既知の目的に対応付け、注文番号など必要な詳細を抽出します。必要な詳細が不足している場合は、対話ルールに従って、それを尋ねます。
LLMベースのチャットボットは、製品の指示、ユーザーのメッセージ、選択された会話履歴、関連する記録などを含む入力のまとまりを受け取ります。その後、次の応答を生成します。そのまとまりを組み立てるのは、ユーザー向けのチャットボックスではなくアプリケーションです。
4. 情報を取得する、または制限されたアクションを実行する
チャットボットは、承認済みのナレッジベースを検索したり、注文を照会したり、サポートチケットを作成したり、別のサービスを呼び出したりできます。これらの接続は、それぞれ独立した機能です。チャットボットがデータベースの内容について話せるからといって、言語モデルがそのデータベースにアクセスできるようになるわけではありません。
周辺のソフトウェアは、データを公開したり何かを変更したりする前に、ユーザーが誰で、何を行う権限を持っているかを確認する必要があります。
5. 応答を確認して返す
アプリケーションは、安全でないリクエストを拒否したり、根拠のない内容を削除したり、固定の確認を必須にしたり、会話を担当者に引き継いだりできます。モデルが書く返信もあれば、検証済みのデータを埋め込んだテンプレートによる返信もあります。1つの会話で両方を使うこともできます。
6. 次のターンに必要なものを保存する
チャットボットは、後で使うために、選択したメッセージ、タスクの進行状況、または要約を保存します。レビュー用に品質に関するシグナルを記録することもあります。将来の改善に使う可能性がある会話を保存することは、会話中にモデルを再トレーニングすることとは異なります。
具体例:配送先住所を変更する
次のように入力したとします。
あなた: 注文4821はどこですか?
チャットボット: 梱包済みですが、まだ発送されていません。
チャットボットは、あなたのアカウントを認証し、4821を抽出し、注文記録を取得して、検証済みのステータスを短い返信に変換した可能性があります。
続けて、次のように入力します。
あなた: 配送先住所を変更できますか?
「その」と指している内容が分かるのは、直前のターンがあるからです。チャットボットアプリケーションは、関連する状態、つまり現在の注文が4821であることを渡します。また、住所を変更できるのは発送前に限られるというルールも取得します。
システムは注文とそのステータスを把握していますが、新しい住所は持っていません。適切に設計されたチャットボットは推測したり、成功したと主張したりしません。不足している情報を尋ねます。
チャットボット: はい。注文4821はまだ発送されていないため、住所を変更できます。どの住所を指定しますか?
住所を伝えると、アプリケーションはそれを検証し、更新を送信する前に最終確認を表示できます。注文がすでに発送済みであれば、変更できない理由を説明したり、会話をサポート担当者に引き継いだりできます。
このやり取りは、1つの連続した会話のように感じられます。ソフトウェアの中では、保存された状態、データ照会、ビジネスルール、明示的な失敗時の処理によって結び付けられた、個別のターンの連続です。
AIチャットボットが重要な理由
チャットボットは、固定的なインターフェースを柔軟な言語インターフェースに変えます。適切なメニュー、フォーム、検索語を探す代わりに、必要なことを自分の言葉で説明できます。フォローアップのメッセージを使えば、最初からやり直さずにリクエストを уточ正できます。
この柔軟性は、サポート、情報検索、情報収集、ガイド付きタスクに役立ちます。一方で、リスクも生じます。生成された言葉は、間違っていても確信があるように聞こえることがあります。チャットボットは、代名詞が何を指すのかを誤解したり、間違った記録を取得したり、許可された範囲外のリクエストを処理しようとしたりする可能性があります。
したがって、チャットボットの品質はモデルだけで決まりません。アクセスできる情報、状態の管理方法、許可されるアクション、不確実性の扱い方、担当者への明確な引き継ぎ経路の有無にも左右されます。
よくある誤解
「チャットボットはLLMそのものだ」
LLMは入力からテキストを生成できます。チャットボットは、会話インターフェース、指示、状態、データ接続、権限、チェック、製品としての動作を加えたものです。モデルを変更すると、チャットボット全体を置き換えなくても、その性能が変わる可能性があります。
「私が言ったことをすべて覚えている」
チャットボットが覚えているのは、その設計とデータポリシーによって保存され、再び渡された情報だけです。完全な履歴、短縮された要約、選択された事実、または過去のコンテキストをまったく受け取らない場合があります。新しいセッションは、継続中のセッションとは異なる動作をすることがあります。
「すべての会話から学習している」
通常、チャット中にモデルが更新されることはありません。運用者がログをレビューしたり、評価を収集したり、指示を変更したり、参照資料を更新したり、後続のモデルをトレーニングしたりすることはあります。これらは別々のプロセスです。
「自然な回答は、検証済みの回答だ」
流暢さは表現の性質であり、主張の正しさを証明するものではありません。チャットボットは、情報源を確認せずに、もっともらしい内容を生成できます。重要度の高い回答やアカウント固有の回答では、引用、検証済みの記録、確認結果、明確な制限事項などが有用な根拠になります。
「すべてのAIチャットボットはAIエージェントだ」
これらの呼び方には重なる部分があり、ベンダーによって使い方も異なります。チャットボットは、主に会話を行うものとして定義されます。エージェントは通常、より高い自律性を持って、目標に向けた複数の手順を選択し実行することが期待されます。チャットボットは、制限されたアクションを実行しても、自律型エージェントになるわけではありません。
より広いAIシステムにおけるチャットボットの位置付け
モデルは言語エンジンです。チャットボットは、その周囲にある会話型の製品です。ハーネスは、指示、状態、データ、モデル呼び出し、許可されたアクションを調整します。エージェントは同じ要素を使いながら、複数の手順からなるタスクでより積極的に行動することがあります。
これらは相互排他的な製品ラベルではなく、層です。1つの製品がチャットボットインターフェースを提供し、モデルとしてLLMを使い、ハーネスで各ターンを調整し、エージェントに近いアクションをいくつか公開することもあります。役立つ問いは、マーケティングページで何と呼ばれているかではありません。状態はどこに存在するのか、システムはどのデータにアクセスできるのか、どのアクションを実行できるのか、どの判断に確認が必要なのかを確認しましょう。
次に読む内容
多くの現在のチャットボットで使われる言語モデルについては、「LLMとは?」を読んでください。そのモデルの周囲でコンテキスト、ツール、制御を管理するソフトウェア層については、「AIハーネスとは?」を読んでください。続いて、製品の説明で混同されがちな層を区別するために、「AIモデル、チャットボット、ハーネス、エージェントの違い」を利用してください。