Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
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
0
340
Cloudflare AgentsとAI SDKでAIエージェントを作ってみた
DevelopersIO 2025 Sapporoでの登壇です
Sato Naoya
September 26, 2025
Tweet
Share
More Decks by Sato Naoya
See All by Sato Naoya
Cloudflare Workersのユースケースと開発方法
briete
0
3.5k
【Developers.IO 2020 CONNECT】AWS CDK + Step Functions 入門
briete
0
3.1k
re:Invent 2019 サーバーレス関連アップデート
briete
0
1k
Other Decks in Programming
See All in Programming
Jetpack XR SDKから紐解くAndroid XR開発と技術選定のヒント / about-androidxr-and-jetpack-xr-sdk
drumath2237
1
190
Patterns of Patterns
denyspoltorak
0
310
令和最新版Android Studioで化石デバイス向けアプリを作る
arkw
0
440
The Art of Re-Architecture - Droidcon India 2025
siddroid
0
120
バックエンドエンジニアによる Amebaブログ K8s 基盤への CronJobの導入・運用経験
sunabig
0
170
gunshi
kazupon
1
110
Kotlin Multiplatform Meetup - Compose Multiplatform 외부 의존성 아키텍처 설계부터 운영까지
wisemuji
0
120
Implementation Patterns
denyspoltorak
0
110
Rubyで鍛える仕組み化プロヂュース力
muryoimpl
0
160
ゆくKotlin くるRust
exoego
1
160
AI時代を生き抜く 新卒エンジニアの生きる道
coconala_engineer
1
420
認証・認可の基本を学ぼう後編
kouyuume
0
250
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
55
9.4k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
Abbi's Birthday
coloredviolet
0
3.7k
Thoughts on Productivity
jonyablonski
73
5k
Visualization
eitanlees
150
16k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
130
Everyday Curiosity
cassininazir
0
110
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
0
44
Tell your own story through comics
letsgokoyo
0
760
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
120
Crafting Experiences
bethany
0
22
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