Dynamic Workers、オープンベータ版を開始
2026年3月24日
Dynamic Workersが、すべての有料Workersユーザー向けにオープンベータ版で利用可能になりました。Workerが実行時に他のWorkerを起動し、セキュアでサンドボックス化された環境でオンデマンドでコードを実行できるようになりました。これらのWorkerはDynamic Workersと呼ばれます。
Dynamic Workersはミリ秒単位で起動するため、高速でセキュアなコード実行を大規模に行うのに適しています。
Dynamic Workersの用途
- Code Mode: LLMはコードを書くように訓練されています。多数のツール呼び出しを段階的に実行する代わりに、コードで書かれたツール呼び出しロジックを実行することで、推論トークンとコストを最大80%削減できます。
- コードを実行するAIエージェント: データ分析、ファイル変換、API呼び出し、連鎖アクションなどのタスクでコードを実行します。
- AI生成コードの実行: プロトタイプ、プロジェクト、自動化のために生成されたコードを、セキュアで分離されたサンドボックス環境で実行します。
- 高速開発とプレビュー: プロトタイプ、プレビュー、プレイグラウンドをミリ秒単位で読み込みます。
- カスタム自動化: タスクを実行し、統合を呼び出し、ワークフローを自動化するカスタムツールをその場で作成します。
Dynamic Workersの実行
Dynamic Workersは2つの読み込みモードをサポートしています:
load(code) — 一回限りのコード実行用(null IDでget()を呼び出すのと同等)
get(id, callback) — IDでDynamic Workerをキャッシュしてリクエスト間でウォーム状態を維持。同じコードが後続のリクエストを受信する場合に使用
JavaScript
export default {
async fetch(request, env) {
const worker = env.LOADER.load({
compatibilityDate: "2026-01-01",
mainModule: "src/index.js",
modules: {
"src/index.js": `
export default {
fetch() {
return new Response("Hello from a dynamic Worker");
},
};
`,
},
globalOutbound: null,
});
return worker.getEntrypoint().fetch(request);
},
};
TypeScript
export default {
async fetch(request: Request, env: Env): Promise<Response> {
const worker = env.LOADER.load({
compatibilityDate: "2026-01-01",
mainModule: "src/index.js",
modules: {
"src/index.js": `
export default {
fetch() {
return new Response("Hello from a dynamic Worker");
},
};
`,
},
globalOutbound: null,
});
return worker.getEntrypoint().fetch(request);
},
};
Dynamic Workers用ヘルパーライブラリ
Dynamic Workersでの開発を支援する3つの新しいライブラリをご紹介します:
- @cloudflare/codemode: 個別のツール呼び出しを単一の
code()ツールに置き換え、LLMが複数のAPI呼び出しを一度に調整するTypeScriptを書いて実行できるようにします。
- @cloudflare/worker-bundler: npm依存関係を解決し、ソースファイルをDynamic Workers用の読み込み可能なモジュールにバンドルします。すべて実行時に行われます。
- @cloudflare/shell: SQLiteとR2によって永続ストレージがサポートされた仮想ファイルシステムをDynamic Worker内でエージェントに提供します。
試してみる
Dynamic Workers Starter
Dynamic Workersを読み込んで実行できるWorkerをデプロイするには、このスターターを使用してください。
Dynamic Workers Playground
Dynamic Workers Playgroundをデプロイして、コードを書いたりインポートしたり、@cloudflare/worker-bundlerで実行時にバンドルし、Dynamic Workerを通じて実行し、リアルタイムの応答と実行ログを確認できます。
完全なAPIリファレンスと設定オプションについては、Dynamic Workersドキュメントを参照してください。
料金
Dynamic Workersの料金は3つの要素に基づいています:日次作成されるDynamic Workers数、リクエスト数、CPU時間。
| 項目 | 含まれる分 | 追加使用料 |
|---|
| 日次作成されるDynamic Workers | 月間1,000個のユニークDynamic Workers | Dynamic Worker1日あたり$0.002 |
| リクエスト¹ | 月間1,000万リクエスト | 100万リクエストあたり$0.30 |
| CPU時間¹ | 月間3,000万CPUミリ秒 | 100万CPUミリ秒あたり$0.02 |
¹ Workers標準料金を使用し、別途Dynamic Workers料金としてではなく、既存のWorkers請求の一部として表示されます。
注意: Dynamic WorkersのリクエストとCPU時間は既にWorkersプランの一部として請求され、WorkersのリクエストとCPU使用量にカウントされます。Dynamic Workers作成日次料金はまだアクティブではありません — 現時点では作成されたDynamic Workers数に対して請求されることはありません。料金情報は将来のコストを見積もれるよう事前に共有されています。