Slide 1

Slide 1 text

マルチエージェント LLMチャットアプリケーションの 精度&レスポンス速度向上戦略 2024.08.07 # pharmax_tech_collabo

Slide 2

Slide 2 text

(C)PharmaX Inc. 2024 All Rights Reserve 2 自己紹介 上野彰大 PharmaX共同創業者・エンジニアリング責任者 好きな料理はオムライスと白湯とコーラ マイブームはLLMとRust X:@ueeeeniki

Slide 3

Slide 3 text

(C)PharmaX Inc. 2024 All Rights Reserve 3 趣味で勉強会コミュニティ StudyCoも運営 自己紹介

Slide 4

Slide 4 text

(C)PharmaX Inc. 2024 All Rights Reserve 4 医療アドバイザーに体調 のことをいつでも気軽に相 談できる 相談型医療体験 30種類以上の漢方薬からあ なたに合ったものを月毎に 提案 パーソナライズ漢方薬 定期的に漢方をお届けし、 一人ひとりに寄り添うかか りつけ医療を提供 継続的なかかりつけ 一生涯にわたって寄り添うかかりつけ漢方薬局「 YOJO」

Slide 5

Slide 5 text

(C)PharmaX Inc. 2024 All Rights Reserve 5 今回対象とするアプリケーション ● ユーザーからのメッセージを受信したタイミングで LLMによる返信のサジェストが作られ、一部の メッセージは自動送信&必要があれば薬剤師が確認・修正して送る ○ 自動で送る場合は当然精度が重要 ○ サジェストされる場合も、そのまま送信することができれば、返信速度が速くなる&生産性が 高くなるので精度が高いことはやはり重要 ● 管理画面上でボタンを押す(ショートカットキーをタイプする)ことでもチャットがサジェストされる 薬剤師にチャットの返答をサジェッションするために LLMを活用している

Slide 6

Slide 6 text

(C)PharmaX Inc. 2024 All Rights Reserve 6 今回対象とするアプリケーション

Slide 7

Slide 7 text

(C)PharmaX Inc. 2024 All Rights Reserve 7 LLMによるメッセージサジェスト機能の効果 ユーザーからの返信数・割合 返信ありの件数 返信なしの件数 返信ありの件数 返信なしの件数 LLMのサジェストをそのまま投稿 薬剤師が1から作成して投稿 ユーザーからの返信 速度 LLMのサジェストをそのまま投稿したメッセージに対するユーザーの返信 薬剤師が1から作成して投稿したメッセージに対するユーザーの返信

Slide 8

Slide 8 text

(C)PharmaX Inc. 2024 All Rights Reserve 8 チャットアプリケーションにおける返信速度の重要性 ● LINEというインターフェースの特性上、数分〜 10分程度の待ち時間は許容されると考えていた ○ アンケートでも返信速度に対する不満は多くはなかった ● 実際には、LLMのサジェスト機能を導入して返信速度が早くなった結果、ユーザーからの返信 率・返信速度、さらには購入率までもが向上した ○ 感覚的には、ユーザーは10秒以内でLINEを閉じず、30秒以内でスマホを閉じないという 境界があるのではないか? ● チャットアプリケーションであってもある程度の返信速度の担保の重要性を悟った チャットアプリケーションでは、 LLMを活用して返信速度を向上できればポジティブな影響がある

Slide 9

Slide 9 text

(C)PharmaX Inc. 2024 All Rights Reserve 9 YOJOにおけるフローエンジニアリング ① ② ③ ④ ⑤

Slide 10

Slide 10 text

(C)PharmaX Inc. 2024 All Rights Reserve 10 ● ①ルールベースでLLM処理可能かを判定 ● ②LLMで会話を分類しLLM処理可能かを判定 ● ③LLMで次のフェーズに移るべきかどうかを判定 ● ④LLMでメッセージを作成 ● ⑤LLMで作成されたメッセージを評価( LLM-as-a-Judge)し、一定の水準を下回ったら再生成し て、クリアしたもののみをサジェストする YOJOにおけるフローエンジニアリング YOJOでは、メッセージがサジェストされるまでに複数の処理( agentic workflows)を行う

Slide 11

Slide 11 text

(C)PharmaX Inc. 2024 All Rights Reserve 11 各フェーズで同様のフローエンジニアリングを定義している(下図では①のルールベース判定は省略) ② ③ ④ ⑤ YOJOにおけるフローエンジニアリング ⑤ ⑤ ③ ③ ② ④ ② ④ ② ④

