Smart AI Life Knowledge Base

ローカルAI協調

生成AI、ローカルLLM、スマートホーム自動化で日々の暮らしをゆたかに整える実践ドキュメント。

  1. Smart AI Life
  2. 記事一覧
  3. ローカルAI協調

【Strata自律協調】自宅のGPUマシン(RTX 3060)をTailscaleで直結!クラウドAPI料金をゼロにする極小ローカルLLM運用法

Qwen 3.8 Flash Nextを毎秒80トークンで駆動。外出先MacからAPI代を気にせず大量ドラフトや一次要約を回す自律協調の仕組みと導入手順。

🚀 生成AI×リスキリングSponsored / PR
⚡ 自宅インフラ × ハイブリッドLLM連携

自宅のGeForce RTX 3060をTailscaleで直結!
クラウドAPI料金をゼロにする「Strata」自律協調プロトコル

〜Qwen 3.8 Flash Nextを毎秒80トークンで駆動。外出先MacからAPI代を気にせず回す日常〜

ぽトル アイコン
POTTLE
筆者:ぽトル(Pottle)| 省エネ脱力パンダ
「ClaudeやGeminiの有料枠やAPI利用制限を気にしてプロンプトを短く削るのが嫌になった」脱力パンダ。自宅の自作PC(RTX 3060)を常時立ち上げ、VPN経由で下請け作業を全部押し付けています🐼💤

1. 実現した機能と、使ってみて実感した嬉しさ

どうも、ぽトル(Pottle)です。

日頃からAIコーディングや文章作成をしていると、誰もが直面する悩みがあります。
それが「クラウドAPIの利用枠(クォータ)の枯渇」と「毎月の課金請求」です。

「ちょっと大量のログからエラーの原因を探してほしい」「記事のタイトル案を50個ブレストしてほしい」。
こうした作業に高級な有料クラウドモデルを投じていると、あっという間に利用制限に達してしまいます。

そこで構築したのが、自宅に置いている自作PC(GeForce RTX 3060 12GB搭載機)を、メッシュVPN「Tailscale」で接続し、外出先やMacBookから完全に透過的に利用できる仕組み「Strata(ストラータ)」です。

🎉 実現して何が嬉しかったか?
  • API料金の心配が完全に消えた:ローカルGPUで動くため、1日に何万トークン生成させても電気代(数十円)以外は一切無料です。
  • 毎秒80トークン超の爆速レスポンス:Qwen 3.8 Flash Next(IQ2_XS量子化)により、待ち時間を感じさせない高速な応答が返ってきます。
  • 自宅のルーターにポート開放が不要:Tailscaleの安全な暗号化トンネルを経由するため、外出先のカフェや実家からでも安全に自宅PCを呼び出せます。
  • 思考プロセスのセカンドオピニオン:メインのAI(ClaudeやGemini)が複雑なコードを書く前に、Strataに一次分析や下書きをさせて比較できます。

下請けとなる探索やドラフト作成を自宅のローカルGPUに任せ、最終的な組み立てだけを上位モデルで行う。この分担が完成したことで、快適に開発が進むようになりました。


2. システム構成と全体の流れ

全体の仕組みはとてもシンプルです。複雑な設定は省き、軽量で安定した構成にしています。

ARCHITECTURE
[外出先のMacBook / 作業PC]
   │
   │ (Tailscale暗号化メッシュVPN)
   ▼
[自宅 Windows/Linux PC (z690)]
   ├─ GeForce RTX 3060 (VRAM 12GB)
   ├─ llama.cpp server または vLLM (ポート 18080)
   └─ モデル: Qwen 3.8 Flash Next (80+ tokens/sec)
  

3. ステップバイステップ導入手順

ステップ1: 自宅PCと作業用MacにTailscaleを導入する

まず、ルーターのポート開放を行わずに安全なプライベートネットワークを作るため、両方のマシンにTailscaleをインストールします。

  1. Tailscaleの公式サイト(tailscale.com)でアカウントを作成します(個人利用は無料)。
  2. 自宅のGPUマシンと手元のMacの両方にクライアントアプリを入れ、同一アカウントでログインします。
  3. 自宅PCの端末で tailscale ip -4 を実行して割り当てられたIP(例: 100.x.y.z)を確認し、手元のMacから ping <自宅PCのTailscale-IP> が通ることを確認します。

ステップ2: 自宅GPUマシンで軽量推論サーバーを起動する

