AIからの電話は、なぜ台本どおりに進まないのか
AIが電話をかける側に立つと、会話を目的地まで導くのはAIの役目になります。台本(シナリオ)はなぜ枝分かれするのか、台本にない返答はどうさばくのかを説明します。

かかってきた電話にAIが応対する仕組み(受電)では、相手が用件を持って電話してきます。企業の側からAIが電話をかける架電では、これが逆になります。予約確認なら、「日時を伝える」「変更の有無を確認する」「変更なら新しい候補を受け取る」といった目的を、AIの側が持っています。つまり架電のAIは、答えるだけでなく、会話を目的地まで進める必要があります。そのためにあらかじめ用意しておく発話と分岐の設計を、ここでは台本(シナリオ)と呼びます。
こうした「システムの側から会話を目標へ導く働き」は、研究の世界でも、聞かれたことに答えるだけの対話と区別して扱われています[1]。この区別は電話の向きによる分類とは別もので、受電でも予約の受付のようにシステムが導く場面はあります。台本は、書いたとおりには進みません。
- 台本は1本道にならない。戻りや繰り返しがあるため、実際の設計は「状態と、状態間の移り方」の管理になる
- 会話を進めるには、いま何が決まっていて何が未確認かを追い続ける必要がある
- 台本の枝にない返答は例外ではなく前提で、数種類の「受け皿」に落として台本の一部として設計する
架電と受電で何が共通し、何が架電だけの課題なのかは AIからの電話は、AIが受ける電話と何が違うのか で説明しています。
台本は1本道にならず、戻りのある状態遷移になる
予約確認の電話で考えます。たとえば、こんな流れです。
- AI「明後日14時のご予約の確認でお電話しました」
- 相手「あー、それ変えたいんだよね」→ 変更の枝へ
- AI「かしこまりました。ご希望の日時はございますか」
- 相手「金曜って空いてる?」→ 候補確認の枝へ
電話に出たのが本人か、家族か。日時をそのまま承知したか、変更したいか、そもそも心当たりがないか。返答によって、次に言うべきことが変わります。単純な台本なら、この形は「もし〜なら」で枝分かれする木として考えられます。ただ実際の会話では、別件に答えてから本題へ戻ったり、聞き直したりと、後ろへ戻る動きが入ります。だから設計上は、「いまどの状態にいて、次にどこへ移るか」を管理する形、つまり戻りのある状態遷移になります。
聞くべき項目と遷移をあらかじめ決めておくこの考え方は、決まった用事を会話で片づける対話(タスク指向対話)の研究として、長く積み重ねられてきました[3]。
いま何が決まっていて、何が未確認かを追い続ける
聞くべきことを聞かずに先へ進めば、肝心の希望を聞き忘れたまま通話が終わります。すでに聞き取れている項目をもう一度たずねれば、相手には話が通じていないように聞こえます。
そこでAIは、聞き取った内容を項目ごとに書き留めていきます。相手の発話から「希望日は金曜」のような情報を取り出す処理は、スロットフィリング(必要項目の抽出)と呼ばれます。取り出した情報をそれまでの会話と突き合わせて、相手の要求の現在地を更新し続ける仕組みが、対話状態追跡(DST)です。部品を分けて組み立てる型の対話システムでは、それ自体が研究分野になっています[2]。「日時は伝達済み」「新しい候補は未確認」といった進行の管理は、この状態の上に載る台本側の項目で、台本はこの2つを参照しながら次に話すことを決めます。
電話では、この追跡が聞き取り誤りの上に載ります。「金曜」を「明日」と聞き間違えたまま項目を更新すると、その先の会話は、正しい台本の間違った場所を進みます。聞き間違いが起きやすい理由は 電話の音声認識はなぜ聞き間違えるのか に記載しています。
想定外の返答は例外ではなく、前提として数える
分岐を丁寧に作り込んでも、相手は枝の外から話しかけてきます。「その前に、おたくどこの会社?」と確認されることがあります。「いま運転中で」と都合を告げられることもあります。「そういえば料金のことも聞きたいんだけど」と、別の用件を持ち出されることもあります。どれも、予約確認の枝には用意されていない返答です。
枝の外からの返答を、まれな事故として例外処理に押し込むと、そのたびに会話が破綻します。設計の観点で重要なのは、「台本の枝にない返答を扱う分岐も、台本の一部として設計する」ことです。
ただし、想定外を一つずつ枝として足していくと、台本は際限なく膨らみます。設計のこつは、すべてを列挙することではなく、想定外を数種類の受け皿に落とすことです。
| 想定外の返答 | 受け皿 |
|---|---|
| 聞き返された | 言い直して説明する |
| いま話せないと言われた | 通話を終え、日をあらためてかけ直す |
| 本題以外の質問が来た | 答えられる範囲で答えて、本題に戻る |
| どの受け皿でも判断できない | 無理に続けず、人に引き継ぐ |
| 通話自体を拒否された | 引き止めずに終える |
この線引きは、受電で誤案内(事実にない内容をそれらしい文で答えてしまう失敗)を防ぐ対策と同じ発想で組み立てられます。どちらも、AIに話させてよい範囲をあらかじめ決めておき、その外に出た会話は人へ渡す、という考え方です。範囲の決め方と渡し方は 自動応答のAIは、言ってはいけないことをどう避けているのか で説明しています。
なお、台本をどこまで固定し、どこから文章を作るAI(生成AI)に任せるかは、ここまでとは別の設計判断です。固定するほど挙動を事前に確認しやすく、生成に任せるほど想定外への柔軟性は増します。実際には、状態の移り方や禁止事項は固定し、その範囲内の言い回しをAIに任せる、といった中間の構成になります。研究の側でも、聞き取り・状態追跡・応答生成を部品に分けて組み立てる構成と、対話の進行そのものをまとめて学習させる構成の両方が整理されており[3]、後者には独立した状態追跡の部品を置かない作りもあります。
台本で設計するのは、話す内容だけではない
AIは会話の目的地を持てても、相手を台本に従わせることはできません。いつ切るかを決めるのは相手です。だから架電の台本で設計するのは「何を話すか」だけではなく、「現在地をどう持つか」「枝の外へ出たときどう戻すか」「どこで人に渡すか」です。
台本と主導権の問題を解いても、「いつ話し始めるか」という間の取り方は受電と共通の課題として残ります。相手の話の終わりをどう見分けるかは AIとの通話はなぜ会話が噛み合わないのか に記載しています。