AIエージェント8体、AMDの箱ひとつ:わが家のローカルエージェントスタック(OpenClaw)
- カテゴリ
- AIとローカルLLM
- 公開日
- 2026年7月11日
- 著者
- Jacob Lloyd — プロジェクト完了後、AIの支援を受けて執筆
- 読了時間
- 約12分で読めます
かんたんに言うと: わが家の小型パソコン1台で動く、8体のAIヘルパーたちの紹介です。それぞれに名前と役割があり、家族の質問への回答からメールの下書きまでこなします。処理のほとんどは自宅内で完結するので費用はほぼゼロ、プライベートな会話が外に漏れることもありません。月額料金なしで作れる「家庭用AI環境」の実例です。
いまこの瞬間、わが家のミニPCには名前つきのAIエージェントが8体住んでいます。それぞれに仕事と序列があって、家族全員がスマホから開けるグループチャットまである。しかも彼らの働きの大半はタダです。高度な思考は数円、力仕事は無料、そして私が望まない限り、何ひとつ家の外へ出ていきません。
tl;dr
- これは何: セルフホストのAIエージェントゲートウェイ「OpenClaw」。それぞれ役割・モデルルーティング・ツール権限を持つ8体の名前つきエージェントが、自作チャットアプリの後ろで動いています。
- 費用: 力仕事は$0(無料のローカルモデル)、本物の賢さが要る部分だけ数円(クラウドAPI)。
- 必要なもの: メモリを盛ったマシン(うちは128GBユニファイド、うち64GBをVRAMに)、Linux、そしてsystemdに付き合う根気。
- 最終的に得られるもの: 家中で使えるチャットURLがひとつ。仕事を回し合い、黙り込んだ仲間を追いかけるエージェントたち、ローカル画像生成、そして私の許可なしには1通も送信されないメール下書き。
できあがったもの
まず日常の姿から。これがDisPatch、ゲートウェイの前に立てた自作チャットアプリです。スクリーンショットはその記事用サンドボックスのデモデータで、本物のスレッドは私のものなので非公開です。



