新規投稿のお知らせを受信されたい方は、サブスクリプションをご登録ください:

Moltworkerの紹介:セルフホスト型パーソナルAIエージェント、ミニ削除

2026-01-29

9分で読了
この投稿はEnglishおよび한국어でも表示されます。

編集者注:2026年1月30日より、MoltbotはOpenClawに名称変更されました

今週、インターネットでは、パーソナルアシスタントとして機能するように設計されたオープンソースのセルフホスト型AIエージェントである Moltbot (旧Clawdbot)を実行するために、Mac miniを購入する人が殺到しました。Moltbotは、ユーザー所有のハードウェアのバックグラウンドで動作し、チャットアプリケーション、AIモデル、その他の人気のあるツールとの統合リストを持ち、リモートでの制御が可能です。Mortbotは、財務、ソーシャルメディア、一日の企画などをお手伝いします。それらすべてをお気に入りのメッセージングアプリを通じて行うことができます。

しかし、新しい専用ハードウェアを購入したくない場合はどうでしょうか?そして、もしオンラインで効率的かつ安全にMoltbotを実行できるとしたらどうでしょう。ミドルウェアWorkerであるMoltworkerと、CloudflareのSandbox SDKおよび開発者プラットフォームのAPI上でMoltbotを実行できるようにするためのスクリプトをご紹介します。

Cloudflareのパーソナルアシスタント - その仕組みは?

Cloudflare Workersは、Node.jsとこれほど互換性が高かったことはありません。以前は、パッケージを実行するためにAPIをモックする必要がありましたが、今ではこれらのAPIはWorkersランタイムによってネイティブにサポートされています。

これによって、Cloudflare Workers上でのツール作成方法が変わりました。Playwrightを最初に実装した時、memfsに依存せざるを得ませんでした。Playwrightは、Webテストと自動化のためのフレームワークで、Browser Rendering上で動作します。これは、memfsがハッキングで外部依存関係があるだけでなく、公式のPlaywrightベースからの逸脱を余儀なくさせたからです。ありがたいことに、Node.js互換性が高まり、node:fsをネイティブに使い始めることができ、複雑さと保守性が軽減され、Playwrightの最新バージョンへのアップグレードが簡単になりました。

当社がネイティブにサポートするNode.js APIのリストは増え続けています。ブログ記事「Cloudflare WorkersにおけるNode.js互換性の改善の1年」では、当社の現状と取り組みについて概説しています。

私たちは、この進捗も測定を行っています。私たちは最近、最も人気のある1,000のNPMパッケージをインストールし、AIに解放し、Cloudflare WorkersのRalph Wiggum氏で「ソフトウェアエンジニア」スタイルを試みたところ、驚くほど良い結果が得られました。ビルドツール、CLIツール、またはブラウザ専用で適用されないパッケージを除外すると、15のパッケージだけが本当に動作しなかったのです。これは1.5%です。

以下は、当社のNode.js APIサポートの推移を示したものです:

npmパッケージのサポートに関する社内実験の結果をまとめたページをこちらにまとめましたので、ご確認ください。

コードのほとんどはコンテナで実行されるため、MoltbotはWorkers Node.js互換性を必ずしも必要としませんが、当社がネイティブAPIを使用してこれほど多くのパッケージをサポートしていることを強調することは重要だと考えました。これは、新しいAIエージェントアプリケーションをゼロから始める際、ユーザーにより近いWorkersで実際に多くのロジックを実行できるためです。

この話のもう1つの重要な部分は、開発者プラットフォームの製品とAPIのリストが増えて、誰もがあらゆる種類のアプリケーション、最も複雑で要求の厳しいアプリケーションもCloudflare上で構築および実行できるまでになったことです。また、いったん起動すれば、当社の開発者プラットフォーム上で稼働するすべてのアプリケーションが、安全でスケーラブルなグローバルネットワークの恩恵を受けます。

