
2026/09/29 0:28
Cf:Cloudflare API のためのエージェント型 CLI
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
Cloudflare は、AI エージェント向けに特別に設計された新しいコマンドラインインターフェース (CLI)「cf」をローンチし、デフォルトのインタフェースである Wrangler に取って代めます。この移行は、エージェントの使用が数%台から数週間で 48%へと急増したという状況、ならびにそれらのエージェントが要求する高いコマンド量の増加に応じるものであり、Wrangler を使用しているエージェントは以前と比較して毎日 6 コマンド以上の処理を行う際にほぼ 4 倍ほど頻繁に Wrangler を利用しています。Wrangler が約 280 の操作をサポートしているのに対し、「cf」はその機能を 3,000 を超える API 操作まで拡大し、はるかに広範な機能を提供します。
新しい CLI はコンテキストを節約し、フィルタリングを必要とする Unicode テーブルを回避するために、デフォルトで JSON(人間向けには整形済み、エージェント向けには圧縮済み)を採用しています。開発者は現在、TOML/JSONC を置き換える TypeScript ベースの設定形式(
cloudflare.config.ts)を使用できるようになり、型チェック、安全性、ならびに Claude Code などの AI コーディングアシスタント向けの LSP サポートを有効にできます。設定ファイルは defineConfig を用いてプログラム的に定義され、エージェントが環境変数の変更などを容易に編集および追跡できるようにしています。
ローカル開発のパフォーマンスは Vite およびホットモジュールリプレースメント (HMR) を採用することで向上し、内部開発サーバーを置き換え、Rust ベースの Rolldown を活用してツリーシェーキングを行います。「cf cli search」という新しい自然言語検索コマンドにより、エージェントが操作を効率的に見つけることができます。「Forge」は Cloudflare の統合 API 生成パイプラインであり、OpenAPI スキーマから直接 CLI コマンドを生成することで、製品全体で機能を標準化し、複雑なタスクに対する検証済み入力フォームやパラメータの連鎖を実現しつつコンテキストの膨張を防ぎます。
Wrangler から移行するには、Workers を
cloudflare.config.ts に変換する一方で、esbuild/Rust/Python に依存しているものはビルドを Wrangler へ委譲します。Open ベータ版終了後、Wrangler の最終的なメジャーバージョンがリリースされる予定です。Cloudflare はベータ版終了後も Wrangler に対して 18 ヶ月のメンテナンスサポートを提供し、新しいプロジェクトは「cf init」で初期化または「cf deploy」でデプロイできます。本文
Cloudflare 新 CLI「cf」の発表とエージェント対応強化
過去 1 年間で、AI エージェントによる Wrangler の利用が劇的に増大しました。2026 年 3 月時点で Wrangler 利用の 四分の一をエージェントが占めるに至っており、先週の利用度率はさらに **48%**に達しています。
- アーケントはより活発なユーザーであり、1 日に使用する一意のコマンド数は約 2 倍に増加
- 6 つ以上のコマンドを使用する可能性はほぼ 4 倍に跳ね上がり
課題と解決:新 CLI「cf」の誕生
Wrangler は約 280 のオペレーションを提供するのみであり、Cloudflare の全機能カバーには不足していました。この課題に対し、本日新たな CLI **「cf」**を正式発表しました。
「cf」の特徴
- エージェントファースト設計:独自の検索機能により、あらゆる目的で必要なコマンドを特定可能。
- JSON デフォルト:人間向けに整形出力しつつ、エージェント向けにはコンテキスト節約効果最大化の凝縮形式を提供。
- 新しい設定形式 (
):cloudflare.config.ts- TypeScript ベースで安全性と正確性を確保。
- エージェントの言語サービスプロトコル(LSP)との親和性向上。
- Vite デフォルト化:最高水準のローカル開発サーバーと、開発者向けプラグインスイートを提供。
アーキテクト革新:統一 API 生成パイプライン「Forge」
既存の実装を標準化する一方で、大規模な拡張も必要でした。Forge という新しい統一型 API 生成パイプラインによって、両者の実現が可能になりました。
- API スキーマから直接 CLI コマンド生成:
- OpenAPI スキーマを持っていたすべての機能に対して、追加情報のアノテーションだけで Forge がソースコードから CLI を自動生成。
- Wrangler の約 280 の機能を起点に、**Cloudflare API 全体(3,000 を超えるオペレーション)**をカバー可能に。
これにより、Worker のセットアップからデプロイ、監視・観測、保護、ドメイン購入、WAF フロントエンド化まで、一貫したツールだけで完結します。
アジェンツ向けの革新機能
- ゼロからの構築: エージェントを意識して設計され、近い将来標準化すると思われる革新的なコマンド発見機能を備える。
- 開発潮流への適合: エンジニアリングの潮流であるソフトウェア構築・デプロイ方法の変革に即した設計。
導入のメリットとベストプラクティス
デフォルト JSON 出力の優位性
エージェントが Wrangler を使用する際、
--json フラグを付けて jq でフィルタリングするのが一般的でしたが、一部コマンドのみ対応していたためトークンコストがかかりました。
「cf」では逆のアプローチを採用:
- エージェントにとって JSON が必須のデフォルト出力。
- 人間がアクセスする機会が少ない绝大多数のコマンドにおいて、明らかな最適解。
- エージェントは結果を容易にフィルタリングでき、テーブル形式よりも望ましい選択となります。
複雑な入力の簡素化(例:ドメイン購入)
冗長なパラメータチェーンが必要なケースでも、「cf」は API 要件を検証された入力系列に分解するため、フォーム記入のみで済みます。必要に応じてエージェントに実行を委ねることも可能です。
コマンド発見機能 (cf cli search
)
cf cli searchCLI に 3,000 パスのルートが存在する中、迅速に必要なオペレーションを見つけるため、「cf cli search」を追加しました。
- 自然言語クエリ対応: エージェントからタスクを問い合わせると、検索インデックスが適切なコマンド一覧を提供。
- 自動通知機能: 初めて実行したエージェントに自動的に存在を通知。
TypeScript ベースの設定ファイルと型チェック
cloudflare.config.ts は人間もエージェントも解析しやすいだけでなく、プログラム的に設定を記述できます。
- エージェントは
などの要素を文脈から容易に特定・編集可能。env - LSP プラグインを使用するすべてのエージェントが、より正確な提案を提供できるようになりつつあります。
ファクトリーファイルによる構成縮小
従来の 5,000 行超の構成から、約 40% 縮小されたファクトリーファイルへと移行可能です。
- すべての環境を同一のユニバーサルベースからプログラム的に定義。
- Vite ネイティブのモード引数を変更するだけで、一組の設定から別の設定へ切り替え可能。
設定例:シンプルかつ強力な bindings と triggers
デフォルトの設定構成
import { bindings, defineConfig } from "cf/config"; import * as entrypoint from "./index.js" with { type: "cf-worker" }; export default defineConfig(({ mode }) => ({ worker: { name: "example-worker", entrypoint, compatibilityDate: "2026-09-27", env: { Environment: bindings.text(`This is ${mode} environment`), }, }, }));
自動化された Bindings 定義
開発プラットフォームの全機能(環境変数、ストレージ、データベース、キューなど)がエディタで自動補完され、説明されます。
import { bindings, defineConfig } from "cf/config"; export default defineConfig(({ mode }) => ({ worker: { env: { // 環境に応じた動的設定 API_URL: bindings.text( mode === "production" ? "https://example.com" : "https://staging.example.com", ), API_TOKEN: bindings.secret(), // クラウドリソースの自動管理 CACHE: bindings.kv({ id: mode === "production" ? "production-namespace-id" : "staging-namespace-id", }), DATABASE: bindings.d1({ name: `example-${mode}-database` }), UPLOADS: bindings.r2({ name: `example-${mode}-uploads` }), JOBS: bindings.queue<{ userId: string }>({ name: `example-${mode}-jobs`, }), // 新機能へのアクセス AI: bindings.ai(), SEARCH_INDEX: bindings.vectorize({ name: `example-${mode}-search`, }), API: bindings.worker({ worker: `example-${mode}-api` }), }, }, }));
ユニフォームなトリガー定義
分散していたトリガー設定を、単一のブロックで簡潔に表現可能です。
import { defineConfig, triggers } from "cf/config"; export default defineConfig({ worker: { triggers: [ triggers.fetch({ pattern: "example.com/*" }), triggers.scheduled({ schedule: "0 * * * *" }), triggers.queue({ name: "jobs", maxBatchSize: 10 }), triggers.email({ addresses: ["support@example.com"] }), ], }, });
開発体験の向上:Vite とビルド戦略
Vite の採用による改善
Wrangler は当初 esbuild を使用していましたが、Vite は大規模なプラグインエコシステムと以下の利点を提供します。
- **HMR(ホットモジュール置換)**を備えた最上位レベルの開発サーバー。
- Rust ベースの Rolldown ライブラリを活用したツリーシェイクング機能。
- Vitests プラグインとの連携による、Workers ランタイムと整合した開発・テスト環境。
結論: どのような用途でも Worker の構築に Vite を推奨します。「cf」はデフォルトで Vite を採用しています。
移行戦略
- 自動移行: 大多数の Worker はエージェントによって自動的に移行されます。
- esbuild/Rust/Python 依存の場合: 「cf」は引き続き Wrangler に開発・デプロイを委任します。
- ベータ終了後のロードマップ:
- オープンベータ終了時、最終的なメジャーバージョンの Wrangler をリリース。
- ユーザーおよびエージェントに「cf」の使用を推奨。
- ベータ終了から18 ヶ月間、Wrangler のメンテナンスサポートを継続提供。
スタートと移行の実際
新規プロジェクト作成
# Hello World プロジェクトの作成と自動設定 cf init # 静的サイトや既存プロジェクトのデプロイ cf deploy
- 静的サイトは設定ファイルなしで起動可能。
- Cloudflare Vite プラグインのインストールと設定ファイル作成が自動的に行われます。
移行手順
既存の Worker を移行する場合は以下の手順で十分です:
- 「cf migrate」コマンドを使用。
- 必要に応じてヘルパー関数を利用。
まとめ
「cf」は、エージェントに Cloudflare API 全体へのアクセス権を取得し、一貫したツールセットで全ての業務を完結させるための次世代 CLI です。オープンソースであり、GitHub リポジトリにて問題報告やコントリビュートが可能です。