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
13
4.3k
LangGraphで始めるマルチエージェントシステム
生成AI新年会2024 LT資料
LangGraphで始めるマルチエージェントシステム
peisuke
January 30, 2024
Tweet
Share
More Decks by peisuke
See All by peisuke
AI for Kids:小学生に画像認識を教えてみた話
peisuke
1
17
Self-RAG: Learning to Retrieve, Generate and Critique through Self-Reflections
peisuke
9
1.5k
Mip-NeRF 360: Unbounded Anti-Aliased Neural Radiance Fields
peisuke
0
11k
LangChain Toolsの運用と改善
peisuke
4
2.6k
GNeRF: GAN-based Neural Radiance Field without Posed Camera
peisuke
1
770
TTS Skins: Speaker Conversion via ASR
peisuke
0
400
A Quantum Computational Approach to Correspondence Problems on Point Sets
peisuke
0
710
F0-Consistent Many-to-many Non-parallel Voice Conversion via Conditional Autoencoder
peisuke
0
190
YOLACT real-time instance segmentation
peisuke
1
290
Other Decks in Technology
See All in Technology
彩の国で始めよう。おっさんエンジニアから共有したい、当たり前のことを当たり前にする技術
otsuki
0
150
AIコーディングの最前線 〜活用のコツと課題〜
pharma_x_tech
3
1.9k
Spring Bootで実装とインフラをこれでもかと分離するための試み
shintanimoto
7
850
SREからゼロイチプロダクト開発へ ー越境する打席の立ち方と期待への応え方ー / Product Engineering Night #8
itkq
2
930
Cursor AgentによるパーソナルAIアシスタント育成入門―業務のプロンプト化・MCPの活用
os1ma
14
4.8k
MCPを活用した検索システムの作り方/How to implement search systems with MCP #catalks
quiver
12
6.8k
より良い開発者体験を実現するために~開発初心者が感じた生成AIの可能性~
masakiokuda
0
200
生成AIによるCloud Native基盤構築の可能性と実践的ガードレールの敷設について
nwiizo
7
970
CodePipelineのアクション統合から学ぶAWS CDKの抽象化技術 / codepipeline-actions-cdk-abstraction
gotok365
5
210
新卒エンジニアがCICDをモダナイズしてみた話
akashi_sn
2
250
アジャイル脅威モデリング#1(脅威モデリングナイト#8)
masakane55
3
230
バックオフィス向け toB SaaS バクラクにおけるレコメンド技術活用 / recommender-systems-in-layerx-bakuraku
yuya4
6
550
Featured
See All Featured
Done Done
chrislema
183
16k
Building Applications with DynamoDB
mza
94
6.3k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Stop Working from a Prison Cell
hatefulcrawdad
268
20k
Optimizing for Happiness
mojombo
377
70k
Speed Design
sergeychernyshev
29
900
Navigating Team Friction
lara
184
15k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
We Have a Design System, Now What?
morganepeng
52
7.5k
Documentation Writing (for coders)
carmenintech
69
4.7k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
135
33k
Testing 201, or: Great Expectations
jmmastey
42
7.5k
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ͷجຊతͳߏͱɺϚϧνΤʔδΣϯτͷࡍͷߏ ʹ͍ͭͯ؆୯ʹհ • ॲཧͷखॱΛৄࡉʹղઆɺΠϝʔδ͕͍ͨΒ͍Ͱ͢