チャットボットChatbot
人と文字や音声でやり取りする対話プログラム
- チャットボットは、人が投げかけた言葉を受け取って答えを返すプログラムです。窓口に人の代わりに座っている存在です。
- 昔のチャットボットは決まった規則と台本で動いていました。一覧にない質問の前ではそのまま止まりました。
- 最近のチャットボットは言語モデルがその場で文章を組み立てます。 初めて見る質問にも答えが出ます。
- 組み立てる力は弱点でもあります。ない事実ももっともらしく語ることがあるので、会社の資料を一緒に探させて読ませる方式を使います。
- 会話が続いているように見えるのは、それまでのやり取りを毎回まるごと入れ直しているからです。
目次
1たとえで理解する
コールセンターに電話をかけると、まず案内の声が流れます。料金は1番、配送は2番。番号を押すと用意された案内が流れ、一覧にないことを尋ねると案内は最初に戻ります。人の代わりに窓口に座って問いに答えるこの存在がチャットボットです。
昔の窓口には台本がありました。「返金」という言葉が聞こえれば返金の案内を読み、「配送」なら配送の案内を読みます。台本にない言葉が出ると、また最初から尋ね直します。答えが間違うことはありませんが、少し違う聞き方をしただけで通じなくなります。
今の窓口は台本を読まず、その場で文章を組み立てます。用意しておいた一覧になかった質問にも、筋の通った答えが出ます。その代わり、案内文にない内容までもっともらしく作り出せることが、新しい心配事になりました。
2くわしく
台本を読んでいた頃
初期のチャットボットは規則の一覧でした。入ってきた文の中からあらかじめ決めておいた言葉を探し、その言葉に結び付けた答えをそのまま出します。少し進んだ形は、文をいくつかの用件に先に分類してから、用件ごとに用意された答えを取り出しました。
この方式の長所ははっきりしています。答えがあらかじめ検討済みの文なので、会社が言っていないことが出ることがなく、なぜその答えになったのか説明できます。今でも規約や金額を案内する場所には、この方式が残っています。
問題は、人がいつも違う言い方で尋ねることでした。「返金できますか」「お金を返してほしいんですけど」「これ返品できますか」をすべて同じ用件としてとらえるには、例文を数千個も手で埋めなければなりませんでした。新しい商品が出るたびに、その作業を一から繰り返していたのです。
文章を組み立てる窓口へ
今のチャットボットは台本を選びません。目の前の言葉のあとに続く言葉を一かけらずつ選んでつなぎながら、答えを組み立てていきます。だから用意したことのない質問にも答えが出て、同じ質問でも毎回少しずつ違う文章が返ってきます。
同じ理由で口調も変えられます。丁寧に、短く、敬語で、といった指示を前に添えるだけで、答えの雰囲気がまるごと変わります。以前の方式では、口調を変えるには台本を全部書き直す必要がありました。
会社の資料を一緒に読ませます
言語モデルは世の中の文章で学びましたが、自社の返金規定までは知りません。知らないまま尋ねると、どこかの規定を混ぜてもっともらしい文章を作ってしまいます。
そこで最近の相談チャットボットは、答えを組み立てる前に社内文書から質問に関係する部分を先に探します。見つけた部分を質問と一緒にモデルに渡し、この内容を根拠に答えるよう指示する方式です。この方法をRAG(Retrieval-Augmented Generation、検索拡張生成)と呼びます。
こうすると規定が変わったときに、モデルを学習し直さず文書だけ差し替えればすみます。答えにどの文書の何ページを見たかを添えられることも大きな利点です。
覚えているように見える理由
チャットボットは基本的に毎回初対面の状態です。会話が続いているように見えるのは、新しい質問を送るたびにそれまでのやり取りをまるごと一緒に付け足して送っているからです。
だから会話が長くなると二つのことが起きます。毎回送る量が増えて答えが遅くなり、一度に入れられる上限を超えると前の部分から切り捨てられます。しばらく話し込んだあと最初に伝えた名前を忘れたようにふるまうのは、このためです。だから長い相談では、それまでの会話を短くまとめておいて、その要約だけを入れ直す方式を使います。
答えるだけでなく仕事もします
最近の相談窓口は案内だけで終わりません。注文番号を受け取って配送状況を調べたり、予約を変更したり、対応が難しければ人の担当者に引き継いだりします。モデルが直接処理するのではなく、どの機能をどんな値で呼ぶかを決めるだけで、実際の実行はプログラムが行います。
だからよくできたチャットボットには、答えられない場所がはっきり設計されています。確信がなければ人に引き継ぎ、お金が絡む処理は必ずもう一度確認させるといった具合です。
3もう少し正確に
チャットボットは特定の技術の名前ではなく、対話の形式で動くプログラム全体を呼ぶ言葉です。中には規則の一覧が入っていることも、用件を分類するモデルが入っていることも、言語モデルが入っていることもあります。画面を見ただけでは区別しづらく、実際のサービスはいくつもの方式を場面ごとに使い分けていることが多いです。
たとえがずれる部分もあります。窓口の担当者は知らないことを知らないと言えます。文章を組み立てるチャットボットは、つながりの良い言葉をつなぐ方式なので、自分が分かっていないという事実自体に気づきにくいです。自信のない答えと自信のある答えが見た目には同じくらい滑らかに出るのも、そのためです。担当者は昨日の通話を覚えていますが、チャットボットは前の会話を入れ直してもらわなければ白紙の状態から始まる点も違います。だから実際のサービスには、答えを出す前にふるいにかける仕組みが別に付いています。扱ってはいけない話題を防ぎ、個人情報が混ざれば消し、確信が低ければ人に引き継ぐ規則を、モデルの外側に置く方式です。
4やってみる
5よくある誤解
チャットボットが人のように意味を理解していると思われがちですが、実際は前の言葉に最もつながりの良い言葉を選んでつなぐことに近いです。
チャットボットがその会社の規定をすべて知っていると見られがちですが、実際は資料を別に探して入れてやらなければ、規定らしい文章を作り出します。
チャットボットが会話を覚えていると思われがちですが、実際は前の会話を毎回入れ直しているだけで、入れなければ初対面のようにふるまいます。
7ひとこと要約
つまりチャットボットは窓口に座って問いに答えるプログラムで、決まった台本を読んでいた場所から、その場で文章を組み立てる場所へと変わりました。
誤りや、もっと良いたとえがありますか? 修正を提案する · 最終更新2026-09-02