Ollama は Cloud Mac AI Stack のプライベート Inference 層であり、ローカル試用ではない

Claude Code がコードを書き、Runner がビルドできるようになったあと、なぜ Cloud Mac に Ollama を常駐させるのか?

Cloud Mac AI Stack · L2  ·  2026.06.04  ·  約 14 分  ·  アーキテクチャ文(Ollama インストール手順なし)

Apple Silicon Mac 上の Ollama プライベート Inference と Cloud Mac AI ワークロードのイメージ

前回では L1(GitHub Runner) を整理しました:git push のあと監査可能な Fact が必要です(定義は Runner 編 · Stack 用語)。多くのチームは同じ Cloud Mac に Claude Code を入れ、ついで brew install ollama——すると本番コーディングは依然 100% Claude API、Ollama は空転し 6–8GB のユニファイドメモリを占有、という状態に陥ります。

これは「Ollama が無用」ではなく、なぜ Inference が単独の層でなければならないかにまだ答えていないからです。本稿は Ollama インストール大全ではなく、16GB vs 24GB 実測M4 vs GPU クラウドコストも繰り返しません。L2 の存在理由・境界、L3(Diff)との関係だけを扱います(L3 は Claude Code ワークステーション)。

GitHub Runner が「コードが本当に検証を通ったか」を解くなら、Ollama は「どの Token を自分の Cloud Mac 上で推論しなければならないか」を解きます。 この対:Fact vs Inference

L2
Inference Service(推論サービス)
任意
Claude Code より先ではない
0
本のインストール手順

Cloud Mac AI Stack · L2 一言

Runner は実行エンジン;Ollama は Inference Service;Claude Code はコーディング Agent。

産出物は Fact、Inference、Diff。L2 の鍵はモデルではなく、推論能力を長期呼び出し可能な Inference Serviceにすること(任意)。

Stack における L2 の責務

L3 は「リポジトリをどう直すか」;L1 は「直したあとビルド・署名・配布できるか」;L2 は「どの推論 token を macOS ノードから出してはいけないか」。 Claude の代替ではなく、Cloud Mac に重ねる第二の推論パイプラインです。

L2 の産出物:Inference とは

Cloud Mac AI Stack ではツール名ではなく産出物で層を分けます(全体は Runner 編 · Stack 用語):

記憶の鎖 · 五種の産出物(呼び出し順ではない)

  Context  →  Inference  →  Diff  →  Fact  →  Workflow
  (MCP)      (Ollama 等)    (Claude Code)  (Runner)  (OpenHands)

五層図は L0–L5 のコンポーネント;産出物の鎖は Inference を Context/Diff/Fact/Workflow と並列にし「横断パッチ」感を避ける

ここでの Inference は、自分が制御する macOS プロセス内のモデル forward——prompt / embedding を入れ、completion / ベクトルを出し、第三者の推論 API を経由しない(または L3 主経路だけ API、L2 でローカル必須の token を処理)ことを指します。Ollama は現在最も一般的な L2 実装ですが唯一ではありません。Core ML や MLX も一部 Inference を担えますが、Ollama のモデル生態と運用パスが統一されやすく、L2 のデフォルト叙述に向きます。

L2 の形態:Inference Serviceであり、たまの ollama run ではない

Inference だけでは「またローカルモデルツール」と読まれがちです。Stack では形態——各層が長期依存できるシステム役割——を強調します:

コンポーネント 形態 産出物
L1 GitHub Runner Execution Engine(実行エンジン) Fact
L2 Ollama(等) Inference Service(推論サービス) Inference
L3 Claude Code Agent(コーディング Agent) Diff

ollama run qwen3:8bollama serve+ヘルスチェック+cron の差は、「SSH で手動テスト」と「Runner が push を待つ」の差に似ています:

ollama run     →  人が端末の前で一度きりの推論(試走)
Inference Service  →  11434 常駐、モデル pin、Runner / スクリプト / Agent が繰り返し呼ぶ

L2 の鍵はモデルではなく、推論を長期呼び出し可能な Service にすること。 モデルは交換可;API・呼び出し元・シフト・可観測性が Stack で固定される対象です。

Inference を L2 として独立させる理由(Claude Code の一部ではない)

