0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ClawdBot をローカルLLMで動かそうとして失敗した話

Posted at

はじめに

これは、最近流行りのAIエージェント「ClawdBot」を Mac mini に導入しようとして失敗した経験をメモしたものです。

結論

・メモリの少ない Mac でローカルLLMを使っての運用は無理です
・素直に Google や Anthropic などの API を利用しましょう

実行環境

マシン: Mac mini (M1, 2020) 16GB RAM
LLM: Qwen3:8B
LLM実行環境: Ollama 0.15.1
JavaScript実行環境: Node.js 24.13.0

ClawdBotインストール

丁寧なインストール方法は他で解説されているところが沢山あるがあるので、注意点だけメモしました。

Model/auth provider

LLMの設定(Model/auth provider)は後でローカルLLMの設定に自分で修正するので適当で良い。
(OllamaはOpenAIのインターフェイスを真似しているので、とりあえずOpenAIを選んだ)

Select channel

プロンプトを入力するツールの選択は Telegram を選びました。
これは Telegram社公式の ボット作成ツール(BotFather)を利用して自分専用のボットを作ることができ、またAPI経由でアクセスしているという安定性を重視したためです。

外出先から操作しないのであれば、Clawdbot 標準の TUI(端末で動作するプロンプトアプリ) や WEBブラウザからアクセスできるため Skipして良いです。

Telegram bot の作り方

  1. Telegram アプリ を開く
  2. 検索バーで @BotFather を検索する (偽者が多いので注意)
  3. チャット画面で Start を押し、 /newbot を送信する
  4. 「Botの名前(表示名)」と「ユーザー名(末尾が_bot)」を入力する
  5. 表示された Token (123456:ABC-DEF... みたいな文字列)をコピーする。(ClawdBotに利用)
  6. 4で入力したユーザー名を検索する。それが自分専用のボット

Hooks

Hooks(フック)は、session-memory だけ設定しました。

  • boot-md (起動メッセージ)
  • command-logger (コマンド履歴)
  • session-memory (記憶の保存)

Gateway の設定変更

まず、インストールが終わった状態で ClawdBot がすでに動いているので止める必要があります。
下記コマンドで強制終了。
ClawdBot が動いている状態で設定ファイルを変更しても元に戻されます。

clawdbot stop
pkill -f clawdbot

ローカルLLMもダウンロードして使える状態にしておきます。
今回は、llama 3.1 や llama 3.2, Qwen 2.5, Qwen 3 で試しました。
Gemma 3 は、 Function Calling (関数呼び出し)に標準では対応していないので使えません。

ollama pull qwen3:8b

設定ファイルは ~/.clawdbot/clawdbot.json です。

  • workspace の USERNAME は Mac のアカウント名です。
  • gateway の token はインストール時に設定されたものです。
  • botToken は上記で作成した TelegramのBotトークンです。
  • contextWindow は標準では32768(32KB)です。この例ではメモリ消費を抑えるために16KBにしています。16KB未満にすると ClawdBot からエラーが返ります。
clawdbot.json
{
  "agents": {
    "defaults": {
      "maxConcurrent": 4,
      "workspace": "/Users/USERNAME/clawd",
      "permissions": {
        "*": "auto"
      },
      "model": {
        "primary": "ollama/qwen3:8b"
      }
    }
  },
  "models": {
    "mode": "merge",
    "providers": {
      "ollama": {
        "baseUrl": "http://127.0.0.1:11434/v1",
        "apiKey": "ollama",
        "api": "openai-responses",
        "models": [
          {
            "id": "qwen3:8b",
            "name": "Qwen 3",
            "reasoning": false,
            "input": ["text"],
            "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
            "contextWindow": 16384,
            "maxTokens": 4096
          }
        ]
      }
    }
  },
  "gateway": {
    "mode": "local",
    "port": 18789,
    "auth": {
      "mode": "token",
      "token": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
    }
  },
  "channels": {
    "telegram": {
      "enabled": true,
      "botToken": "TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT",
      "dmPolicy": "pairing",
      "allowFrom": ["pairing"]
    }
  }
}

clawdbot.json を書き換えたら、このJSONファイルをチェックする次のコマンドを実行します。
JSONファイルをチェックし利用できない項目は削除、そして独自の項目を追加されます。

clawdbot doctor --fix