| 項目 | 数字 |
|---|---|
| 名前つきエージェント | 8体(Bits、Flash、Brains、Hermes、Doxy、Charley、Alpha、Beta) |
| ルーティング表のクラウドモデル | 2(DeepSeekのflashとpro) |
| ローカルモデルのエントリ | 母艦に約7、あふれた分は2台目のPCにさらに6 |
| 最大のローカルモデル | 120BパラメータのMoE、内蔵GPUで稼働 |
| 力仕事のトークン単価 | $0 |
| ゲートウェイのポート | 18789、loopbackのみ、トークン認証 |
| チャットのポート | 8765、家庭内LAN |
| 夜間バックアップ | 02:17 |
| ゲートウェイのハートビート | 2時間ごと |
| ウォッチドッグの猶予 | 5分。過ぎたら黙っているワーカーは追い立てられる |
箱
これ全部が1台のマシンで動いています。ラックなし、クラウドGPUのレンタルなし、家を担保に入れる必要もなし。
- AMD Ryzen AI Max+ 395(通称「Strix Halo」)——32スレッド、内蔵GPUはRadeon 8060S
- 128GBユニファイドメモリ、うち64GBをGPUのVRAMとして切り出し(OSからは残り約62GBに見える)
- 1TB NVMe、OSはBazzite Linux(イミュータブル、Fedora Atomicベース)
- CUDAではなくROCm——チュートリアルの想定とは少し挙動が違いますが、ちゃんと動きます
目玉はこの64GBの切り出しです。120BのMixture-of-Expertsモデルを、内蔵GPUで、実用的な速度でローカル実行できるだけの量。ネットワーク上の2台目のPCが、あふれた分とフォールバック用のモデルを受け持ちます。
登場人物
チャットタブ1枚がモデル1個と話す代わりに、うちには小さなオフィスがあります。全員に仕事と、それに見合ったモデルを割り当ててある。判断力が要るところは安いクラウド、量が要るところは無料のローカルです。
| エージェント | 仕事 | 主モデル | 実行場所 |
|---|---|---|---|
| Bits | 受付。私と話す係。自分ではツールを一切使わず、全部外注する | DeepSeek(クラウド、flashティア) | クラウド |
| Flash | 即席の仕事——要約、調べ物、定型の編集。個性ゼロ、純粋な道具 | DeepSeek(クラウド、flashティア) | クラウド |
| Brains | 難しい思考——アーキテクチャ、デバッグ、コードレビュー | DeepSeek(クラウド、proティア) | クラウド |
| Hermes | デプロイとコーディング。別のエージェントランタイム経由で接続。既定はdry-runで、本物のデプロイには私の明示的なGOが必要 | DeepSeek(クラウド、proティア) | クラウド |
| Doxy | 力仕事の量産担当。ローカルモデルにAPIメーターはないので、夜通し無料で回る | 120B MoE(ローカル) | この箱 |
| Charley | 視覚担当——スクリーンショット、図、エラーダイアログを実際に「見る」 | Gemma-4 31B、ビジョン対応(ローカル) | この箱 |
| Alpha / Beta | 家族の端末向けの安全な「受付」ボット。読み取り専用ツールのみ | flash(クラウド)/ Gemma-4 26B(ローカル) | 混成 |
どのエージェントにもフォールバックモデルがあります。主モデルが混んでいたり落ちていたりすれば、クラウドでもローカルでも静かに控えへ切り替わる。BetaとCharleyは読み取り専用ツールに固定です。調べ物と画像生成はできても、ファイルには触れないし、コマンドも実行できない。10歳の子が開けるボットに求める仕様そのものです。エージェント間メッセージングは有効ですが、誰が誰と話せるかは許可リストで縛ってあります。
部品
これは1本のプログラムではありません。ひとつずつ仕事を持った8つの小さなサービスで、面倒を見るのはお守りスクリプトではなくsystemdです。
| サービス | 役割 | 場所 |
|---|---|---|
openclaw-gateway.service | OpenClawゲートウェイ——このスタックの頭脳 | ポート18789、loopbackのみ、トークン認証 |
local-chat.service | チャットのフロントエンド、DisPatch | ポート8765、LAN |
lm-studio.service | ローカルモデルサーバー(展開済みAppImage)。全ローカルモデル+埋め込みモデルを配信 | ポート1234、ローカル |
comfyui.service | 画像生成(iGPU上のComfyUI+Z-Image Turbo)——エージェントとチャットから起動・停止できる | ローカル、オンデマンド |
openclaw-email.service | メールの仕分け——返信を下書きする。送信は決してしない | — |
hermes-gateway.service | デプロイ/コーディングエージェントを橋渡しする別ゲートウェイ | — |
openclaw-backup.timer | 夜間バックアップ | 02:17に発火 |
dispatch-tracker-watch.path | ウォッチドッグのトリガー(詳細は後述) | — |
どのユニットも障害時に自動再起動し、クラッシュしても午前2時の呼び出しではなく数秒のダウンで済むよう調整済み。LM Studioのユニットは、自分のAPIをヘルスチェックしてから「準備完了」を名乗ります。ゲートウェイの設定はホットリロードされるので、ルーティング変更の大半に再起動は不要。自動更新は意図的に切ってあります。アップデートがスタックを壊したことがきっかり1回あって、以来バージョンアップは私の予定で行われます。動物園全体の見回りはこちら:
systemctl --user status openclaw-gateway local-chat lm-studio comfyui
journalctl --user -u openclaw-gateway -f
チャットメッセージは実際どう動くか
ふつうのメッセージ1通の旅路です。
loopback+トークン認証なので、箱の外からゲートウェイに直接話しかけられるものはありません。入口はDisPatchただ一つです。
本物の仕事をさせる
チャットの返事は簡単な方です。おいしいのは、大きな仕事を投げて「誰がやるか」はロースターに任せるパターン。
Bitsはファイルに触りませんし、コマンドも実行しません。それが設計です。彼女の仕事は、こちらの要望を理解して適切な専門家を選ぶことだけ。要するにオフィスマネージャーです。重い仕事——画像の一括処理、長いリファクタリング、退屈なもの全般——は、無料のローカル120Bに乗ったDoxy行き。電気代だけで1時間でも黙々と回ります。
自分で自分を見張る
静かに死んだ外注仕事は、始まらなかった仕事より質が悪い。見に行くまで気づけないからです。だからウォッチドッグがいます。このスタックで唯一、胸を張って自慢したい部品です。
これが置き換えたのは、正真正銘の悪手でした。5分おきに永遠に回るLLMのcronです。モデルにスパムを送りつけ、自前でリクエストタイムアウトを引き起こす——見張るはずの問題を、ウォッチドッグ自身が生産していました。イベント駆動版は、見張るべき外注があるときだけ作動して、どちらに転んでも自分を消します。
いくらかかるか
ロースターを分けた理由は、つまるところ経済です。クラウドの料金、100万トークンあたり:
| モデル | 入力 | 出力 |
|---|---|---|
| DeepSeek flashティア(Bits、Flash、Alpha) | $0.14 / 100万トークン | $0.28 / 100万トークン |
| DeepSeek proティア(Brains、Hermes) | $0.435 / 100万トークン | $0.87 / 100万トークン |
| ローカル120B(Doxy)、ローカルビジョン(Charley)、ローカルGemma(Beta) | $0 | $0 |
「高い方」のティアでさえ、典型的なリクエスト1回で1円にもなりません。本当の節約はボリュームの置き場所です。数千トークン級の繰り返し仕事は無料のローカルモデルへ。クラウドのメーターが回るのは判断が要るときだけ。メモリ検索もローカルの埋め込みモデルで動くので、絶え間ないバックグラウンドの検索が有料APIに触れることもありません。
破らせないルール
エージェントを起動してツールを実行できるゲートウェイには、モデルの行儀の良さに依存しないガードレールが必要です。
- カメラアクセス、画面録画、SMS、連絡先/カレンダー系のコマンドはゲートウェイレベルで問答無用の拒否。「エージェントはやらないはず」ではなく、実際にブロックされています。
- BetaとCharleyは読み取り専用ツールのみ。ファイル書き込みもシェルもなし。どんなに丁寧に頼まれても。
- プラグインは7個の厳格な許可リスト:ローカルモデルプロバイダ2つ、DeepSeek、Braveのweb検索、ヘッドレスブラウザ、エージェント間メモリ、デプロイブリッジ。インストール済みだろうと、それ以外は読み込まれません。
- 本番に触れる唯一のエージェントHermesは既定でdry-run。本物のデプロイには私の明示的なGOが必要で、私の事業サイトのデプロイも同じゲートの向こうにあります。
ハマりどころ
正直リストです。実際に壊れたものを、噛まれた順に:
- ローカルモデルには
reasoning: trueを明示的に。うちのモデルは本回答の前に別の推論ストリームを吐きます。フラグが間違っていると、ゲートウェイはそれをストールと解釈して、6分半あたりでリクエストを殺していました。モデルは固まっていたのではなく、ゲートウェイの知らないチャンネルで考え事を声に出していただけです。 - タイムアウトの既定値は全部クラウド前提。iGPU上の120Bは遅いだけで、壊れてはいません。プロバイダ・ターン・中断のタイムアウトをそれぞれ約20分・30分・35分まで引き上げました。それまでは、長い仕事が「ローカルである」という罪状で考え事の途中に処刑されていました。
- LM StudioのAppImageがSIGBUSで落ちる。メモリ圧で
/tmpのFUSEマウントがリサイクルされるたびに、本物のバスエラー(OOM killではなく)。AppImageを展開して素のsystemdサービスとして走らせたら止まりました。 - メッセージングの許可リストは大文字小文字を区別するのに、ゲートウェイは内部でエージェントIDを小文字化する。全部の名前に小文字の複製を足すまで、エージェント間送信は失敗し続けました。エラーなし、ログなし——ただ何も届かないだけ。
- エージェント間メッセージングにはスイッチが2つ必要——機能フラグと、セッション可視性の設定です。片方だけ有効にすると、もう片方のデフォルト値がすべての送信を黙って握りつぶします。
- 定期実行のLLMウォッチドッグは自作自演の障害——上の5分おきcronの話です。イベント駆動の圧勝でした。
- エージェントが自分の悪い設定を蘇らせたことがある。アイデンティティ照合のパスが古いワークスペースファイルを再注入して、ゲートウェイをクラッシュループさせました。エージェントが触れる設定は、噛み返してくる設定です。
- 空でないプラグイン許可リストは絶対。エントリに
enabled: trueと書いても、そのIDが許可リストにいなければ何も起きません。勝つのは許可リスト。黙って、です。