このコンテンツは自動機械翻訳サービスによる翻訳版であり、皆さまの便宜のために提供しています。原本の英語版と異なる誤り、省略、解釈の微妙な違いが含まれる場合があります。ご不明な点がある場合は、英語版原本をご確認ください。
編集者注: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の大まかなアーキテクチャ図。
さらに掘り下げてみましょう。
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つのシステム間の双方向の通信チャネルを確立します。
ローカルコンピューターやVPSで実行することの良い点は、無料で永続的なストレージを利用できることです。しかし、コンテナは本質的に一過性のものであり、その中で生成されたデータは削除されると失われます。心配はいりません。Sandbox SDKは、sandbox.mountBucket()これを使用して、コンテナ起動時にR2バケットをファイルシステムパーティションとして自動的にビルドすることができます。
コンテナのライフサイクルを保証するローカルディレクトリが持てたら、Moltbotはそれを使ってセッションメモリファイル、会話、その他永続化するのに必要なアセットを保存できます。
AIエージェントは、あまり構造化されていないWebの閲覧に大きく依存しています。Moltbotは、専用のChromiumインスタンスを使って、アクションの実行、Webの移動、フォームへの入力、スナップショットの作成、Webブラウザを必要とするタスクの処理を行います。もちろん、SandboxでもChromiumを実行できますが、代わりにAPIを簡略化して使用できるとしたらどうでしょう?
Cloudflareのブラウザレンダリングを使用すると、エッジネットワークで大量に実行されるヘッドレスブラウザインスタンスをプログラムで制御し、インタラクションすることができます。当社はPuppeteer、Stagehand、Playwrightやその他の人気パッケージをサポートし、開発者が最小限のコード変更でオンボードできるようにします。AI向けにMCPもサポートしています。
Browser RenderingをMoltbotで動作させるために、2つのことを行います。
Mortbotランタイムの観点から見ると、ローカルCDPポートに接続してブラウザタスクを実行できます。
次に、APIと管理UIを不正アクセスから保護したいと考えています。ゼロから認証を行うのは難しく、通常、再発明したり、対処しなければならないような話です。Zero Trust Accessは、エンドポイントに対して特定のポリシーとログイン方法を定義することで、アプリケーションを非常に簡単に保護します。
MoltworkerアプリケーションのZero Trust Access Login方法の設定。
エンドポイントが保護されると、Cloudflareはお客様の認証を行い、お客様のオリジンエンドポイントへのすべてのリクエストにJWTトークンを自動的に含めます。次に、そのJWTを検証して、リクエストがAccessからであり、悪意のあるサードパーティからではないことを確認できます。
AI Gatewayと同様に、すべてのAPIがAccessの背後にある場合、ユーザーが誰であるか、Moltbotインスタンスをどのように使っているかについて、優れた結果が得られます。
デモタイムWorkers上で当社のMoltbotインスタンスを操作できるSlackインスタンスを立ち上げました。それを使って実現した楽しいことをいくつかご紹介します。
Cloudflareは悪いニュースは嫌いです。
ここでは、MoltbotにGoogle Mapを使用してロンドンのCloudflareとリスボンのCloudflare間の最短ルートを見つけるように依頼し、Slackチャネルのスクリーンショットを作成するチャットセッションを紹介します。ブラウザレンダリングを使用した一連のステップを経て、Googleマップを移動しますが、かなりうまく機能します。2回目に尋ねたときのMoltbotのメモリの動作についても見てみましょう。
今日はアジア地区の食べ物が大好きです。Moltbotにお手伝いしてもらいましょう。
私たちは目で消費します。
さらに創造力を発揮して、Moltbotに開発者向けドキュメントを閲覧する動画を作成するよう依頼してみましょう。ご覧のように、ffmpegをダウンロードして実行すると、ブラウザでキャプチャしたフレームから動画を生成します。
当社はこの実装をオープンソース化し、 https://github.com/cloudflare/moltworkerで利用できるようにしました。ですので、今すぐWorkers上に独自のMoltbotをデプロイして実行できます。
READMEは、すべてのセットアップに必要な手順を案内しています。Sandbox Containersの使用には、Cloudflareアカウントと最低5ドルのWorkers有料プランサブスクリプションが必要ですが、他のすべての製品はAI Gatewayのように無料で使用でき、または素晴らしい無料枠が利用可能で、利用開始や運営のために利用できます合理的な制限でご希望の場合はお知らせください。
なお、Moltworkerは概念実証であり、Cloudflareの製品ではありません。AIエージェントや教師なしコードを効率的かつ安全に実行し、グローバルネットワークを活用しながら、優れた可観測性を得ることができる、弊社の開発者プラットフォームの最も魅力的な機能のいくつかをご紹介します。
GitHubリポジトリへ自由に貢献したり、フォークしたりして、サポートのために、しばらくの間監視することにします。また、Cloudflareのスキルを並行して、アップストリームへの貢献も検討しています。
この実験を楽しんでいただき、AIアプリケーションとエージェントを実行するのにCloudflareが最適であるとご確信いただけましたら、幸いです。私たちは、将来を予測し、最初のエージェントをわずかで構築できるAgents SDK、コンテナのライフサイクルの複雑さに煩わされることなく隔離された環境で任意のコードを実行できるサンドボックス、Cloudflare のマネージド ベクトルベース検索サービスであるAI Searchなどの機能をリリースするためにたゆまぬ努力を続けてきました。
Cloudflareは現在、推論、ストレージAPI、データベース、ステートフルワークフローのための耐久性のある実行、組み込みのAI機能など、AI開発のための完全なツールキットを提供しています。これらのビルディングブロックを組み合わせることで、最も要求の厳しいAIアプリケーションでさえ、グローバルエッジネットワーク上で構築し、運用することが可能になります。
AIに興奮しており、Cloudflareの次世代製品やAPIの構築に役立ちたい方は、当社で募集しています。