Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Functional APIから再考するLangGraphを使う理由
Search
os1ma
March 13, 2025
Programming
1.1k
5
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Functional APIから再考するLangGraphを使う理由
イベントページ:
https://studyco.connpass.com/event/346953/
os1ma
March 13, 2025
More Decks by os1ma
See All by os1ma
9月24日発売!書籍『LLMアプリケーション評価駆動開発』の歩き方 - 書籍紹介 - 第2部「実践編」
os1ma
3
380
そのAIエージェント、役に立っていますか?―AIエージェントの評価を小さく始めるためのヒント
os1ma
2
720
コーディングエージェントのハーネスから見る、AIエージェントの現在
os1ma
2
310
これだけで丸わかり!LangChain v1.0 アップデートまとめ
os1ma
6
3.1k
Claude Codeが働くAI中心の業務システム構築の挑戦―AIエージェント中心の働き方を目指して
os1ma
10
7.4k
LangChain Interrupt & LangChain Ambassadors meetingレポート
os1ma
2
1.1k
AIエージェントのフレームワークを見るときの個人的注目ポイント
os1ma
1
1k
Cursor AgentによるパーソナルAIアシスタント育成入門―業務のプロンプト化・MCPの活用
os1ma
16
10k
AIエージェントキャッチアップと論文リサーチ
os1ma
7
2.1k
Other Decks in Programming
See All in Programming
更なる可用性を求めて、5年間運用したKotlinのアプリケーションをGoでリプレイスする話
ken_tunc
0
390
個人開発基盤をまるごとCloudflareに引っ越して爆速で総合的体験を向上させた話
tinykitten
0
210
そのリトライ、死んだコネクションを使い回していませんか ── GoのHTTPクライアントとHTTP/2を実プロダクト障害から学び直す
myus4a
0
300
【高い買い物LT会】初任給で話題の国産フィジカルAIを買った話
akagami
PRO
0
170
すこし踏み込む CancellationToken
htkym
2
1.3k
Are APIs Still Relevant in the AI Era?
soyuka
0
330
AI が書く Go コードの品質を劇的に向上させる Linter: “declscope”
mpyw
0
440
モジュールの視点からSwiftを読み解く #iosdc
s_shimotori
0
200
AGENTS.md Is Not Enough:Build Skills, Don't Download Them
lx_t
0
130
AWS DevOps Agentで インシデント対応をAIに任せたい
honmarkhunt
7
3.3k
AWSに止められる覚悟してますか?
morizo_1984
2
450
20260914 AIエージェント時代のPlatform Engineering LLM基盤とプロダクトの責務境界線
kanfab1
7
2.2k
Featured
See All Featured
Why Our Code Smells
bkeepers
PRO
340
58k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
530
What does AI have to do with Human Rights?
axbom
PRO
1
2.4k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
4 Signs Your Business is Dying
shpigford
187
23k
Ruling the World: When Life Gets Gamed
codingconduct
0
370
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
Paper Plane (Part 1)
katiecoart
PRO
2
11k
The agentic SEO stack - context over prompts
schlessera
0
940
Designing for Performance
lara
611
70k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
250
Transcript
2025/3/13 #StudyCo Functional APIから再考する LangGraphを使う理由
自己紹介 大嶋勇樹(おおしまゆうき) https://x.com/oshima_123 株式会社ジェネラティブエージェンツ取締役CTO/Co-founder 大規模言語モデルを組み込んだアプリケーションやAIエージェントの開発を実施 個人ではエンジニア向けの勉強会開催やUdemy講座の作成など 勉強会コミュニティStudyCo運営 「ChatGPT/LangChainによるチャットシステム構築[実践]入門」(共著) 「LangChainとLangGraphによるRAG・AIエージェント[実践]入門」(共著)
会社名 株式会社ジェネラティブエージェンツ (英文:Generative Agents, Inc.) 所在地 東京都港区 ※ 全社員リモート勤務 役員構成
CEO 西見 公宏 COO 吉田 真吾 CTO 大嶋 勇樹 設立年月 2024年3月14日 事業内容 AIエージェント技術を軸とした生成 AIアプリケーション開発 支援、コンサルティング、教育・研修サービスの提供 生成AIアプリケーション開発支援 「LangChain」の公式エキスパートとして、生成AIを活用したソフトウェ ア開発を支援します。生成AIを活用した課題解決、新規事業に向けたコン サルティングサービス、チームの開発力を上げる教育・研修サービスを提 供します。 ノーコードツール「Dify」のプロサポート Difyとはチャットボット、文章要約やコンテンツ生成など、多彩なワーク フローを現場の社員自ら構築できるツールです。当社はDifyを提供する LangGenius社の公式パートナーとして、自社内のDifyインフラ構築、導入 支援・オンボーディング、活用定着支援、アプリ開発研修などニーズに応 じたプロフェッショナルサポートを提供します。 株式会社ジェネラティブエージェンツ - 会社概要 AIエージェントが「ハブ」となり 人間とAIエージェントの協働が 当たり前になる世界を実現する
代表取締役CEO / Founder 西見 公宏 Masahiro Nishimi 事業会社の顧問CTOとして活動するソフトウェア開発のスペシャリス ト。AIエージェントを経営に導入することにより、あらゆる業種業態の 生産性を高めるための活動に尽力している。
「その仕事、AIエージェントがやっておきました。――ChatGPTの次に 来る自律型AI革命」(技術評論社)単著、Software Design「実践LLMア プリケーション開発」(技術評論社)連載。 主な著書 『その仕事、AIエージェントがやっておきました』 取締役COO / Co-founder 吉田 真吾 Shingo Yoshida AWS Serverless Heroとして日本におけるサーバーレスの普及を促進。 「ChatGPT/LangChainによるチャットシステム構築[実践]入門」(技 術評論社)共著、「Azure OpenAI ServiceではじめるChatGPT/LLMシス テム構築入門」(技術評論社)共著、「AWSによるサーバーレスアーキ テクチャ」(翔泳社)監修、「サーバーレスシングルページアプリケー ション」(オライリー)監訳、「AWSエキスパート養成読本」(技術評 論社)共著。ChatGPT Community(JP)主催 主な著書 『ChatGPT/LangChainによるチャットシステム構築[実践]入門』 『Azure OpenAI ServiceではじめるChatGPT/LLMシステム構築入門 エンジニア選書』 取締役CTO / Co-founder 大嶋 勇樹 Yuki Oshima 大規模言語モデルを組み込んだアプリケーションやAIエージェントの開 発を実施。 個人ではエンジニア向けの勉強会開催や教材作成など。オンラインコー スUdemyではベストセラー講座多数。 「ChatGPT/LangChainによるチャットシステム構築[実践]入門」(技 術評論社)共著。勉強会コミュニティStudyCo運営。 主な著書 『ChatGPT/LangChainによるチャットシステム構築 [実践]入門』 運営メンバー
2025/3/13 #StudyCo Functional APIから再考する LangGraphを使う理由
LangGraphとは LangGraphは、LLMを組み込んだ複雑なワークフローを実装するためのフレームワークです LangGraphでは、ワークフローを「グラフ」として実装して実行します https://blog.langchain.dev/code-execution-with-langgraph/
LangGraphの従来の実装方法―Graph API LangGraphの従来の実装方法(Graph API)では、ワークフローを持ち回るStateを定義したうえで、 add_node・add_edgeといった関数でグラフ構造を実装します
LangGraphの新しい実装方法―Functional API LangGraphの新しい実装方法(Functional API)では、@task・@entrypointデコレーターを使い、 通常のPythonのプログラムに近いコードでワークフローを実装します ※Functional APIはアナウンス時はBeta機能でしたが、2月19日に公式ドキュメントから「Beta」の記載が削除されています
想定される疑問点 Functional APIでは通常のPythonのプログラムに近いコードでワークフローを実装できますが、 それでは通常のPythonのプログラムではなくLangGraphを使う理由はどこにあるのでしょうか? (これは実際にはGraph APIでも言える疑問点です) ノード(@task)という単位でプログラムを整理できる? →通常のプログラムでもできるので、フレームワークを使うほどの理由にはならないかもしれません LangSmithのトレースがノードごとにまとまって見やすくなる? →LangGraphを使わなくても、LangSmithのトレースは自由な単位でまとめられます(@traceable)
それではLangGraphを使う理由はどこにあるのでしょうか?
LangGraph Functional APIでの実装上の注意 LangGraph Functional APIで@taskをつけた関数は、Checkpointerの記録の単位として扱われます ここで注目すべき点として、LangGraph Functional APIでの実装上の注意があります ヒューマン・イン・ザ・ループのような機能を活用するには、あらゆるランダム性をタスク内にカ
プセル化する必要があります。これにより、実行が停止(例:ヒューマン・イン・ザ・ループのた め)され、その後再開された場合でも、タスクの結果が非決定的であっても、同じステップのシー ケンスに従うことが保証されます。 https://langchain-ai.github.io/langgraph/concepts/functional_api/#determinism の記述をClaude 3.7 Sonnetにより翻訳
LangGraphのCheckpointerとは LangGraphでは各ノード(@task)の実行結果をCheckpointerに記録します たとえばgenerate_draft_nodeの実行結果はCheckpointerに記録されるため、 次のhuman_feedback_nodeで人間の介入のために処理を中断したとしても、 人間の介入後にCheckpointerから値を取得して続きから処理を再開できます Checkpointerを活用することで、以下の処理を実現できます • Human-in-the-Loop ワークフローを中断し、人間の介入後に続きから処理を再開する •
Fault-tolerance ワークフローをエラーが発生したステップから再開する
Functional APIにおけるHuman-in-the-Loopの動作 LangGraphではCheckpointerによる処理の進行状況の記録によりHuman-in-the-Loop等を実装でき、 これはPythonで単純にワークフローを実装した場合と異なる点だと言えます 最初のworkflowの実行時 generate_draftを実行し、 結果をCheckpointerに保存 interrupt関数により 人間のフィードバックを待つ 人間のフィードバック後、
続きからのworkflowの実行時 実行済みのgenerate_draftの 結果はCheckpointerから取得 interruptの結果として 人間のフィードバックを得る brushupを実行
まとめ • LangGraphの大きな特徴として、Checkpointerによるワークフローの進行状況の記録と、 Checkpointerを応用したHuman-in-the-Loop等の実装が挙げられます • LLMエージェントのフレームワークでは、Human-in-the-Loopの実現方法は重要な論点であり、 処理の進行状況をどのように保存・復元するかは考えどころです (ちなみにHumanLayerというAPI・SDKは、LangGraphとは異なる方針でHuman-in-the-Loopを実現しています) 通常のPythonプログラムではなくなぜフレームワークを使うのか?を再考することは、 LLMエージェント実装時の論点の発見に繋がるかもしれません
ご清聴ありがとうございました