「本当は何を解決するべきなのか」データと業務を整理する方法
実装で苦労したなかで大きいのは精度を高めるところだという。一般的にはRAGで解決できると考えてしまいがちだが、そうとは限らないこともある。
例えばサポートセンターの業務。顧客から質問が寄せられると、AIだとマニュアルから該当する部分を探し出して回答を組み立てようとする。しかしサポート業務をしている人間はそういうアプローチでは動かない。まずは過去に似たような問い合わせがないかを探して、そこから今回の問い合わせと比較し、不明な点があればマニュアルをあたるという順番で動くことが多い。
実際に業務をしている人間がどう動いているのか。そこには暗黙知的かもしれないが、これまで培われた効率さや確実さのノウハウが潜んでいる可能性もある。実際の現場ではどのようなアプローチで業務をしているのかをよく見るといいヒントがあるかもしれない。
似たような話だが、技術者だと方法論にとらわれてしまいがちという罠もある。例えば生成AIの回答の精度を高めたいというときに「(生成AIなのだから)ベクトル検索がいいだろう」と思ってシステムを構築することに目が向きがちだ。しかし従来のキーワード検索のほうが、担当者が知りたいことが掲載してあるドキュメントにたどり着けて、そのほうが有用だという場合もある。罠にはまらないようにするには、「そもそも何がしたいんだっけ? そのためにどの程度の精度が必要なんだっけ?」と本来のゴールを見失わないことが大事だ。
よって、高坂氏はAIのモデルは「特にこだわりはない」とのこと。それよりも生成AIが回答を生成しやすいようにデータを整備するところで工夫を重ねている。ユーザーからの問い合わせに回答させるものを作りたいのなら、生成AIが回答を組み立てる時に参照するマニュアルや文書にある情報をQ&Aに変換したうえでRAGに取り込むと、回答の精度が高められるとのこと。例えば同社の製品マニュアルであれば「HULFTの価格はいくらですか?」という質問を作成し、価格が書いてある部分と紐付けるようにしておくなどだ。ちなみに、こちらはテンプレート化されて「HULFT Square」内で提供されている。
上記はAIが回答しやすくするためのデータ加工になる。もう1つ、逆にデータ加工にAIを使うこともできる。データ分析をするにはマスターを整備するという地道な作業が発生する。これは生成AI以前のデータ分析に欠かせない、重たい作業になる。例えば何らかの条件ごとにデータをグループ分けしておいて、データを比較するなど。このグループ分けなどデータの前処理に生成AIを活用する。