よく聞かれる:「Claude API も推論では?」 はい——しかし Stack は産出物で層分けし、「ニューラルネットがあるか」では分けません。

Claude Code の責務は Diff——どのファイルをどう直し、PR にどんな patch か。Inference の責務は Token——任意の forward のテキストやベクトル。Diff は Token の用途のひとつです。

同じく Inference だがコーディング Agent 主経路に入れない仕事:

  • ログ要約・分類・レビュー・ルーティング
  • Embedding、RAG、rerank
  • Agent 記憶整理、ナレッジベース清掃
  • 夜間バッチ、定時レポート

したがって:

Claude Code  ⊂  Inference の応用シーンのひとつ

ではなく:

Inference  ⊂  Claude Code

L2 を独立させるのは Ollama が「より下」だからではなく、一台の Cloud Mac に複数の推論パイプラインがあり得るからです:L3 は API で Diff;L2 はローカルでプライベート Token;並行で代替しません。Inference を Claude Code に折りたたむと「Claude を入れれば推論層は揃った」と誤り、空転 Ollama の原因になります。

Ollama vs Claude Code:二者択一ではない

検索では「Ollama か Claude Code」がよく出ますが、Stack 文脈では問いの立て方が違います。産出物が異なり、代替関係ではありません

観点 Claude Code(L3) Ollama(L2)
産出物 Diff Inference
形態 Agent(オンデマンドコーディング) Inference Service(24/7 常駐可)
算力経路 多くは Claude API ローカルlocalhost:11434 等)
典型タスク コーディング、patch、リポジトリ変更 要約、embedding、分類、夜間バッチ、コンプライアンス副タスク
動き方 オンデマンド:Agent を開くと推論、離れると主経路停止 常駐可:24/7、cron / sidecar が随時呼ぶ
Stack 内 主経路(コード変更) 副タスク・プライベート管線(L3 より先に起動不要)

実務の合言葉:コードは Claude Code;「どの token を機外に出せず、定時で回すか」は Ollama。 L2-Q03 続編;本稿は「二者択一ではない」だけを固定します。

「モデル試用」と「プライベート Inference 層」の差

同じ ollama run qwen3:8b でも、意図でアーキテクチャ結果が分かれます:

観点 モデル試用(個人) L2 · Inference Service
目的 prompt 試行、tok/s 比較、スクショ 固定負荷:コンプライアンス要約、ログ分類、embedding、夜間バッチ
CI との関係 無関係 L1 Runner と時間帯で錯峰(昼 CI・夜 Inference)、L0 メモリ共有
L3 との関係 二者択一:「ローカルか Claude か」 並行:コーディングは API、副タスクは localhost:11434
成功基準 モデルが応答する SLA:遅延上限、モデル pin、失敗アラート、token 不出機
マシン形態 ノートを閉じれば停止 Cloud Mac 24/7:Inference Service と Runner / Agent が同 Stack で可観測

一言:試用は「動くか」;L2 は「何を・いつ・誰が出力に依存するか」。 プライベート Inference が不要なら L2 は丸ごとスキップ可——「完全 Stack」のために無理に Ollama を入れないでください。

L2 と L1 / L3 の分担

混同しやすい境界:

コンポーネント 産出 答える問い
L1 GitHub Runner Fact このコミットはビルド・テスト・アーカイブできるか?
L2 Ollama(等) InferenceInference Service 経由) どの推論を本機で、Runner / Agent が繰り返し呼べるか?
L3 Claude Code DiffAgent 形態) リポジトリをどう直すか?(多くは Claude API)

L2 は Diff も Fact も産みません。 PR を緑にしたり xcodebuild を代替したりしません。典型接続:Claude Code が修正 → Runner が検証 → 某 step や sidecar が Ollama でログ要約、脆弱性パターン、プライベート embedding——出力は Context(L4)や人のレビューへ行き、「ビルド成功」と同一ではありません。

五層図の L2:階層 ≠ 呼び出し順

全シリーズ共通の五層は Runner 編 · 五層構造図。図で Ollama が Claude Code の下にあるのは責務上 Inference がプライベート算力の土台を示すもので、起動時に必ず ollama serve してから Claude Code、ではありません。

