OpenClaw 動作原理

OpenClaw は普通のチャットボットではなく、あなたのコンピュータの中に住むプライベート秘書です。微信(WeChat)、WhatsApp、Telegram などのチャットソフトを通じて指示を受け取り、メール送信、カレンダー確認、ブラウザ起動、コマンド実行を支援し、さらには24時間自動で働くことができます!

中心となる概念

概念 たとえ 役割
Gateway(ゲートウェイ) ビルのフロント受付 すべての外部メッセージを受け取り、正しいワークスペースに振り分ける
Workspace(ワークスペース) あなたのプライベートオフィス 具体的なタスクを処理し、会話履歴とスキルを管理する
LLM(大規模言語モデル) AI アドバイザーの頭脳 あなたの意図を理解し、返答を生成する
Skills(スキル) ツールボックスの中のツール 特定の機能を実行する(天気確認、コード作成、スケジュール管理など)
Channels(チャネル) 通信デバイス 異なるメッセージプラットフォームを接続する

OpenClaw とは何か?

OpenClaw は、次のようなものです完全オープンソースで、自分のコンピュータ上で動作する AI アシスタント(以前は Clawdbot と呼ばれ、後に改名されました)。
ChatGPT のようにただ会話するだけでなく、実際に行動を起こします:

  • WhatsApp で「明日のフライトを調べて」と言えば、自動的にブラウザを開き、航空会社のウェブサイトにログインし、スクリーンショットを送ってくれます。
  • 数百のスキル(Skills)をサポートしており、コミュニティによってさらに増え続けています。
  • 長期的な記憶(あなたの好みを覚えている)を持ち、自分で新しいスキルを生成することもできます。
  • 最も重要なのは:データはすべてあなたのコンピュータ内にあり、クラウドにアップロードされないため、プライバシーが安全です。

中心となる考え方:AI 大規模モデル(頭脳) + ローカルツール(手足) + チャットソフト(口と耳)を接続するこれにより、AI を本当の意味であなたのコンピュータの執事にします。

全体アーキテクチャ:Gateway は頭脳の司令塔

OpenClaw の最も中核となる部分はGateway(ゲートウェイ)です。それは自宅の中央制御盤のようなもので、すべてがそれを中心に動きます。

各部分の簡単な説明:

  • Channel Bridge(チャネルブリッジ):WhatsApp、Telegram などのチャットソフトと「ハンドシェイク」する役割を担います。例えば、Baileys ライブラリを使って WhatsApp に接続します。
  • Gateway:唯一の実行プロセス(1つのポートを使用、デフォルトは 18789)で、交換手のようにメッセージを AI に転送します。
  • AI 頭脳:実際に思考するのは外部の大規模モデル(あなたが API キーを提供)であり、Gateway は「それを呼び出して仕事をさせる」だけを担当します。
  • ツール & スキル:AI の手足であり、例えばブラウザを開く、ファイルを読み書きする、メールを送信するなどです。
  • 記憶システム:ノートのようなもので、AI は前回あなたが話したことを忘れません。

メッセージはどのようにアクションになるのか?

実際の例を使って説明します:「WhatsApp で『今日のメールをまとめて要約して送って』と言う」。

フロー図は以下の通りです:

詳しく分解すると:

  1. 指示を受け取る:あなたがメッセージを送信 → チャットソフトの Bridge がメッセージを Gateway にプッシュします。
  2. 記憶を検索する:Gateway があなたの「個人プロフィール」(Session + Memory)を開き、あなたが古いユーザーであることや、前回どんな口調を好んだかを把握します。
  3. AI が思考する:メッセージ + 記憶をまとめて AI 頭脳に送ります。AI は賢い秘書のように「うーん、まずメールを読んで、それから要約が必要だ」と考えます。
  4. ツールを呼び出す:AI が「Gmail スキルを使う」と言います。Gateway は安全なサンドボックス内で実行します(AI がファイルを勝手に変更するのを防ぎます)。
  5. 実行 + フィードバック:ツールが結果を AI に渡し、AI が要約を作成します。
  6. ユーザーに返信する:Gateway が要約を WhatsApp に送り返します。するとあなたは受け取れます!

