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
LangGraphでマルチエージェントワークフローを構築
Search
西岡 賢一郎 (Kenichiro Nishioka)
April 28, 2024
Technology
0
53
LangGraphでマルチエージェントワークフローを構築
機械学習の社会実装勉強会第34回 (
https://machine-learning-workshop.connpass.com/event/316112/
) の発表資料です。
西岡 賢一郎 (Kenichiro Nishioka)
April 28, 2024
Tweet
Share
More Decks by 西岡 賢一郎 (Kenichiro Nishioka)
See All by 西岡 賢一郎 (Kenichiro Nishioka)
LLMアプリケーションで使用するVector Databaseの比較
knishioka
0
160
LLMアプリケーションの デバッグ・テスト・評価・監視を楽にするLangSmith
knishioka
0
140
LangChainから学ぶプロンプトエンジニアリングテクニック
knishioka
0
140
チャット履歴と質問を組み合わせLLMの回答精度を高めるLangChain Conversational Retrieval QA
knishioka
0
420
LangChain RetrievalQAとChatGPTでQAツールを作る
knishioka
1
370
LangChainのDocument機能を使って文書処理を柔軟にする
knishioka
0
640
LangChain Agentを使って自社ツールとChatGPTを連携
knishioka
0
300
LLMを使ったサービス開発必須ライブリ 「LangChain」の基礎
knishioka
0
130
データの品質を管理するAWS Glue Data Quality
knishioka
0
71
Other Decks in Technology
See All in Technology
Gradle Build Scanを使ってビルドのことを知ろう potatotips #87
tomorrowkey
2
170
QAエンジニアが伝えたい品質保証の羅針盤 / Compass for Quality Assurance
mii3king
1
260
本当のガバクラ基礎
toru_kubota
0
260
Observabilityジャーニーを実現するためのAWSサービス:CloudWatch編
o11yfes2023
0
100
Taking Flight with Tailwind CSS
opdavies
0
4.3k
Cloudflare WorkersがPythonに対応したので試してみた
miura55
0
160
Microsoft Intune 勉強会 第 2 回目
tamaiyutaro
2
540
Android Target SDK 35 (Android 15) 対応の概要
akkie76
0
210
多言語化対応における TypeScript の型定義を通して開発のしやすさについて考えた / TSKaigi TypeScript Multilingualization
nabeliwo
2
300
Kaggleで学ぶ系列データのための深層学習モデリング
yu4u
7
1.5k
Cloud Service Mesh に触れ合う
phaya72
1
340
M5stackで使用できるpHセンサの開発
shinrinakamura
1
300
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
39
2.5k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
80
44k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
Git: the NoSQL Database
bkeepers
PRO
423
63k
Large-scale JavaScript Application Architecture
addyosmani
504
110k
How to train your dragon (web standard)
notwaldorf
75
5.2k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
22
1.4k
Building Adaptive Systems
keathley
32
1.9k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
12
1.1k
The Cost Of JavaScript in 2023
addyosmani
21
3.9k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
14
1.5k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
323
20k
Transcript
LangGraphで マルチエージェントワークフローを構築 2024/04/26 第34回勉強会
自己紹介 • 名前: 西岡 賢一郎 ◦ 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) ◦ 自社および他社のプロダクト開発チーム・データサイエンスチームの立ち上げ経験
はじめに 本日の発表内容 • LangGraph紹介 - LangChain基盤のライブラリ、言語モデル使用の多アク ターアプリケーション構築支援 • LangChain統合 -
LangChain Expression Language拡張、エージェント間の 協調計算 • プレゼンテーション目的 - LangGraph基本概念学習、マルチエージェント ワークフロー構築方法説明
マルチエージェントとは? 1. マルチエージェントシステム定義 - 複数の独立した エージェントが協力し合うシステム。 2. 独立性と協働性 - 各エージェントは独自のタスクと
責任を持ちつつ、共通の目標達成のために互いに情 報やリソースを共有。 3. 通信と協調 - エージェント間の効果的な通信と協調 により、より複雑な問題解決が可能に。
マルチエージェントの利点 1. 効率性の向上 - 複数のエージェントが特定のタスク に特化し、同時に異なる作業を進行することで全体 の処理速度が向上。 2. 複雑な問題の分割 -
大規模または複雑な問題を小さ な単位に分割し、それぞれのエージェントが一部を 担当することで問題全体の解決を容易に。 3. 拡張性と柔軟性 - 新たなエージェントの追加や既存 のエージェントの調整を通じて、システム全体の能 力を柔軟に調整可能。 4. 耐障害性の向上 - 一つのエージェントが停止または 障害を起こしても、他のエージェントがその機能を 代替またはサポートすることでシステム全体のダウ ンタイムを最小限に抑制。
LangGraphの主要機能 1. サイクルの管理 - LangGraphを使用して、ワークフ ローにおける繰り返し処理や循環的なタスクを効果 的に管理。 2. 状態管理 -
各エージェントの状態を追跡し、ワーク フロー全体の状態を一元管理。 3. LangChainとの統合 - LangChainの機能を拡張し、 より複雑なマルチエージェントシステムをサポー ト。 4. エッジとノードの制御 - グラフ内の各ノード(エー ジェント)とエッジ(通信パス)を詳細に設定し、 精密なワークフロー制御を実現。 5. 条件付きルーティング - 条件に基づいて動的にワー クフローの経路を変更する機能を提供。
実践的な例 • LangGraphの例 a. スーパーバイザーが各エージェントを管理 b. マルチエージェントで協力 c. 階層的エージェントチーム •
LangGraphのサンプルが充実している https://github.com/langchain-ai/langgraph/tree/main/examples
スーパーバイザーが各エージェントを管理 一つのスーパーバイザーエージェント が他のエージェントを管理し、タスク の進行状況を監督する例。異なるエー ジェントが独立してタスクを進行させ ながらも、全体の調整をスーパーバイ ザーが行う構成。
マルチエージェントで協力 複数のエージェントが協力してタスク を遂行する例。エージェントが情報を 共有しながら協力する様子を示すコー ドから派生。
階層的エージェント 複数レベルのエージェントが階層的に 協力する構造。上位のエージェントが 下位のエージェントの活動を指示し、 それぞれのエージェントが部分的なタ スクを担当。
デモ • LangGraphの簡単な使い方を紹介 • LangGraphを使った複雑なアプリケーション構築例は次回以降の勉強会で紹 介する予定