ITに自信がない人が高い回答精度のチャットボットを作るならmiibo一択という話
こんにちは、パトルです。
今回は、AIコンサルとして日々miiboやDifyを提案している私の視点から、いかにmiiboが実務に強いかを説明したいと思います。
似たようなサービスはたくさんあるのになぜmiibo?
皆さんはmiiboと聞いてどういう印象がありますか?
おそらく「若干柔軟にノーコードでチャットボットが作れるサービス」程度のイメージの方が多いのではないでしょうか。
実際にmiiboを使うと社内向けや社外向けのチャットボットをプログラミング不要で構築することができます。
一方、最近では似たサービスとしてDifyが注目を浴びています。
Difyは細かい設定をノーコードで行うことができる上、プログラミングを併用することで非常に柔軟にシステムを構築することができるため、特にエンジニアから幅広い支持を集めています。
また、RAGが出来ると標榜するSaaSのパッケージサービスは世の中に数多くあります。
しかし、AI人材がいない企業が自社データを使って生成AIを業務活用するのであれば、実務運用まで考慮すると現状miibo以外ないと私は思っています。
miiboはRAGの精度を向上させる機能が揃っている!
社内にRAGを導入したら、その日から全てのAI管理者が直面する課題があります。
それは想定と違う回答が生成されることがあるということです。
利用者が誤った回答を発見すると、バグを見つけたが如く管理者へ問い合わせがいきます。そしてそれが修正されないと社内でAIの信頼度が著しく下がってしまいます。(もちろん担当者の評価も…)
しかし、miiboであれば誤った回答がされた時の原因究明と対策をITに詳しくなくても対応できるように設計されています。
今回は代表的な2つのケースをご紹介したいと思います。
※生成AIにあまり詳しくない方にとっては難しく感じるかもしれませんが、わかりやすく説明していきますのでお付き合いください。
例1:ナレッジが適切なチャンクに分かれていないケース
表題では専門用語を入れてしまいましたが、中身はかみ砕いて説明しますのでご安心ください。
まずはナレッジとチャンクの意味をご説明します。
例えば、チャットボットに「当社のボーナス支給日を教えて」と質問した場合、AIは関連すると思われるチャンクを一定数かき集めて、それらを元に回答を生成します。
ここでのポイントは生成AIが回答を生成する時は、直接ナレッジに保存されたデータからではなく、チャンクから生成されるということです。
ここである問題が発生します。
チャンクは大体1,000文字毎に区切られるため、文の途中で分割されてしまうことが多く、チャンク内の意味が理解できない、ということです。
要は、内容を踏まえてチャンクを分割してくれれば良いのですが、文脈を無視して1,000文字ごとに文章が区切られると、チャンク単体では断片的な文章の集まりになってしまい意味がわからなくなってしまいます。
そのため、チャンクの位置がどこに区切られるかによって回答精度が大きく影響します。
しかし、miiboでは簡単にチャンクの位置を調整することができます。
ナレッジにアップロードする文書に[CHUNK]という文字を入れるだけで[CHUNK]の部分でチャンクを分けてくれます。
ChatGPTなどを使って文章の意味を踏まえて1,000文字以内で[CHUNK]を追加するように編集してもらってもいいでしょう。
例2:検索クエリで適切なナレッジを引っ張ってこないケース
ここでも難しい表題になっていますが、わかりやすく説明していきます。
まずは、検索クエリについてご説明します。
ここでのポイントは、質問文そのものではなく一度検索クエリが生成されて、その検索クエリに関連するチャンクのみが選定されて回答生成に利用されるということです。
つまり、適切な検索クエリが生成されなければ適切なチャンクを探すことができません。
また、チャンク側にも検索クエリに関連する文章が含まれていなければ抽出されることはありません。(回答生成にも使用されません)
例えば、回答の生成に必要なチャンクであったとしてもそのチャンクが検索クエリである「ボーナス」「支給日」と関係がないと判断されれば回答生成では無視されるということが起きてしまいます。
miiboではこの問題に対処するために、各チャンクに文脈情報を付与できるようになっています。
例えば、チャンクの中身自体は全然関係ないことが書いてあっても、これは「ボーナス」「支給日」に関連する文書の一部だよ、とそれぞれのチャンクに文脈情報を付与することができます。
miiboでは、何パターンかの方法でチャンクに文脈情報を与えることが出来ますが、一番簡単なのは、カスタムフィールドという機能を使うことです。
カスタムフィールドを使うと、ナレッジに保存された文書がチャンクに分割されても、同一文書のすべてのチャンクに共通の情報を与えることが出来ます。
設定方法も非常に簡単です。上記の画面で説明すると、「本文」の部分に「ボーナス規定」の元文章が入ります。
カテゴリとプレースホルダが記載されている部分に「カテゴリ」と入力をし、利用方法と記載されているところに「ボーナス」と入力します。
すると「ボーナス規定」の全てのチャンクに対して「カテゴリ:ボーナス」という属性が付与されます。
これにより、チャンク内に「ボーナス」「支給日」についての直接的な記述がなくても、検索クエリはカスタムフィールドを確認することによって「ボーナス」「支給日」に関連するチャンクとして回答に利用することができます。
上記の2ケースは、モデルの回答品質を向上するためには欠かすことできない非常に重要な対策ですが、これだけ簡単に対応できるのは驚きの一言です。
miiboは利用者目線で設計されている
miiboでは、基本的なRAGの機能は全て揃っています。
それらをあえて紹介しても面白くないと思いますので、特徴的な機能を5つ厳選してご紹介します。
AI分析機能(β版)
チャットボットには膨大な会話ログが記録されます。
どうやって分析するのか途方に暮れてしまうこともあるでしょう。
AI分析機能を使うと、それぞれの会話ログに対して、①RAGの内容と齟齬のある回答をしていないか(信頼度)、②ユーザーの抱える課題を本当に解決する回答ができているか(解決予測)、を段階別に判定してくれます。
管理者としては、会話ログを全て確認しなくても問題があると思われる会話ログを優先的にチェックすることが可能です。
※AI分析機能は、プレミアムプラン以上のみです。
ステート
ステートとは、エージェントとの会話によって取得されるユーザの情報を指します。
例えば、会話の中で利用者の職業が大工であるとわかった場合、その利用者に「大工」というステートを自動で付与することができます。それ以降エージェントは利用者が大工であるという前提で話をすることができるようになります。
また、「大工の人には建設関連の話をするように」と事前に設定しておくことも可能です。
シナリオ対話
シナリオ対話とは、会話のシナリオ(フロー)を予め設定し、それに沿った会話を行うことができる機能です。
Difyが得意とする機能ですが、miiboの方がより容易に設定が可能です。
クイックリプライ
クイックリプライとは、チャット画面に表示される発話候補のことです。利用者は選択肢をクリックするだけでエージェントに入力をすることができます。
選択肢は、固定で設定することもできますし、会話の内容に応じて自動で変えることも可能です。
マルチエージェント ※正確な名称は不明
miiboでは、エージェント(チャットボット)同士を連携させることができます。
例えば、メインとなるエージェントの裏に別のエージェントを設定しておき、特定の質問に関してはバックグランドで別のエージェントに投げて回答を作成してもらい、それをメインのエージェントがまるで自分で回答を生成したかのように発話するという使い方ができます。
ユースケースとしては、現行品と廃盤品の両方を同じエージェントのナレッジに入れてしまうと、間違えて廃盤品を紹介してしまう可能性がある場合、廃盤品を聞かれた時のみ別のエージェントにアクセスして廃盤品の情報を取得するという使い方があります。
まとめ
miiboはノーコードでチャットボットを構築するツールだと単に思われがちですが、実務上の用途を想定して機能が設計されているため、管理者は実運用で必要な機能が先回りして提供されていると感じます。
ここがエンジニアリングの必要な機能をノーコードで幅広く提供しているDifyとの大きな違いだと思います。
大雑把に整理すると、miiboとDifyは以下のように使い分けられるのではないでしょうか。
・技術が得意な人はDifyで良いです。
・技術が得意ではない人はmiiboが良いです。
・技術が得意ではないクライアントへ導入して、なおかつ自立を促すならmiiboが良いです。
最後のまとめは少し雑になりましたが、miiboの良さが伝われば嬉しいです👍
<告知>
miibo含め生成AI全般についてお気軽にお問い合わせ頂けると嬉しいです。
低予算で良いものを作るアドバイスをさせて頂きます!
miibo販売パートナー
アースアイズ株式会社
パトル
https://earth-eyes.co.jp/