Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
LLMマルチエージェントの アプリケーション設計のコツと未来
Search
PharmaX(旧YOJO Technologies)開発チーム
November 06, 2024
1.1k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
LLMマルチエージェントの アプリケーション設計のコツと未来
PharmaX(旧YOJO Technologies)開発チーム
November 06, 2024
More Decks by PharmaX(旧YOJO Technologies)開発チーム
See All by PharmaX(旧YOJO Technologies)開発チーム
PdMによるLiveバイブコーディング〜プロトタイプ開発実践〜
pharma_x_tech
1
80
2025.10.28_CodexとClaude Codeの比較検討 社内座談会
pharma_x_tech
2
630
LLMのアウトプットの評価と改善 〜DSPyによるプロンプト最適化入門によせて〜
pharma_x_tech
6
1.2k
2025.09.02_AIコーディングを利用した開発自動化を目指しての座談会
pharma_x_tech
5
350
AIコーディングを前提にした開発プロセス再設計〜開発生産性向上に向けた試行錯誤〜
pharma_x_tech
4
440
AIエージェントの評価・改善サイクル
pharma_x_tech
2
620
MCP & Computer Useをフル活用した社内効率化事例〜現在地と将来の展望
pharma_x_tech
1
460
AIエージェントの継続的改善のためオブザーバビリティ
pharma_x_tech
7
2.6k
Roo CodeとClaude Code比較してみた
pharma_x_tech
5
6.3k
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
340
58k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.2k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
400
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
360
The Invisible Side of Design
smashingmag
301
52k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
740
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
270
The untapped power of vector embeddings
frankvandijk
2
1.8k
Transcript
LLMマルチエージェントの アプリケーション設計のコツと未来 2024.11.06 # pharmax_tech_collabo
(C)PharmaX Inc. 2024 All Rights Reserve 2 自己紹介 上野彰大 PharmaX共同創業者・エンジニアリング責任者
好きな料理はオムライスと白湯とコーラ マイブームはLLMとRust X:@ueeeeniki
(C)PharmaX Inc. 2024 All Rights Reserve 3 自社としては LLMを中心に勉強会を月 1回程度開催
自己紹介
(C)PharmaX Inc. 2024 All Rights Reserve 4 個人でも勉強会コミュニティ StudyCoも運営 自己紹介
(C)PharmaX Inc. 2024 All Rights Reserve 5 医療アドバイザーに体調 のことをいつでも気軽に相 談できる
相談型医療体験 30種類以上の漢方薬からあ なたに合ったものを月毎に 提案 パーソナライズ漢方薬 定期的に漢方をお届けし、 一人ひとりに寄り添うかか りつけ医療を提供 継続的なかかりつけ 一生涯にわたって寄り添うかかりつけ漢方薬局「 YOJO」
(C)PharmaX Inc. 2024 All Rights Reserve 6 患者向けチャットシステムと薬剤師向け管理画面を自作 患者とのスムーズなコミュニケーション 薬剤師向け管理画面
チャット形式での診断・相談・購入 患者向けチャットシステム
(C)PharmaX Inc. 2024 All Rights Reserve 7 技術スタック 生成AIはLangChainエコシステムに全面的に乗っかっている フロントエンド
バックエンド BI 生成AI インフラストラクチャー その他
(C)PharmaX Inc. 2024 All Rights Reserve 8 今回対象とするアプリケーション • ユーザーからのメッセージを受信したタイミングで
LLMによる返信のサジェストが作られ、一部の メッセージは自動送信&必要があれば薬剤師が確認・修正して送る ◦ 自動で送る場合は当然精度が重要 ◦ サジェストされる場合も、そのまま送信することができれば、返信速度が速くなる&生産性が 高くなるので精度が高いことはやはり重要 • 管理画面上でボタンを押す(ショートカットキーをタイプする)ことでもチャットがサジェストされる 薬剤師にチャットの返答をサジェッションするために LLMを活用している
(C)PharmaX Inc. 2024 All Rights Reserve 9 今回対象とするアプリケーション
(C)PharmaX Inc. 2024 All Rights Reserve 10 YOJOにおけるフローエンジニアリング ① ②
④ • ①ルールベースでLLM処理可能かを 判定 • ②LLMで会話を分類しLLM処理可能 かを判定 • ③LLMで次のフェーズに移るべきかど うかを判定 • ④LLMでメッセージを作成 • ⑤LLMで作成されたメッセージを評価 (LLM-as-a-Judge)し、一定の水準を 下回ったら再生成して、クリアしたもの のみをサジェストする 現時点では精度高く メッセージ提案できない ため薬剤師が対応 ③ ⑤ ※②〜⑤: GPT-4o
(C)PharmaX Inc. 2024 All Rights Reserve 11 フローエンジニアリングの概要とメリット・デメリット YOJOではフローエンジニアリングを実践することで、高性能なメッセージのサジェストを実現している •
特定のタスクに特化したプロンプトを与えられた LLMプログラムをエージェントと呼ぶ( 1プロンプ ト1エージェント) • 小さなエージェントを組み合わせることで処理系全体を実現することをフローエンジニアリングと 呼び、処理系全体の精度を向上させることができる • エージェントのタスクを小さくすることでプロンプトの肥大化を避け、保守性を向上させることもで きる ◦ 巨大なプロンプトは変更の影響をコントロールできなくなっていく • 一方で、最終的な出力までに複数の処理が行われるため、処理系全体のレスポンス速度は遅く なる&コスト高になる傾向にある
(C)PharmaX Inc. 2024 All Rights Reserve 12 LangGraphで実際に構築したグラフ ルール1 ルール2
LLM-メッセージ作成 _ 分類4 LLM-会話分類 LLM-メッセージ作成 _ 分類1 LLM-メッセージ作成 _ 分類2 LLM-メッセージ作成 _ 分類3 LLM-フェーズ切替 LangGraphで作成したグラフはmermaidで出力しテストにも使用している
(C)PharmaX Inc. 2024 All Rights Reserve 13 LangSmithによるトレーシング rule1 ①
② ③ ④ ⑤ ・・・ rule2 ④ ⑤ ① ② ④ ③ ⑤ ※②〜⑤: GPT-4o
(C)PharmaX Inc. 2024 All Rights Reserve 14 CloudRunをフル活用したインフラ構成 LangGraph環境はCloudRunに載せてバックエンド APIサーバーとgRPCで通信
DBには read only gRPCで通信
15 (C)PharmaX Inc. 2024 All Rights Reserve フローエンジニアリングの設計のコツ
(C)PharmaX Inc. 2024 All Rights Reserve 16 フローエンジニアリングを活用したデザイン フローエンジニアリングによる処理系の設計 フローエンジニアリングでは、タスクを分割しエージェントを組合わせて最終的な目的を達成する
単一の巨大プロンプトを活用したデザイン
(C)PharmaX Inc. 2024 All Rights Reserve 17 単一の巨大プロンプトのイメージ 1つのエージェントに多くのタスクを任せる方式は、プロンプトの肥大化を招く ##
質問分類のルール ### 労務系 有給や休暇などの就業規則に関わる質問は労務として扱う ーーーー ### 人事系 社内の教育制度、採用活動などに関わる質問は人事として扱う (略) ーーーーーーーーーーーーーーー ## 回答作成のルール ### 労務系の質問への回答のルール ①〇〇 ②□□ ③△△ ーーーー ### 人事系の質問への回答のルール ①〇〇 ②□□ (略)
(C)PharmaX Inc. 2024 All Rights Reserve 18 単一の巨大プロンプトの分割 1つのプロンプトで行おうとしている複数のタスクを分割することができるはず ##
質問分類のルール ### 労務系 有給や休暇などの就業規則に関わる質問は労務として扱う ーーーー ### 人事系 社内の教育制度、採用活動などに関わる質問は人事として扱う (略) ーーーーーーーーーーーーーーー ## 回答作成のルール ### 労務系の質問への回答のルール ①〇〇 ②□□ ③△△ ーーーー ### 人事系の質問への回答のルール ①〇〇 ②□□ (略) ①質問分類 質問回答作 成 ②労務系質問回答作 成 ③人事系質問回答作 成
(C)PharmaX Inc. 2024 All Rights Reserve 19 フローエンジニアリングの設計のコツと未来 フローエンジニアリングの設計にはプロンプトエンジニアリング力とソフトウェア設計力の両方が必要 •
まずは大きなタスク単位からプロンプトエンジニアリングを行い、精度が出ないと感じたら適切な 単位に分割する ◦ フローエンジニアリングは実装コストも大きいので、無理して分割しすぎないようにしている • データセットを使ってプロンプトエンジニアリングを行いながら ◦ 正答率の評価が可能なものは人手で正答率を評価 ◦ メッセージ作成のような正答率の評価が難しいものは、 LLM-as-a-Judgeでの評価+目視 での定性的な評価も行う • 精度向上はリリース後にも可能なので、この時点では精度向上に拘泥しすぎない
(C)PharmaX Inc. 2024 All Rights Reserve 20 マルチエージェントは不要になるか • LLMがより賢くになれば、1エージェントで複数のタスクをこなせるようになるとは予想している
◦ (CoTのように)途中のタスクの結果も出力することができれば、原理的には複数のタスク をこなすことは決して不可能ではない • 一方で、複雑なフローのルールを言語化するのは難しいため、 many-shotが必要になり、あま りに複雑なタスクを任せすぎると組み合わせが膨大になる ◦ many-shotによる精度向上と、ロングコンテキストによる管理負荷の増大 &精度低下、マ ルチエージェントによる実装コストの増加のバランスで LLMが賢くなればエージェント数を減らすことはできるが、フローエンジニアリングの発想は今後も有用
21 (C)PharmaX Inc. 2024 All Rights Reserve レスポンス速度向上のための工夫
(C)PharmaX Inc. 2024 All Rights Reserve 22 チャットアプリケーションにおける返信速度の重要性 • LINEで薬剤師が返答するというサービスの特性上、数分〜
10分程度の待ち時間は許容される と考えていた ◦ アンケートでも返信速度に対する不満は多くはなかった • 実際には、LLMのサジェスト機能を導入して返信速度が早くなった結果、ユーザーからの返信 率・返信速度、さらには購入率までもが向上した ◦ 感覚的には、ユーザーは10秒以内でLINEを閉じず、30秒以内でスマホを閉じないという 境界があるのではないか? ◦ レスポンス速度の担保の重要性を悟った チャットアプリケーションでは、 LLMを活用して返信速度を向上できればポジティブな影響がある
(C)PharmaX Inc. 2024 All Rights Reserve 23 投機的な並列実行による処理時間の短縮 処理結果が無駄になることを許容して投機的に実行することで、処理時間を短縮することができる ①
(C)PharmaX Inc. 2024 All Rights Reserve 24 投機的な並列実行による処理時間の短縮 処理結果が無駄になることを許容して投機的に実行することで、処理時間を短縮することができる ①
②
(C)PharmaX Inc. 2024 All Rights Reserve 25 投機的な並列実行による処理時間の短縮 処理結果が無駄になることを許容して投機的に実行することで、処理時間を短縮することができる 作成した回答は捨てる
① ② ③
(C)PharmaX Inc. 2024 All Rights Reserve 26 まとめ マルチエージェントLLMチャットボットの設計のコツと未来 &速度向上戦略について話した
• LLMアプリケーションでは精度とレスポンス速度を高次元で両立させることは重要 • フローエンジニアリングを実践することで、精度は向上するが、処理系全体のレスポンス速度は 遅くなってしまう可能性がある • LLMが賢くなればエージェント数を減らすことはできるが、フローエンジニアリングの発想は今後 も有用 • 投機的な並列処理を行うことで処理時間を短縮することができる ◦ 投機的な処理を行うことで、コストは割高になるので、リリース後にデータセットを収集し、 一部の処理のML化、あるいは安価のモデルのfine-tuningを行うことでコストダウンも狙 う