ホーム / z - How To / Pixel 10 Pro FoldでローカルLLMを動かす。Termuxとllama.cppで構築するオフラインAI環境

Pixel 10 Pro FoldでローカルLLMを動かす。Termuxとllama.cppで構築するオフラインAI環境

結論から言うと、Pixel 10 Pro Foldは「オフラインで思考するAI端末」になった。

1. はじめに:なぜスマホにLLMを入れるのか?

【背景】 普段、自動売買システムの開発やAWSの運用を行っているが、ふと思った。
「現場」は常にネットが安定しているとは限らないし、機密性の高いコードや相場戦略をクラウドのAIに投げ続けるのはセキュリティ的に少し気が引ける。

【目的】 それなら、手元の最強デバイス 「Pixel 10 Pro Fold」 の中に、自分専用のAI(脳みそ)を飼ってしまえばいい。 目指すのは以下の3点。

  1. 完全オフライン動作: 電波のない地下鉄や機内でもコードレビューや壁打ちができる。
  2. プライバシー保護: データが外部に送信されないため、秘密鍵やロジックの相談も安心。
  3. 相場監視の自律化: ゆくゆくは常時起動させて、仮想通貨の急変動を検知・通知させる「相棒」にする。

2. 選定した技術スタック

■ Device:Google Pixel 10 Pro Fold
折りたたみの大画面で、左にブラウザ・右にターミナルが置ける。RAMも十分。

■ Environment:Termux
Android上で動くLinux環境。root不要で扱えるのが強い。

■ Engine:llama.cpp
Ollamaも検討したが、常駐プロセスとDozeの相性を考慮し、必要な時だけ起動できるllama.cppを選択。

■ Model:Llama-3.2-3B-Instruct
サイズ(約2GB)と応答品質のバランスが、スマホ用途では最適。


3. 導入手順(トラブルシューティング付き)

Termuxを開き、以下の手順で環境を構築した。 ※これから試す人のために、自分がハマったポイントも共有しておく。

① 環境準備

まずは必須パッケージのインストール。

Bash

pkg update && pkg upgrade
pkg install git cmake clang wget python

② llama.cppのビルド(※ここが重要)

以前は make コマンドだけでいけたが、現在は開発が進み cmake 推奨になっている。古い記事では make だけでビルドする手順が紹介されているが、現在は cmake 推奨。ここで詰まる人が多いので注意。

Bash

git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
cmake -B build
cmake --build build --config Release -j4

Pixel 10 Pro Foldのチップパワーのおかげで、ビルドは驚くほど速く完了した。

③ モデルのダウンロード

Hugging FaceからGGUF形式のモデルを取得。

Bash

mkdir -p models
wget -O models/llama3.2-3b.gguf [モデルのURL]

4. 起動と動作検証

いよいよ起動。「魂」を吹き込む瞬間だ。

Bash

./build/bin/llama-cli -m models/llama3.2-3b.gguf -cnv -p "あなたは優秀なアシスタントです。日本語で答えてください。"

【結果】 驚くほど「サクサク」動く。 トークン生成速度は体感で実用レベル。チャットの応答も自然だ。何より、機内モードにしてもAIと会話が成立することに、SF映画のような全能感を感じる。


5. 今後の野望

まず問題なのが、Termuxの黒い画面で日本語入力ができない点だ。
sshでPCからとするのは自宅ではいいが外出先ではあり得ない。
外出先でPCを開いてssh接続では「モバイルで完結」という目的から外れてしまう。
なのでプロンプトを叩くというよりかはトリガーをきっかけに自動化で運用という使い方を模索する。

次は、Androidの自動化アプリ 「Tasker」 と連携させ、以下のフローを構築予定だ。

  1. 音声入力 or Taskerから指示
  2. 裏でllama.cppが思考
  3. 結果をDiscordに通知、または合成音声で読み上げ

例えば、位置情報をベースでMacroDroidから呼び出すとか、AIと一緒にいるという感覚にさせるデバイスに仕上げていきたい。これで、スマホが単なる板ではなく、攻殻機動隊の「タチコマ」やナイトライダーの「K.I.T.T.」のような、能動的なパートナーに進化するはずだ。

※ 本記事は「Pixel Fold ローカルLLM」「Termux llama.cpp」「Android オフラインAI」などで調べている方向けの実験記録です。