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を使ったAIエージェント実装
Search
Yukl
March 15, 2025
Technology
2
380
LangGraphを使ったAIエージェント実装
2025/03/11 Global AI BootCamp - AOAI Dev Day プレイベントで使用した資料です
Yukl
March 15, 2025
Tweet
Share
Other Decks in Technology
See All in Technology
顧客との商談議事録をみんなで読んで顧客解像度を上げよう
shibayu36
0
130
日本語テキストと音楽の対照学習の技術とその応用
lycorptech_jp
PRO
1
410
【インシデント入門】サイバー攻撃を受けた現場って何してるの?
shumei_ito
0
1.5k
オープンウェイトのLLMリランカーを契約書で評価する / searchtechjp
sansan_randd
3
640
Tebiki Engineering Team Deck
tebiki
0
24k
SREじゃなかった僕らがenablingを通じて「SRE実践者」になるまでのリアル / SRE Kaigi 2026
aeonpeople
6
2k
プロポーザルに込める段取り八分
shoheimitani
0
150
プロダクト成長を支える開発基盤とスケールに伴う課題
yuu26
3
1.1k
ZOZOにおけるAI活用の現在 ~開発組織全体での取り組みと試行錯誤~
zozotech
PRO
4
4.7k
Deno・Bunの標準機能やElysiaJSを使ったWebSocketサーバー実装 / ラーメン屋を貸し切ってLT会! IoTLT 2026新年会
you
PRO
0
280
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
3.8k
コスト削減から「セキュリティと利便性」を担うプラットフォームへ
sansantech
PRO
3
1.2k
Featured
See All Featured
Building Applications with DynamoDB
mza
96
6.9k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
88
The SEO identity crisis: Don't let AI make you average
varn
0
62
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
Building AI with AI
inesmontani
PRO
1
670
HDC tutorial
michielstock
1
350
Facilitating Awesome Meetings
lara
57
6.7k
How Software Deployment tools have changed in the past 20 years
geshan
0
32k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
110
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
50
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.6k
Transcript
Azure AI Developers Community(JP) #AzureAIDevJP LangGraphを使ったAIエージェント実装 yukl 2025/3/11(Tue) 1
Azure AI Developers Community(JP) Azure AI Developers Community(JP) #AzureAIDevJP 今⽇話す内容
LangGraphの使い⽅や使⽤感 2 LangGraphを使⽤するまでの過程
Azure AI Developers Community(JP) Azure AI Developers Community(JP) #AzureAIDevJP 岩城
祐作 (@yukl_dev) 会社 株式会社情報戦略テクノロジー 趣味 お笑いを⾒に⾏く フットサル 勉強会、AI Azure AI Engineer Associate Azure Solutions Architect Expert ⾃⼰紹介 学⽣時代 • 機械学習×電⼒需給 の研究 • お笑い芸⼈さんのレコメンドサービス 1現場⽬: ネット銀⾏ • 代理集⾦サービスの設計‧開発‧本番運⽤ • 少⼈数のスクラム開発 • インフラBCP対応の設計と移⾏準備 • 技術スタック: Terraform, TypeScript / JavaScript, Swift, Kotlin, GraphQL, React, Node.js, Azure 2現場⽬: メガバンク • ⽣成AIを使ったサービス開発と本番化⽀援 • エージェント、バーチャルヒューマン、⾯談記録AI 等 • 技術スタック: Python, TypeScript / JavaScript, Swift, Next.js, React, LangChain, Streamlit, Node.js, AWS, Azure Azure Administrator Associate
Azure AI Developers Community(JP) Azure AI Developers Community(JP) #AzureAIDevJP ⽬次
1. AIエージェントって? a. 従来の⽣成AIサービスの課題 b. Anthropic社のペーパーから捉える c. 企業導⼊における課題 d. 専⾨知識の習得⽅法の移り変わり e. パターンごとに詳細化 2. エージェントシステムについて詳しく 3. 具体的な実装(LangChain LangGraph)
Azure AI Developers Community(JP) #AzureAIDevJP AIエージェントって? 5
Azure AI Developers Community(JP) Azure AI Developers Community(JP) #AzureAIDevJP 従来の⽣成AIサービスの課題
従来の⽣成AIサービス - 精度やサービスの進化は⽬覚ましく、全体的に能⼒も⾼い! ただ、まだ利⽤に労⼒がかかる。普及が進まない😭 - ユーザーの使いこなす技術に依存… - 品質も求めると結構⼿間がかかる… - ⼈間の指⽰で動作する受⾝な部分は、 従来のコンピュータへの命令(プログラム)と変わらない… 総務省の2024年版情報通信白書によると、 生成AIを利用する個人は 9.1%… (https://www.soumu.go.jp/johotsusintokei/whitepaper/r06.html)
Azure AI Developers Community(JP) Azure AI Developers Community(JP) #AzureAIDevJP 7
最近の”⽣成AI”って ⾃分で考えようとしないよね… 「指⽰待ちAI」 なんだか理想的なやつ🤖 「自律的な AIエージェント」
Azure AI Developers Community(JP) Azure AI Developers Community(JP) #AzureAIDevJP AIエージェント
定義はさまざま • “⾃律的”に”⽬標遂⾏”するシステム? • ⼀定の業務を代替するような、”より⾼度な”システム? studycoさんの「いまこそ学ぶ LLMベースのAIエージェント入門」より https://www.youtube.com/watch?v=uxt0w_u4EwM
Azure AI Developers Community(JP) Azure AI Developers Community(JP) #AzureAIDevJP Anthropic社によると
Anthropic社の「Building effective agents」では、 “ワークフロー”と”エージェント”という枠組みでエージェント技術を、 ”エージェントシステム”として捉える 「エージェントシステム」 • ワークフロー: LLMとツールが事前定義されたコードパスに従って連 携するシステム • エージェント: LLMが⾃律的にプロセスやツールの使⽤を決定し、タ スクを遂⾏するシステム https://www.anthropic.com/engineering/building-effective-agents
Azure AI Developers Community(JP) Azure AI Developers Community(JP) #AzureAIDevJP 企業導⼊でつまづくことの1つ
期待値(要望) : ⾃律的✨ 実際のフィードバック : ワークフロー観点 (必ずA処理を経由するようプロンプト調整…) エージェントシステム開発はどこに向かって進んでいけば良いか? → LLM普及の流れから捉えていく 10
Azure AI Developers Community(JP) Azure AI Developers Community(JP) #AzureAIDevJP LLMの普及
LLMの凄さは何だったか。 ⼈っぽい回答、⾃然⾔語の⽂法理解、を超えた「知のコンテキスト」 = データ世界上の⼀般知識に皆がアクセスできる(基盤モデル) 11
Azure AI Developers Community(JP) Azure AI Developers Community(JP) #AzureAIDevJP 作りたいのは価値あるシステム
LLMを使わなくたって実装はできる - エキスパートシステム(細かくロジックで制御) - 機械学習的なアプローチ けど、コストがかかる - ⼤量のロジックで、データで、本来与えたい⽤途に合った知識(専⾨ 知識)だけでなく、⼀般知識も覚えさせないといけない。 余計なコスト(⼀般知識習得)でなく、本来の⽬的(専⾨知識)に集 中! 12
Azure AI Developers Community(JP) Azure AI Developers Community(JP) #AzureAIDevJP 専⾨知識の習得⽅法の変化
基盤モデルの進化(汎⽤化)によって、専⾨知識の習得⽅法も変化 機械学習時代 : 教師データ LLM時代 : プロンプト(RAG) 次の時代 : ?? 13
Azure AI Developers Community(JP) Azure AI Developers Community(JP) #AzureAIDevJP みんな使う”考える”がAIで扱う領域に。(inference→reasoning)
- 独⾃の考え⽅している⼈ってどれくらいいるのか? (⾃⼰啓発系の本に書かれていることってギュッとまとめられそう) - 汎⽤化された”考える”処理に⾃社情報を埋め込むスタイルに? “考える”処理に渡す情報、処理ロジックを⼯夫すること。 これが、次の専⾨知識の習得⽅法なのかも。 次の時代の専⾨知識の習得 14
Azure AI Developers Community(JP) Azure AI Developers Community(JP) #AzureAIDevJP “考える”処理に渡す情報、処理ロジックを⼯夫する時代
MCPが話題になる流れも近い。 - 専⾨知識の肝であるツールとの統合を抽象化。 - よりLLMはツール利⽤と密接的に。 AiHUBの⽅も⾔っていた キャラの独⾃性を決めているのは裏にある処理ロジックの組み合わせ (ワークフロー) 15
Azure AI Developers Community(JP) Azure AI Developers Community(JP) #AzureAIDevJP 結論:
エージェントシステム開発はどこに向かうべき? 専⾨性を持った⾃律性の構築か 専⾨性をワークフローで表現か - ⼤抵の企業導⼊では、愚直にワークフローに落とし込むことが⼤事 (⼈でなく業務の代替、評価もしやすい) - エージェントシステム開発するなら、ワークフローを組み合わせた制 御性を伴った⾃律性の構築がもとめられる (ワークフローを資産とする) 16
Azure AI Developers Community(JP) #AzureAIDevJP エージェントシステムをより詳しく 17
Azure AI Developers Community(JP) Azure AI Developers Community(JP) #AzureAIDevJP LLMの拡張
情報取得(Retrieval)、ツール利用(Tool Usage)、 記憶(Memory)などを構成要 素として拡張。 ユースケース: 顧客からの問い合わせに対して、最新の製品情報を検索し、迅速に回答する。 など
Azure AI Developers Community(JP) Azure AI Developers Community(JP) #AzureAIDevJP ワークフロー:
プロンプトの連鎖 タスクを⼀連のステップに分解し、LLM呼び出しの出⼒を使って後続の LLM呼び出しの処理をする。 ユースケース: 文書の概要を作成し、基準値以上か評価、概要に基づいて文書生成 など
Azure AI Developers Community(JP) Azure AI Developers Community(JP) #AzureAIDevJP ワークフロー:
ルーティング ⼊⼒を分類し、それを後続の専⾨的な処理に誘導する。 ユースケース: カスタマーサービス。など
Azure AI Developers Community(JP) Azure AI Developers Community(JP) #AzureAIDevJP ワークフロー:
並列化 タスクを同時に処理し、その出⼒を集約する。 ユースケース: さまざまな側面で評価し、最終的にコンテンツが不適切か評価。など
Azure AI Developers Community(JP) Azure AI Developers Community(JP) #AzureAIDevJP ワークフロー:
オーケストレータ - ワーカー 中央のLLMがタスクを動的に分解、ワーカーLLMに渡し結果を合成する。 ユースケース: 毎回複数ファイルに複雑な変更を加えるコーディングプロダクト。など
Azure AI Developers Community(JP) Azure AI Developers Community(JP) #AzureAIDevJP ワークフロー:
Evaluator-optimizer LLMの応答を、別LLMがループ内で評価とフィードバックをする。 ユースケース: 文学翻訳で、翻訳者LLMが捉えきれないニュアンスを評価者LLMが批評して改 善。など
Azure AI Developers Community(JP) Azure AI Developers Community(JP) #AzureAIDevJP エージェント
ユーザー指⽰からタスクを動的に遂⾏、⾃律的にツール選択‧活⽤する。 ユースケース: LLMがコンピュータを使用してタスクを実行する。など
Azure AI Developers Community(JP) #AzureAIDevJP 具体的な実装 (LangChain LangGraph) 25
Azure AI Developers Community(JP) Azure AI Developers Community(JP) #AzureAIDevJP LangChain
LLMを使ったアプリケーション開発を効率化するためのオープンソースフレームワーク。 LLMの機能を使うだけでなく、さまざまなツールやデータソースとの統合も容易に記述でき る。 from langchain_core.prompts import PromptTemplate from langchain_core.output_parsers import StrOutputParser from langchain_openai import AzureChatOpenAI # 1. Create prompt template prompt = PromptTemplate( input_variables=["English"], template="次の単語を日本語に訳して: {English}" ) # 2. Create model model = AzureChatOpenAI(model="gpt-4o") # 3. Create parser parser = StrOutputParser() # 4. Create chain chain = prompt | model | parser chain.invoke({“English": "Hello"}) https://www.langchain.com/
Azure AI Developers Community(JP) Azure AI Developers Community(JP) #AzureAIDevJP LangGraph
LLMを活⽤し複数のエージェントが連携するアプリケーション構築のためのライブラリ 各LLMやツール間のフローをグラフ構造で管理し、制御性を伴った開発体験が可能 https://langchain-ai.github.io/langgraph/concepts/high_level/ https://www.langchain.com/langgraph
Azure AI Developers Community(JP) Azure AI Developers Community(JP) #AzureAIDevJP LangGraphで構築のエージェント事例
LinkedIn ⾃然⾔語からSQLを⽣成する 社内SQL Bot Replit 0→1でコードを⽣成する Replit Agent https://www.linkedin.com/blog/engineering/ai/practical-tex t-to-sql-for-data-analytics https://docs.replit.com/replitai/agent
Azure AI Developers Community(JP) Azure AI Developers Community(JP) #AzureAIDevJP 実装詳細や動向は以下を確認
- StudyCoさん https://www.studyco.io/ https://www.youtube.com/channel/UCRBqa8vkfHpkAThNfuHUJtQ - Azure OpenAI Service Dev Day👏 29
Azure AI Developers Community(JP) Azure AI Developers Community(JP) #AzureAIDevJP OpenAI
APPENDIX: 各社の AI 展望=知の汎⽤化の流れ https://www.multifverse.com/blog-posts/openai-agi-5-tier-progress-scale ソフトバンク https://www.softbank.jp/biz/blog/business/articles/202410/sbw2024-softbank-son-main-keynote/
Azure AI Developers Community(JP) #AzureAIDevJP オープニングオープニングオープニング 31 See You Next
Time . . . !