Slide 12

Slide 12 text

(C)PharmaX Inc. 2024 All Rights Reserve 12 フローエンジニアリングのメリット・デメリット フローエンジニアリングを実践することで、精度は向上するがレスポンス速度は遅くなってしまう ● 単一の目的を上手くこなす小さなエージェントを組み合わせることで、処理系全体で精度を向上 させることができる ● エージェントのタスクを単一にすることでプロンプトの肥大を避け、保守性を向上させることもでき る ○ 巨大なプロンプトは変更の影響をコントロールできなくなっていく ● 一方で、最終的な出力までに複数の処理が行われるため、処理系全体のレスポンス速度は遅く なってしまう傾向にある

Slide 13

Slide 13 text

(C)PharmaX Inc. 2024 All Rights Reserve 13 フローエンジニアリングによる処理系の設計 単一の巨大プロンプトを活用したデザイン フローエンジニアリングを活用したデザイン フローエンジニアリングでは、タスクを分割しエージェントを組合わせて最終的な目的を達成する

Slide 14

Slide 14 text

(C)PharmaX Inc. 2024 All Rights Reserve 14 単一の巨大プロンプトのイメージ 1つのエージェントに多くのタスクを任せる方式は、プロンプトの肥大化を招く ## 質問分類のルール ### 労務系 有給や休暇などの就業規則に関わる質問は労務として扱う ーーーー ### 人事系 社内の教育制度、採用活動などに関わる質問は労務として扱う (略) ーーーーーーーーーーーーーーー ## 回答作成のルール ### 労務系の質問への回答のルール ①〇〇 ②□□ ③△△ ーーーー ### 人事系の質問への回答のルール ①〇〇 ②□□ (略)

Slide 15

Slide 15 text

(C)PharmaX Inc. 2024 All Rights Reserve 15 単一の巨大プロンプトの分割 1つのプロンプトで行おうとしている複数のタスクを分割することができるはず ## 質問分類のルール ### 労務系 有給や休暇などの就業規則に関わる質問は労務として扱う ーーーー ### 人事系 社内の教育制度、採用活動などに関わる質問は労務として扱う (略) ーーーーーーーーーーーーーーー ## 回答作成のルール ### 労務系の質問への回答のルール ①〇〇 ②□□ ③△△ ーーーー ### 人事系の質問への回答のルール ①〇〇 ②□□ (略) ①質問分類 質問回答作 成 ②労務系質問回答作 成 ③人事系質問回答作 成

Slide 16

Slide 16 text

(C)PharmaX Inc. 2024 All Rights Reserve 16 フローエンジニアリングによる処理系の設計 単一の巨大プロンプトを活用したデザイン フローエンジニアリングを活用したデザイン フローエンジニアリングでは、タスクを分割しエージェントを組合わせて最終的な目的を達成する ① ② ③

Slide 17

Slide 17 text

(C)PharmaX Inc. 2024 All Rights Reserve 17 投機的な並列実行による処理時間の短縮 処理結果が無駄になることを許容して投機的に実行することで、処理時間を短縮することができる ①

Slide 18

Slide 18 text

(C)PharmaX Inc. 2024 All Rights Reserve 18 投機的な並列実行による処理時間の短縮 処理結果が無駄になることを許容して投機的に実行することで、処理時間を短縮することができる ① ②

Slide 19

Slide 19 text

(C)PharmaX Inc. 2024 All Rights Reserve 19 投機的な並列実行による処理時間の短縮 処理結果が無駄になることを許容して投機的に実行することで、処理時間を短縮することができる 作成した回答は捨てる ① ② ③

Slide 20

Slide 20 text

(C)PharmaX Inc. 2024 All Rights Reserve 20 まとめ マルチエージェントLLMチャットボットの精度 &レスポンス速度向上戦略についてお話した ● LLMチャットボットでも精度と速度を高次元で両立させることは重要 ○ YOJOの例では、ユーザーからの返信率・返信速度、購入率が明確に向上した ● フローエンジニアリングを実践することで、精度は向上するが、処理系全体のレスポンス速度は 遅くなってしまう可能性がある ● 投機的な並列処理を行うことで処理時間を短縮することができる ○ 投機的な処理を行うことで、コストは割高になるので、リリース後にデータセットを収集し、 一部の処理のML化、あるいは安価のモデルのfine-tuningを行うことでコストダウンも狙 う