Cloudflare Workers AI
wrangler CLI で **Cloudflare の
workers-sdk テンプレート(cloudflare/workers-sdk/templates)を使う方法は、
👉 GitHub のテンプレートを指定してプロジェクトを生成します。💡
🚀 方法①(最も簡単・公式推奨)
✅ wrangler の init でテンプレート指定
npx wrangler init my-worker --from cloudflare/workers-sdk/templates/hello-world
🔹 TypeScript 版なら
npx wrangler init my-worker --from cloudflare/workers-sdk/templates/hello-world-ts
📦 方法② GitHub から直接クローン
git clone https://github.com/cloudflare/workers-sdk.git
cd workers-sdk/templates/hello-world
npm install
👉 ただし不要なファイルも多いので①推奨
🧠 よく使われるテンプレート一覧
⭐ 最小構成(初心者向け)
hello-world
hello-world-ts
⭐ Web アプリ系
worker-sites
scheduled-worker
queue-consumer
durable-object
⭐ AI / API 系
ai
openapi
⚙️ プロジェクト作成後
cd my-worker
npm install
npx wrangler dev
👉 ローカル起動 🌐
☁️ デプロイ
npx wrangler deploy
❗ 重要:Wrangler v3以降
古い記事のコマンドは動かないことがあります。
最新版では:
-
--type→ 廃止 -
--from→ 使用
🏆 一番おすすめ(2026年)
👉 TypeScript + 最小構成
npx wrangler init my-worker \
--from cloudflare/workers-sdk/templates/hello-world-ts
💥 もしAIやSaaSを作るなら
用途別の最適テンプレ:
-
🤖 AI API →
ai -
🧠 Durable Object →
durable-object -
⏰ 定期処理 →
scheduled-worker -
📦 キュー処理 →
queue-consumer
必要なら👇
✅ 「Cloudflare Workers 最短公開手順(2026完全版)」
✅ 「AI SaaSをWorkersだけで作る構成」
✅ 「Vercelより高速な構成テンプレ」
✅ 「Next.jsをWorkersに最適化する方法」
も具体的に解説できます。
Wrangler CLIでCloudflare Workers SDKのテンプレートを使う方法を説明します。
基本コマンド
npm create cloudflare@latest
または
npx create-cloudflare@latest
テンプレートを指定する場合
npm create cloudflare@latest my-ai-app – –template=
npm create cloudflare@latest my-app -- --template <テンプレート名またはURL>
GitHubリポジトリのテンプレートを直接指定
# cloudflare/workers-sdk の特定テンプレートを使う
npm create cloudflare@latest my-app -- --template cloudflare/workers-sdk/templates/hello-world
# またはフルURLで指定
npm create cloudflare@latest my-app -- --template https://github.com/cloudflare/workers-sdk/tree/main/templates/hello-world
主なテンプレート一覧
| テンプレート名 | 用途 |
|---|---|
hello-world |
基本的なWorker |
hello-world-durable-object |
Durable Objects |
hello-world-python |
Python Worker |
worker-assets-react |
React + Assets |
worker-assets-vue |
Vue + Assets |
scheduled-worker |
Cron Triggers |
worker-websocket |
WebSocket |
openapi |
OpenAPI仕様のAPI |
対話形式で選ぶ場合
npm create cloudflare@latest
を実行すると、プロジェクト名・テンプレートの種類をインタラクティブに選択できます。
wrangler init(非推奨)
古いバージョンでは wrangler init が使われていましたが、現在は create-cloudflare (C3) の使用が推奨されています。
# 非推奨(古い方法)
wrangler init my-worker
テンプレートの全リストは以下で確認できます: https://github.com/cloudflare/templates
🏆 目的
👉 AIに質問 → 回答が返る Worker を作る
使用:Cloudflare Workers AI
🧭 事前準備(まだなら)
Node.js 確認
node -v
Wrangler(CLI)確認
npx wrangler --version
Cloudflareログイン
npx wrangler login
👉 ブラウザが開く → 許可
🏆 ① Worker プロジェクト作成
npm create cloudflare@latest
表示された質問に回答
Project name:
→ ai-worker
What would you like to start with?
→ Worker only
Which language?
→ TypeScript(推奨)
🏆 ② フォルダ移動
cd ai-worker
🏆 ③ AIサンプルコードを書く
src/index.ts を開いて全削除 → これを貼る
interface Env {
AI: any
}
export default {
async fetch(
request: Request,
env: Env
): Promise<Response> {
const result = await env.AI.run(
"@cf/meta/llama-3-8b-instruct",
{
prompt: "AIとは何かを簡単に説明して"
}
)
return Response.json(result)
}
}
このコードは、Cloudflare Workers AI という機能を使って、ブラウザなどからアクセスがあった際に AI(Llama 3)に質問し、その回答を返すという最小構成のプログラムです。
各パーツがどのような役割を持っているか、分解して解説します。
1. 型定義セクション
TypeScript
interface Env {
AI: any
}
-
役割: Worker が使用できる「外部ツール(バインディング)」を定義しています。
-
詳細: Cloudflare Workers では、環境変数や AI 機能、データベースなどはすべて
envというオブジェクトの中にまとめられて渡されます。ここでは「envの中にはAIという名前のツールが入っているよ」と TypeScript に教えています。- ※本来は
Aiという専用の型がありますが、anyと書くことで「何でもOK」としてエラーを回避しています。
- ※本来は
2. メイン処理(fetch ハンドラー)
TypeScript
export default {
async fetch(
request: Request,
env: Env
): Promise<Response> {
-
export default: このファイルが Worker のメインプログラムであることを示します。 -
fetch関数: HTTP リクエスト(ブラウザからのアクセスなど)が発生したときに自動的に実行される関数です。-
request: 届いたリクエストの情報(URLやヘッダーなど)。 -
env: 先ほど定義したEnvオブジェクト。ここに AI 機能が入っています。
-
3. AI への命令セクション
TypeScript
const result = await env.AI.run(
"@cf/meta/llama-3-8b-instruct",
{
prompt: "AIとは何かを簡単に説明して"
}
)
-
env.AI.run(...): 実際に AI モデルを呼び出す命令です。 -
@cf/meta/llama-3-8b-instruct: 使用する AI モデルの ID です。Meta 社が開発した最新の軽量・高性能モデル「Llama 3」の 80 億パラメータ版を指定しています。 -
prompt: AI に投げる「お題」です。 -
await: AI が回答を生成するまでには少し時間がかかるため、完了するまでここで待機します。
4. レスポンス(返却)
TypeScript
return Response.json(result)
-
役割: AI から返ってきた結果(
result)を、JSON 形式でブラウザや呼び出し元に送り返します。 -
結果のイメージ: 成功すると、画面には
{"response": "AIとは、コンピュータに人間のような知能を持たせる技術のことです..."}といったテキストが表示されます。
全体の流れのまとめ
-
アクセス: あなたが Worker の URL にアクセスする。
-
起動:
fetch関数が動き出す。 -
依頼:
env.AI.runを通じて、Cloudflare のサーバー上で動いている Llama 3 に質問が飛ぶ。 -
回答生成: AI が文章を考える。
-
返却: 出来上がった文章が JSON としてあなたのブラウザに届く。
🏆 ④ ローカルで実行
npm run dev
または
npx wrangler dev
🏆 ⑤ ブラウザで確認
http://localhost:8787
👉 AIの回答が表示されれば成功 🎉
🏆 ⑥ 本番にデプロイ
[[npx wrangler deploy]]
発行されるURL
https://ai-worker.あなたのID.workers.dev
👉 これが公開AI API 💎
🧩 何が起きているか
ブラウザ
↓
Worker
↓
AIモデル(Cloudflare内)
↓
回答
🏆 ⑦ POSTで質問を送る版(実用)
コードをこれに変更:
interface Env {
AI: any
}
export default {
async fetch(request: Request, env: Env) {
const { prompt } = await request.json() as { prompt: string }
const result = await env.AI.run(
"@cf/meta/llama-3-8b-instruct",
{ prompt }
)
return Response.json(result)
}
}
curl テスト
curl -X POST http://localhost:8787 \
-H "Content-Type: application/json" \
-d "{\"prompt\":\"AIとは?\"}"
🏆 これで作れるもの
-
AIチャットAPI
-
業務文書生成
-
AIツール
-
SaaSの核
💎 Cloudflare AI の強み
✔ APIキー不要
✔ サーバー不要
✔ Edge高速
✔ 安価
✔ 個人開発向き
🚀 次のステップ(業務用)
👉 ここから:
-
DB保存
-
ログイン
-
管理画面
-
課金
を追加すると 本格AI SaaS
必要なら👇
🔥 「Astro + Workers + AI 完全構成の手順」
🔥 「業務用AI SaaS完成テンプレ」
🔥 「D1 + 認証付き」
🔥 「Stripe課金まで含めた完全版」
🔥 「個人で年商1億に最短のAIツール」
👉 次に作りたいものは?
(チャット/文章生成/業務AI/SaaS など)
公開できるレベルまで最短手順を出します 🚀