← レポート一覧
1 / 一言でいうと
OS ではなく、AI エージェントの「社内作業場」
Cloudflare OS は Linux や Windows のような OS ではありません。ブラウザから使う、AI エージェントのためのワークスペース です。2026年8月5日に Apache 2.0 で公開されました。実体は Cloudflare Workers の上で動く Web アプリ群で、自社の Cloudflare アカウントにデプロイして使います。
中身は3つの柱でできています。
エージェント作業場
会社の文脈と Skills を持ち、
隔離環境でコードを書いて実行
権限とガバナンス
社内データ・外部サービスへ
鍵を渡さずに安全に接続
個人アプリの基盤
作って・共有して・
その後も直し続けられる
土台: Cloudflare Workers / Durable Objects / Access / AI Gateway(自社アカウントにデプロイ)
3本柱と、その下の土台。3つは独立した機能ではなく、同じ隔離モデルの上に乗っている。
名前の「OS」は、「アプリを動かし、権限を管理し、外部装置につなぐ」という役割を OS になぞらえたもの。エージェント時代の「プロセス・ドライバ・権限」を作り直した のが本体です。
2 / なぜ出てきたのか
エンジニア以外に、エージェントを渡せなかった
きっかけは社内の事件でした。2025年末、Cloudflare の営業担当者が「自律的に動く SuperApp を作りたい」と言って複数の API キーを要求 しました。CIO の Sam Rhea はこれを止めつつ、エンジニア以外も同じ力を欲しがっていることを認めざるを得ませんでした。
コーディングエージェントは開発者の仕事を変えました。しかし営業・法務・サポートに同じものを渡そうとすると、4つの壁にぶつかります。
開発者
コーディング
エージェント
ターミナルで動く
リポジトリ=文脈
鍵は自分で管理
うまくいった
営業・法務・サポート・IT に渡そうとすると
壁1: 文脈がない
社内用語・手順・暗黙知が
モデルには無い。リポジトリ
に相当するものが無い
壁2: 鍵の配布
API キーは広く・長く有効。
人にもエージェントにも配れ
ない。監査もできない
壁3: 共有で漏れる
エージェントの成果物を同僚
に渡すと、本来見えない
データが混ざって出ていく
壁4: MCP の粒度
MCP は「ツール」単位の制御。
どのリソースを見たか、どこ
へ流れたかは制御できない
開発者で成功した形をそのまま横展開できなかった理由。壁2〜4はすべて「安全」の問題で、後付けでは解決できなかった。
Cloudflare は当初、社内 AI 利用に慎重でした。しかし社内パイロットで「共有した瞬間に安全の問題が露わになる」ことが分かり、安全はアプリ側の努力ではなく、プラットフォームが強制するもの にしないと成り立たないと結論づけました。これが Cloudflare OS の設計の出発点です。
解こうとした問題は「エージェントを賢くする」ことではなく、エージェントに会社の文脈と社内システムへの到達手段を、鍵を配らずに与える ことでした。
3 / 全体アーキテクチャ
ブラウザから外部サービスまでの一本道
リクエストがどこを通るかを一枚にまとめます。要点は、エージェントもアプリも「外の世界」へ直接は出られず、必ず Gatekeeper を通る ことです。
ブラウザ(社員)
ターミナル不要
Cloudflare Access
誰が入れるか(Zero Trust)
認証
Workshop Frontend
シェル(Vite / CodeMirror)
Workshop Backend(カーネル)
ワークスペースごとに1つの Durable Object。セッション状態・ファイル・権限・観測ログを保持
Cap'n Web RPC
エージェント(Pi framework)
Skills と文脈を読み、コードを書き、Gadget を作る
AI Gateway
モデル選択・予算・レート・DLP・ログ
Gadget(プロセス)
アプリ1個 = Dynamic Worker 1個
+ Durable Object Facet + 自分専用 SQLite
外向き通信は既定で無効(外には出られない)
UI はサンドボックス化した iframe で描画
生成・実行
Gatekeeper(デバイスドライバ)
外部サービスごとに1つの Worker
OAuth 資格情報を保持し、型付き API を公開
リソース単位の絞り込み・全操作のログ・承認フロー
MCP サーバーも Gatekeeper の一種として接続可
env.PROJECT のような型付きバインディングで呼ぶ
外部サービス・社内システム
GitHub / Google / Slack / Notion / Confluence
Supabase / Email / ZoomInfo / Home Assistant など
唯一の出口
ここに鍵は存在しない
エージェントも Gadget も、API キーを
読める場所には一切置かれない
上から下へ: 入場管理 → シェル → カーネル → プロセスとドライバ → 外部。緑の矢印が、外へ出られる唯一の経路。
RUNTIME
実行は V8 isolate
コンテナではなく Workers の isolate を使うので、アプリ1個あたりのコストが極めて小さい 。「文書1つにアプリ1つ」が現実的になる根拠。
STATE
状態は Durable Object
ワークスペースも Gadget も Durable Object。1インスタンス1 SQLite で、複数人が同時に開けば同じ状態を共有する。
RPC
通信は Cap'n Web
Cloudflare 製のオブジェクトケーパビリティ RPC。クライアントからサーバーのメソッドを普通の関数として呼ぶ 。エージェントも同じメソッドを呼べる。
4 / OS 用語との対応
「OS」と呼ぶ理由を、対応表で見る
Cloudflare 自身が公開している対応表です。名前の是非は最後の章で扱いますが、設計の見取り図としてはよくできています 。
従来の OS Cloudflare OS 役割
カーネル Workshop Backend ワークスペースの状態・権限・観測ログを一元管理する Durable Object
デバイスドライバ Gatekeeper 外部サービスごとの Worker。資格情報を握り、型付き API に翻訳する
シェル Workshop Frontend ブラウザ上の UI。チャット・エディタ・アプリの表示
プロセス Gadget 動いているアプリの1インスタンス。自分専用のコード・状態・サンドボックス
実行ファイル Blueprint Gadget のコードだけを取り出した雛形。ここから新しいインスタンスを起こす
ユーザー User Access で認証された社員
ACL Shared Permissions 誰がどの Gadget・ワークスペース・観測済みデータを見られるか
5 / GADGET
アプリはファイルである
最も特徴的な考え方です。SaaS のように「1つのスライドアプリに全員が接続する」のではなく、「スライドを作って」と頼むたびに、自分専用のスライドアプリが1個生まれる 。コード・サーバー・SQLite がひと揃いで付いてきます。
「提案書を管理する
アプリを作って」
チャットで依頼
生成
私の Gadget
client code
UI(iframe)
server code
Dynamic Worker
SQLite(自分のデータ)
そのまま共有
同じインスタンス
同僚と同じデータを
リアルタイムで共同編集
Blueprint として渡す
同僚の新インスタンス
コードだけコピー
データも資格情報も
まっさらから始まる
= 実行ファイルを配る感覚
「並び替え機能を足して」
エージェントが自分のコピーを改造
1つの依頼が、コードと状態を持つ独立したインスタンスになる。共有は「同じものを見る」か「型だけ渡す」かの2通り。改造は自分のコピーに対して行う。
これで得られるものは2つです。第一に、データの隔離をプラットフォームが保証できる こと。アプリ同士は最初から別プロセスで、共有した範囲しか見えません。第二に、自分のコピーなので自由に改造してよい こと。「このボタンを足して」と頼めば、エージェントがコードを読んで RPC インターフェースを理解し、その場で直します。エクスポートもデプロイ工程もありません。
「アプリを買って合わせる」のではなく、文書を作るのと同じ感覚でアプリを作り、育て、渡す 。それが「アプリはファイル」の意味です。
6 / GATEKEEPER
鍵を渡さずに、外部サービスへつなぐ
Gatekeeper は外部サービスごとに用意される専用 Worker です。OAuth の資格情報はここにしか存在せず 、エージェントや Gadget には env.PROJECT のような型付きバインディングとして見えるだけです。モデルが読める形の鍵は、どこにもありません。
エージェント / Gadget
await env.PROJECT
.listIssues(...)
型付き RPC
GitHub Gatekeeper(Worker)
OAuth トークンを保持(ここだけ)
リポジトリ1つ・Issue 読み取りのみ
フィールドのマスク・レート制限
全操作を記録(inline 監査ログ)
副作用のある操作は人の承認を通す
GitHub API
本物のトークンで呼ぶ
読み取り: 承認なしで即時
Issue を読む・ドキュメントを検索する程度は
止めない。止めると誰も使わなくなる。
その代わり「何を見たか」はすべて記録される
書き込み: 承認待ち、でも止まらない
Gatekeeper が結果をシミュレートして返し、
エージェントは先へ進む。実行はキューに溜め、
人は都合のよい時にまとめて承認・却下する
資格情報は Gatekeeper の内側にだけある。エージェントに見えるのは型付きの関数で、その裏で絞り込み・記録・承認が行われる。
「承認待ちで止めない」設計は、承認疲れ への対策です。毎回ダイアログで止めると人は読まずに OK を押すようになります。そこで書き込みは結果を模擬して先へ進ませ、あとで一括レビューさせる形にしました。
MCP との違い 1
ツールではなく、リソース
MCP は「このツールを呼べる」を制御する。Gatekeeper は「このリポジトリの Issue だけ」 のようにリソース単位で絞る。
MCP との違い 2
エージェントだけでなく Gadget からも
Cap'n Web の RPC API として公開されるので、生成されたアプリのサーバーコードからも同じ API を呼べる 。MCP はエージェント向けのツール呼び出しに閉じている。
MCP との違い 3
MCP はそのまま繋げる
既存の MCP サーバーは Gatekeeper の一種として 接続できる(MCP Server Portals)。置き換えではなく包含。
7 / 観測の追跡
「誰が何を見たか」が、共有先まで付いてくる
壁3(共有で漏れる)への答えです。プラットフォームはエージェントが観測したリソースをすべて記録 し、その成果物を別の人が開こうとした瞬間に、その人自身に元データを見る権限があるかを Gatekeeper が検証します。
給与テーブル
人事だけが見られる
読む
エージェント
観測ログに記録
作る
集計レポート
「給与を観測済み」の印付き
観測: 給与
成果物に付随
共有リンクを開く
人事の同僚
給与の権限あり
Gatekeeper が検証 → 表示
営業
権限なし
開けない
読んだ後の制限
機密を読んだエージェントは
・外部への送信
・新しい共有先の追加
・別エージェントへの引き渡し
が制限される(ポリシー次第)
権限は「アプリを開けるか」ではなく「そのアプリが観測したデータを、この人は見てよいか」で判定される。データの由来が成果物に付いて回る。
1
入口: Cloudflare Access
そもそもワークスペースに入れるのは、Zero Trust で認証された社員だけ。
2
既定: 何にもアクセスできない
エージェントもアプリも、最初は権限ゼロ。外向きの通信も無効。
3
明示的に付与: 必要なリソースだけ
エージェントが要求し、管理者(または本人)が承認すると、型付きバインディングが渡される。付与される範囲は、その人が元々持っている権限を超えない。
4
外へ出る操作は Gatekeeper 経由
絞り込み・記録・承認・観測追跡。ここが唯一の出口。
8 / AI GATEWAY と SKILLS
モデルと知識は、会社が持つ
残る2つの部品です。AI Gateway はモデル呼び出しの関所、Skills は組織の知識の置き場です。
AI GATEWAY
どのモデルでも、誰が使ったかを追える
Anthropic・OpenAI・Workers AI など提供者を問わず 接続。人・チーム・ワークスペース単位でコスト帰属、予算とレート制限、DLP によるフィルタ、全プロンプトのログ。定期タスクは安いモデルへ、というルーティングもここで。
SKILLS / CONTEXT
「うちの会社でのやり方」を指示書にして共有
用語・手順・繰り返す仕事の最善手を、エージェントが読める指示書 として蓄積する。ある部署が見つけた改善を、全社のエージェントがすぐ使える。Cloudflare 内部では「Engineering Codex」と呼ぶ設計基準がこれにあたる。
TRIGGERS
オンデマンド・定期・イベント駆動
v2 では自然言語でエージェントを定義し、手動、スケジュール、イベント(メール受信など) で起動できる。いずれも隔離は既定で有効。
モデルは外から借りる。しかし文脈(Skills)・権限(Gatekeeper)・記録(Gateway)は会社の中に置く 。ここが「AI ワークスペース」を自前で持つ意味です。
9 / 前史
Sandstorm から 12 年、足りなかったのは AI だった
設計者の Kenton Varda(Cloudflare Workers の生みの親、Protocol Buffers と Cap'n Proto の作者)は、これを自身の 2014 年のスタートアップ Sandstorm.io のリメイク だと明言しています。Gadget は Sandstorm の「Grain」そのものです。
2014
Sandstorm.io 創業
文書1つ=コンテナ1つの
自己ホスト型アプリ基盤
2017
事業として停止
コンテナが重い
ユーザーが改造できない
収益化できず
Workers を 9 年間つくる
V8 isolate = 軽いサンドボックス
Durable Objects = 1インスタンス1状態
Cap'n Web = 能力ベース RPC
2025 末
社内で SuperApp 要求
内製版 Workshop を開始
2026/5
全社員に展開
v1: 既製 Skills の実行
2026/8/5
OSS 公開
v2: 全面書き直し
Apache 2.0
失敗の3つの理由は、重さを Workers が、改造を AI が、資金を Cloudflare が解いた
同じ構想が 12 年越しに戻ってきた。変わったのは実行基盤と、コードを改造してくれる存在の有無。
当時の壁
ユーザーはコードを直せない
「自分のコピーだから改造してよい」と言われても、普通の人には技能も根気もなかった 。Sandstorm の最大の敗因。
2026 の答え
エージェントが代わりに直す
「この機能を足して」と頼めば、エージェントがコードと RPC を読み、その場で実装する。Grain 構想は、改造者が人からエージェントに変わって初めて成立した 。
基盤の壁
コンテナは重く、起動が遅い
文書1つにコンテナ1つはコールドスタートとメモリで苦しんだ。V8 isolate と Durable Object なら同じ粒度を軽く保てる。
10 / 社内での実績
まず Cloudflare 自身が、全社で使っている
公開時点で Cloudflare が公表している社内利用の数字です。エンジニアリング以外の部門が中心である点が、この製品の狙いをよく表しています。
1万時間
営業チームが30日で節約したと推定(テリトリー計画・提案書)
25万件
コードレビュー用エージェントが4か月で指摘した件数。うち1.6万件のマージを止めた
導入の進め方も公開されています。最初は「魔法のメールアドレス」に人が張り付いて依頼を手作業でさばき 、実際に繰り返される仕事を観察してから Skills に落としました。専任チームより、各部署に早期採用者やインターンを埋め込む「チャンピオン方式」の方が広まったとも書いています。
原則 1
問題が先、AI は後 顧客と過ごす時間と、技術を作る時間を増やすために使う。AI 導入自体を目的にしない。
原則 2
開発者だけの UI にしない ターミナルを使えない人を取り残さない。ブラウザで完結させる。
原則 3
責任は人が持つ エージェントの出力とふるまいの責任は人。退職者のエージェントは引き継がれる。
原則 4
文脈がモデル性能より効く 会社固有の文脈層の方が、基盤モデルの差より結果を左右する。
原則 5
権限は昇格しない AI 経由で本人以上の権限は得られない。エージェントの権限は使う人の権限を映す。
11 / 想定している未来
各社が「自社ブランドの OS」を持つ世界
Cloudflare が描いているのは、組織ごとに独自ブランドの Cloudflare OS があり、その会社のシステムにつながり、その会社の仕事のやり方に合わせて形作られている 状態です。ChatGPT や Copilot のような「他社のチャット画面に社内データを持ち込む」形とは逆向きで、自社のワークスペースにモデルを呼び込みます。
「〇〇社 OS」
自社アカウント・自社ブランド
自社の Skills・自社の Gatekeeper
データも資格情報も自社の中
core は無改変、設定と UI は別リポジトリ
全職種の社員
ブラウザから
文書・アプリ・自動化を作る
不在時のエージェント
人が作った道具を使い、
定期・イベントで仕事をする
社内システム
CRM・チケット・Wiki・
リポジトリ・チャット
Gatekeeper
モデル提供者
Anthropic・OpenAI・Workers AI
ローカルなら Ollama も
AI Gateway
Cloudflare 上
managed 予定
自社 workerd
OSS ランタイム
ローカル
pnpm run-local
動かす場所は3通り
会社が中心にあり、モデルは周辺の交換可能な部品。Kenton Varda の言葉では「あなたのインスタンスは、あなたの AI OS」。
VP of Product の Rita Kozlov はオープンソース化の理由を「自分が所有していないソフトウェアに、自分の会社を入れることはできない 」と説明しています。中身を検査でき、改造でき、自社システムをつなげられることが、会社の仕事を丸ごと載せる前提だという主張です。
ビジネスモデル
本体は無料、周辺で稼ぐ
コアは Apache 2.0。収益はマネージドホスティング、実装パートナー(Presidio、Happy Cog)、有償のガバナンス機能 (Identity-Aware AI Gateway、AI Spend 追跡)から。
ロードマップ
ダッシュボード統合・コンテナ・Slack
Cloudflare ダッシュボードからの管理、開発ワークフロー向けのコンテナ対応、Slack などチャットツールからワークスペースを使う統合が予告されている。
競合との位置取り
「単一の統合点」を売る
アナリストの見方では、Microsoft(Azure + Entra + M365)や Google も同じ領域を回っているが、Cloudflare はインフラ側から一体で束ねた 点が違う。IT 部門が自分で部品を組み合わせなくてよい、という訴求。
Cloudflare の言い方を借りれば、「自分でその仕事の道具を作れるなら、あなたがいない間もエージェントがその道具で仕事をする」 。それを全職種に広げるための基盤です。
12 / 批判と限界
公開直後に指摘されたこと
Hacker News と設計者本人の応答から、主な論点を並べます。
「OS」は言い過ぎ
実体はアプリ基盤で、OS という語を濫用しているという批判が最も多い。Kenton Varda は「文句をつけてリツイートしてもらう無料広告のため」と意図的だったことを認めている 。デプロイごとに製品名・ブランドは変えられる。
V8 サンドボックスは破れないのか
「エージェントが V8 のバグを見つけたら終わり」という懸念。workerd 自体のドキュメントも「hardened sandbox ではない」 と明記しており、自社ホストでは追加の隔離層が必要になる。
プロンプトインジェクション経由の流出
第三者の Gadget に機密データへの権限を「うっかり与える」経路は残る。設計上の緩和は、読み取りは自由だが書き込み(外部送信)は承認が要る ので、明示的な操作なしには外へ出ない、という点。
Cloudflare への依存
「200万ドル(約3億円)分の計算資源が要るなら OSS はマーケティング用語」という声。応答は、OSS の workerd で完全に自社ホストでき、ローカルの方が速く、Ollama で LLM もローカルにできる というもの。
まだ early access
v2 は全面書き直しで「rough edges が多い」 と自認。外部からのコントリビュートは軽微な修正以外受け付けていない。マネージド版・コンテナ・自社ホスト手順はロードマップ段階。
本当に横展開するのか
公表されている実績はすべて Cloudflare 社内のもの。他社での運用データはまだ無い 。Sandstorm を苦しめたコールドスタートとメモリの問題が解けたかも、まだ外から検証されていない。
13 / 試すには
手元で動かす3つの方法
1
自分の Cloudflare アカウントにデプロイ
os.cloudflare.app/deploy からワンクリック。Workers の無料枠で試せる。管理はまだダッシュボード未統合。
2
ローカルで動かす
GitHub の cloudflare/cloudflare-os を clone して pnpm run-local。wrangler と workerd で動く。Ollama を使えばモデルもローカル。
3
自社サーバーの workerd で自己ホスト
Cloudflare のサービスに依存しない構成。手順のドキュメントは「coming soon」。
リポジトリの構成は packages/workshop-backend(カーネル)、packages/workshop-frontend(シェル)、packages/gatekeeper-*(サービスごとのドライバ)に分かれています。Web エンジニアなら、まず Gatekeeper を1つ読むと全体像がつかめます。
要点を3行で。アプリは文書のように作って渡す。鍵は渡さず Gatekeeper が代行する。文脈・権限・記録は会社の中に置く。 これを Workers の隔離モデルの上で実装したのが Cloudflare OS です。
出典
用語メモ / Durable Object =Workers 上の、1つの ID に1つだけ存在する状態付きオブジェクト。Facet =Durable Object を親子に分割する仕組みで、Gadget ごとに独立した状態を持たせる。Dynamic Worker =実行時にコードを読み込んで起動する Worker。Cap'n Web =Cloudflare 製のオブジェクトケーパビリティ RPC。参照を持っている相手しか呼べないので、権限の受け渡しがそのまま参照の受け渡しになる。Pi =複数の LLM を扱えるエージェントフレームワーク。
← レポート一覧