3万円台の格安ミニPCを32GBメモリに換装し、27B最高峰ローカルAI「Qwen3.8-27B」を完全VRAM駆動させた全記録(Ollama + OpenClaw)

AI

物理メモリの換装からLinux環境の構築、DockerやOllamaのネットワーク競合、タイムアウト対策、そして日本語入力設定にいたるまで、「知識ゼロの初心者」でもコピペだけで完全に自律型AIエージェントを構築できるよう、すべての入力コードとトラブル対策を網羅しました。


はじめに:格安ミニPC(Ryzen Embedded R2544)が「AI超参謀」に変貌する理由

3万円台で購入可能なエントリークラスのミニPC「NiPoGi P1(または ACEMAGIC K1)」には、産業用・組み込み向けプロセッサである AMD Ryzen Embedded R2544 が搭載されています。 このプロセッサは「省電力」「24時間連続稼働時の圧倒的な安定性」という、自宅ローカルAIサーバーを運用する上で最も重要なアドバンテージを持っています。

通常、AIをローカルで動かすには「VRAM(ビデオメモリ)が24GB以上あるグラフィックボード(GeForce RTX 4090等、数十万円クラス)」が必須と言われます。しかし、このミニPCはシステムメモリ(RAM)を最大容量の 32GB(16GB×2枚のSODIMM DDR4) に物理換装することで、メインメモリの一部を大容量の共有VRAM(UMA)として割り当てることができます。

Linuxのグラフィックス規格(Vulkan / RADV)経由で、システムメモリ全体の約6割に相当する約19.5 GiBを巨大な共有VRAM空間として100%完璧にバインド・利用可能になります。

これにより、クラウドの最上位AI(Claude 3.5 Sonnet / GPT-4oクラス)に匹敵するコーディング・エージェント知能を持つ超巨大ローカルAIモデル 「Qwen3.8-27B」(4bit量子化版:約17.1GB)を、グラフィックボードなしで丸ごとメモリ上に展開させ、電気代だけで自律稼働させることが可能になります。


第1章:ベース環境構築(知識ゼロからの完全ロードマップ)

Ubuntu(Desktop版 24.04LTS / 26.04LTS 推奨)のインストールが完了した直後の状態から、システムを構築するための全コマンドです。ターミナルに一行ずつコピペして実行してください。

STEP 1: OSシステムのアップデートと必須ツールの導入

OSの管理パッケージリストを最新化し、GitやCurl、ビルドに必要な最低限のツールを一括インストールします。

# パッケージリストの更新と、インストール済みパッケージのアップグレード
sudo apt update && sudo apt upgrade -y

# 必須ツールのインストール
sudo apt install -y git curl wget python3-pip python3-venv build-essential

STEP 2: Docker および Docker Compose(v2以降)の導入

コンテナ上で安全にAIエージェント「OpenClaw」を動かすため、現代の標準的なDocker環境をインストールします。

# Dockerの公式インストールスクリプトを取得して実行
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

# 現在のログインユーザー(jz等)をDockerグループに追加(次回ログイン時からsudo不要でdockerコマンドを実行可能にするため)
sudo usermod -aG docker $USER

# Docker Composeプラグインのインストール
sudo apt install -y docker-compose-plugin

(※一度ログアウト、またはターミナルを再起動すると、docker グループへの追加がシステムに反映されます)

STEP 3: Ollama(ローカルLLM実行エンジン)のインストール

ローカル環境でAIモデル(脳)を稼働させるため、業界標準のOllamaを導入します。

# Ollamaの自動インストールスクリプトを実行
curl -fsSL https://ollama.com/install.sh | sh

第2章:OllamaのiGPU(Vega 8)有効化とサービス設定

Ryzen Embedded R2544の内蔵GPUである Radeon Vega 8(グラフィックスアーキテクチャ名: gfx90c) は、最新のAMD ROCm(AI専用ライブラリ)のデフォルトサポートリストから外れています。 そのため、そのまま起動するとOllamaはGPUを認識できず、CPUだけで推論を行うため会話の生成速度が極端に低下(1文字の返答に5分以上)します。

