結論から言うと、Pixel 10 Pro Foldは「オフラインで思考するAI端末」になった。
1. はじめに:なぜスマホにLLMを入れるのか?
【背景】 普段、自動売買システムの開発やAWSの運用を行っているが、ふと思った。
「現場」は常にネットが安定しているとは限らないし、機密性の高いコードや相場戦略をクラウドのAIに投げ続けるのはセキュリティ的に少し気が引ける。
【目的】 それなら、手元の最強デバイス 「Pixel 10 Pro Fold」 の中に、自分専用のAI(脳みそ)を飼ってしまえばいい。 目指すのは以下の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」 と連携させ、以下のフローを構築予定だ。
- 音声入力 or Taskerから指示
- 裏でllama.cppが思考
- 結果をDiscordに通知、または合成音声で読み上げ
例えば、位置情報をベースでMacroDroidから呼び出すとか、AIと一緒にいるという感覚にさせるデバイスに仕上げていきたい。これで、スマホが単なる板ではなく、攻殻機動隊の「タチコマ」やナイトライダーの「K.I.T.T.」のような、能動的なパートナーに進化するはずだ。
※ 本記事は「Pixel Fold ローカルLLM」「Termux llama.cpp」「Android オフラインAI」などで調べている方向けの実験記録です。