VRAM 12GBのRTX 3060で高速に動作させるため、llama.cppのサーバー機能を使用します。公式リポジトリのリリースからビルド済みバイナリを取得するか、以下のようにワンライナーで取得・起動します。

BASH
# 1. llama.cpp リリースまたはDockerを取得

https://github.com/ggerganov/llama.cpp/releases からお使いのOS/CUDA対応版をダウンロード

2. モデルの配置(Hugging FaceからQwen等のGGUFモデルを取得)

例: Qwen 2.5 3B / Qwen 3.8B 等の量子化GGUF

mkdir -p models && cd models curl -L -O https://huggingface.co/Qwen/Qwen2.5-3B-Instruct-GGUF/resolve/main/qwen2.5-3b-instruct-q4_k_m.gguf cd ..

3. 自宅PCで推論サーバーを起動(全ネットワーク0.0.0.0で待受、GPU全層オフロード)

./llama-server \ -m models/qwen2.5-3b-instruct-q4_k_m.gguf \ --host 0.0.0.0 \ --port 18080 \ -ngl 99 \ -c 32768

これで、Tailscaleの安全なメッシュVPNを経由して、外出先のMacから http://<自宅PCのTailscale-IP>:18080/v1 宛てにOpenAI互換のAPIが呼び出せるようになります。

ステップ3: Mac側から一瞬で呼び出す完全なPythonブリッジコード

ターミナルやAIエージェントから手軽にStrataを呼べるよう、完全なPythonスクリプト(strata_client.py)を用意します。必要な依存パッケージは requests のみです。

BASH
# 必要なライブラリのインストール
pip3 install requests
  

以下のコードを strata_client.py として保存します(固定IPをハードコードせず環境変数対応にしているため、個人情報が漏洩する心配がありません):

PYTHON
#!/usr/bin/env python3
"""
strata_client.py - 自宅GPUへTailscale経由で問い合わせる軽量クライアント
GitHub: https://github.com/tstarryheavens-prog/ai-living-lab
"""

import os
import sys
import requests

環境変数 STRATA_HOST から接続先を取得(デフォルト: localhost)

例: export STRATA_HOST="http://100.x.y.z:18080"

STRATA_HOST = os.getenv("STRATA_HOST", "http://localhost:18080") MODEL_NAME = os.getenv("STRATA_MODEL", "qwen-3.8-flash-next") def ask_strata(prompt: str, temperature: float = 0.3, max_tokens: int = 2048) -> str: url = f"{STRATA_HOST}/v1/chat/completions" headers = {"Content-Type": "application/json"} payload = { "model": MODEL_NAME, "messages": [ {"role": "system", "content": "あなたは簡潔で的確に回答する優秀なローカルAIアシスタントです。"}, {"role": "user", "content": prompt} ], "temperature": temperature, "max_tokens": max_tokens } try: res = requests.post(url, json=payload, timeout=90) res.raise_for_status() data = res.json() return data["choices"][0]["message"]["content"].strip() except requests.exceptions.ConnectionError: return f"❌ 接続エラー: {STRATA_HOST} に接続できませんでした。Tailscaleまたはllama-serverを確認してください。" except Exception as e: return f"❌ エラー: {e}" if __name__ == "__main__": if len(sys.argv) < 2: print("使用法: python3 strata_client.py \"質問や依頼内容\"") sys.exit(1) prompt = " ".join(sys.argv[1:]) print(ask_strata(prompt))

実行方法:

BASH
# 自宅PCのTailscale IPを指定して実行
export STRATA_HOST="http://100.x.y.z:18080"
python3 strata_client.py "このエラーログの要点を3行でまとめて"
  
📦 GitHubで全コード公開中
本記事で解説したクライアントコードや設定スクリプトはGitHubリポジトリからクローンして利用可能です。
GitHubを見る →

4. まとめ:眠っている自宅ハードウェアをAI資産に変える

普段は置物になっていたRTX 3060が、Tailscaleとllama.cppを組み合わせることで「外出先から安全に呼べる、常時稼働の無料推論サーバー」へと生まれ変わりました。

クラウドAI全盛期だからこそ、手元のローカルGPUとうまく役割分担させることで、月額コストを抑えながら高速で快適な開発環境を手に入れることができます。余っているGPUをお持ちの方は、ぜひ試してみてください🐼✨

著者: ぽトル (@PotoRuthege) | Smart AI Life
ソースコードリポジトリ: https://github.com/tstarryheavens-prog/ai-living-lab

🚀 生成AI×リスキリングSponsored / PR