以下の手順で、Ollamaサービスに**環境変数の上書き(バインド・オーバーライド)**を行い、GPU駆動(Vulkan経由)を強制させます。

STEP 1: Ollamaのサービス設定ファイルをエディタで開く

システムデーモンとして動いているOllamaの設定を変更するため、オーバーライド用設定ファイルをシステムエディタで開きます。

sudo systemctl edit ollama.service

STEP 2: 環境変数の記述(エディタへの入力コード)

画面にテキストエディタ(GNU nanoなど)が起動します。 必ず「3行目付近にある空行(上部のコメント行と下部のコメント行に挟まれた空行部分)」に、以下の設定コードを寸分違わず記述してください。

[Service]
Environment="HSA_OVERRIDE_GFX_VERSION=9.0.0"
Environment="OLLAMA_IGPU_ENABLE=1"
Environment="OLLAMA_HOST=0.0.0.0"
  • HSA_OVERRIDE_GFX_VERSION=9.0.0: 古いRadeon Vega 8(gfx90c)を、ROCmがサポートしている「gfx900」に擬態させてロードさせるための魔法の環境変数です。
  • OLLAMA_IGPU_ENABLE=1: Ollamaに対して「内蔵GPU(統合グラフィックス)を無視せず、強制的に演算デバイスとして認識・バインドせよ」と命じるパラメータです。
  • OLLAMA_HOST=0.0.0.0: Ollamaが、ホストPC上のすべてのネットワークインターフェース(127.0.0.1、およびDocker仮想IPの172.18.0.1など)からの接続を受け付けるための設定です。

記述が完了したら、キーボードの Ctrl + O(保存)➔ Enter  Ctrl + X(終了)を押してエディタを閉じます。

STEP 3: システム設定の反映と再起動

書き換えたシステム構成をデーモンにリロードさせ、Ollamaサービスを再起動します。

# システムデーモンの設定ファイルを再読み込み
sudo systemctl daemon-reload

# Ollamaサービスの再起動
sudo systemctl restart ollama

STEP 4: GPU認識のステータス確認

Ollamaが正常に内蔵GPUを掴んでいるか、以下のコマンドでシステムログをリアルタイムで確認します。

sudo journalctl -u ollama.service -n 50 --no-pager

✅ 成功時のログ表示(ここを確認してください): ログの中に以下のような記述が出力されていれば、共有メモリ空間(19.5 GiB)をVulkan経由で100%完璧に確保できています!

library=Vulkan compute=0.0 name=Vulkan0 description="AMD Radeon Graphics (RADV RAVEN)" total="19.5 GiB" available="18.8 GiB"


第3章:BIOS設定(UMA Frame Bufferのメモリ強制割り当て)

