
"使い続けられる生成AI"への挑戦 — LLM-as-a-Judgeを活かした、miibo流の改善サイクル
生成AI活用の風がまだまだ吹く中、miiboでは生成AIの運用課題を解決し、継続的な活用を実現する「使い続けられる生成AI」を目指して、技術と真摯に向き合い、ユーザーの生成AI活用のトライを支えていきます。
はじめに
miiboでAI周りのリサーチを担当していますTanabeです。
miiboでは、LLMを活用しやすくするための役立つ機能を多く提供し、多くのお客様の環境やユースケースに沿った導入を支援してきました。
一方で、導入してみるところまでは順調にいっても、実際に使っていく中でうまくいかないことが出てきたり、もっと精度を良くしたいけど何をすべきかわからないといった課題が生じることもあります。
LLMに限らず、通常、AIを活用したシステムは一度作ってしまえばOKとはいきません。そもそもAIの出力自体に確率的な要素が存在するのに加え、入力データの変化・学習に使用されたデータと最新データの情報差分、モデルのアップデートなどが複雑に影響し合い、出力の精度や質が劣化するリスクを常に抱えています。そのため、継続的にうまくいっているかを評価し、改善するプロセスが必要になってきます。
miiboではAIを導入し、活用できる状態にするだけでなく、継続的に改善し、AIを成長させていくための仕組みをさらに強化していきたいと考えており、今回はその一つであるAI分析機能について紹介させていただきます。
miiboの基幹システムであるRAG
LLMを活用する上で誰もが気にするのが「LLMの回答の質」だと思いますが、その背景にはLLMが根本的に抱えるいくつかの課題が存在します。
例えば、LLMには事実に基づかない回答をしてしまう「ハルシネーション」という課題が存在します。ChatGPTやGeminiのような、非常に広範で大量のデータの学習によって知識を獲得しているLLMでも、保有していない知識については誤った回答をしてしまいます。
他にも、回答の根拠となる知識へのアクセスの難しさ、正しい知識や新たな情報をモデルに追加学習させることの難しさなどがありますが、これらの課題にどう対処するかが、LLMの回答の質向上の鍵となります。
RAGとは
LLMが抱える課題に対する有効なアプローチの一つが、LLMと情報検索を組み合わせるRAG(Retrieval Augmented Generation)というものです。
ユーザーの質問に関連する情報をデータベースやWebといった外部のソースから検索し、その情報を入力プロンプト内でLLMに与える仕組みを作ることで、LLMが正しい情報を参照できるようになり、より正確で信頼性の高い回答を生成することにつながるというものです。
miiboでは、このRAGをシステムの基幹技術として取り入れており、顧客の業務データをナレッジデータストアに登録し、ユーザーの質問をクエリとして情報を抽出し、LLMのプロンプトに与えて参照させることで、ユースケースに適した回答を可能にする仕組みを提供しています。
どの情報に基づいて回答したかといった情報も、会話ログから確認ができるようになっているため、ログを確認し、LLMに参照させたい情報が足りないとなった場合は、ナレッジデータストアに新たにデータを追加するといったことが可能です。
RAGシステムの運用課題
RAGシステムによってLLMを業務に活用することの実現可能性は高まり、実際に運用してみるとそれなりの効果は感じられると思います。
しかし、当然全てうまくいくわけではなく、質問に対して期待する回答にならないケースも出てきます。
冒頭にも述べたように、AIを活用したシステムは、精度や質の劣化リスクを常に抱えているものであり、完全に防ぐことは困難です。
重要なのは、
精度や質の劣化をできる限り抑える
問題の発生を検出し、対応できるようにする
の2点を継続的に行い、改善に繋げられるようにすることです。
最もシンプルな方法は、うまくいかないやりとりを一つ一つチェックして原因と対策を考えることです。
しかし、以下のような複数の観点でチェックを行う必要があり、やりとり全体を踏まえた原因と対策の目星をつけることは、かなり負荷のかかる作業になってしまいます。
回答に必要なデータがそもそも不足していないか
データの抽出は出来ているが、その内容がうまく参照されていないのか
モデルやプロンプトに問題はないか
そこで、miiboのAI分析機能では、以下で紹介するアプローチによって、入力された質問・参照されたナレッジデータの情報・LLMの回答の分析・評価を自動で行い、この継続的改善を支援するための起点となる情報を提供したいと考えています。
AI分析機能のコア機能その1
LLM-as-a-judgeによるやりとりの評価
テキストデータの自動評価を行う場合、人間が正解データを用意し、テキスト同士の一致度合いを示す指標(BLEU・ROUGE・BERTScoreなど)を算出するといった方法があります。
しかし、あらゆるケースで人間が理想的な回答となる正解データを用意するのはコストがかかります。
また、上記の指標は人間の評価との相関が弱く、実践では使いづらいといった課題もありました。
LLMが進化し、様々なタスクで性能を発揮するようになってきた中で、テキストデータの評価にもLLMを使用できるんじゃないか?というテーマのLLM-as-a-judgeという手法が注目されるようになりました。
LLM-as-a-judgeでは、評価用プロンプトの中で評価の基準などを定義します。 そのため、正解データがなくても、定義した基準に沿った評価を行うことが可能になります。 また、いくつかの研究の実験では、LLM-as-a-judgeによる評価結果は、人間の評価と相関が見られる傾向にあることも示されています。
miiboでは、このLLM-as-a-judgeとして提案されている自動評価フレームワークの調査を行い、比較的シンプルなG-EVALというフレームワークを採用し、AIとのやりとりを以下の2種類の評価基準に沿って行えるようにしています。
信頼度
ハルシネーションをはじめとした、AIが不確かな情報を発信してしまうことを検知するための指標。解決予測度
ユーザーが抱える課題を解決できたかを表す指標。
こちらの指標についてはmiiboの会話ログの画面から既にご確認いただけるようになっています。