これらの製品やサービスは、当社が開始するのに必要な要素を提供してくれました。まず、サンドボックスが登場しました。これは、信頼できないコードを隔離された環境で安全に実行できるもので、サービスを実行する場所を提供します。次に、プログラムによりコントロールし、ヘッドレスなブラウザインスタンスとやり取りできるようになりました。そして最後に、オブジェクトを永続的に保存できるR2です。これらのビルディングブロックを利用できれば、Moltbotの適応作業を開始することができます。

Moltbotを当社上で稼働させるために適応させた方法

Moltbot on Workers(Moltworker)は、APIルーターとして機能するエントリーポイントWorkerと、当社のAPIと分離された環境の間のプロキシを組み合わせたもので、両方ともCloudflare Accessによって保護されています。また、管理UIを提供し、標準的なMoltbot Gatewayランタイムとその統合が実行されているSandboxコンテナに接続し、永続ストレージにはR2を使っています。

Mortworkerの大まかなアーキテクチャ図。

さらに掘り下げてみましょう。

AI Gateway

Cloudflare AI Gatewayは、AIアプリケーションと一般的なAIプロバイダーとの間のプロキシとして機能し、通過するリクエストに関する一元的な可視性と制御をお客様に提供します。

最近、Bring Your Own Key (BYOK) のサポートを発表しました。BYOKでは、すべてのリクエストでプロバイダーの秘密情報をプレーンテキストで渡す代わりに、お客様の秘密情報を一元的に管理し、ゲートウェイ設定で利用できます。

AIプロバイダーの秘密をエンドツーエンドで管理する必要がないさらに良い方法は、Unified Billingを使用することです。この場合、アカウントにクレジットを追加して、サポートされているプロバイダーのいずれかでAI Gatewayを直接使用すると、Cloudflareに請求され、Cloudflareはお客様のアカウントからクレジットを減算します。

MoltbotがAI Gatewayを使用できるようにするには、まず新しいゲートウェイインスタンスを作成して、Anthropicプロバイダーを有効にし、次にClaudeキーを追加するか、Unified Billingを使用するためのクレジットを購入し、続いてANTHROPIC_Base_URLを設定するだけです。環境変数を追加することで、MoltbotがAI Gatewayエンドポイントを使用できるようにします。これだけで、コード変更は必要ありません。

MoltbotがAI Gatewayを使い始めると、コストが完全に可視化され、AIエージェントがAIプロバイダーをどのように使用しているかを理解するのに役立つログや分析にアクセスできるようになります。

Anthropicは1つの選択肢であることに注意してください。Moltbotは他のAIプロバイダーをサポートしており、AI Gatewayも同様です。AI Gatewayを使用する利点は、任意のプロバイダーからより優れたモデルが登場した場合、AIエージェント設定のキーを交換して再デプロイする必要がなく、ゲートウェイ設定でモデルを切り替えるだけで済むという点です。さらに、モデルやプロバイダーのフォールバックを指定して、リクエストの失敗を処理して信頼性を確保することもできます。

サンドボックス

昨年、私たちはAIエージェントが信頼できないコードを隔離された環境で安全に実行するためのニーズの高まりを予想し、発表したサンドボックスSDK。このSDKは、Cloudflare Containers上に構築されていますが、コマンドの実行、ファイルの管理、バックグラウンドプロセスの実行、サービスの公開など、Workersアプリケーションからすべて実行できるシンプルなAPIを提供します。

つまり、Sandbox SDKは、低レベルのコンテナAPIを扱う代わりに、安全なコード実行のための開発者に使いやすいAPIを提供し、コンテナのライフサイクル、ネットワーキング、ファイルシステム、プロセス管理の複雑さを処理し、お客様は次の作業に集中できます。わずか数行のTypeScriptでアプリケーションロジックを構築できます。以下にその例を示します:

import { getSandbox } from '@cloudflare/sandbox';
export { Sandbox } from '@cloudflare/sandbox';

export default {
  async fetch(request: Request, env: Env): Promise<Response> {
    const sandbox = getSandbox(env.Sandbox, 'user-123');

    // Create a project structure
    await sandbox.mkdir('/workspace/project/src', { recursive: true });

    // Check node version
    const version = await sandbox.exec('node -v');

    // Run some python code
    const ctx = await sandbox.createCodeContext({ language: 'python' });
    await sandbox.runCode('import math; radius = 5', { context: ctx });
    const result = await sandbox.runCode('math.pi * radius ** 2', { context: ctx });

    return Response.json({ version, result });
  }
};

