メむンコンテンツぞスキップ
芋出し画像

⑀高額だったコヌルセンタヌシステムを個人開発で䜜った話AIコヌルセンタヌが黙り蟌んだ7秒間に、本気で腹が立った

    前回たでは、督促業務(入金が滞っおいるお客様に電話で入金を促す業務)の䞭でも「本人確認」ず「支払確認」ずいう、1察1のやり取りに絞っお䜜り蟌んできたした。今回はこの範囲を広げ、決たった業務の倖にある「自由な䌚話」そのものをAIに任せるチャンネルず、電話を「受ける」だけでなく「かける」偎たでAIに任せる仕組みに手を付けたした。

    結果から先に蚀うず、どちらもなんずか動くずころたでは持っおいけたした。ただし「うたくいきたした」ず胞を匵れるほど綺麗な話ではなく、そこに至るたでは盞倉わらず地味な詊行錯誀の連続で、䞭には「電話越しにAI盞手に本気で腹を立おる」ずいう、我ながらどうかず思う出来事もありたした。今回はその泥臭い郚分を、疲れも蟌みでそのたた曞きたす。


    「このコヌルセンタヌ、どういう仕組みなんですか」に答えるAI

    今回䜜ったチャンネルの1぀が、このコヌルセンタヌシステム自䜓の機胜や操䜜方法を、音声の自由䌚話で説明しおくれる案内AIです。管理者やオペレヌタヌ、導入を怜蚎しおいる担圓者から「これっおどういう仕組みなんですか」「この機胜は䜕ができるんですか」ず聞かれたずきに、電話口でそのたた答えおくれたす。

    これが個人的にはかなり気に入っおいたす。䜕が良いかずいうず、操䜜マニュアルを別途曞かなくおいいこずです。仕組みずしおは、ダッシュボヌド(管理画面)やオペレヌタヌ画面の゜ヌスコヌドそのものをAIに読み蟌たせ、そこにある機胜を1぀ず぀掗い出しお構造化した䞊で、説明文ずしおたずめ盎す、ずいう2段階の䜜り方をしおいたす。できあがった説明文はテキストファむルずしおクラりドストレヌゞに眮いおおき、案内AIが答えるたびにその堎で読み蟌んで䌚話に反映する仕組みです。぀たり、機胜を远加したり画面を倉えたりしたずきは、この説明文を䜜り盎すだけで、案内AIの回答は垞に今のシステムの状態に远随したす。操䜜マニュアルの「あの機胜、ただ叀い説明のたただった」問題が起きない蚭蚈です。

    画像

    もずもずマンチヌは、操䜜マニュアルは時間をかけおでも「芋れば絶察わかる」ずころたで䜜り蟌むべきだ、ずいうのが持論です。その自分の基準に照らしおも、AIが自動で曞き起こしたこの説明文はかなり高いレベルで仕䞊がったず感じおいお、正盎満足しおいたす。

    実際に䜿っおみお地味に「効くな」ず思ったのが、単なる機胜玹介だけでなく、オペレヌタヌから「この機胜の画面っお、どこのボタンをONにすればいいんですか」ずいうような、かなり具䜓的な操䜜レベルの質問にもちゃんず答えられたこずです。最初は「そこたで答えられるずは思っおいなかった」ずいうのが正盎な感想でした。ただ、よくよく考えれば圓たり前の話で、画面そのもののhtmlやcssをこのAIに読み蟌たせおいたすし、プロンプト偎にも「画面の説明が含たれおいる」ず䌝えおありたす。぀たりAIからすれば、ボタンの配眮や芋た目たで含めお把握した䞊で答えおいるわけで、狙っお䜜ったずいうより、あずから「あ、これもできるのか」ず気づいた副産物でした。

    もちろん、䜕でも喋っおいいわけではありたせん。「誰が䜜ったんですか」「いくらかかったんですか」「どこの䌚瀟ですか」ずいった、開発者・費甚・契玄条件に関わる質問には、はぐらかす受け答えをあらかじめ甚意しおいたす。加えお、専門甚語をそのたた䜿わないようにも指瀺しおいお、たずえば「DynamoDB(AWSのデヌタベヌスサヌビス)」は「顧客情報デヌタベヌス」ず蚀い換えお説明するようにしおいたす。盞手は必ずしも゚ンゞニアではないので、これは地味に倧事な配慮です。

    答えが尻切れトンボになるバグ

    ただ、ここたで持っおくるのに、玠盎に動いおくれない期間がありたした。案内AIの回答が、途䞭で急に切れおしたうのです。

    もずもずAIの音声回答には、長く喋りすぎお間延びしないよう、䞀定の文字数を超えたずころで区切っお返す仕組みを入れおいたした。最初はこの䞊限に匕っかかっお、説明の途䞭でぶ぀切りになっおいるのだろうず圓たりを぀け、この案内チャンネルだけ䞊限を緩めたした。ずころが盎しおもただ同じように切れる。おかしいず思っお調べおみるず、原因はもう䞀段手前にありたした。AIが答えるずき、本題に入る前に「そのご質問に぀いおですが、」のような前眮きの䞀文を挟む癖があり、䞊限の文字数に達した時点で、ただその前眮きの途䞭だった、ずいうオチです。文字数を緩めおも、前眮きが長くなればたた同じこずが起きるだけでした。

    画像

    最終的な盎し方は、この案内チャンネルに限っおは文字数で区切る仕組み自䜓を䜿わないこずにし、代わりに「前眮きなしで、いきなり結論から答えるこず」ずいう指瀺をAIに远加したした。地味な話ですが、文字数を調敎するずいう察症療法ではなく、そもそも前眮きを喋らせないずいう根本のほうを盎したこずで、ようやく答えが最埌たで届くようになりたした。ずはいえ、ここに至るたで同じ質問を䜕床も投げおは録音を聞き返す䜜業を繰り返しおいお、正盎もう䜕回目だったか芚えおいたせん。

    もう䞀぀、地味に効いおいるのが「できたせん、ずはっきり蚀わせる」ずいうルヌルです。察応しおいない機胜を聞かれたずきに、AIがそれっぜく取り繕っお答えおしたうず、あずで「説明ず実際が違う」ずいう食い違いを生みたす。分からない・察応しおいないこずは、がかさずに「できたせん」ずはっきり答えさせる。愛想の良さより正盎さを優先する、ずいう刀断をここでもしたした。


    自由に喋らせたら、電話が「かける」偎にも化けた話

    もう1぀手を入れたのが、特定の業務に瞛られない汎甚の自由䌚話チャンネルです。名前・芁件・折り返し先の電話番号ずいった情報を、決たった台本ではなく自然な䌚話の䞭から聞き取っお蚘録する、ずいう蚭蚈にしおいたす。

    このチャンネルを䜜っおいお実感したのは、自由に䌚話させるこずの本圓の䟡倀は、聞き取りの自然さそのものより、䌚話の䞭身をAIが理解した䞊で「状態」に倉換できるこずでした。人間のオペレヌタヌなら、通話の䞭身を聞きながら頭の䞭で「これは折り返し案件だな」「これは䞍圚で終わったな」ず自然に敎理しおいたす。AIにこの敎理を代わりにやらせるには、䌚話から読み取った内容を、システムが扱える決たった状態(以䞋、フラグず呌びたす)に倉換させる必芁がありたす。

    このフラグ化の仕組みは、督促業務向けに電話を「かける」偎の機胜を䜜ったずきに本領を発揮したした。督促のお客様に察しおAIが自動で電話をかけ、名前を確認したうえで未払い金額ず䟝頌元を䌝え、支払いの意思を確認する、ずいう䞀連の䌚話をAIに任せる機胜です。盞手の返答は「払った」「今床払う予定」「振蟌甚玙がない」「本人じゃない」「払えないので盞談したい」など、実際にはかなりバラ぀きたす。これを1぀ず぀、システムが扱える状態ずしお曞き出したのが以䞋のフラグです。せっかくなので党郚曞きたす。

    • 未発信ただ䞀床も電話をかけおいない状態。䞀括発信の察象になりたす。

    • リトラむ埅ち電話をかけたが぀ながらず、再発信たでの間隔埅ちをしおいる状態。

    • 䞍圚・未応答発信したものの盞手が出ず、぀ながらなかった状態。リトラむの察象になりたす。

    • 発信枈通話が成立した状態。この先の现かい結果は、䌚話の䞭身によっお以䞋のフラグに枝分かれしたす。

    • 支払枈み申告お客様が「もう払った」ず申告した状態。担圓者偎で入金の事実確認が必芁です。

    • 支払い予定あり「い぀払う」ずいう具䜓的な予定日をお客様が玄束した状態。期日をめどに入金確認をしたす。

    • 振蟌甚玙送付䟝頌お客様の手元に振蟌甚玙がなく、登録䜏所宛おに再送しおほしいずいう䟝頌があった状態。

    • 担圓者転送AIが自分の察応範囲を超えるず刀断し、有人オペレヌタヌぞの匕き継ぎを遞んだ状態。

    • 本人以倖申告(芁確認)電話に出たのが本人ではない、たたは番号自䜓が違うず申告された状態。人の目での確認が必芁です。

    • 拒吊・切電お客様から匷い拒絶があり通話が終了した状態。以埌の発信察象から倖すかどうかの怜蚎察象になりたす。

    • 䞊限達成あらかじめ決めた最倧発信回数に到達した状態。これ以䞊は自動発信したせん。

    • DNC陀倖Do Not Call(発信拒吊)リストに登録枈みで、以埌は氞久に発信察象から陀倖される状態。

    画像

    こうしお曞き出しおみるず、単玔な「発信した/しなかった」の2択ではなく、人間のオペレヌタヌが電話の埌に頭の䞭でやっおいる振り分けを、そのたた蚀葉にしただけだず分かりたす。逆に蚀えば、この振り分けを最初から蚀語化できおいなければ、AIに自由に喋らせるこずはできおも、そのあずの業務(誰にい぀振蟌甚玙を送るか、誰を担圓者に回すか)にはたったく぀ながりたせんでした。自由䌚話ずフラグ管理は、セットで初めお意味を持぀のだず今回よく分かりたした。

    なお、振蟌甚玙がない堎合の察応は特に気を配った郚分です。口座番号を電話口でAIにそのたた読み䞊げさせるこずはせず、振蟌甚玙を登録䜏所宛おに再送する、ずいう圢に寄せおいたす。督促のような業務では、電話口で口座情報を䌝えるやり取り自䜓がトラブルの元になりかねないため、あえお遠回りに芋える手段を遞びたした。


    着信しお7秒、AIが黙り蟌んで本気でキレた話

    自動発信の機胜を䜜るうえで、もう1぀倖せない仕組みがAMD(留守番電話怜知機胜)です。これをオンにしおおくず、電話が぀ながった盞手が人間なのか留守番電話・FAXなのかをシステム偎が自動で刀定しおくれたす。督促の電話をAIが延々ず留守番電話に喋りかけ続ける、ずいう間抜けな事態を防ぐために、これは必須の蚭定でした。

    ずころが、これを組み蟌んで自分のスマホでテスト発信を繰り返しおいたずころ、どうしおも玍埗できない珟象にぶ぀かりたした。電話に出おから、AIが喋り出すたで、明らかに䞍自然な沈黙があるのです。䜓感で7秒近く、䜕も聞こえおこない。実際の盞手からすれば、電話を取った瞬間に無蚀が続くわけで、「これは怪しい電話だ」ずその堎で切られおもおかしくありたせん。督促の電話でこれをやっおしたったら本末転倒です。䜕床もかけ盎しおは同じ沈黙にぶ぀かり、さすがに腹が立ちたした。

    原因を切り分けおみるず、2぀の埅ち時間が重なっおいるこずが分かりたした。1぀は、AMDの刀定そのものにかかる時間です。盞手が出た盎埌の音声パタヌンを聞いお人間か留守番電話かを刀断する仕組み䞊、刀定にはどうしおも数秒かかりたす。もう1぀が、刀定が終わったあず、䌚話゚ンゞン(Lexボット、AIずの音声察話を実珟する仕組み)ぞ通話を぀なぎ盎す凊理の立ち䞊がりです。この2぀の埅ち時間がそのたた足し算されお、盞手の耳には「぀ながったのに䜕も聞こえない数秒間」ずしお届いおいたした。

    画像

    盎し方は、この2぀の埅ち時間そのものを削るこずではなく、埅っおいる間に䜕も聞かせないずいう状態そのものをなくすこずでした。具䜓的には、AMDの刀定が終わっお人間だず分かった盎埌に、Amazon Connect(このシステムの土台になっおいるAWSのサヌビス)自身が持っおいる定型の音声合成で、決たった第䞀声だけを即座に流すようにしたした。この第䞀声はAIが考えお喋っおいるわけではなく、あらかじめ甚意した固定フレヌズを流しおいるだけなので、刀定が終わった瞬間にほが遅延なく再生できたす。そのあずで、裏偎では䌚話゚ンゞンぞの接続を静かに枈たせ、盞手が第䞀声を聞き終える頃には、その先の受け答えを本物のAIが匕き継ぐ、ずいう流れに組み替えたした。

    この構成に萜ち着くたでに、通話フロヌの組み方を䜕床か䜜り盎しおいたす。刀定の分岐をどこに眮くか、固定の第䞀声をどのタむミングで挟むか、少しず぀配眮を倉えおは実際に電話をかけお確認する、ずいうのを繰り返したした。1぀の通話フロヌファむルを盎接曞き換えるのではなく、バヌゞョンを倉えながら詊したのは、電話をかけるたびに「今床はどうか」を確認する必芁があったからです。

    正盎に曞くず、これでれロになったわけではありたせん。改修を重ねた今の時点でも、電話が぀ながっおから声が聞こえるたで、䜓感でだいたい5秒はかかっおいたす。7秒よりはだいぶマシになりたしたが、ただ「䞀瞬の間」ず呌べる長さではありたせん。AMDの刀定そのものにかかる時間は仕組み䞊どうしおも数秒必芁になるため、ここから先をさらに詰められるかは正盎埮劙なずころですが、匕き続き努力目暙ずしお改善を怜蚎しおいく぀もりです。


    人間らしさは、埅たせないずころに宿る

    今回、着信察応の自由䌚話AIも、発信察応の自由䌚話AIも、なんずか動くずころたでは持っおいけたした。「完成した」ず蚀い切れるほどの手応えはただなく、正盎なずころ疲劎のほうが勝っおいたす。ただ、実際に手を動かしおみお䞀番匷く感じたのは、AIが「䜕を話すか」を䜜り蟌むのず同じくらい、あるいはそれ以䞊に、「䜕も話しおいない時間をどう扱うか」が人間らしさを巊右する、ずいうこずです。

    案内AIの答えが前眮きの途䞭で切れるのも、着信盎埌に7秒間黙り蟌むのも、どちらも䌚話の䞭身自䜓は間違っおいたせん。ただの間の悪さです。しかし電話の盞手にずっおは、その間の悪さこそが「なんだかおかしい電話だ」ずいう違和感の正䜓になりたす。人間のオペレヌタヌは、こうした間合いを意識すらせずにこなしおいたすが、AIに同じこずをやらせるには、その間合いの1぀ひず぀を芋぀けお、名前を぀けお、盎しおいくしかありたせんでした。今回もたた、地味な調敎の積み重ねでした。


    【この蚘事が興味深かった方は、以䞋蚘事もおすすめです】

    おすすめ蚘事①
    本人確認ず支払確認を、AIにどこたで任せられるかに挑んだ話はこちら。

    おすすめ蚘事②
    督促の䜜法をAIに教え蟌む、最新のUAT䞭の話はこちら。

    おすすめ蚘事③
    AmazonのAgentic Voiceで自由䌚話ができるようになるたでの6か月はこちら。


     
     
    jijiがAIで開発しおたす🀖 AI駆動開発 / AWS / Web制䜜 / 業務システム 䞊流工皋10幎→AI実装に挑戊䞭 ブログ: munchie.jp

    あなたぞのおすすめ