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
peisuke
January 30, 2024
Technology
14
4.7k
LangGraphで始めるマルチエージェントシステム
生成AI新年会2024 LT資料
LangGraphで始めるマルチエージェントシステム
peisuke
January 30, 2024
Tweet
Share
More Decks by peisuke
See All by peisuke
VGGT: Visual Geometry Grounded Transformer
peisuke
1
1.2k
AI for Kids:小学生に画像認識を教えてみた話
peisuke
1
52
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
810
TTS Skins: Speaker Conversion via ASR
peisuke
0
420
A Quantum Computational Approach to Correspondence Problems on Point Sets
peisuke
0
750
F0-Consistent Many-to-many Non-parallel Voice Conversion via Conditional Autoencoder
peisuke
0
230
Other Decks in Technology
See All in Technology
re:Inventに行くまでにやっておきたいこと
nagisa53
0
820
パフォーマンスチューニングのために普段からできること/Performance Tuning: Daily Practices
fujiwara3
2
180
Observability — Extending Into Incident Response
nari_ex
1
610
20251102 WordCamp Kansai 2025
chiilog
0
240
東京大学「Agile-X」のFPGA AIデザインハッカソンを制したソニーのAI最適化
sony
0
180
어떤 개발자가 되고 싶은가?
arawn
1
320
GCASアップデート(202508-202510)
techniczna
0
140
新米エンジニアをTech Leadに任命する ー 成長を支える挑戦的な人と組織のマネジメント
naopr
1
310
激動の時代を爆速リチーミングで乗り越えろ
sansantech
PRO
1
190
OpenCensusと歩んだ7年間
bgpat
0
270
20251029_Cursor Meetup Tokyo #02_MK_「あなたのAI、私のシェル」 - プロンプトインジェクションによるエージェントのハイジャック
mk0721
PRO
6
2.1k
Raycast AI APIを使ってちょっと便利なAI拡張機能を作ってみた
kawamataryo
0
220
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
190
55k
Building Applications with DynamoDB
mza
96
6.7k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
Speed Design
sergeychernyshev
32
1.2k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Balancing Empowerment & Direction
lara
5
710
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
Building a Scalable Design System with Sketch
lauravandoore
463
33k
jQuery: Nuts, Bolts and Bling
dougneiner
65
7.9k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
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ͷجຊతͳߏͱɺϚϧνΤʔδΣϯτͷࡍͷߏ ʹ͍ͭͯ؆୯ʹհ • ॲཧͷखॱΛৄࡉʹղઆɺΠϝʔδ͕͍ͨΒ͍Ͱ͢