Slide 1

Slide 1 text

LangGraphで マルチエージェントワークフローを構築 2024/04/26 第34回勉強会

Slide 2

Slide 2 text

自己紹介 ● 名前: 西岡 賢一郎 ○ Twitter: @ken_nishi ○ note: https://note.com/kenichiro ○ YouTube: 【経営xデータサイエンスx開発】西岡 賢一郎のチャンネル (https://www.youtube.com/channel/UCpiskjqLv1AJg64jFCQIyBg) ● 経歴 ○ 東京大学で位置予測アルゴリズムを研究し博士 (学術) を取得 ○ 東京大学の博士課程在学中にデータサイエンスをもとにしたサービスを提供する株式会社ト ライディアを設立 ○ トライディアを別のIT会社に売却し、CTOとして3年半務め、2021年10月末にCTOを退職 ○ CDPのスタートアップ (Sr. PdM)・株式会社データインフォームド (CEO)・株式会社ディース タッツ (CTO) ○ 自社および他社のプロダクト開発チーム・データサイエンスチームの立ち上げ経験

Slide 3

Slide 3 text

はじめに 本日の発表内容 ● LangGraph紹介 - LangChain基盤のライブラリ、言語モデル使用の多アク ターアプリケーション構築支援 ● LangChain統合 - LangChain Expression Language拡張、エージェント間の 協調計算 ● プレゼンテーション目的 - LangGraph基本概念学習、マルチエージェント ワークフロー構築方法説明

Slide 4

Slide 4 text

マルチエージェントとは? 1. マルチエージェントシステム定義 - 複数の独立した エージェントが協力し合うシステム。 2. 独立性と協働性 - 各エージェントは独自のタスクと 責任を持ちつつ、共通の目標達成のために互いに情 報やリソースを共有。 3. 通信と協調 - エージェント間の効果的な通信と協調 により、より複雑な問題解決が可能に。

Slide 5

Slide 5 text

マルチエージェントの利点 1. 効率性の向上 - 複数のエージェントが特定のタスク に特化し、同時に異なる作業を進行することで全体 の処理速度が向上。 2. 複雑な問題の分割 - 大規模または複雑な問題を小さ な単位に分割し、それぞれのエージェントが一部を 担当することで問題全体の解決を容易に。 3. 拡張性と柔軟性 - 新たなエージェントの追加や既存 のエージェントの調整を通じて、システム全体の能 力を柔軟に調整可能。 4. 耐障害性の向上 - 一つのエージェントが停止または 障害を起こしても、他のエージェントがその機能を 代替またはサポートすることでシステム全体のダウ ンタイムを最小限に抑制。

Slide 6

Slide 6 text

LangGraphの主要機能 1. サイクルの管理 - LangGraphを使用して、ワークフ ローにおける繰り返し処理や循環的なタスクを効果 的に管理。 2. 状態管理 - 各エージェントの状態を追跡し、ワーク フロー全体の状態を一元管理。 3. LangChainとの統合 - LangChainの機能を拡張し、 より複雑なマルチエージェントシステムをサポー ト。 4. エッジとノードの制御 - グラフ内の各ノード(エー ジェント)とエッジ(通信パス)を詳細に設定し、 精密なワークフロー制御を実現。 5. 条件付きルーティング - 条件に基づいて動的にワー クフローの経路を変更する機能を提供。

Slide 7

Slide 7 text

実践的な例 ● LangGraphの例 a. スーパーバイザーが各エージェントを管理 b. マルチエージェントで協力 c. 階層的エージェントチーム ● LangGraphのサンプルが充実している https://github.com/langchain-ai/langgraph/tree/main/examples

Slide 8

Slide 8 text

スーパーバイザーが各エージェントを管理 一つのスーパーバイザーエージェント が他のエージェントを管理し、タスク の進行状況を監督する例。異なるエー ジェントが独立してタスクを進行させ ながらも、全体の調整をスーパーバイ ザーが行う構成。

Slide 9

Slide 9 text

マルチエージェントで協力 複数のエージェントが協力してタスク を遂行する例。エージェントが情報を 共有しながら協力する様子を示すコー ドから派生。

Slide 10

Slide 10 text

階層的エージェント 複数レベルのエージェントが階層的に 協力する構造。上位のエージェントが 下位のエージェントの活動を指示し、 それぞれのエージェントが部分的なタ スクを担当。

Slide 11

Slide 11 text

デモ ● LangGraphの簡単な使い方を紹介 ● LangGraphを使った複雑なアプリケーション構築例は次回以降の勉強会で紹 介する予定