グッドパッチ社でFintechや機械学習系プロジェクトを統括する高橋椋一氏

高橋椋一氏(以下、高橋):よろしくお願いします。高橋と申します。私は、グッドパッチというデザイン会社に所属している者です。今日は、「AIエージェントがもたらす新たな顧客体験」というタイトルでお話できればなと思っています。

(スライドを示して)私が今日お伝えしたいのは、こちらだけです。LLMを使ったAIエージェントはめっちゃ楽しいので、「おもしろそうだから作るか」という方が、この後1人でも増えたらうれしいなと思っています。

まず簡単に自己紹介をさせてください。あらためまして、私はグッドパッチの高橋と申します。後ほどLTさせていただく大竹(大竹智史氏)と同じ会社に所属しています。

もともとは人間が文章理解する仕組みを研究していて、その後対話ロボットの研究開発や新規事業の立ち上げを行っていました。

現在はグッドパッチのクライアントワーク部門で、Fintechや機械学習系プロジェクトの統括をしています。また、副業や個人でのLLMプロダクト開発もしており、今日お話をする、エージェント関連のツール開発などをしています。

ゴールをインプットしたらよしなにやってくれる「LLM Agent」

グッドパッチでの取り組みは弊社の別メンバーが紹介するので、私からは個人の取り組みを中心にお話をさせていただければと思っています。

取り組みを紹介する前に、私が先ほどから言っている「エージェントって何ぞ?」という話を知らない方向けにさせてください。

エージェントは、GPT-4などのLLMを使って開発された、自律的に動くソフトウェアの総称です。「ChatGPT」のように対話形式・会話形式で操作するのではなく、例えば「株価レポートを作成しておいて」などのゴールをインプットしたら、ファイルの読み書き、ブラウジング、スクリプトの実行などを駆使してくれて、放置している間にレポートができるみたいなイメージです。

特徴の1つ目が、「人間が与えた目標を基に自分自身でタスクの順番をプランニングすること」。2つ目が、「検索、ファイル操作などにおいて外部ツールを状況に応じて使ってくれること」。3つ目が、「実行結果やエラーの内容を基に自分自身で行動を修正すること」です。

ムーブメントの火付け役は「Auto-GPT」

こういった自分自身で考えて動くエージェントのコンセプトは、2022年くらいからすでに存在しており、論文もいくつかありますが、このところ爆発的に普及したきっかけが「Auto-GPT」です。

参加者のみなさんの中で、「これを知っているよ」とか「触ってみたよ」という方はどれくらいいるかな? と思っているのですが、近年最も勢いがあるAI関連レポジトリの1つと言われていて、「GitHub」だと1ヶ月の間にスターが13万個付いています。これは「PyTorch」の倍くらいです。

あと、プルリクが1,700以上あって、2、3日目を離している間に200コミットくらい追加されているなど、ちょっと狂気的なパワーを感じるのですが、これが、4月12日にリリースされて、一気にエージェントと呼ばれる分野に注目が集まりました。

このAuto-GPTを皮切りに、1ヶ月でエージェント関連のプロダクトが爆発的なスピードで登場しました。観測範囲内で少なくとも20以上はあるかなという感じです。

「LLM Agent」の仕組み

このエージェントの仕組みを超ざっくり解説すると、「タスク作成」「推論」「行動」の3つに分かれています。これらのループから成り立っています。

まず、タスク作成の部分について。説明用にかなり簡略化したプロンプトですが、「あなたの目的はAppleの株価レポートを作成することです。目的を達成するためのタスクリストを以下の形式で出力してください」みたいなプロンプトを投げると、LLMがタスクリストを作り、「まず、株価データの収集タスクをやります」みたいなかたちで出力します。

次に推論で、「あなたはGoogle検索、DB検索、電卓のツールが使えるので、タスクを実行するためにどういうツールを使えばいいのかを考えてください」とLLMに投げます。すると「株価データをゲットするために、まずは信頼性の高いソースを見つける必要があるので、『Apple, 株価, 2020年以降」みたいなキーワードでググります」というのを出力します。

その後、実際にGoogle検索APIを叩いて、例えば「Yahoo!ファイナンス」からデータを引っ張ってくるみたいなイメージになっています。

「全自動データ分析エージェント」を開発

ここから今紹介したエージェントの仕組みを使った取り組みを紹介します。

今私が、エージェントのBtoB活用の文脈で取り組んでいるのが、「全自動でのデータ分析エージェント」というものです。ちょっとデモ動画を流します。

これは「LangChain」とGPT-3.5で実装しています。CSVやExcelをこんな感じでドラッグアンドドロップします。これはアメリカの州ごとの人口のデータなのですが、カラムの内容やデータ型や基本統計量などを基に、こんな感じでGPTが分析の手順をプランニングします。

これは4つぐらいの分析で、こんな感じでグラフを作った後に相関を見て、その次は○○を分析して、みたいなのを勝手にしてくれます。放置しておくと、データから読み取れるインサイトがまとまった分析レポートが出来上がるというエージェントです。こんな感じでサマリーが出ます。

「全自動データ分析エージェント」の仕組み

仕組みとしてはこのようになっています。それぞれの箱の部分が、LangChainのチェーンになっているというイメージが近いと思います。

データを読み込んで、代表値を出して、それを基にデータの傾向とカラムの特性を踏まえて、じゃあ分析はこの5つをやります、みたいなプランを立てて、「pandas」の分析コードを内部で書いて、それを実行して、エラーが出たらコードを自動で直して、結果のグラフや表を読み取って、インサイトをまとめて、最後に文章校正して完成という流れになっています。