これはMoltbotにとってグローブのようなものです。ローカルのMacミニでDockerを実行する代わりに、コンテナ上でDockerを実行し、Sandbox SDKを使用して隔離された環境にコマンドを発行し、エントリポイントWorkerにコールバックを使用することで、2つのシステム間の双方向の通信チャネルを確立します。

永続ストレージ用のR2

ローカルコンピューターやVPSで実行することの良い点は、無料で永続的なストレージを利用できることです。しかし、コンテナは本質的に一過性のものであり、その中で生成されたデータは削除されると失われます。心配はいりません。Sandbox SDKは、sandbox.mountBucket()これを使用して、コンテナ起動時にR2バケットをファイルシステムパーティションとして自動的にビルドすることができます。

コンテナのライフサイクルを保証するローカルディレクトリが持てたら、Moltbotはそれを使ってセッションメモリファイル、会話、その他永続化するのに必要なアセットを保存できます。

ブラウザレンダリングによるブラウザ自動化

AIエージェントは、あまり構造化されていないWebの閲覧に大きく依存しています。Moltbotは、専用のChromiumインスタンスを使って、アクションの実行、Webの移動、フォームへの入力、スナップショットの作成、Webブラウザを必要とするタスクの処理を行います。もちろん、SandboxでもChromiumを実行できますが、代わりにAPIを簡略化して使用できるとしたらどうでしょう?

Cloudflareのブラウザレンダリングを使用すると、エッジネットワークで大量に実行されるヘッドレスブラウザインスタンスをプログラムで制御し、インタラクションすることができます。当社はPuppeteerStagehandPlaywrightやその他の人気パッケージをサポートし、開発者が最小限のコード変更でオンボードできるようにします。AI向けにMCPもサポートしています。

Browser RenderingをMoltbotで動作させるために、2つのことを行います。

  • まず、SandboxコンテナからMoltbot WorkerにシンCDPプロキシCDPはChromiumベースのブラウザの計測を可能にするプロトコル)を作成し、Puppeteer APIsを使ってBrowser Renderingに戻します。

  • そして、サンドボックスが起動する時に、ランタイムにブラウザレンダリングスキルを挿入します。

Mortbotランタイムの観点から見ると、ローカルCDPポートに接続してブラウザタスクを実行できます。

認証ポリシーのためのゼロトラストアクセス

次に、APIと管理UIを不正アクセスから保護したいと考えています。ゼロから認証を行うのは難しく、通常、再発明したり、対処しなければならないような話です。Zero Trust Accessは、エンドポイントに対して特定のポリシーとログイン方法を定義することで、アプリケーションを非常に簡単に保護します。

MoltworkerアプリケーションのZero Trust Access Login方法の設定。

エンドポイントが保護されると、Cloudflareはお客様の認証を行い、お客様のオリジンエンドポイントへのすべてのリクエストにJWTトークンを自動的に含めます。次に、そのJWTを検証して、リクエストがAccessからであり、悪意のあるサードパーティからではないことを確認できます。

AI Gatewayと同様に、すべてのAPIがAccessの背後にある場合、ユーザーが誰であるか、Moltbotインスタンスをどのように使っているかについて、優れた結果が得られます。

Mortworkerの動作

デモタイムWorkers上で当社のMoltbotインスタンスを操作できるSlackインスタンスを立ち上げました。それを使って実現した楽しいことをいくつかご紹介します。

Cloudflareは悪いニュースは嫌いです。

ここでは、MoltbotにGoogle Mapを使用してロンドンのCloudflareとリスボンのCloudflare間の最短ルートを見つけるように依頼し、Slackチャネルのスクリーンショットを作成するチャットセッションを紹介します。ブラウザレンダリングを使用した一連のステップを経て、Googleマップを移動しますが、かなりうまく機能します。2回目に尋ねたときのMoltbotのメモリの動作についても見てみましょう。

今日はアジア地区の食べ物が大好きです。Moltbotにお手伝いしてもらいましょう。

