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
310
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
見てわかるテスト駆動開発
recruitengineers
PRO
6
1.9k
自社製CMSからmicroCMSへのリプレースがプロダクトグロースを加速させた話
nextbeatdev
0
280
Product Management Conference -AI時代に進化するPdM-
kojima111
0
260
Vault meets Kubernetes
mochizuki875
0
130
人と組織に偏重したEMへのアンチテーゼ──なぜ、EMに設計力が必要なのか/An antithesis to the overemphasis of people and organizations in EM
dskst
6
690
Goでマークダウンの独自記法を実装する
lag129
0
230
Yahoo!広告ビジネス基盤におけるバックエンド開発
lycorptech_jp
PRO
1
300
Goss: New Production-Ready Go Binding for Faiss #coefl_go_jp
bengo4com
0
1.1k
現場が抱える様々な問題は “組織設計上” の問題によって生じていることがある / Team-oriented Organization Design 20250827
mtx2s
6
47k
Go で言うところのアレは TypeScript で言うとコレ / Kyoto.なんか #7
susisu
7
2k
知られざるprops命名の慣習 アクション編
uhyo
11
2.7k
『FailNet~やらかし共有SNS~』エレベーターピッチ
yokomachi
1
160
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
9
570
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Visualization
eitanlees
147
16k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
The Cult of Friendly URLs
andyhume
79
6.6k
GitHub's CSS Performance
jonrohan
1031
460k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
Being A Developer After 40
akosma
90
590k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
830
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
Navigating Team Friction
lara
189
15k
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 . . . !