ClaudeCloudflare2026/04/20 13:00

The AI engineering stack we built internally — on the platform we ship

要点だけを先に読めるように短く再構成したセクションです。

元記事

Quick Digest

要約

要点だけを先に読めるように短く再構成したセクションです。

claudejamodel: claude-haiku-4-5

Cloudflareが内部構築したAIエンジニアリングスタック

Key Points

  • R&D 組織の 93% が AI ツール採用
  • マージリクエスト 2 倍増加達成
  • Workers AI で 77% コスト削減

Summary

Cloudflareは11ヶ月間のプロジェクトを通じて、内部向けAIエンジニアリングスタックを構築しました。iMARS(Internal MCP Agent/Server Rollout Squad)というタイガーチームが主導し、MCP サーバー、アクセス層、AI ツーリングを開発。現在、R&D 組織の 93% が同社プラットフォーム上に構築されたインフラを活用しています。

Key Points

  • 利用統計: 3,683 名の内部ユーザーが AI コーディングツールを使用、月間 4,795 万 AI リクエスト、295 チームが導入
  • 開発速度向上: マージリクエストが週 5,600 件から 8,700 件以上に増加、3 月 23 日週は 10,952 件に達成
  • プラットフォーム層: AI Gateway、Workers AI、MCP Portal、Code Mode により認証、ルーティング、推論を統合
  • 知識層: Backstage と AGENTS.md により 16K+ エンティティの知識グラフを構築
  • 品質管理層: AI Code Reviewer と Engineering Codex により大規模での品質維持
  • Workers AI 活用: Kimi K2.5 導入により、フロンティアモデル比で 77% のコスト削減を実現
  • シングルプロキシパターン: 一つの Worker を経由することで、クライアント設定変更なしに機能追加が可能
  • ワンコマンド設定: opencode auth login で認証、プロバイダー、MCP サーバー、エージェントを自動構成
  • セキュリティ: Cloudflare Access による Zero Trust 認証、API キーはサーバー側で注入、ユーザー ID は UUID で匿名化

Full Translation

翻訳

原文の流れを保ったまま読める翻訳セクションです。

claudejamodel: claude-haiku-4-5

内部構築したAIエンジニアリングスタック — 提供するプラットフォーム上で実装

概要

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 AI130万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://opencode.internal.domain

このコマンドは、ユーザーが構成ファイルに触れることなく、プロバイダー、モデル、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エージェントをツールに接続するための正しいプロトコルですが、実際的な問題があります:すべてのツール

社内で構築したAIエンジニアリングスタック — 当社が提供するプラットフォーム上で | Cloudflare | DocsDigest