全体アーキテクチャ

3層アーキテクチャ設計

OpenClaw は古典的な3層アーキテクチャを採用しています。外から内へ層ごとに理解していきましょう:

なぜこのように設計するのか?

たとえ:大企業を想像してください

  • 外層(ユーザーインターフェース)= 顧客は電話、メール、微信(WeChat)など複数の方法で会社に連絡できる
  • 中層(Gateway)= フロント受付がすべての顧客を一元的に受け付け、適切な部門に振り分ける
  • 内層(Workspace)= 異なる業務部門がそれぞれ異なる業務を担当する
  • 基盤層(能力層)= 会社のリソース(専門コンサルタント、ツール・設備など)

中核コンポーネント詳細

Gateway:統一されたポータル

Gateway とは何か?

Gateway(ゲートウェイ)は OpenClaw の入り口であり、すべての外部メッセージは必ずここを通過します。

Gateway の3つの主要な責務:

1. 認証(Authentication)

あなたが承認したプラットフォームだけが接続できることを保証する

2. ルーティング(Routing)

メッセージを正しいワークスペースに送る

3. ログ記録(Logging)

すべてのやり取りを記録し、デバッグと監査を容易にする

Gateway を起動するコマンド:

# 启动网关,监听 18789 端口
openclaw gateway --port 18789 --verbose

Workspace:あなたのプライベートオフィス

Workspace とは何か?

Workspace(ワークスペース)は実際にタスクを処理する場所です。複数のワークスペースを持つことができ、それぞれが異なることを担当します。

典型的な Workspace 設定の例:

# workspace-personal.yaml
name: "个人助理"
llm:
  provider: "anthropic"  # 使用 Claude
  model: "claude-sonnet-4"
  apiKey: "sk-ant-xxx"

skills:
  - weather        # 查天气
  - calendar       # 管理日程
  - email          # 处理邮件
  - web-search     # 网页搜索

settings:
  language: "zh-CN"
  temperature: 0.7
  max_tokens: 4000

複数ワークスペースの使用シナリオ:

LLM:AI の頭脳

LLM とは何か?

LLM(Large Language Model、大規模言語モデル)は OpenClaw のインテリジェントな頭脳であり、あなたの意図を理解して返答を生成する役割を担います。

OpenClaw がサポートする LLM:

プロバイダー モデル例 特徴 適用シナリオ
Anthropic Claude Sonnet 4 バランスが良く、安全、多言語に優れる 日常会話、文章作成
OpenAI GPT-4 専門的で知識が広い 専門的なタスク、分析
DeepSeek DeepSeek-V3 コード能力が高く、安価 プログラミング支援
ローカルデプロイ Ollama 完全にプライベートで無料 プライバシーに敏感なシナリオ

Channels:外部世界への接続

Channels とは何か?

Channels(チャネル)は、さまざまなメッセージプラットフォームを接続する「アダプター」です。

各 Channel の役割:

  1. メッセージの受信:プラットフォームからユーザーメッセージを取得する
  2. フォーマット変換:OpenClaw 内部フォーマットに統一変換する
  3. 返信の送信:OpenClaw の返信をプラットフォームに送り返す

例:Telegram Channel のワークフロー


メッセージの流れのプロセス

それでは、完全なメッセージが OpenClaw の中でどのように流れるのかを見てみましょう:

完全なメッセージフロー図

詳細ステップ解説

ステップ 1-3:メッセージの受信と標準化

ユーザーが Telegram でメッセージを送信すると、Telegram Channel がそれを OpenClaw の標準形式に変換します:

{
  "platform": "telegram",
  "channel_id": "telegram_123",
  "user": {
    "id": "user_456",
    "name": "Alice"
  },
  "message": {
    "type": "text",
    "content": "上海明天天气?",
    "timestamp": "2024-03-09T10:30:00Z"
  }
}

ステップ 4-5:認証とルーティング

Gateway はこのメッセージを検査します:

  • 送信元は認証済みか?
  • どの Workspace にルーティングすべきか?
  • ユーザーに権限があるか?

ステップ 6-8:AI の理解と意思決定

Workspace は完全なコンテキストを準備して LLM に送信します:

[系统提示]
你是一个个人助理,可以使用以下技能:
- weather: 查询天气
- calendar: 管理日程
- ...

[对话历史]
ユーザー: 你好
助理: 你好!有什么可以帮你的?

[当前消息]
ユーザー: 上海明天天气?

ステップ 9-12:スキル実行

LLM は weather skill を呼び出すことを決定し、Workspace が実行して結果を取得します:

{
  "location": "上海",
  "date": "2024-03-10",
  "weather": "晴转多云",
  "temperature": "18-26°C",
  "humidity": "60%",
  "wind": "东风 3-4级"
}

ステップ 13-17:返信を生成して返す

LLM は天気データに基づいて自然言語の返信を生成し、元の経路を通ってユーザーに返します。


スキルシステム

スキル(Skills)とは何か?

スキルは、OpenClaw が特定のタスクを実行するための「能力モジュール」です。OpenClaw を人に例えるなら、スキルはその人が身につけたさまざまな能力です。

スキルの構造

各スキルには以下が含まれます:

例:天気スキルの定義

スキルの呼び出しフロー

スキルの安全メカニズム

OpenClaw はスキルに対して厳格なセキュリティ管理を行っています:

権限タイプ:

権限 説明 例
network ネットワークアクセス 天気確認、ウェブ検索
filesystem ファイルシステム ファイルの読み書き
email メールアクセス メールの送信/受信
calendar カレンダーアクセス スケジュール管理
system システム操作 コマンド実行

完全なワークフロー

実際のシナリオを通じて、すべての概念を結び付けましょう:

シナリオ:毎日の天気予報を定期的に送信

要件:毎朝 8 時に、Telegram で今日の天気+スケジュールリマインダーを受け取る

設定コード

# workspace-daily-report.yaml
name: "每日报告助理"

# 定时任务
cron_jobs:
  - name: "早间报告"
    schedule: "0 8 * * *"  # 每天早上8点
    action:
      type: "send_message"
      channel: "telegram"
      template: |
        请生成今日报告:
        1. 查询我所在城市的天气
        2. 列出今天的所有日程
        3. 以友好的方式呈现

# 可用技能
skills:
  - weather
  - calendar

# LLM 配置
llm:
  provider: "anthropic"
  model: "claude-sonnet-4"

ユーザーが受け取るメッセージ

早安!今日简报

天气情况
上海今天多云,气温 15-23°C
建议穿着:薄外套
降雨概率:10%

今日日程
- 09:00 - 10:00  团队晨会
- 14:00 - 15:30  客户演示
- 16:00 - 17:00  代码评审

温馨提示
今天有 3 个会议,建议提前准备演示材料。

データフローと状態管理

データはどのように保存されるのか?

データタイプと保存方法:

データタイプ 保存方法 保持期間 例
現在のセッション状態 メモリ セッション終了まで 進行中の会話コンテキスト
会話履歴 ローカルデータベース 設定可能(例:30日間) 過去のチャット記録
ユーザー設定 設定ファイル 永続 APIキー、プリファレンス設定
スキルデータ スキル自身が管理 スキルによる スケジュール、メール下書き
システムログ ログファイル 設定可能 エラー、デバッグ情報

拡張性とプラグインエコシステム

新機能を追加するには?

OpenClaw の設計により、簡単に拡張できます:

スキルインストールの流れ

その他の拡張