PC起動時にシステムがGPUに割り当てる「ベース物理メモリ量(UMAフレームバッファサイズ)」を、あらかじめBIOS(UEFI)側で引き上げておく必要があります。 これを怠ると、Ollamaが起動時にエラーを出してCPU推論に静かに逆戻り(フォールバック)してしまいます。

  1. ミニPCの電源を入れ(または再起動し)、画面にロゴが表示された瞬間にキーボードの Delete キー(または F2 キー)を連打してBIOS画面に入ります。
  2. 矢印キーを使って、以下のメニューへ移動します。
    • Advanced(または Chipset / I/O Ports
    •  AMD CBS  NBIO Common Options
    •  GFX Configuration 
  3. 設定値を以下のように変更します 。
    • Integrated Graphics (内蔵グラフィックス): Forces (強制)
    • iGPU Configuration (またはUMA Mode): UMA-SPECIFIED (UMA指定)
    • UMA Frame Buffer Size (UMA容量): 4G (またはそれ以上。システムメモリが32GBの場合は4G〜8Gを推奨)
  4. 設定が完了したら、 F10 キー(Save & Exit)を押して設定を保存し、PCを起動(Ubuntu)させます。

第4章:自律型AI「OpenClaw」の導入とネットワーク競合の解消

ここから、自律型AIエージェント「OpenClaw」をDockerコンテナとして構築します。 初期の docker-compose デフォルト設定のまま起動すると、コンテナの仮想ネットワークとホスト(Ollama)間のネットワーク通信が隔離され、接続できない致命的な問題(ネットワークの壁)に直面します。 これを最初から回避する完璧なコードを適用します。

STEP 1: プロジェクトのリポジトリ取得とディレクトリの作成

GitHubからOpenClawのソースコードを取得し、設定データとエージェントの作業空間(永続ボリューム)をマウントするためのディレクトリをホームに作成します。

# ユーザーのホームディレクトリに移動
cd ~

# OpenClawリポジトリをクローン(取得)
git clone https://github.com/openclaw/openclaw.git
cd openclaw

# コンテナとマウントするホスト側のデータ保存フォルダを作成
mkdir -p ~/.openclaw
mkdir -p ~/.openclaw/workspace

STEP 2: 【大本命】ホストネットワークモードの上書きファイルの作成

Docker内部のブリッジルーティングやUbuntuファイアウォール(UFW)によるポート遮断を100%完全にバイパスするため、「コンテナにUbuntu本体と同じネットワーク空間を共有させる(ホストネットワークモード)」設定ファイルを新規作成します。

ターミナルに以下のコードを丸ごとコピー&ペーストして実行してください。元の docker-compose.yml を一切壊すことなく、安全に設定を上書き(Override)します。

cat << 'EOF' > docker-compose.override.yml
services:
  openclaw-gateway:
    network_mode: "host"

  openclaw-cli:
    network_mode: "host"
EOF

※これにより、コンテナの中から外側のOllama(ホスト)を呼び出す際、IPアドレスに変動しやすい 172.18.0.1 などを意識する必要が一切なくなり、ローカル直結である 127.0.0.1 を指定するだけで一瞬で接続できるようになります!

STEP 3: 一度作成されたコンテナのクリーンアップ

もし以前のテストで起動した中途半端なネットワークやコンテナが残っている場合に備え、一度完全に初期化・削除します。

docker compose down

STEP 4: 初期設定(オンボーディング)の起動

以下のコマンドを実行し、対話型の設定ウィザード(オンボーディング)を開始します 。

docker compose run --rm openclaw-cli onboard --no-install-daemon

第5章:OpenClaw オンボーディング設定の完全回答手順

オンボーディングが起動すると、ターミナル上に選択肢が表示されます。 キーボードの 矢印キー(↑ / ↓) で項目を選び、 Enter キーで確定させて、以下の通りに進めてください。

1. AIプロバイダーの選択

◆ Model/auth provider リストの中から Ollama を選択して Enter を押します。

2. Ollamaの認証方法

◇ Ollama auth method Ollama を選択します。

3. 動作モードの選択

◇ Ollama mode インターネットを経由させず、完全ローカルで動作させるため、 Local only を選択します。

4. 接続先URLの入力

◇ Ollama base URL 入力欄が表示されたら、以下のように入力して Enter を押します。

http://127.0.0.1:11434

(※ホストネットワークモードで直結しているため、このローカルIPで一瞬にして接続テストが通過します!)

5. デフォルトモデルの選択

◆ Default model デフォルトモデルが ollama/qwen3-vl:8b などに仮指定されています。

  1. 矢印キーで Browse all models(または Enter model manually)にカーソルを合わせます。
  2. リストから、今回使用する大本命モデル qwen3.8:27b を選択します。(手動入力の場合は ollama/qwen3.8:27b と入力します)。

6. AI動作テストのスキップ(初回タイムアウトの回避)

◇ Test AI access now with antigravity live completion? yes/no ここでは必ず No を選択して Enter を押してください。 (※ここでYesにしてしまうと、巨大なQwen3.8-27BをGPUメモリに展開する初回ロード(プレフィル処理)が走り、OpenClaw側のCLI応答制限時間をオーバーして aborted(接続中断)の原因になります。テストは後ほど本番Web画面で安全に行います)

7. チャット連携チャンネルの選択

◆ Select channel (QuickStart) 外部のDiscordやSlack、Telegram連携を今すぐ用意する必要はありません。 一番上にある Skip for now (You can add channels later...) を選択してスキップします。

8. Web検索(Search Provider)の選択

◆ Search provider 同様に、外部検索APIキー(Tavily等)を設定せずに進めるため、一番下の方にある Skip for now (Configure later with openclaw configure --section web) を選択してスキップします。

9. 追加スキルのインストール

◇ Install missing skill dependencies コンテナ環境を汚さず、AI参謀の基本機能のみでシンプルに動作させるため、 Skip for now を選択して終了します。

これで設定ファイルである openclaw.json の自動書き込みが完了し、オンボーディングが終了します!


第6章:ブラウザログイン(Gateway Tokenの確実な取得と接続)

オンボーディング完了後、ブラウザからAI参謀のコントロールパネル(Web UI)にログインします。

STEP 1: ログイン用暗証番号(Gateway Token)の確認

OpenClawのセキュリティ設定上、ブラウザからアクセスする際には「Gateway Token」と呼ばれる認証用パスワードが必要になります。 以下のコマンドを実行し、システムからパスワードを安全に呼び出してターミナル上に表示させます。

docker compose run --rm openclaw-cli config get gateway.auth.token

実行すると、ターミナルに以下のような長い英数字の文字列(パスワード)が出力されますので、確実にコピーして手元に控えてください

abc123xyz789...

STEP 2: OpenClaw をバックグラウンドで常時起動する

以下のコマンドを実行して、OpenClawのゲートウェイ(監視サービス)を裏側で正式に起動させます。

docker compose up -d openclaw-gateway

STEP 3: ブラウザでのアクセス

お使いのWebブラウザ(ChromeやFirefoxなど)を開き、アドレスバーに以下のいずれかのURLを入力してアクセスします。

  • 自動認証URL(最もおすすめ): URLの後ろに、先ほどSTEP 1で確認したトークンをくっつけて直接アクセスします。パスワードの入力手間が省けて一瞬でログインできます。
    http://127.0.0.1:18789/?token=【ここに確認したトークンを貼り付け】
    
  • 手動入力URL:
    http://127.0.0.1:18789/
    

    アクセスするとログイン画面が表示され、「Gateway Token」の入力を求められます。確認したトークンをパスワード欄に貼り付けて「Login」ボタンを押します。

これで、ブラウザ上に美麗なグラフィカルUI(AI参謀の操作画面)が立ち上がります!


第7章:躓きやすいエラーと完全対策コード集

実際に運用を始めた初心者が直面するエラーと、それらを解決するための対策コマンドです。

🚨 トラブル1:話しかけても chat run timed out でエラー表示が消えない

【原因】

Qwen3.8-27B(約17.1GB)は極めて巨大なAIモデルです [294, 347, 745]。DDR4システムメモリをVRAMとして共有するミニPC環境では、ストレージ(SATA SSD等)からデータをロードしてGPUメモリ上に完全に展開する初期計算(プレフィル処理)に 約2分〜5分以上の時間がかかります。 OpenClawのシステムはデフォルトで「AIの待ち時間制限(タイムアウト)」が短く設定されているため、AIが一生懸命起動を待っている最中に、OpenClaw側が待ちきれずに一方的に接続を切断してしまうことでこのエラーが発生します。

【完全対策コード】

対策A:OpenClawのタイムアウト設定を「15分」に延長する AIが時間をかけてじっくり考え、巨大なモデルのロードを完了するのをシステムが静かに待てるよう、タイムアウト上限を900秒(15分)に引き上げます。

# プロジェクトフォルダに移動
cd ~/openclaw

# タイムアウト制限時間を900秒(15分)に上書き設定
docker compose run --rm openclaw-cli config set agents.defaults.timeoutSeconds 900

# 設定を確実に反映させるため、コンテナサービスを再起動
docker compose restart openclaw-gateway

対策B:Ollama側でモデルを「事前ロード(余熱)」しておく(超効果的!) ブラウザから話しかける前に、ホストPC(Ubuntu)のターミナルで先にモデルを起動させ、完全にメモリ上に載せておきます。これにより、OpenClawから話しかけた際の初回ロード負担を「ゼロ」にできます。

  1. Ubuntuのターミナルで以下を実行します。
    ollama run qwen3.8:27b
    
  2. >>> Send a message という会話受付プロンプトがターミナルに表示されるまで、何もキーを押さずにじっくり待ちます(2〜3分かかります)。
  3. 表示されたら、モデルは共有VRAM上に展開完了しています。
  4. /exit と入力してエンターを押し、ターミナル側の会話を終了します(終了しても、Ollamaはバックグラウンドの高速なメモリ上にしばらくモデルを保持し続けます)。
  5. この状態でブラウザからチャットを送信すると、タイムアウトエラーを完全に回避して一瞬で返答が始まります!

🚨 トラブル2:画面に「chat run timed out」の赤いエラーが表示されたまま消えない

【原因】

タイムアウト設定を延長したり、事前ロードを行っても、ブラウザのチャット画面に一度表示されてしまった赤いエラーログは自動的には消えません。過去の「失敗したセッション履歴」のキャッシュが画面上に残り続けているためです。

【完全対策手順】

  1. ブラウザの画面を開いた状態で、キーボードの F5 キー(または Ctrl + R)を押してブラウザページをリフレッシュします。
  2. エラーが出ているチャットスレッドをそのまま使わず、画面右上(または左上)にある「+」ボタン(New Session / 新規セッション)をクリックして、新しく作成した真っ白な会話画面で話しかけてください。

🚨 トラブル3:Dockerの起動中に conflicting options: custom host-to-IP mapping and the network mode と出てコンテナが起動しない

【原因】

Docker Composeの環境設定(docker-compose.override.yml)において、コンテナがネットワーク空間をホストと直接共有する network_mode: "host" と、ホスト名をIPに手動バインドする extra_hostshost.docker.internal:host-gateway など)が同一のコンテナ定義内に重複して存在しているため、Dockerデーモンが競合を起こしてエラーを返しています。

