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
270
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
Amazon Bedrockで実現する 新たな学習体験
kzkmaeda
1
410
Welcome to the LLM Club
koic
0
140
GeminiとNotebookLMによる金融実務の業務革新
abenben
0
170
ObsidianをMCP連携させてみる
ttnyt8701
2
140
PHPでWebブラウザのレンダリングエンジンを実装する
dip_tech
PRO
0
180
UIテスト自動化サポート- Testbed for XCUIAutomation practice
notoroid
0
120
Node-RED × MCP 勉強会 vol.1
1ftseabass
PRO
0
100
より良いプロダクトの開発を目指して - 情報を中心としたプロダクト開発 #phpcon #phpcon2025
bengo4com
1
410
CSS、JSをHTMLテンプレートにまとめるフロントエンド戦略
d120145
0
240
LinkX_GitHubを基点にした_AI時代のプロジェクトマネジメント.pdf
iotcomjpadmin
0
160
プロダクトエンジニアリング組織への歩み、その現在地 / Our journey to becoming a product engineering organization
hiro_torii
0
110
VCpp Link and Library - C++ breaktime 2025 Summer
harukasao
0
220
Featured
See All Featured
What's in a price? How to price your products and services
michaelherold
245
12k
Rails Girls Zürich Keynote
gr2m
94
14k
BBQ
matthewcrist
89
9.7k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Writing Fast Ruby
sferik
628
61k
Unsuck your backbone
ammeep
671
58k
Designing for humans not robots
tammielis
253
25k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
How to train your dragon (web standard)
notwaldorf
92
6.1k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.8k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.5k
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 . . . !