– AI ManiaX –

“Thinking with AI, building with AI.”

スマホは「オフラインで思考するAI」になれる

― Pixel 10 Pro Fold × llama.cpp × ローカルLLM実験記

結論から言うと

スマートフォンは、クラウドに依存しない「思考するAIノード」になり得る。
筆者の愛用するPixel 10 Pro Fold は、今回その可能性をかなり現実的なレベルまで引き上げてくれた。

これは「スマホでAIが動いた」という話ではない。
思考をクラウドから取り戻す、そのための実験記録である。


1. なぜスマホにローカルLLMを入れるのか

普段、自動売買システムの開発や AWS 環境の運用をしていると、ふとたまに思う瞬間がある。

  • ネットワークは常に安定しているとは限らない
  • 機密性の高いコードや戦略を、常時クラウドAIに投げることへの違和感
  • 「思考」そのものが外部サービスに依存している状態への不安

便利さの代償として、
思考の主導権をクラウド側に寄せすぎているのではないか

だったらいっそ、
手元のデバイスの中に、自分専用のAIを置いてしまえばいい

目指したのは次の3点だ。

  • 完全オフライン動作
    電波のない地下鉄や機内でも、壁打ちやコードレビューができること。
  • プライバシーの確保
    秘密鍵や相場ロジックを、外部に送信しない。
  • 自律的な相棒化
    将来的には常時起動し、相場変動やイベントを検知する存在にする。

2. スマホを「AIノード」にするための設計思想

今回の構成は、ツールの寄せ集めではない。
「スマホでAIを動かすなら、どうあるべきか」から逆算して選んでいる。

■ Device:Google Pixel 10 Pro Fold

折りたたみの大画面は、単なる贅沢ではない。
画面分割して以下のようにアプリを2画面で利用可能だ。

  • 左にドキュメントやチャート
  • 右にターミナルやログ

という “思考用UI” を成立させられる。
RAMも十分で、ローカルLLM用途としての余力がある。


■ Environment:Termux

さらにはLinuxユーザには嬉しいAndroid上で動くLinux環境。

  • root不要
  • 軽量
  • 必要なときだけ起動できる
  • pythonが動く
  • 無料

スマホを「小さなサーバ」にしない、という判断が重要だった。


■ Engine:llama.cpp

Ollamaも検討したが、今回は llama.cpp を選択。

理由は明確だ。

  • 常駐プロセスを前提としない
  • Dozeモードとの相性が良い
  • 「必要なときに思考させる」設計ができる

スマホAIは 常時対話型である必要はない


■ Model:Llama-3.2-3B-Instruct

約2GBというサイズ感と応答品質のバランスが、
モバイル用途では現実的な最適解だった。


3. 導入手順(詰まりポイント込み)

ここからは実装ログだ。
細かい手順は割愛するが、つまずきやすい点だけ共有する

① まずは環境準備

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

②次に llama.cpp のビルド(重要)

古い記事では make だけでビルドする手順が多いが、
現在は cmake 推奨

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

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


③ 最後にモデルの取得

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

4. 起動と動作検証 ―「魂」を入れる瞬間

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

結果は、正直言って驚いた。

  • 応答速度は実用レベル
  • 体感速度も全く悪くない
  • これなら機内モードでも会話が成立する

「思考がクラウドに繋がっていない」感覚は、
どこかSF的な全能感すらある。
これがエッジAIか、と思った瞬間である。


5. スマホAIの限界と割り切り

もちろん万能ではない。

  • Termux上で日本語入力が不可。(別途テキストファイルに入力して流し込む必要がある)
  • 黒い画面は一般向けではない
  • 常時対話には向かない

ここで重要なのは、
「対話UI」に固執しないことだ。

スマホAIは、
イベント駆動で動く思考エンジンとして使うほうが自然だと感じている。


6. 次の一手:スマホを“能動的AI”にする

次に考えているのは、Tasker や MacroDroid との連携だ。

  • 音声入力やトリガー検知
  • 裏で llama.cpp が思考
  • Discord通知や音声読み上げ

位置情報や時間、相場変動をきっかけに
AIが「先に動く」存在にしたい。

それはもう、
単なるアプリではない。


終章:スマホは“板”から“相棒”へ

クラウドAIは強力だ。
だが、すべてを預ける必要はない。

  • 思考はローカルに
  • 判断は人間に
  • 実行はAIと協働で

これからのスマートフォンは、
攻殻機動隊のタチコマ
ナイトライダーの K.I.T.T. のような、
本人の行動を予測して先回りしてアドバイスや
情報を伝えるような能動的なパートナーになり得ると考える。

これはまだ始まりにすぎない。