エージェントを実際に作ってテストをしてみて、いいなと思ったポイントとしては、対話型のアプリケーションと違って複雑なプロンプトを考える必要がなく、よしなにやってくれるので、気軽にユーザーに試してもらえること。

また、LLMベースでツールを作ると、簡単にアウトプットの言語も変えられて、日本のデータをタイ語で出力する、みたいなことも簡単なので、レポートの多言語対応が容易なのは良いかなと思っています。

一方で、GPT-3.5のAPIを叩きまくっているので、1レポートあたり最大10円弱かかってしまったり、一度変な推論が発生すると雪だるま式に失敗して、その後再起不能になるというところもあり、このあたりがエージェントの課題かなと思っています。

一歩先の未来で起きそうなことその1 LLM利用のハードルがさらに下がる

ここから、タイトルにあるところですが、データ分析エージェントを作りながら肌で感じた、エージェントが今後の顧客体験をどう変えるかについて少しお話しさせてください。

エージェントがきちん動くようになって、安定した業務に組み込めるようになった一歩先の未来で起きそうなことはいくつかあると思っています。

まず1つが、LLM利用のハードルがさらに下がる。どういうことでしょうか?

先ほどのデータ分析エージェント開発の経緯ですが、実はもともとChatGPTのような対話型のデータ分析ツールを開発していました。「中央値を表にまとめて」とか「散布図をグラフにして相関係数を出してください」とユーザーとラリーをしながら会話形式で分析を行うツールでした。

実際にユーザー数人にテストをしてもらったところ、実はあまり評価が良くありませんでした。「私は統計用語がわからないので、何を指示すればいいのかがめっちゃ困ります」とか「そもそもどんな分析をすべきか、そこを考えるところが一番困っているんだよな」みたいなフィードバックが非常に多かったです。

実は対話型のツールには、ドメインへの理解、ここでいうと統計知識などがユーザーに求められるところがあるかなと思っています。

一方で、エージェント型であれば、目的をエージェントにポンと伝えるだけなので、ある種ドメイン知識がなくても利用できると思います。

ということで、エージェントは対話型のものよりも利用ハードルを一段下げる、ある種初心者向けの1つのUIのスタンダードになるんじゃないかなと個人的には予想しています。

AIアプリには「自動化」と「拡張」の2種類がある

話が少し逸れちゃいますが、Googleが4年前に発表したAIプロダクト向けのUXデザインガイドラインをみなさんはご存じでしょうか?

いろいろなベストプラクティスが紹介されているすばらしいガイドなのですが、ガイド冒頭のAIアプリの分類という章で、AIアプリには2種類があるよと彼らは言っています。

「自動化」、ユーザーの関与なしにタスクを勝手に実行するタイプと、「拡張」、ユーザーの能力を強化するようなタイプの2つのベクトルがあるよと言っています。

LLMを使ったBtoBのプロダクトでは、初心者なのかベテランなのか、誰の業務を自動化と拡張のどちらをしたいのかといったコンセプトがおそらく重要なのかなと思っています。

先ほどの例でいうと、チャット型の分析ツールは中級者の能力の拡張で、自動分析エージェントは初心者の業務を自動化しちゃおうというコンセプトなのかなと(思います)。こういった位置付けが、おそらく自社プロダクトを提供する際の肝になると思っています。

一歩先の未来で起きそうなことその2 LLM利用は人間だけではない

最後にもう1つ、未来で起きそうなこと。利用者は人間だけじゃないよということです。これはどういうことでしょうか?

データ分析エージェントでいうと、pandasの分析スクリプトを実行していましたが、ChatGPTはWebコンテンツの要約やSaaSを自然言語で操作できたり、人の代わりにAIがコンピューターを操作するという場面が、今後増えていくのかなと思います。

データ分析アプリを作っていた時に、明らかにGPTにとって分析しやすいCSVとそうじゃないCSVがやはりありました。

例えば、カラム名に単位が付与されていると、分析が明らかに成功しやすくなっているなとか、カラムについての説明があると、結果の解釈で誤りにくいとか。

似たような例でいうと、みなさんもChatGPTのWeb Browsing機能を利用していて、内容を要約しやすいWebサイトとそうじゃないWebサイトがあるなとたぶん感じていると思います。

ということで、LLMのアプリケーションでは、インプットとなるデータがどれだけAIにとって読みやすいか、理解しやすいかが、アウトプットの品質に強く依存する感覚があります。

そこで、人間にとっていいコンテンツだけじゃなく、「サービスの利用者としてのAI」にとっても使いやすいコンテンツを作らなきゃいけないなと、いちプロダクトに関わる者としては感じています。

「LLM Agent」はめっちゃ楽しい

ということで、エージェントが実用化した一歩先の未来で起きそうな顧客体験について2つほどご紹介しました。

私の発表は以上です。最後になりますが、今日紹介したエージェントは作っていて本当に楽しいというところが私自身も実感としてすごくあるので、ぜひ作り手が1人でも増えればなということで、LTを終了いたします。みなさん、ありがとうございました。

司会者:ありがとうございました。いやぁ、まさにこういった話が聞きたいなと思ったどんぴしゃのLTをありがとうございます。

LLM Agent、僕も似たようなものを作っていて楽しいなと思うのですが、プログラムとして難しい部分も出てくるかなとも思っています。つまずいたところとか、難しかったところはなにかありましたか?

高橋:難しいところ、というのとは外れるかもしれませんが、ローカルのLLMだと、やはりどうしてもまだ推論のところがうまく動かなくて、GPT-3.5やGPT-4を使って実装している場面が多いです。こういったところがローカルのLLMでも動くようになってくると、より幅が出ておもしろいのかな、なんて思っています。

司会者:ありがとうございます。またよろしくお願いします。