2026年は、エージェントハーネス(Codex、Claude Code、OpenCode、Pi、Project Thinkなど、モデルと外部世界のやり取りを制御するソフトウェア)が本番環境に投入される年です。これらのツールは成熟し、チームはエージェントを単なるプロトタイプではなく、実際の負荷に耐えるインフラとしてデプロイしています。
しかし、本番環境に耐えるエージェントを構築するのは困難です。Cloudflareは、自社製ハーネスProject Thinkの開発を通じて経験を積み、エージェントがクラウドで実行される際に直面する分散システムの問題を発見しました。エージェントが中断された場合、どのように自動的に復元し、コンテキストを失わずにトークンを無駄にしないか?信頼できないコードを安全に実行するには?エージェントが訓練されたツールを効果的に使用するには?
ハーネスだけではこれらの問題を解決できません。状態、ストレージ、計算に依存し、エージェントが動作するプラットフォームに結びついています。Cloudflareは、Project Thinkを本番環境に耐えるように強化した知見を、Cloudflare Agents SDKの基本レイヤーとして提供します。永続実行、動的コード実行、永続ファイルシステム、動的ワークフローが、Agents SDK上に構築されるあらゆるハーネスで利用可能になります。
同時に、ハーネスの上に新しいレイヤーが登場しました。フレームワークです。Flueのようなフレームワークは、ハーネスをプロジェクト構造、規約、統合、開発者体験でラップし、エージェントの構築を生産的にします。
スケーリングの課題を解決するために、本番環境向けAI構築のための3層スタックが登場しています。
- フレームワーク(Flue):プロジェクト構造、規約、統合、CLI、開発者体験。
- ハーネス(Pi、Project Think):ツールを呼び出し、結果を読み取り、コンテキストを管理し、タスクが完了するまで継続するエージェントループ。
- ランタイム/プラットフォーム(Cloudflare Agents SDK):すべての上位層が依存する計算、状態、ストレージのプリミティブ。
Agents SDKは最下層であり、永続実行などのプリミティブをあらゆるハーネスとフレームワークに提供します。Astroチームによる新しいオープンソースフレームワークFlueは、その上に構築される最初のものです。
Flue 1.0 Betaが今週リリースされました。Piハーネスに基づいています。宣言型アプローチが特徴で、エージェントが何をするかスクリプト化するのではなく、何を知っているかを記述します。エージェントに必要なコンテキスト(モデル、スキル、サンドボックス、指示)を定義すると、自律的にタスクを解決します。オーケストレーションループを書く必要はありません。たとえば、25行未満でバグレポートをインターセプトし、サンドボックスで再現し、問題を診断するトリアージエージェントが作成できます。
Flueの開発者体験:エージェントは孤立して存在せず、ユーザーが既に作業している場所に存在し、好みのツールと統合されます。エージェントをSlack、GitHub、Linear、Discordに配置でき、事前構成されたチャンネルがイベント検証とディスパッチを自動処理します。ヘッドレスで動作しますが、@flue/reactはエージェントの状態、ツール実行、ライブメッセージをフロントエンドにストリーミングするネイティブフックを提供します。また、flue add channel slackのようなコマンドで統合を簡単に追加でき、Markdownブループリントを生成してコードエージェントが読み取り、変更し、クリーンに統合できます。
プロトタイプではなく本番環境向けに設計:エージェントをローカルターミナルから本番エコシステムに移行すると、従来の分散システム障害が発生します。ホストクラッシュ、LLMプロバイダーからのAPIタイムアウト、予期しない再起動は、実行中のエージェントターンの短期記憶を消去する恐れがあります。FlueはDurable Streamsでこれを解決します。実行履歴の各イベントは追加専用ログに追加されます。すべてのプロンプト、ツール応答、モデル選択を不変の台帳として処理することで、エージェントの状態は揮発しません。プロセスが停止しても、別のプロセスがログを取得し、中断した正確なステップから続行します。
どこにでもデプロイ可能(Cloudflareを含む):Flueはマルチクラウドフレームワークです。Node.jsでは各エージェントは長期実行プロセスとして動作し、任意のVMやコンテナ、GitHub Actions、既存サーバーにデプロイできます。Cloudflareをターゲットにすると、各エージェントはDurable Objectになります。各エージェントを独自のDurable Object内で実行することで、Cloudflareは自動的に必要な数までスケーリングし、それぞれに分離されたストレージと計算を提供します。FlueエージェントをCloudflareにデプロイすると、Agents SDKのrunFiber()、stash()、onFiberRecovered()メソッドを使用して永続実行を実現します。Flueはまた、@cloudflare/codemodeと@cloudflare/shellを使用してサンドボックス化されたコード実行を提供します。
FlueのCloudflareターゲットは、Agents SDKのコアプリミティブにクリーンにマッピングされるため、効果的に機能します。各エージェントハーネスには永続実行が必要です。エージェントターンは単一のリクエストではありません。モデルはトークンをストリーミングし、ツールを呼び出し、結果を待ち、人間の承認を求めるか、サブエージェントに委任します。このシーケンスは数秒から数分かかる可能性があり、いつでもプロセスが中断される可能性があります。Fiberは、Durable Object内部のネイティブチェックポイントメカニズムを提供することでこの問題を解決します。runFiber()はエージェントターンの作業が開始する前に進行状況を記録し、stash()でチェックポイントを作成します。新しいエージェントインスタンスが中断後に起動すると、onFiberRecovered()が最後のチェックポイントを配信し、エージェントはターンが中断された場所と方法を認識し、続行方法を決定できます。
コードの実行は、エージェントにツールを過剰に与えるよりも優れています。エージェントハーネスはツールを通じてモデルに外部世界へのアクセスを提供しますが、ツールの表面は急速に成長し、モデルは適切なツールを選択する能力が低下します。より良いパターンは、モデルにコードを実行する1つのツールを提供することです。モデルが必要なAPIを呼び出すTypeScript関数を作成し、ハーネスがそれを実行します。問題はコードがどこで実行されるかです。LLM生成コードを安全に実行するにはサンドボックスが必要ですが、従来のサンドボックスは各ツール呼び出しに対して遅く、コストがかかり、非効率的です。Agents SDKは@cloudflare/codemodeを提供し、Dynamic Workersをラップして、提供されたバインディングのみでLLM生成コードを各Workerアイソレートで実行します。Code Modeは各スニペットに対して新しいDynamic Workerを作成し、実行後に破棄します。アイソレートは10ms未満で起動し、ロードあたり0.002ドルと、コンテナを毎回起動するよりもはるかに高速で低コストです。FlueはCloudflareターゲットで@cloudflare/codemodeを使用してコードツールを強化しています。
ほとんどのワークスペースタスクに完全なコンテナは不要です。エージェントハーネスはファイルの読み取り、出力の書き込み、コードの検索、差分の理解のためにファイルシステムを必要とすることがよくあります。特にコーディングエージェントはファイルシステムに依存します。しかし、ハーネスがサーバーレス環境で実行されている場合、実行をまたいで永続的なファイルシステムを取得するには?通常の答えはコンテナですが、エージェントが主に行うテキスト操作にはコストがかかりすぎます。@cloudflare/shellは、Durable Object内部にSQLiteでバックアップされた永続的な仮想ファイルシステムを提供します。型付きファイル操作(読み取り、書き込み、編集、検索、grep、diff)を提供し、エージェントハーネスがツールとして使用できます。FlueエージェントはCloudflareターゲット上で、ワークスペース仮想ファイル状態APIに対してJavaScriptを記述します。Durable Object内でより多くの操作を実行することで、エージェントはアイソレートモデルの効率的な実行プロセスの恩恵を受け、コンテナオーバーヘッドを完全に回避します。完全なOS(npm install、git、コンパイラなど)が必要なエージェントには、Cloudflare Containersが提供されます。Cloudflareはまた、@cloudflare/workspaceを構築しており、特定のDurable Objectの仮想ファイルシステムをコンテナのファイルシステムと同期させ、軽量なWorkersからLinux環境へのシームレスな移行を可能にします。
動的ワークフロー:エージェントに自身のワークフローを記述させ、タスクを一貫して繰り返します。エージェントがファイルの読み取りや単一のコードスニペットの実行以上のことを行う場合、マルチステップパイプラインを調整する必要があります。ハーネスだけでは永続的なマルチステップ実行を提供できません。各ステップを永続化し、失敗を再試行し、中断後に再開するプラットフォームが必要です。Claude Codeは最近、動的ワークフローを導入しました。Claudeは実行時にJavaScriptスクリプトを作成し、数十のサブエージェントに作業を委任し、ランタイムが永続的に実行します。@cloudflare/dynamic-workflowsは同様の機能を提供します。
Cloudflare Agents SDKは、本番環境対応エージェントの構築に必要な基盤を提供し、Flueはそれを実際のフレームワークに変換する方法を示しています。より多くのフレームワークとハーネスがAgents SDK上に構築されるにつれて、エージェントのデプロイはより信頼性が高く、効率的になります。