エージェントが回答を熟考する
——「日立サポート360」に適用したRAGの5つ目の高度化ポイント、「エージェント」について教えてください。
横井
一般的にRAGの役割は、関連する情報を取得してLLMに回答を生成させるまでなのですが、今回「日立サポート360」に適用したシステムでは、LLMベースのAIエージェント(以下、エージェント)を使って質問に対してよく熟考させることで回答を生成しています。
——熟考ですか。具体的に教えてください。
横井
はい。エージェントは「思考→行動→観察」というプロセスを繰り返すことで回答精度をさらに高めていくのですが、このプロセスはReAct (REasoning and ACTing)という複雑な課題の解決に利用されるフレームワークに準じています。
「思考」では、生成された回答に足りない情報は何か、などの分析を行い、「行動」では思考に基づいて情報の追加取得など必要な行動を実行します。そして、行動で得た結果を「観察」したうえで再び「思考」に戻って分析を行う——というようにエージェントは回答に不備がなくなるまでプロセスを何度も繰り返します。
山根
なぜそうした仕組みが必要かというと、「日立サポート360」に寄せられる問い合わせに対応するには、多段の調査・推論が必要なケースが多いからです。
例えば、下記図のように「『エラー番号0001データベースのログが出力されていません』のメッセージが出ました。どう対処すればいいか教えて下さい。」という問い合わせがあるとします。人間のエンジニアがこれに回答する場合、まずはエラー番号0001に関する説明をマニュアルから検索すると思います。そこに、「ログ出力が有効かを確認してください」と書かれていれば、有効にする手段を検索するでしょう。その結果、「ログ出力は専用コマンドcommand_aを使って有効にできる」という説明が見つかれば、人間は回答を提示することができます。例えば「ログを有効にするとそのエラーは消えます。専用コマンドcommand_aを使用してログ出力を有効にしてください」のような回答ができるでしょう。
LLMエージェントがこうした問い合わせに対応するときも人間同様のステップを必要とします。まず、問い合わせを見てエラー0001の詳細情報が必要だと考え、その情報を検索します。次に、エージェントはその結果を観察し、回答として提示可能な情報がそろっているかを判断します。不足な情報があれば検索を繰り返し、十分な情報がそろえば回答を出力します。複雑な問い合わせほど、エージェントが回答に至るまでの観察のステップは多くなる傾向があります。
このようなエージェントの仕組みは、生成AIが「日立サポート360」のお問い合わせに正確かつ十分な情報を回答するために不可欠であると考えています。
エキスパートの思考を模倣するエージェント
——高い信頼性が求められるタスクには、エージェントによるReActのプロセスは不可欠ですね。
浅野
はい。人が重要な問いに対して、熟考を重ねるのと同じです。ただ、エージェントを「日立サポート360」の業務に適応させるには、試行錯誤を繰り返しました。
例えばエージェントに正しく「思考」させるためには、実際の「日立サポート360」でサービスを提供しているエキスパートの思考方針を、エージェントに模倣させる必要があります。そこで私たちはヒアリングを通して、エキスパートの思考方針——「質問文を項目ごとに細分化する」、「文章が複数解釈できるなら場合分けする」、「注目点、解釈を簡潔に記述する」などいくつもの項目を抽出し、エージェントに組み込みました。そうして生成された回答に、不備があれば再び思考方針の内容を見直す——このような作業を「思考」だけでなく「行動」、「観察」についても繰り返し行うことで、「日立サポート360」の一部業務での生成AI活用を果たしました。
純粋な技術を業務に合わせて色付けする
——RAGなどの技術を実際の業務に則した形に整えるのは至難の業なのですね。
山根
新しい技術ですから試行錯誤はつきものです。今回「日立サポート360」に適用したRAGには、他にも業務目線で開発したさまざまな機能を実装しています。
例えばフィルタリング機能。これは、問い合わせに対して関係性の低いデータまでLLMが読み込んでしまうと回答を誤る恐れがあるため、担当者が大量のマニュアルからRAGの検索対象とすべきマニュアルを選ぶことができる機能です。他にも、マニュアル以外のデータソースを用いたRAGとの併用も実装しています。例えば、過去のQ&A履歴から、新規の問い合わせ内容に似たものをいくつか検索し、その回答をもとにAIが生成した回答を提示する機能です。類似の質問が履歴に多く存在する場合、ReActよりも正確かつ高速に回答を提示できるため、ReActの仕組みでマニュアルを検索しながら生成した回答と併記し、ユーザーが選択できるようにしています。また、これらの機能をどのような画面構成にまとめたら業務がより円滑に流れるのか、GUIのデザインも非常に力を入れた部分です。
まだ生成AIの業務活用はれい明期で、何が効果的で何が逆効果なのか、逐一見なければならない段階です。今後もあらゆる可能性を考えながらRAGの高度化にチャレンジしていきます。
横井
日々、学術機関や企業などからRAGやLLMエージェントに関するさまざまな論文が発表されていますが、それらは純粋な、まだ何も色が付いていない技術です。私たちは今回の取り組みを通して、RAGなどLLMを活用するための純粋な技術をいかにお客さま独自の業務に適合させるか、ユースケースに応じた使いこなしの技や組み合わせのノウハウなどを蓄積しているところです。
例えば今回、RAGやエージェントに「日立サポート360」の業務の知見を組み込みましたが、同様のノウハウを使って、他業種の熟練者の知見を組み込んだエージェントを作ることが可能です。現在多くのビジネスが抱える課題のひとつに、熟練者不足があげられます。私たちはこうしたノウハウをもとに、お客さまとともに課題解決に取り組んでいきたいと考えています。
この成果を幅広くお客さまへ
浅野
今回、生成AIの活用により「日立サポート360」では、一例ですが、回答に要する時間を2時間から30分に短縮*することができました。私たちはこの成果を改善しながら、順次生成AIを活用する製品を拡大し、カスタマーサポート業務に携わるお客さまはもちろん、高度な専門知識が求められる各産業分野、金融、製造、交通など幅広いお客さまの業務の自動化に生かしていきたいと考えています。
「日立サポート360」における取り組みと同様、私たちは日立が持つ幅広い事業領域で生成AI活用に携わり、各ドメインの課題に合わせたRAGの機能拡張に取り組んでいます。そこで蓄積した知見をこれからも広く社会に提供し、お客さまの業務に適応する生成AIの迅速な実現をお手伝いしたいと考えています。
* 日立サポート360のカスタマーサポートで、エンジニアがマニュアルを調査して回答した場合と、生成AIを活用した場合の検証を実施、その中で、最も効果が現れるケースです。 お問い合わせ内容により効果は変わるため、全てのお問い合わせに対し効果を保証するものではありません。
浅野 優(あさの ゆう)
株式会社 日立製作所 マネージド&プラットフォームサービス事業部
生成AIサービス開発部
主任技師
日立製作所の研究開発グループでサービスロボットやコールセンター向けの対話技術、個人情報の匿名化技術、文書を対象とした自動審査技術など自然言語処理の研究開発を担当。2024年から、生成AIサービス開発部にて生成AIの基盤開発に従事。
山根 一樹(やまね かずき)
株式会社 日立製作所 デジタル事業開発統括本部Data&Design
Generative AI事業推進センタ
技師
ミドルウェアの開発に携わった後、AIを活用した自動車の安全運転評価技術の開発、小売店における優良顧客の見極め技術、鉄道におけるレール寿命の最適化技術の開発などを担当。2024年から、Generative AI事業推進センタにて最新のプロンプトエンジニアリング技術の実用化に従事。
横井 直明(よこい なおあき)
株式会社 日立製作所 研究開発グループ デジタルサービス研究統括本部
先端AIイノベーションセンタ メディア知能処理研究部
主任研究員
日立製作所の研究開発グループにおいて基幹システムの構成管理に関する研究、製造業を対象としたデータ分析技術の開発などに携わった後、現在は、AIが導き出した答えに対して、人間が納得できる根拠を示すための技術「XAI(eXplainable AI)」の研究に従事。