抜粋 · 全体は Runner 編

  Claude Code  L3 · Diff
       ↑ 並行、非依存
  Ollama       L2 · Inference Service(任意)
       ↑
  GitHub Runner L1 · Fact
       ↑
  Cloud Mac    L0 · インフラ

Claude API と Ollama は同時に存在できます——前者はコーディング主経路の Diff、後者は本機 Inference。これは「ローカルモデルが Claude を置き換える」物語とは異なり、Cloud Mac AI Stack と「単機 All-in-One チャット」製品の境界です。

コンプライアンス以外:L2 の常時計算価値

L2 は「金融・医療・大企業だけ」と書かれがちですが、Cloud Mac の利用者の多くは個人開発者・AI 起業家・小チームで、コンプライアンスチケットがなくても L2 が要ることがあります。

差は働き方です:

Claude Code(L3)· オンデマンド
  開く → 推論開始
  閉じる → 主経路の推論終了

Ollama(L2)· 24/7 可
  常駐 → cron / sidecar が随時呼ぶ
  端末の前にいなくても動く

これらはAgent 対話でも CI でも日常 Coding でもないが、本物の長期 Inference Serviceです:

  • Runner / アプリログの毎時整理
  • 夜間の embedding 再構築、ナレッジベース清掃
  • 日報・異常分類・ルーティング草稿の自動生成
  • Claude Code オフライン時も Context(L4)側データを更新

ノートを閉じれば止まり、インフラにはなりにくい。L1 と錯峰すれば昼 Fact・夜 Inference は小チームに現実的——前提は L2 をServiceとして運用することです。

ローカル Mac は動かせる、Cloud Mac は運用できる

「自宅 Mac mini でも brew install ollama できるのに Cloud Mac?」——その通り、ローカル Mac = 動かせる;差はインフラとして運用できるかです。

観点 ローカル Mac / ノート Cloud Mac(L0)
可用性 蓋・スリープ・出張で停止 24/7 常駐、固定出口
Stack との関係 Ollama が孤立しがち Runner・Claude Code と同機で可観測・錯峰
L2 形態 多くは ollama run 試用 Inference Service:ヘルスチェック、pin、sidecar / cron
依存者 ほぼ本人のみ CI、Agent、定時ジョブ、チームスクリプト

Ollama は Cloud Mac のために存在するわけではない;Cloud Mac の価値は、Ollama を端末コマンドから 24/7 可観測・シフト可能・Runner と Agent が共有する Inference Service にすること。 さもないと「Ollama の話」に見え、プライベート Inference を Stack に載せる理由が伝わりません。

選定と L0 境界は Cloud Mac vs ローカル Mac AI ワークステーション。本稿はレンタル仕様を繰り返さず、Stack 叙述では L2 は「運用できる」ノードに置くとだけ固定します。

L2 に載せるべきワークロード

Ollama を L2 インフラ(試用以上)とみなすシグナル:

  • コンプライアンス / エアギャップ——コードとログは Cloud Mac へ、推論リクエストは公有 API 不可;L2 で脱敏後の分類・要約・PII 検出。
  • Embedding / rerank——CodeGraph や RAG が安定・pin 可能なローカルベクトルモデルを要する場合。
  • 高頻度・小モデル・バッチ——例:毎夜 CI ログ分類;7B–14B 量子化は Apple Silicon で十分(固定ノード vs 時間課金 GPU)。
  • L3 と錯峰——昼 Claude Code + Runner、夜 ollama run バッチ。24GB を終日フル負荷にしない。
  • マルチ Agent の「速い経路」——大きな変更は Claude;分類・ルート・草稿はローカル 8B で API token 削減(OpenHuman ノートも同様の分割)。

逆に、iOS 納品のみ・コーディングは Claude API のみ・定時ローカル推論なしなら L2 は L1 Runner より後——まず push に Fact を。

読む順:Runner → Ollama → Claude Code

シリーズ追読の推奨順:

  1. L1 · FactGitHub Runner 実行エンジンpush 後に本当にビルド・テスト・配布できるか。
  2. L2 · Inference Service — 本稿:どの Token を Cloud Mac に残し、サービスとして呼ぶか。
  3. L3 · DiffClaude Code ワークステーション:リポジトリをどう直すか(多くは API)。

