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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
peisuke
January 30, 2024
Technology
5k
14
Share
LangGraphで始めるマルチエージェントシステム
生成AI新年会2024 LT資料
LangGraphで始めるマルチエージェントシステム
peisuke
January 30, 2024
More Decks by peisuke
See All by peisuke
Moto: Latent Motion Token as the Bridging Language for Learning Robot Manipulation from Videos
peisuke
0
240
VGGT: Visual Geometry Grounded Transformer
peisuke
1
1.7k
AI for Kids:小学生に画像認識を教えてみた話
peisuke
1
98
Self-RAG: Learning to Retrieve, Generate and Critique through Self-Reflections
peisuke
9
1.6k
Mip-NeRF 360: Unbounded Anti-Aliased Neural Radiance Fields
peisuke
0
13k
LangChain Toolsの運用と改善
peisuke
5
2.9k
GNeRF: GAN-based Neural Radiance Field without Posed Camera
peisuke
1
840
TTS Skins: Speaker Conversion via ASR
peisuke
0
450
A Quantum Computational Approach to Correspondence Problems on Point Sets
peisuke
0
780
Other Decks in Technology
See All in Technology
DI コンテナ自動生成ツールを実装してみた / intro-autodi
uhzz
0
440
AI飲み会幹事エージェントを作っただけなのに
ykimi
0
240
Claude Code で使える DuckDB Skills を試してみた / DuckDB Skills and Claude Code
masahirokawahara
1
1.1k
既存プロダクトQAから新規プロダクトQAへ
ryotakahashi
0
160
社内RAGの導入で気を付けたポイント
yakumo
1
130
Swift Sequence の便利 API 再発見
treastrain
1
290
The Bag-of-Documents Model for Query Understanding and Retrieval
dtunkelang
0
170
ECSのTerraformモジュールにコントリビュートした話
harukasakihara
0
250
論文紹介:Pixal3D (SIGGRAPH 2026)
tenten0727
0
590
O'Reilly Infrastructure & Ops Superstream: Platform Engineering for Developers, Architects & the Rest of Us
syntasso
0
310
なぜ、IAMロールのプリンシパルに*による部分マッチングが使えないのか? / 20260518-ssmjp-iam-role-principal
opelab
2
140
Fラン学生が考える、AI時代のデザインに執着した突破口
husengs7
1
220
Featured
See All Featured
HDC tutorial
michielstock
2
660
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
120
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
250
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.7k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
A Tale of Four Properties
chriscoyier
163
24k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
310
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
140
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
350
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
220
Transcript
-BOH(SBQIͰ࢝ΊΔϚϧ νΤʔδΣϯτγεςϜ !QFJTVLF
None
-BOH$IBJOॲཧ͕γʔέϯγϟϧͱ͍͏՝͕͋Δ • $IBJOͰɺ"#$ͱ͍ͬͨॲཧΛߦ͏ • ྫɿݕࡧͯ͠ཁͯ͠༁͢ΔͳͲ • --.ͷΑ͏ʹᐆດͳೖग़ྗΛѻ͏έʔεͰɺదͳ݁Ռ͕ಘ ΒΕͳ͍͜ͱ͕ଟ͍ • ྫɿʮ౦ژͷҎ߱ͷਓޱͷਪҠΛग़ྗͯ͠ʯʹର͠ɺதؒ
ͷॲཧͰҎ߱ͷਪҠΛޡͬͯग़ͯ͠͠·͏ͱमਖ਼͕Ͱ͖ͳ͍
-BOH(SBQI • άϥϑͱͯ͠Ұ࿈ͷಈ࡞Λهड़͠ɺʮαΠΫϧʯͷॲཧΛѻ͑ ΔΑ͏ʹͨ͠ • ҰݸͷॲཧΛʮϊʔυʯͰද͠ɺ࣍ʹͲͷϊʔυΛಈ͔͔͢Λ ʮΤοδʯͰද͢ ௨ৗ'VODUJPO$BMMJOH
-BOH(SBQIͱϚϧνΤʔδΣϯτ • ෳͷϊʔυΛར༻͢Δ͜ͱͰϚϧνΤʔδΣϯτͷγεςϜ ͱͯ͠ར༻Ͱ͖Δ ৭ΜͳߏΛ࡞ΕΔ
ঢ়ଶʢεςʔτʣͱ • άϥϑશମͷใʢաڈͷձཤྺɺೖྗͳͲʣ • جຊతʹࣗ༝ʹهड़ͯ͠ྑ͍ • ޙʹઆ໌͢ΔϊʔυΤοδ͕ར༻͢ΔใΛೖΕ͓ͯ͘
ϊʔυͱ • Կ͔͠ΒͷॲཧΛද͢ʢྫɿ--.ɺ'VODUJPO$BMMJOHʣ • ؔͱͯ͠ఆ͓ٛͯ͘͠ • εςʔτΛೖྗ͠ɺॲཧ݁ՌΛฦ͢
Τοδͱ • ݺͼग़͠ݩͱݺͼग़͠ઌͷϊʔυΛهड़ • ݅ذ͕ඞཁͰ͋Εɺ݅ذͷ໊ؔهड़ TIPVME@DPOUJOVFؔͰ εςʔτΛೖྗͱͯ͠ɺ DPOUJOVF͔FOEΛฦ͢
Τοδͱ • ۩ମతͳ݅ذͷྫ ࠷৽ͷϝοηʔδ͕ 'VODUJPO$BMMJOHΛݺ ΜͰ͍Δ͔ΛνΣοΫ
ಈ࡞ͷΠϝʔδΛղઆ • ఱؾΛௐΔΈΛఆ • "HFOUϊʔυͱɺ5PPMϊʔυΛ༻ҙ • "HFOUɺ5PPMΛݺͿ͔Ͳ͏͔ΛܾΊɺݺ ͳ͍߹ࣗવݴޠͰฦ • 5PPMɺఱؾ"1*Λݺͼग़ͯ͠ճ
"HFOU 5PPM &OE 4UBSU ఱؾΛௐΔ'$
ಈ࡞ͷΠϝʔδΛղઆ • ఱؾΛௐΔΈΛఆ • "HFOUϊʔυͱɺ5PPMϊʔυΛ༻ҙ • "HFOUɺ5PPMΛݺͿ͔Ͳ͏͔ΛܾΊɺݺ ͳ͍߹ࣗવݴޠͰฦ • 5PPMɺఱؾ"1*Λݺͼग़ͯ͠ճ
"HFOU 5PPM &OE 4UBSU ఱؾΛௐΔ'$ ユーザー:東京の天気は? Agent:{Function calling: 天気API, query: 東京}
ಈ࡞ͷΠϝʔδΛղઆ • ఱؾΛௐΔΈΛఆ • "HFOUϊʔυͱɺ5PPMϊʔυΛ༻ҙ • "HFOUɺ5PPMΛݺͿ͔Ͳ͏͔ΛܾΊɺݺ ͳ͍߹ࣗવݴޠͰฦ • 5PPMɺఱؾ"1*Λݺͼग़ͯ͠ճ
"HFOU 5PPM &OE 4UBSU ఱؾΛௐΔ'$ Agent:{Function calling: 天気API, query: 東京} EdgeはAgentの返答がFunction Callingかを判定、 Function Callingが呼ばれたので、Toolノードに遷移
ಈ࡞ͷΠϝʔδΛղઆ • ఱؾΛௐΔΈΛఆ • "HFOUϊʔυͱɺ5PPMϊʔυΛ༻ҙ • "HFOUɺ5PPMΛݺͿ͔Ͳ͏͔ΛܾΊɺݺ ͳ͍߹ࣗવݴޠͰฦ • 5PPMɺఱؾ"1*Λݺͼग़ͯ͠ճ
"HFOU 5PPM &OE 4UBSU ఱؾΛௐΔ'$ Agent:{Function calling: 天気API, query: 東京} Tool: {message: 晴れ} πʔϧݺͼग़͠
ಈ࡞ͷΠϝʔδΛղઆ • ఱؾΛௐΔΈΛఆ • "HFOUϊʔυͱɺ5PPMϊʔυΛ༻ҙ • "HFOUɺ5PPMΛݺͿ͔Ͳ͏͔ΛܾΊɺݺ ͳ͍߹ࣗવݴޠͰฦ • 5PPMɺఱؾ"1*Λݺͼग़ͯ͠ճ
"HFOU 5PPM &OE 4UBSU ఱؾΛௐΔ'$ ユーザー:東京の天気は? Agent:{Function calling: 天気API, query: 東京} Tool: {message: 晴れ} Agent: {message: 東京の天気は晴れ}
ಈ࡞ͷΠϝʔδΛղઆ • ఱؾΛௐΔΈΛఆ • "HFOUϊʔυͱɺ5PPMϊʔυΛ༻ҙ • "HFOUɺ5PPMΛݺͿ͔Ͳ͏͔ΛܾΊɺݺ ͳ͍߹ࣗવݴޠͰฦ • 5PPMɺఱؾ"1*Λݺͼग़ͯ͠ճ
"HFOU 5PPM &OE 4UBSU ఱؾΛௐΔ'$ Agent: {message: 東京の天気は晴れ} Agentの返答にFunction Callingが含まれな いので、END側のノードを呼び出す
ಈ࡞ͷΠϝʔδΛղઆ • Ϧαʔνͯ͠υΩϡϝϯτΛ࡞ΔΈΛͪΐͬͱ͚ͩ
ಈ࡞ͷΠϝʔδΛղઆ • Ϧαʔνͯ͠υΩϡϝϯτΛ࡞ΔΈΛͪΐͬͱ͚ͩ 全体統括者
ಈ࡞ͷΠϝʔδΛղઆ • ΤοδͷΈ͚ͩ؆୯ʹհ リサーチチームの結果は統括者に返す、 ドキュメントチームの結果も統括者に返す 統括者は次のチームをJSONを出⼒する 仕様、レスポンスのnextに応じて、次 のチームを決めてノードを動かす
ಈ࡞ͷΠϝʔδΛղઆ • Ϧαʔνͯ͠υΩϡϝϯτΛ࡞ΔΈΛͪΐͬͱ͚ͩ リサーチチーム ドキュメントチーム 全体統括者
ಈ࡞ͷΠϝʔδΛղઆ • ΤοδͷΈ͚ͩ؆୯ʹհ 先程と同様に、ノードの 結果を統括者に返す 先程と同様に、Search, Web Scraperのノードを 選択的に呼び出す
"VUP(FOͱͷҧ͍ • ݁ہͷͱ͜Ζશ෦ॻ͚ಉ͜͡ͱ͕Ͱ͖ΔΑ • ʮࣗવʹ͑ʯͱ͍͏લఏͰݸਓͷײΛड़Δ • ࡉ͔͘ॻ͘ɺҙͷॲཧΛ࣮ߦ͢Δͷ͕ۤखͦ͏ • ಛʹ"VUP(FOΑΓίʔυΛॻ͍࣮ͯߦ͢Δͷ͕PQUJPOBMѻ͍ •
ભҠΛ໌֬Խ͢Δ͜ͱͰɺ੍ޚ͕༰қʹͳΔ • ͋Δఔɺܾ·ͬͨۀϑϩʔͷࣗಈԽͰޮՌΛൃشͦ͠͏
·ͱΊ • -BOH(SBQIͷجຊతͳߏͱɺϚϧνΤʔδΣϯτͷࡍͷߏ ʹ͍ͭͯ؆୯ʹհ • ॲཧͷखॱΛৄࡉʹղઆɺΠϝʔδ͕͍ͨΒ͍Ͱ͢