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
1
130
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
StotybookからはじめるVRT -個人開発編-
arrow2nd
1
950
プラクティスの名前は言わない方がいい / Not to mention the name of the practice
3l4l5
8
3.2k
一歩ずつ成長しながら進める ZOZOの基幹システムリプレイス/Growing Stap by Stap ZOZO BackOffice System Replacement
cocet33000
3
970
# Azure Cosmos DB パフォーマンス最適化入門 - 設計・開発・運用の実践テクニック
shibayan
0
170
AWSにおけるサイバー攻撃の傾向と具体的な対策
yuobayashi
6
250
コンテナ上シェル悪用の話とPure Bashでcurlが作れた話
ryotosaito
2
300
越境するプロダクトエンジニアリング
liaoziyang
0
160
社内でKaggle部を作って初学者育成した話
daikon99
1
240
Microsoft_20250311_第2回AI_IoT共創ラボ.pdf
iotcomjpadmin
0
400
スクラムというコンフォートゾーンから抜け出そう!プロジェクト全体に目を向けるインセプションデッキ / Inception Deck for seeing the whole project
takaking22
4
510
組織のスケールを見据えたプロジェクトリードエンジニア制度の実践 / Project Lead Engineer for Scaling Engineering Organization
ohbarye
9
2.6k
VPoEの引き継ぎでやったこと、わかったこと
saitoryc
2
1k
Featured
See All Featured
Music & Morning Musume
bryan
46
6.4k
Done Done
chrislema
182
16k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
28
2k
Visualization
eitanlees
146
15k
The Pragmatic Product Professional
lauravandoore
32
6.4k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
22
2.5k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Stop Working from a Prison Cell
hatefulcrawdad
268
20k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.2k
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.4k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
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 . . . !