【完全対策コード】

extra_hosts の設定を削除し、純粋な network_mode: "host" だけに整理したクリーンな上書きファイルを再生成します。

# 1. 競合を解消した正しい上書きファイルを再作成する(丸ごとコピペ実行)
cat << 'EOF' > ~/openclaw/docker-compose.override.yml
services:
  openclaw-gateway:
    network_mode: "host"

  openclaw-cli:
    network_mode: "host"
EOF

# 2. 一度コンテナを落としてリセットする
cd ~/openclaw
docker compose down

# 3. 再びオンボーディングまたはゲートウェイを再起動する
docker compose up -d openclaw-gateway

🚨 トラブル4:.env ファイルが見つからない (no such file or directory) と言われてトークンが調べられない

【原因】

自動セットアップスクリプト(./docker-setup.sh)を使わず、コマンドで手動オンボーディングを実行したため、プロジェクトフォルダ直下に .env ファイルが作成されていなかったのが原因です。

【完全対策コード】

設定はすべて ~/.openclaw/openclaw.json(JSONファイル)に安全に保存されています。以下のコマンドを実行すれば、ポロッとトークンを直接ターミナル上に呼び出すことができます。

docker compose run --rm openclaw-cli config get gateway.auth.token

第8章:Ubuntu日本語入力環境(Mozc)の導入と有効化

