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
Cloudflare AgentsとAI SDKでAIエージェントを作ってみた
Search
Sato Naoya
September 26, 2025
Programming
1k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Cloudflare AgentsとAI SDKでAIエージェントを作ってみた
DevelopersIO 2025 Sapporoでの登壇です
Sato Naoya
September 26, 2025
More Decks by Sato Naoya
See All by Sato Naoya
Cloudflare Workersのユースケースと開発方法
briete
0
3.9k
【Developers.IO 2020 CONNECT】AWS CDK + Step Functions 入門
briete
0
3.3k
re:Invent 2019 サーバーレス関連アップデート
briete
0
1.1k
Other Decks in Programming
See All in Programming
任せる範囲はこう広がった / How the Scope of AI Delegation Has Expanded
nrslib
1
260
ランチタイムLT会3周年!ランチタイムLT会を3年間続けられたお話
y0hgi
1
140
「正の参照」と 「負の導出」で組む ハーネスエンジニアリング
cottpan
1
140
Laravel Boostに学ぶ、AIにPHPを書かせる技術 〜OSSの実装から蒸留するエージェント制御の王道〜
kentaroutakeda
3
440
act2-costs.pdf
sumedhbala
0
110
技術記事、 専門家としてのプログラマ、 言語化
mizchi
14
7.5k
【やさしく解説 設計編・中級 #4】ルールの寿命と、システムの年輪
panda728
PRO
2
130
PHP に部分適用が来るぞ!……ところで何それ?おいしいの? #phpcon / phpcon-2026
shogogg
0
210
継続モナドとリアクティブプログラミング
yukikurage
3
600
【SRE NEXT 2026 Lunch Session】一人目専任SREの立ち上げを加速する ― AIと進めたオンボーディングで2分を0.04秒にした話
pkshadeck
PRO
0
2.7k
PHP Application における Kubernetes 内 gRPC 通信
ganchiku
0
440
SREは、MCPとSRE Agentをこう使え!
kazumax55
0
150
Featured
See All Featured
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
240
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
230
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
190
Become a Pro
speakerdeck
PRO
31
6k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.9k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
460
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.6k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
470
4 Signs Your Business is Dying
shpigford
187
22k
The browser strikes back
jonoalderson
0
1.4k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Transcript
Cloudflare Agentsと AI SDKでAIエージェン トを作ってみた クラウド事業本部サービス開発室 佐藤直哉
⾃⼰紹介 2 • 佐藤 直哉(Sato Naoya) • 所属 ◦ クラウド事業本部サービス開発室
• 業務 ◦ サーバーサイドKotlin、Next.jsを利⽤したアプリケーション開発を担当 • 表彰 ◦ 2024 Japan AWS All Certifications Engineers ◦ 2025 Japan AWS All Certifications Engineers
はじめに 3 • 最近Cloudflareからリリースされた、Cloudflareのインフラ上でAIエージェ ントが動く、Cloudflare Agentsが⾯⽩そう • 実際に動作するエージェントを作って試してみたので、実装のTIPSなどを共 有できたらと思います
今⽇話すこと 4 • Vercel AI SDKとCloudflare Agentsを使って、メールをトリガーに起動するAI エージェントを作ってみた話
AIエージェント 5 • 与えられたToolとLLMを利⽤して、⾃律的にタスクを実⾏するシステム • Claude CodeやCursorのようなコーディングエージェントが代表的 • 例えば、コーディングエージェントは、Search(検索), Bash(シェル),
Read(ファイル読み込み), Edit(ファイル編集)などのToolを利⽤し、⾃ 律的にプログラミングを⾏ってくれるAIエージェントの⼀種
Cloudflare Agents (Agents SDK) 6 • Cloudflare上でエージェントの開発に必要な基盤機能を提供してくれる JavaScriptライブラリ • エージェント内の状態管理や独⽴した実⾏環境が提供され、Cloudflareのイ
ンフラ上でエージェントを実⾏することができる • 現在は、主に3つのエージェントを実装可能 ◦ チャットエージェント ◦ メールエージェント ◦ スケジュールエージェント
Vercel AI SDK 7 • Next.jsの開発元のVercelが開発している、様々なLLMのプロバイダーを統⼀ 的に扱うためのJavaScriptライブラリ ◦ OpenAI ◦
Anthropic ◦ Google Gemini ◦ Amazon Bedrock ◦ etc... • 各LLMプロバイダーのAPIを抽象化することで、LLMをプログラム上から簡単 に使うことができる
実際にメールをトリガーにしたAIエー ジェントを作ってみた
作成するAIエージェントの概要 9 領収書を添付したメールを送信すると、領収書を解析して⾃動的に経費登録して くれるAIエージェント • Cloudflare上にあらかじめメールアドレスを作成 • これに領収書を添付したメールを送信することで、エージェントが起動 • メールに添付された領収書をAmazon
Bedrockに送信し、テキスト情報を抽 出 • 抽出したテキストをクラウド経費システムのAPIを通して経費として登録 • 結果をSlackに通知
システム構成 10
エージェントの実装
12 • email関数を定義することで、 メールを受信したら起動する Workerを作成 • Agents SDKのrouteAgentEmail 関数を利⽤し、引数に起動する エージェントのクラス名を設定
することで、エージェントを起 動 Cloudflare Workersのエントリーポイント
13 • Agents SDKのAgentクラスを継 承したクラスを作成 • onEmailメソッドを作成するこ とで、引数にメールのrawデータ が渡される •
この関数の中で具体的なエー ジェントの処理を記述していく エージェントクラスの作成
14 • AI SDKのgenerateText関数を利 ⽤して、Bedrock経由で領収書 のテキストを抽出 • プロンプトには領収書の内容を 抽出するための具体的なテキス トと添付された領収書のバイナ
リデータを設定 • textには領収書の内容が抽出さ れたテキストが返される 領収書のテキストを抽出する
15 • AI SDKのgenerateObject関数を 利⽤して、抽出した領収書のテ キストをJSON形式に変換 • schemaには変換するJSONのス キーマを設定 •
プロンプトには先ほど抽出した 領収書のテキストを設定するこ とで、objectにスキーマに沿っ た形でJSONが返される 抽出した領収書のテキストをJSON形式に変換
16 • AI SDKのtool関数を利⽤し、 ツールを定義する • description: LLMがこのToolを 利⽤する際に参考にするための 説明
• inputSchema: このToolを利⽤ する際に必要なパラメーターを zodで定義 • execute: LLMがこのToolを利⽤ した際に実⾏される関数。引数 にはinputSchemaで定義したパ ラメーターが渡される 経費登録Toolの実装
17 • AI SDKのgenerateText関数の toolsに先ほど作成したtoolを渡 す • promptには、toolを実⾏させる ための具体的なテキストを設定 し、先程抽出した領収書のJSON
を設定 • 設定したtoolを必ず利⽤したい 場合には、toolChoiceに、 requiredを設定する Toolを利⽤して経費を登録
実際にエージェントを動かしてみた
19 実際に過去、経費登録したタクシーの 領収書を使って実験してみました 利⽤した領収書
20 • Cloudflare上で作成したメール アドレスに対して、領収書を添 付して送信 • Workerのログを⾒てみると、か なり正確に領収書の内容が抽出 されてJSON形式に変換されてい るがわかります。
メールに領収書を添付して送信
領収書の内容が経費として登録されている 21 • このJSONデータがTool経由でAPI連携 • 利⽤しているクラウド経費システムの⼀覧画⾯に登録されていることを確認
まとめ 22 • Agents SDKがCloudflare上でエージェントを実⾏するための基盤機能を提供 してくれるため、開発者はインフラについてはほとんど意識する必要がな く、エージェントの実装に集中することができる • 今回はお試しで経費登録⾃動化エージェントを作成してみましたが、アイデ アによってはいろいろできそうで夢が広がります。
参考資料 23 • Cloudflare Agents • Cloudflare Agents Documentation •
Vercel AI SDK Core
None