コンテンツへスキップ
ガイド

AIエージェントとしてのOpenClaw

メッセージを行動に変えるループと、その周囲にあるもの

6分で読めます

OpenClawがAIエージェントと呼ばれるのは、メッセージと返信の間で起きることがあるからです。ドキュメントはそれを、セッションごとに直列化された実行として説明しています。受け付け、コンテキストの組み立て、モデルの推論、ツールの実行、ストリーミング、永続化で、このうちツールのステップがチャットボットにはない部分です。ループの周囲には、すべてのメッセージングの窓口を持つGateway、デバイスを貸し出すノード、バックグラウンドで動くサブエージェント、自ら実行を開始するスケジュールがあります。ここでは、アーキテクチャのページが説明するループ、モデルが話し始める前に組み立てられるもの、その周囲の要素、そして動作を変えられるフックを紹介します。

エージェントループとは、メッセージを行動と返信に変える、セッションごとに直列化された実行です。受け付け、コンテキストの組み立て、モデルの推論、ツールの実行、ストリーミング、永続化から成ります。

ループ

  • エージェントへのリクエストは、パラメーターを検証し、セッションを解決し、セッションのメタデータを永続化して、すぐに実行IDを返します。別のwait呼び出しが、その実行のライフサイクルが終わるまでブロックします。
  • 実行は、モデルとその思考のデフォルト設定を解決し、スキルのスナップショットを読み込み、セッションを構築し、ランタイムイベントを購読し、アシスタントとツールの差分をストリーミングし、実行のタイムアウトを強制します。
  • 実行はセッションキーごとに直列化され、オプションでグローバルレーンを通すこともできるため、ツールやセッションの競合は起こりません。永続的な書き込み権(writer claim)がトランスクリプトへのすべての書き込みを保護し、置き換えられた実行が古いデータをコミットすることはできません。

モデルが話し始める前に組み立てられるもの

ワークスペースが解決・作成され、サンドボックス化された実行はサンドボックスのルートにリダイレクトされることがあります。スキルが読み込まれるか、スナップショットから再利用され、環境とプロンプトに注入されます。ブートストラップのコンテキストファイルはシステムプロンプトに入ります。システムプロンプトは、OpenClawのベースプロンプト、スキルのプロンプト、ブートストラップのコンテキスト、実行ごとの上書きから構築され、モデルの上限とコンパクション用の予約が適用されます。メッセージングチャネルはセッションレーンに供給するキューモードを選びます。実行中に2通目のメッセージが届いても衝突せず、実行の方向を変えるか後に続くのはこのためです。

ループの周囲

  • Gateway:すべてのメッセージングの窓口を持つ1つの長寿命プロセスで、型付きのWebSocket APIを公開します。macOSアプリ、CLI、Web UI、自動化がクライアントとして接続します。
  • ノード:macOS、iOS、Android、ヘッドレスのホストが同じWebSocketにnodeロールで接続し、camera、screen、locationなどのコマンドを公開します。ペアリングはデバイス単位です。
  • サブエージェントとスケジュール:実行から生成されるバックグラウンド実行も、cronやハートビートによる実行も、すべて同じループと同じポリシーを通ります。

チャネルを持つプロセスについてはOpenClaw Gatewayの解説を、ペアリングしたデバイスが何を貸し出すのかについてはOpenClawのノードとリモート操作を、バックグラウンド実行についてはOpenClawのサブエージェントを参照してください。

フックと境界

プロセス内には2つのフックシステムがあります。コマンドとライフサイクルのイベントで動く内部スクリプトと、ループ内部の型付きプラグインフックです。後者は、モデルの解決前、プロンプトの構築前、返信の前、実行の後、ツール呼び出しの前後に働き、コンパクションの前後ではオブザーバーとして働きます。Webhookは別物で、ループのイベントを購読するのではなく、作業をトリガーする外部リクエストを受け付けます。境界は、セキュリティのページが引いているものと同じです。ツールのステップこそがこれをエージェントにしているものであり、ツールポリシー、実行するのではなく説明するOpenClawのスキル、そしてOpenClawとプロンプトインジェクションの解説で示されているガイダンスが、オープンなウェブを読むエージェントがそのウェブに操られないようにしています。

Dialiでは

Dialiでも、ループはドキュメントが説明しているのと同じコードです。変わるのは、その周囲のGatewayを誰が動かすのか、そしてスケジュールされた実行が失敗したときに誰が起きているのかです。平易な言葉による入門は「OpenClawとは何か」で、アシスタントそのものはDialiのマネージドOpenClawホスティングで紹介しています。

  • 受け付け、コンテキスト、推論、ツール、ストリーミング、永続化を、1セッションずつ。
  • Gateway、ノード、サブエージェント、スケジュールは、すべて同じループに流れ込みます。
  • フックはループを変え、ポリシーとサンドボックスがループの範囲を制限します。
今すぐ始める

読むだけでなく、作ってみましょう

エージェントを設定してチャネルを選べば、いつも開いているアプリの中でエージェントが働き始めます。