Ubuntuのデスクトップ環境を新規に構築した場合、初期状態では英語キーボード配列になっており、日本語入力(全角/半角の切り替え)ができません。 以下の手順で、完全に日本語入力(Mozcエンジン)が打てるようにシステムを構成します。

STEP 1: 日本語入力パッケージのインストール

Ubuntuのターミナルで、以下のコマンドを順番に実行してください。

# パッケージリストの更新
sudo apt update

# 日本語入力エンジン(iBus-Mozc)のインストール
sudo apt install -y ibus-mozc

STEP 2: 設定を反映させるための再起動

パッケージのインストールが完了したら、設定をシステムに完全に反映させるため、OSを一度再起動します。

sudo reboot

STEP 3: システム設定での「日本語 (Mozc)」の追加

再起動後、Ubuntuのデスクトップ画面にログインします。

  1. デスクトップ画面の右上にある電源アイコンをクリックし、 「設定 (Settings)」 を開きます。
  2. 左メニューから 「キーボード (Keyboard)」 を選択します。
  3. 「入力ソース (Input Sources)」 という項目の右下にある 「+ (追加)」 ボタンをクリックします。
  4. 言語リストから 「日本語」 を選択します。
  5. その中に表示される一覧から、 「日本語 (Mozc)」 を選択し、右上の「追加 (Add)」ボタンを押します。
  6. 配列の優先順位を保つため、元からあった「日本語」や「英語」などの不要な入力ソースはゴミ箱アイコンをクリックして削除し、「日本語 (Mozc)」だけがリストの一番上(唯一)にある状態にします。