あとはGatewayを起動するだけですが、なぜか先に STOP しないとエラーになります。

clawdbot gateway stop
clawdbot gateway

デバッグで Gateway の動作状況を知りたい場合は、verbose オプションを付けて起動する。

clawdbot gateway --verbose

プロンプト端末

Gateway が起動したら、Telegram や WEBブラウザ、TUI からプロンプトを入力します。

  • 端末 TUI からのアクセス
clawdbot tui
  • WEBブラウザからのアクセス
http://127.0.0.1:18789/chat
  • Telegram は、作成した自分のボット @xxxx_bot と会話する。

プロンプト

ClawdBot から操作できる「スキル」は下記のコマンドで知ることができます。

clawdbot skills list

インストールされていないスキルも、プロンプトで「○○で××がしたい」(○○がスキルの対象)と打つと自動的にインストールしてくれる(はず)です。

デバッグ

デバッグする時は clawdbot のログファイルを参照します。
ログを AI Chat に入れると問題点を見つけてくれることが多いです。

ログの取得

clawdbot logs

または /tmp にある日付付きのログファイル

tail /tmp/clawdbot/clawdbot-2026-01-25.log

システムプロンプト

システムプロンプトをいじりたい場合は、~/clawd 下にある下記ファイルに追記します。

ファイル名 役割(ここに書き込むべき内容)
SOUL.md 思考プロセスと性格。 思考の指針を書きます。
TOOLS.md ツールの使い方の補足。 具体的ルールを書きます。
IDENTITY.md ボットのアイデンティティ。 自分がどのようなアシスタントであるかの定義を書きます。
USER.md ユーザー(あなた)に関する情報。 あなたの好みや、特定のキーワード(「赤井」など)に関するコンテキストを書きます。

テスト(地獄の始まり)

実行する準備はできました。
まず、 /new コマンドを打ち、新しい会話を始めます。

「Hello」
・・・2分ぐらいしてから返事が返ってきました。
スクリーンショット 2026-01-26 22.39.19.png

Macのメモリが 16GBしかないので、メモリ消費を抑えるためコンテキストウインドウのサイズを半分にしてみました。
・・・様子がおかしい。
スクリーンショット 2026-01-26 22.41.41.png

だんだん壊れていきます
スクリーンショット 2026-01-26 22.42.45.png

頼んでもいないメモリ検索を始めました。
スクリーンショット 2026-01-26 22.43.20.png

メモリが足りないのかとさらにコンテキストウインドウのサイズを半分にします。
・・・怒られました。16000 以上じゃないとダメだそうです。
スクリーンショット 2026-01-26 22.44.22.png

Gemini と相談したところ、ClawdBot からの情報量が多すぎて LLM がハルシネーションを起こし、ClawdBotから送られてきた命令やIDを忘れたり、勝手に書き換えたりしているらしい。
スクリーンショット 2026-01-26 22.45.28.png

llama さんは 3.1 も 3.2 も全くダメだったので、Qwen 2.5 さんに代わってもらいました。
お返事はしてくれるようです。
スクリーンショット 2026-01-26 22.47.59.png

ClawdBot が標準対応している Obsidian というアプリの中で検索をしてもらいます。
・・・口ではやると言っていますが、結局答えは返ってきませんでした。
(本来なら obsidian のスキルを呼ぶはずが、メモリ検索をしていた)
スクリーンショット 2026-01-26 22.49.28.png

その後、Qwen3 に代えたり、システムプロンプトで Obsidian のスキルを強制的に使用するよう書いてみたりしてみたりしましたが、まともに動くことはありませんでした。
(約6時間試しました)

今日、ローカルLLMを諦めて、Google の Gemini 3 Flash で試したところ、非常に快適に動きましたとさ。
めでたくない、めでたくない。

結論2

メモリ 16GB では動かすことができるモデル(7B, 8B)では ClawdBot をまともに動かすことができません。
もっとサイズの大きいモデルなら可能かもしれませんが、その為には非常に大きなRAMが必要です。

大容量のRAMを積んだマシンを持っている方は、14B 以上 で試してみてください。

あと、頻繁にアップデートがあるので、この記事に書いたコマンドが実行できなくなる可能性もあることを考慮してください。

おしまい。

参考文献

ClaudBot公式ページ
https://clawd.bot/

ClaudBot公式ドキュメント
https://docs.clawd.bot/

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?