概要
CloudflareのR&D組織の93%が、過去30日間で自社プラットフォーム上に構築したインフラストラクチャを活用したAIコーディングツールを使用しています。11ヶ月前、AIをエンジニアリングスタックに真に統合するための大規模プロジェクトを開始しました。エージェントがCloudflareで有用になるために必要な内部MCPサーバー、アクセスレイヤー、AIツーリングを構築する必要がありました。
会社全体からエンジニアを集めて、iMARS(Internal MCP Agent/Server Rollout Squad)というタイガーチームを編成しました。継続的な取り組みはDev Productivityチームに引き継がれ、CI/CD、ビルドシステム、自動化を含む内部ツーリングの多くを所有しています。
過去30日間のエージェントAI使用統計
- 3,683人の内部ユーザーがAIコーディングツールを積極的に使用(全社の60%、R&D部門の93%)、約6,100人の従業員総数のうち
- 4,795万件のAIリクエスト
- 295チームがエージェントAIツールとコーディングアシスタントを利用中
- 月間2,018万件のAI Gatewayリクエスト
- 2,413億7,000万トークンがAI Gatewayを経由
- 518億3,000万トークンがWorkers AIで処理
開発者速度への影響
開発者速度への影響は明確です。マージリクエストの四半期ごとの増加がこれまでにないレベルに達しています。AIツーリング採用の成長に伴い、4週間ローリング平均は週約5,600件から8,700件以上に上昇しました。3月23日の週は10,952件に達し、Q4ベースラインのほぼ2倍です。
アーキテクチャ概要
MCPサーバーは出発点でしたが、チームはさらに進む必要があることに気づきました。標準がどのようにコード化されるか、コードがどのようにレビューされるか、エンジニアがどのようにオンボードされるか、変更が数千のリポジトリ全体にどのように伝播するかを再考する必要がありました。
エンジニア向けツールレイヤー
OpenCode、Windsurf、およびその他のMCP互換クライアントには、オープンソースおよびサードパーティのコーディングアシスタントツールが含まれます。
構築内容
| 構築内容 | 使用製品 |
|---|
| Zero Trust認証 | Cloudflare Access |
| 集中化されたLLMルーティング、コスト追跡、BYOK、Zero Data Retention制御 | AI Gateway |
| オンプラットフォーム推論(オープンウェイトモデル) | Workers AI |
| シングルOAuthを備えたMCPサーバーポータル | Workers + Access |
| CI統合 | Workers + AI Gateway |
| エージェント生成コードのサンドボックス実行(Code Mode) | Dynamic Workers |
| ステートフルな長時間実行エージェントセッション | Agents SDK (McpAgent, Durable Objects) |
| クローン、ビルド、テスト用の隔離環境 | Sandbox SDK — Agents Week時点でGA |
| 隔離されたマルチステップワークフロー | Workflows — Agents Week中に10倍スケール |
| 16K+エンティティナレッジグラフ | Backstage (OSS) |
Act 1: プラットフォームレイヤー
AI Gatewayがセキュリティを維持し開発者体験を向上させた方法
3,600人以上の内部ユーザーが毎日AIコーディングツールを使用している場合、多くのクライアント、ユースケース、ロール全体でアクセスと可視性を解決する必要があります。すべてはCloudflare Accessで始まり、すべての認証とゼロトラストポリシー実行を処理します。認証後、すべてのLLMリクエストはAI Gatewayを経由します。これにより、プロバイダーキー、コスト追跡、データ保持ポリシーを管理する単一の場所が提供されます。
OpenCode AI Gateway概要:
- 1日あたり688,460件のリクエスト
- 1日あたり105億7,000万トークン
- 1つのエンドポイントを通じて4つのプロバイダーにルーティング
月間リクエスト分布
| プロバイダー | リクエスト/月 | シェア |
|---|
| Frontier Labs (OpenAI, Anthropic, Google) | 1,338万 | 91.16% |
| Workers AI | 130万 | 8.84% |
フロンティアモデルは現在、複雑なエージェントコーディング作業の大部分を処理していますが、Workers AIはすでにミックスの重要な部分であり、エージェントエンジニアリングワークロードの増加するシェアを処理しています。
Workers AIの活用拡大
Workers AIはCloudflareのサーバーレスAI推論プラットフォームで、グローバルネットワーク全体のGPU上でオープンソースモデルを実行します。フロンティアモデルと比較した大幅なコスト改善を超えて、主な利点は推論がWorkers、Durable Objects、ストレージと同じネットワーク上に留まることです。クラウド間のホップを処理する必要がなく、これにより遅延、ネットワーク不安定性、管理する追加のネットワーク構成が増加します。
過去1ヶ月のWorkers AI使用量:
- 514億7,000万入力トークン
- 3億6,112万出力トークン
Kimi K2.5
2026年3月にWorkers AIで起動されたKimi K2.5は、256kコンテキストウィンドウ、ツール呼び出し、構造化出力を備えたフロンティアスケールのオープンソースモデルです。セキュリティエージェントは1日あたり70億トークン以上を処理します。ミッドティアの独自モデルでは推定年間240万ドルのコストがかかりますが、Workers AIでは77%安くなります。
セキュリティを超えて、CIパイプラインでのドキュメントレビュー、数千のリポジトリ全体でのAGENTS.mdコンテキストファイルの生成、ピークモデル機能よりも同一ネットワーク遅延が重要な軽量推論タスクにWorkers AIを使用します。
初期段階で正しく実施したこと
初日から単一のプロキシWorkerを通じたルーティング。クライアントがAI Gatewayに直接接続することもできましたが、初期設定はより簡単でした。しかし、Workerを通じた集中化により、後でクライアント構成に触れることなく、ユーザーごとの属性、モデルカタログ管理、権限実行を追加できました。
ブートストラップセクションで説明されているすべての機能は、その単一のチョークポイントがあるため存在します。プロキシパターンは直接接続では提供されない制御プレーンを提供し、後で追加のコーディングアシスタントツールをプラグインする場合、同じWorkerと検出エンドポイントがそれらを処理します。
1つのURLですべてを構成する方法
全体的なセットアップは1つのコマンドで始まります:
opencode auth login https:
このコマンドは、ユーザーが構成ファイルに触れることなく、プロバイダー、モデル、MCPサーバー、エージェント、コマンド、権限を構成するチェーンをトリガーします。
ステップ1: 認証要件を検出
OpenCodeはhttps://opencode.internal.domain/.well-known/opencodeのようなURLから構成をフェッチします。この検出エンドポイントはWorkerによって提供され、レスポンスには、OpenCodeに認証方法を指示するauthブロック、およびプロバイダー、MCPサーバー、エージェント、コマンド、デフォルト権限を含むconfigブロックがあります:
{
"auth": {
"command": ["cloudflared", "access", "login", "..."],
"env": "TOKEN"
},
"config": {
"provider": { "..." },
"mcp": { "..." },
"agent": { "..." },
"command": { "..." },
"permission": { "..." }
}
}
ステップ2: Cloudflare Accessを通じて認証
OpenCodeは認証コマンドを実行し、ユーザーはCloudflareで他のすべてに使用するのと同じSSOを通じて認証します。cloudflaredは署名付きJWTを返します。OpenCodeはそれをローカルに保存し、その後のすべてのプロバイダーリクエストに自動的に添付します。
ステップ3: 構成がOpenCodeにマージされる
提供される構成は組織全体の共有デフォルトですが、ローカル構成は常に優先されます。ユーザーはデフォルトモデルをオーバーライドしたり、独自のエージェントを追加したり、他の人に影響を与えることなくプロジェクトおよびユーザースコープの権限を調整できます。
プロキシWorker内部
WorkerはHonoアプリで、3つのことを行います:
共有構成を提供
構成はデプロイ時に構造化されたソースファイルからコンパイルされ、Workerのオリジンの{baseURL}のようなプレースホルダー値を含みます。リクエスト時に、Workerはこれらを置き換えるため、すべてのプロバイダーリクエストはモデルプロバイダーに直接ではなくWorkerを経由してルーティングされます。
各プロバイダーはパスプレフィックス(/anthropic、/openai、/google-ai-studio/v1beta、Workers AI用の/compat)を取得し、Workerは対応するAI Gatewayルートに転送します。
AI Gatewayへのリクエストをプロキシ
OpenCodeがPOST /anthropic/v1/messagesのようなリクエストを送信すると、Workerはcloudflare Access JWTを検証してからヘッダーを書き直してから転送します:
削除:
- authorization
- cf-access-token
- host
追加:
cf-aig-authorization: Bearer <API_KEY>
cf-aig-metadata: {"userId": "<anonymous-uuid>"}
リクエストはAI Gatewayに送信され、適切なプロバイダーにルーティングします。レスポンスはバッファリングなしで直接通過します。クライアント構成のapiKeyフィールドは空です。Workerが実際のキーをサーバー側に注入するためです。ユーザーマシンにはAPIキーが存在しません。
モデルカタログを新鮮に保つ
時間ごとのcronトリガーは、models.devから現在のOpenAIモデルリストをフェッチし、Workers KVにキャッシュし、Zero Data Retentionのためにすべてのモデルにstore: falseを注入します。新しいモデルは構成の再デプロイなしでZDRを自動的に取得します。
匿名ユーザー追跡
JWT検証後、Workerはユーザーのメールを永続ストレージ用のD1とリード用キャッシュとしてのKVを使用してUUIDにマップします。AI Gatewayはcf-aig-metadataの匿名UUIDのみを見て、メールは見ません。これにより、モデルプロバイダーやGatewayログにアイデンティティを公開することなく、ユーザーごとのコスト追跡と使用分析が提供されます。
コードとしての構成
エージェントとコマンドはYAMLフロントマターを含むマークダウンファイルとして作成されます。ビルドスクリプトはそれらをOpenCode JSONスキーマに対して検証された単一のJSON構成にコンパイルします。すべての新しいセッションは最新バージョンを自動的に取得します。
全体的なアーキテクチャ
全体的なアーキテクチャはシンプルで、開発者プラットフォームで誰でも簡単にデプロイできます:プロキシWorker、Cloudflare Access、AI Gateway、およびOpenCodeを自動的に構成するクライアントアクセス可能な検出エンドポイント。
ユーザーは1つのコマンドを実行して完了です。手動で構成するものはなく、ラップトップにAPIキーがなく、MCPサーバー接続を手動で設定する必要もありません。エージェントツールへの変更を加え、3,000人以上が自分のコーディング環境で取得するものを更新することは、wrangler deployだけです。
MCPサーバーポータル: 1つのOAuth、複数のMCPツール
エンタープライズスケールでのMCP管理への完全なアプローチについては、別の投稿で説明しました。MCPサーバーポータル、Cloudflare Access、Code Modeの使用方法を含みます。内部構築内容の短いバージョンは以下の通りです。
内部ポータルは、Backstage、GitLab、Jira、Sentry、Elasticsearch、Prometheus、Google Workspace、内部Release Manager、およびその他にわたって182以上のツールを公開する13の本番MCPサーバーを集約します。これはアクセスを統一し、すべてを簡素化し、1つのエンドポイントと1つのCloudflare Accessフローがすべてのツールへのアクセスを管理します。
各MCPサーバーは同じ基盤上に構築されています:
- Agents SDKからのMcpAgent
- workers-oauth-provider
- アイデンティティ用のCloudflare Access
全体は共有認証インフラストラクチャ、Bazelビルド、CI/CDパイプライン、およびBackstage登録用のcatalog-info.yamlを備えた単一のモノレポに存在します。新しいサーバーを追加することは、主に既存のサーバーをコピーして、ラップするAPIを変更することです。
これがどのように機能するか、およびその背後にあるセキュリティアーキテクチャの詳細については、エンタープライズMCPリファレンスアーキテクチャを参照してください。
ポータルレイヤーでのCode Mode
MCPはAIエージェントをツールに接続するための正しいプロトコルですが、実際的な問題があります:すべてのツール