AI分析機能のコア機能その2
RAGシステム評価のためのフレームワーク
LLM-as-a-judgeのアプローチによって、個別のやりとりに対し、miibo独自の評価を行うことはできるようになります。一方で、システムとしての問題点や改善点を抽出するにはこれだけでは不十分です。
RAGシステムは、入力データをもとに情報抽出を行う「Retriever」と、情報抽出の結果を用いて生成を行う「Generator」に分けることができ、それぞれの構成要素の連携によって成り立っています。
したがって、システムとしてうまくいっているかをチェックするためには、最初の入力と最終的な出力を比較するだけでなく、その過程のRetrieverとGeneratorがそれぞれうまくいっているかをチェックする必要があります。
RAGを評価するためのフレームワークもいくつか提案されており、代表的なものにRAGASやRAGCheckerなどがありますが、miiboのAI分析機能ではこれらのフレームワークの中で定義されている以下の3種類の指標の導入をまずは進めています。
Faithfulness
抽出した関連データに基づいた回答になっているかをチェックする指標
Context Precision
質問に関連するデータを適切に抽出できているかをチェックする指標
Response Relevancy
質問内容に沿った回答になっているかをチェックする指標

これらの指標を会話ごとに計算し、観測することで以下のような改善プロセスに繋げることが期待できると考えています。

まとめ
今回はmiiboのAI分析機能のコンセプトやアプローチについて紹介してきました。
AI分析機能によって、AIを評価し改善していくための情報を提供し、お客様が自らAIを改善し、成長させるような感覚を持ってもらえるようなプラットフォームにしていけるような手助けをしていきたいと考えています。
そのため、まずはこのAI分析機能による評価指標をお客様の環境で運用できる状態にすることで、AIがどの程度うまくいっているかを把握し、うまくいかないケースを特定して対策を講じやすくすることを目指します。
そして、AI分析機能が提供する情報がどの程度改善に役立てられるかを、多様なお客様のユースケースにおいて運用していただく中で、しっかりフィードバックをいただきながら分析し、研究領域などでも提案されているフレームワークや手法の適用検証も継続して行いながら、実際に改善に繋げるためのアップデートを積み重ねていきたいと考えています。
あなたもAIクリエイターになりませんか?
miiboなら、難しいスキルも言語も不要!誰でも会話型AIをノーコードでカンタンに作成することができます。
また、開発の一連のPDCAサイクルを何度でも爆速で回すこともできるので、スピード感あるブラッシュアップが可能です。
あなたもmiiboを使って、AIクリエイターになりませんか?
↓まずは無料でAIを作成!↓
初心者の方でも今すぐに取り組めるよう、マニュアルやトライアルガイドも公開していますので、ぜひチャレンジしてみてくださいね。