私たちは目で消費します。

さらに創造力を発揮して、Moltbotに開発者向けドキュメントを閲覧する動画を作成するよう依頼してみましょう。ご覧のように、ffmpegをダウンロードして実行すると、ブラウザでキャプチャしたフレームから動画を生成します。

独自のMoltworkerを運用する

当社はこの実装をオープンソース化し、 https://github.com/cloudflare/moltworkerで利用できるようにしました。ですので、今すぐWorkers上に独自のMoltbotをデプロイして実行できます。

必要なセットアップ手順はREADMEに記載されています。Sandbox Containersを利用するにはCloudflareアカウントとWorkersの有料プランが必要ですが、それ以外の製品は完全無料(AI Gatewayなど)か、十分な無料枠が用意されているため、一定の範囲内で手軽に始めることができます。

なお、Moltworkerは概念実証であり、Cloudflareの製品ではありません。AIエージェントや教師なしコードを効率的かつ安全に実行し、グローバルネットワークを活用しながら、優れた可観測性を得ることができる、弊社の開発者プラットフォームの最も魅力的な機能のいくつかをご紹介します。

GitHubリポジトリへ自由に貢献したり、フォークしたりして、サポートのために、しばらくの間監視することにします。また、Cloudflareのスキルを並行して、アップストリームへの貢献も検討しています。

まとめ

この実験を楽しんでいただき、AIアプリケーションとエージェントを実行するのにCloudflareが最適であるとご確信いただけましたら、幸いです。私たちは、将来を予測し、最初のエージェントをわずかで構築できるAgents SDK、コンテナのライフサイクルの複雑さに煩わされることなく隔離された環境で任意のコードを実行できるサンドボックス、Cloudflare のマネージド ベクトルベース検索サービスであるAI Searchなどの機能をリリースするためにたゆまぬ努力を続けてきました。

Cloudflareは現在、推論、ストレージAPI、データベース、ステートフルワークフローのための耐久性のある実行、組み込みのAI機能など、AI開発のための完全なツールキットを提供しています。これらのビルディングブロックを組み合わせることで、最も要求の厳しいAIアプリケーションでさえ、グローバルエッジネットワーク上で構築し、運用することが可能になります。

AIに興奮しており、Cloudflareの次世代製品やAPIの構築に役立ちたい方は、当社で募集しています

Cloudflareは企業ネットワーク全体を保護し、お客様がインターネット規模のアプリケーションを効率的に構築し、あらゆるWebサイトやインターネットアプリケーションを高速化し、DDoS攻撃を退けハッカーの侵入を防ぎゼロトラスト導入を推進できるようお手伝いしています。

ご使用のデバイスから1.1.1.1 にアクセスし、インターネットを高速化し安全性を高めるCloudflareの無料アプリをご利用ください。

より良いインターネットの構築支援という当社の使命について、詳しくはこちらをご覧ください。新たなキャリアの方向性を模索中の方は、当社の求人情報をご覧ください。
AIエージェントCloudflare WorkersContainersSandbox

Xでフォロー

Celso Martinho|@celso
Sid Chatterjee|@chatsidhartha
Cloudflare|@cloudflare

関連ブログ投稿

2026年4月22日

Making Rust Workers reliable: panic and abort recovery in wasm‑bindgen

Panics in Rust Workers were historically fatal, poisoning the entire instance. By collaborating upstream on the wasm‑bindgen project, Rust Workers now support resilient critical error recovery, including panic unwinding using WebAssembly Exception Handling....

2026年4月20日

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

We built our internal AI engineering stack on the same products we ship. That means 20 million requests routed through AI Gateway, 241 billion tokens processed, and inference running on Workers AI, serving more than 3,683 internal users. Here's how we did it. ...

2026年4月20日

エージェンティッククラウドの構築:Agents Week 2026で発表された全内容

Agents Week 2026 は終了しました。コンピューティングやセキュリティから、エージェントツールボックス、プラットフォームツール、そして新しいエージェンティックWebまで、発表した内容をすべてご紹介します。エージェンティッククラウド向けに当社が発表した全内容。 ...