基盤・選定:Cloud Mac vs ローカル Mac。Context(L4)と CodeGraph は後続で Inference 出力に接続します。

典型の誤認:Ollama を入れたが Stack は API のみ

  1. Cloud Mac で brew install ollama、モデル二つ、「AI スタック完成」と祝杯。
  2. 日常は 100% Claude Code + Anthropic API;Ollama は一週間、どのスクリプト / Agent からも未呼び出し。
  3. メモリは未使用モデルが占有;Claude Code と Runner が残りメモリを奪い Swap 上昇(16GB vs 24GB)。
  4. 責任者:「なぜ Cloud Mac?」——L0 はマシンだけで L2 ワークロードが未定義

修正は GUI をもう一つではなく、L2 必須の pipeline を 1–2 本指定(例:CI 失敗ログ要約のみ Ollama;embedding のみ nomic-embed-text)し、モデル pin と 11434 ヘルスチェック。並行 scheduling は L2-Q03 · メモリ scheduling

L2 をスキップできるチーム

L2 を立てる(Cloud Mac 上の Ollama) 先に L2 をスキップ
推論を機外に出せない、エアギャップ副タスク コーディング・レビューは Claude API で足りる
自前 RAG / CodeGraph でローカル embedding ベクトル索引・ローカルバッチなし
7B–14B で高頻小タスク、API コスト削減 たまのチャット試用のみ
L1 とメモリ錯峰(昼 CI / 夜 Inference)済み Claude Code のみ、Runner・パイプラインなし
個人・小チームで 24/7 ログ・embedding・日報 Inference 定時 / sidecar が本機モデルを呼ばない

導入順:Fact のあとに Inference

Runner 編 · 接続順と同様:

  1. L0——Cloud Mac 常駐 macOS。
  2. L1——Runner、push → 緑/赤 を再現可能に。
  3. L2——Ollama は定義済みプライベート Inference 管線だけ(本稿)。
  4. L3–L5——Claude Code、MCP、OpenHands。Fact +(任意)Inference のあと。

L2 を先に積み L1 を後回しにすると、ローカル要約は回るのに xcodebuild は Linux で失敗——Inference は Fact を代替しない

L2 連載

本稿は L2 基盤(位置と境界)。同テーマの続き:

テーマ 状態
· 本稿 Ollama をプライベート Inference 層として 公開済み
· 公開済 Mac mini 上の AI Workload Scheduling:Ollama + Claude Code + GitHub Runner による Swap を防ぐ 公開済み
モデル pin、ヘルスチェック、CI からの Ollama 呼び出し 予定

五層責務の総図は Cloud Mac AI Stack 五層構造図

よくある質問

Claude API も推論なのに、なぜ Inference を単独の層に?
Claude Code は Diff;L2 は Token(要約、embedding、バッチ等)。Claude Code ⊂ Inference の応用であり、その逆ではありません。

Ollama と Claude Code は二者択一?
いいえ。コーディングは L3 API;本機・定時推論は L2。比較表参照。

Claude Code の前に Ollama 必須?
不要。L2 は任意、L3 と並行。

コンプライアンスがなくても L2?
24/7 推論(ログ、embedding、日報)が要れば個人・小チームにも L2 は価値あり;たまの試用だけならスキップ。

ローカル Mac mini で Ollama できるのに Cloud Mac?
ローカルは動かせる;Cloud Mac は運用 Inference Service——24/7、Runner/Agent 同 Stack。ローカル vs Cloud Mac

Ollama と Runner の先後?
先 L1、次 L2。図の上下は責務階層で起動順ではない。

本稿と 16GB vs 24GB の違い?
本稿は Stack 位置;メモリは 16GB vs 24GB、コストは M4 vs GPU クラウド

L2 シリーズ · 続編

Mac mini 上の AI Workload Scheduling:Ollama + Claude Code + GitHub Runner による Swap を防ぐ

L2-Q03 · メモリ Scheduling 層:Swap と CI 遅延の scheduling 解法。30 秒 Runbook 付き。

L2-Q03 · AI Workload Scheduling を読む
プライベート Inference Cloud Mac 料金