Upgrade to Pro — share decks privately, control downloads, hide ads and more …

LLMマルチエージェントの アプリケーション設計のコツと未来

LLMマルチエージェントの アプリケーション設計のコツと未来

More Decks by PharmaX(旧YOJO Technologies)開発チーム

Transcript

  1. (C)PharmaX Inc. 2024 All Rights Reserve 2 自己紹介 上野彰大 PharmaX共同創業者・エンジニアリング責任者

    好きな料理はオムライスと白湯とコーラ マイブームはLLMとRust X:@ueeeeniki
  2. (C)PharmaX Inc. 2024 All Rights Reserve 5 医療アドバイザーに体調 のことをいつでも気軽に相 談できる

    相談型医療体験 30種類以上の漢方薬からあ なたに合ったものを月毎に 提案 パーソナライズ漢方薬 定期的に漢方をお届けし、 一人ひとりに寄り添うかか りつけ医療を提供 継続的なかかりつけ 一生涯にわたって寄り添うかかりつけ漢方薬局「 YOJO」
  3. (C)PharmaX Inc. 2024 All Rights Reserve 8 今回対象とするアプリケーション • ユーザーからのメッセージを受信したタイミングで

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

    ④ • ①ルールベースでLLM処理可能かを 判定 • ②LLMで会話を分類しLLM処理可能 かを判定 • ③LLMで次のフェーズに移るべきかど うかを判定 • ④LLMでメッセージを作成 • ⑤LLMで作成されたメッセージを評価 (LLM-as-a-Judge)し、一定の水準を 下回ったら再生成して、クリアしたもの のみをサジェストする 現時点では精度高く メッセージ提案できない ため薬剤師が対応 ③ ⑤ ※②〜⑤: GPT-4o
  5. (C)PharmaX Inc. 2024 All Rights Reserve 11 フローエンジニアリングの概要とメリット・デメリット YOJOではフローエンジニアリングを実践することで、高性能なメッセージのサジェストを実現している •

    特定のタスクに特化したプロンプトを与えられた LLMプログラムをエージェントと呼ぶ( 1プロンプ ト1エージェント) • 小さなエージェントを組み合わせることで処理系全体を実現することをフローエンジニアリングと 呼び、処理系全体の精度を向上させることができる • エージェントのタスクを小さくすることでプロンプトの肥大化を避け、保守性を向上させることもで きる ◦ 巨大なプロンプトは変更の影響をコントロールできなくなっていく • 一方で、最終的な出力までに複数の処理が行われるため、処理系全体のレスポンス速度は遅く なる&コスト高になる傾向にある
  6. (C)PharmaX Inc. 2024 All Rights Reserve 12 LangGraphで実際に構築したグラフ ルール1 ルール2

    LLM-メッセージ作成 _ 分類4 LLM-会話分類 LLM-メッセージ作成 _ 分類1 LLM-メッセージ作成 _ 分類2 LLM-メッセージ作成 _ 分類3 LLM-フェーズ切替 LangGraphで作成したグラフはmermaidで出力しテストにも使用している
  7. (C)PharmaX Inc. 2024 All Rights Reserve 13 LangSmithによるトレーシング rule1 ①

    ② ③ ④ ⑤ ・・・ rule2 ④ ⑤ ① ② ④ ③ ⑤ ※②〜⑤: GPT-4o
  8. (C)PharmaX Inc. 2024 All Rights Reserve 17 単一の巨大プロンプトのイメージ 1つのエージェントに多くのタスクを任せる方式は、プロンプトの肥大化を招く ##

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

    質問分類のルール ### 労務系 有給や休暇などの就業規則に関わる質問は労務として扱う ーーーー ### 人事系 社内の教育制度、採用活動などに関わる質問は人事として扱う (略) ーーーーーーーーーーーーーーー ## 回答作成のルール ### 労務系の質問への回答のルール ①〇〇 ②□□ ③△△ ーーーー ### 人事系の質問への回答のルール ①〇〇 ②□□ (略) ①質問分類 質問回答作 成 ②労務系質問回答作 成 ③人事系質問回答作 成
  10. (C)PharmaX Inc. 2024 All Rights Reserve 19 フローエンジニアリングの設計のコツと未来 フローエンジニアリングの設計にはプロンプトエンジニアリング力とソフトウェア設計力の両方が必要 •

    まずは大きなタスク単位からプロンプトエンジニアリングを行い、精度が出ないと感じたら適切な 単位に分割する ◦ フローエンジニアリングは実装コストも大きいので、無理して分割しすぎないようにしている • データセットを使ってプロンプトエンジニアリングを行いながら ◦ 正答率の評価が可能なものは人手で正答率を評価 ◦ メッセージ作成のような正答率の評価が難しいものは、 LLM-as-a-Judgeでの評価+目視 での定性的な評価も行う • 精度向上はリリース後にも可能なので、この時点では精度向上に拘泥しすぎない
  11. (C)PharmaX Inc. 2024 All Rights Reserve 20 マルチエージェントは不要になるか • LLMがより賢くになれば、1エージェントで複数のタスクをこなせるようになるとは予想している

    ◦ (CoTのように)途中のタスクの結果も出力することができれば、原理的には複数のタスク をこなすことは決して不可能ではない • 一方で、複雑なフローのルールを言語化するのは難しいため、 many-shotが必要になり、あま りに複雑なタスクを任せすぎると組み合わせが膨大になる ◦ many-shotによる精度向上と、ロングコンテキストによる管理負荷の増大 &精度低下、マ ルチエージェントによる実装コストの増加のバランスで LLMが賢くなればエージェント数を減らすことはできるが、フローエンジニアリングの発想は今後も有用
  12. (C)PharmaX Inc. 2024 All Rights Reserve 22 チャットアプリケーションにおける返信速度の重要性 • LINEで薬剤師が返答するというサービスの特性上、数分〜

    10分程度の待ち時間は許容される と考えていた ◦ アンケートでも返信速度に対する不満は多くはなかった • 実際には、LLMのサジェスト機能を導入して返信速度が早くなった結果、ユーザーからの返信 率・返信速度、さらには購入率までもが向上した ◦ 感覚的には、ユーザーは10秒以内でLINEを閉じず、30秒以内でスマホを閉じないという 境界があるのではないか? ◦ レスポンス速度の担保の重要性を悟った チャットアプリケーションでは、 LLMを活用して返信速度を向上できればポジティブな影響がある
  13. (C)PharmaX Inc. 2024 All Rights Reserve 26 まとめ マルチエージェントLLMチャットボットの設計のコツと未来 &速度向上戦略について話した

    • LLMアプリケーションでは精度とレスポンス速度を高次元で両立させることは重要 • フローエンジニアリングを実践することで、精度は向上するが、処理系全体のレスポンス速度は 遅くなってしまう可能性がある • LLMが賢くなればエージェント数を減らすことはできるが、フローエンジニアリングの発想は今後 も有用 • 投機的な並列処理を行うことで処理時間を短縮することができる ◦ 投機的な処理を行うことで、コストは割高になるので、リリース後にデータセットを収集し、 一部の処理のML化、あるいは安価のモデルのfine-tuningを行うことでコストダウンも狙 う