>_ DevTrendsja

言語

ホーム

言語

セクション

フロントエンド バックエンド モバイル DevOps AI / ML ゲーム開発 ブロックチェーン 組み込み セキュリティ
TypeScript

Cloudflareが社内ツール構築をエージェントとの対話に変える方法

たいていのIT企業では、業務ツールの動物園は同じような顔をしている:无尽的Google Docs、Notion、Retool上の社内ダッシュボードがいくつか、そして2年前に退職した同僚が書いた dozens of scattered scripts. 従業員が狭いタスク用のシンプルなツールを必要とするとき、社内開発チームにリソースを要求するか、その場その場で何かを継ぎ接ぎするかしかない。

Cloudflareチームはリポジトリ cloudflare-os をオープンソース化した。これは社内の作業環境で、エンジニアから営業まで従業員が言語モデルと直接チャットしながらマイクロアプリケーションを作成する。

Cloudflare OSのQ3計画ワークスペース、AI生成のスライドデッキ

大胆な名前の裏側

ここでの「オペレーティングシステム」という名前は、Linuxの代替というよりも、計算タスクとプロセスの管理に関するものだ。著者たちはこの用語に2つの意味を込めた:AIワークロードを実行するための安全な環境と、社内の日常的な生産性のための共通プラットフォームだ。

コアコンセプトは、集中型SaaSを諦めいわゆるGadgetに替代することが中心にある。特定のスプリント用のインタラクティブなプレゼンテーションやカンバンボードが必要なとき、システムはサードパーティサービスを開かない。代わりに、組み込みのエージェントがあなた専用の分離されたWebアプリケーションを生成する。

このアプローチは、いくつかの慣れ親しんだことを変える:

  • データセキュリティ。アプリケーションは分離されたサンドボックスで実行され、明示的な許可なしでは外部に情報を送信することが物理的に不可能。
  • カスタマイズ。生成されたテーブルにチャートやCSVエクスポートボタンがない場合、エージェントにアプリケーションコードにこの機能を追加するよう単に依頼すればよい。

結果が良好であれば、Blueprintとしてエクスポートし、同僚とコードベースを共有して、独立したコピーをデプロイできるようにできる。

システムができること

リポジトリには、内部使用経験後に開発者がゼロから完全に書き直したプラットフォームのバージョン2が含まれている。

リアルタイムでの業務アプリケーション生成

готов madeのドキュメントテンプレートではなく、システムはインタラクティブなソフトウェアを生成提供する。「ポモドーロタイマー付きのカンバンボードを作成して」というプロンプトで本格的なクライアントインターフェースとバックエンドが作成される。

エージェントはCode Modeで動作する:コードのチャンクを書き、ランタイムで即座に実行し、エラーをキャッチしてアプリケーションが意図通りに動作するまで自己修正する。Piライブラリアダプタを通じて任意の 支持LLMを接続できる。

リアルタイムコラボレーション

作成された各アプリケーションは即座にマルチプレイヤーをサポートする。同僚にリンクを共有すると、両方とも画面上でお互いのアクションをリアルタイムで見える。開発者はWebSocketを手動で構成する必要はない。なぜなら、各ガジェットにはCloudflare Durable Objectsで駆動される分散状態が備わっているからだ。

Gatekeepersによるスマートセキュリティモデル

通常、MCP経由で外部サービスとエージェントを統合すると、ボットに過度に broad な権限を与えてしまう問題がある。ここではアクセスは differently に構造化されている:

  • 各外部サービス(GitHub、Slack、Google Docs、Notion、Supabase)はそれぞれのGatekeeperゲートウェイで保護されている。
  • デフォルトでは、エージェントは何にもアクセスできない。ユーザーが手動で必要なリポジトリやドキュメントに「紹介」する。
  • 副作用を伴うすべてのアクションには人間の確認が必要。

著者はHuman-in-the-loopモードの主な問題を解決した—エージェントがユーザーのクリックを待って constantly stuck になることだ。Gatekeeperはサービス応答をシミュレートして合成データを返す。ボットは推論チェーンを続け、人は後で都合のよいときに蓄積されたアクションのバッチを一括承認する。

完成ソフトウェア内の組み込みの人とAIの通信

ガジェット内のクライアントとサーバーは軽量なCap'n Web RPCプロトコルで通信する。これにより予期しない benefit が得られる:アプリケーションインターフェースは自動的に言語モデルに理解可能だ。エージェントがインタラクティブなアンケートを組み立てた後、作成したウィンドウ内でデータを入力したり統計を再計算したりするよう依頼できる。

内部構造

Cloudflare OSアーキテクチャは従来のオペレーティングシステムを反映しているが、サーバーレスのプリミティブの上に構築されている:

  • Kernelはパッケージ workshop-backend で実装されている。サンドボックス起動、アクセス制御、プロセス調整を処理する。
  • デバイスドライバーはパッケージ packages/gatekeeper-* のgatekeepersで表される。システムと外部APIを接続する。
  • プロセスと実行可能ファイルはガジェットとそのブループリントテンプレートだ。
  • ユーザーインターフェース(Shell)はViteとCodeMirrorで構築されている。

各ガジェットのサーバーサイドコンポーネントは、インターネットアクセスを完全に無効にしたDynamic Worker Facetで実行される。クライアントは厳格なContent-Security-Policyを持つ保護されたiframeで開かれ、 postMessage を通じてのみ親ウィンドウと通信できる。

興味深いことに、このプロジェクトはWorkersランタイム自体を構築した同じ著者によって作成された。本質的に、Dynamic WorkersやFacetsのような機能がこのアーキテクチャを可能にするためにCloudflareプラットフォームに追加された。しかし、クラウドに依存は必須ではない:システムはオープンエンジン workerd でも実行できる。

起動して試す方法

ローカルテストには、pnpmパッケージマネージャーとNode.jsのインストールが必要だ。

リポジトリをクローンしてローカルスタックを起動する:

その後、インターフェースが http://localhost:8787 で開く。ローカルデータベースと環境は組み込みのWranglerエミュレータ経由でスピンアップし、データは .wrangler フォルダに保存される。

フロントエンドまたはバックエンドを調整したい場合は、2つのターミナルで別々に実行できる:

外部サービスで作業するには、 packages/gatekeeper-* フォルダ内の必要なゲートウェイのOAuthキーを設定する必要がある。リポジトリにはすでにGitHub、Google API、Notion、Slack、Spotify、Home Assistant用の готов madeのコネクタが含まれている。

印象とニュアンス

Cloudflare OSは、社内ニーズ向けのソフトウェアを企業が書く方法についての大胆な実験のように見える。各従業員に共有インスタンスではなくWebアプリケーションの個人的なコピーを提供するというアイデアは unconventional に聞こえるが、セキュリティとカスタマイズの問題を完璧に解決する。

プロジェクトはまだアーリアクセスステータスであることを覚えておく 중요하다。ドキュメントはまだ最小限で、純粋な workerd 経由での自有サーバーへのデプロイはまだ研磨中であり、レビュー complexity の高さにより 著者はリポジトリでのサードパーティのPRをほとんど受け入れていない。

箱から出してすぐにJiraやNotionの готов madeの代替を探しているなら、プロジェクトはまだ未完成に感じるだろう。しかし、Durable Objectsに基づいた cutting edge のアーキテクチャを探索したり、エージェントを社内 company プロセスに安全に埋め込む方法を見たいなら、ソースコードは確かにいくつかの空闲の夕方に値する。

関連プロジェクト