これで、ブラウザやターミナル、エディタ上でキーボードの 「半角/全角」 キー(または 「Super (Windows) + スペース」 キー)を押すことで、自由に美しい日本語入力の切り替えができるようになります!


第9章:自律型AI(エージェント)を実用的に動かすためのアドバイス

完全プライベートなAI参謀環境を快適に使いこなし、本当にバグのない素晴らしいプログラム(動画生成ツールなど)を完成させるための極意です。

1. 超軽量モデル「qwen3-vl:8b」の併用・使い分け(★超おすすめ)

Ryzen Embedded R2544環境で 27Bモデル(17.1GB)を動作させると、どうしても推論のレスポンス(トークン生成速度)は1秒間に1〜2文字程度と、ゆっくりになります。 これは人間の思考の補助や「じっくり調査・レポートを書いてもらう」用途には最適ですが、AIに自律的なバグ確認やファイル書き込み(エージェント自動ループ)を何十回も往復させる用途では、時間がかかりすぎてしまいます。

日常使いの自動化や、サクサクとしたコード書き・対話のラリーを楽しみたい場合は、同じく画像認識(マルチモーダル)に対応した軽量モデルである qwen3-vl:8b(約6.1GB) のダウンロードを強くお勧めします。

# ホストPCのターミナルで8Bモデルをダウンロード
ollama pull qwen3-vl:8b

ダウンロード後、OpenClawブラウザダッシュボードの「Models」設定から qwen3-vl:8b をプライマリモデルとして選択してください。 8Bモデルであれば、32GBメモリのあなたのミニPC環境なら100%完全にVRAM領域に収まり、推論速度が10倍以上に跳ね上がります! これにより、エージェントが自分でバグをテストして自律修復するデバッグループが、数分という現実的な時間でサクサクと終わるようになります。

2. 「チャンク分割(細切れ)開発」の極意

AIに「動画生成ツールを作って」と一言で丸投げ(ワンショット指示)すると、AIは一気に1000行を超えるような巨大なコードを書こうとして、脳(コンテキストウィンドウ)がパンクしたり、単純なカッコの閉じ忘れ等のケアレスミス(バグ)を引き起こしやすくなります。

バグのないツールを安全に完成させるには、以下のようにパーツを細切れにして、AIとキャッチボールしながら作らせる「チャンク分割開発」が必勝法です。

  • 指示のキャッチボール例:
    1. 「まず、動画生成ツールの見た目(HTML/CSS)のモックアップだけ作って。」
    2. 「次に、ユーザーが動画ファイルをアップロードして再生できるUIのフロントエンド機能だけを追加して。」
    3. 「最後に、動画に文字(テロップ)を合成する裏側のバックエンドスクリプト(Pythonなど)を書いて、さっきの画面と繋げて。」

このように、短い試行(200〜300行ずつのパーツ作成)を何度も回して、人間が確認しながらガッちゃんこしていく使い方をすると、ローカル環境でも驚くほど安定して、実用的で素晴らしい自律開発を成功させることができます!


【参考】再起動後にAI参謀を呼び戻す(起動する)ための3行コマンド

PCの電源を切ったり、再起動した後にAI参謀を再び立ち上げる場合は、以下の3行をターミナルで実行するだけです。

# 1. 裏側でQwen3.8をロード(余熱)してGPUメモリに常駐させる(受付画面が出たら /exit で終了する)
ollama run qwen3.8:27b

# 2. プロジェクトフォルダへ移動
cd ~/openclaw

# 3. OpenClawをバックグラウンドで起動
docker compose up -d openclaw-gateway

あとはブラウザから http://127.0.0.1:18789/ にアクセスすれば、いつでも頼れる完全プライベートAI参謀が、インターネットから隔離された安全な環境であなたを待っています!

コメント

タイトルとURLをコピーしました