Ollama im Cloud Mac AI Stack ist dieprivate Inferenzschicht — kein lokales Modell-Spielzeug

Wenn Claude Code schon Code ändert und der Runner schon baut — warum Ollama dauerhaft auf dem Cloud Mac?

Cloud Mac AI Stack · L2  ·  2026.06.04  ·  ~14 Min.  ·  Architektur, kein Ollama-Installations-Tutorial

Ollama als private Inference auf Apple Silicon — Cloud Mac AI-Workload

Im vorherigen Artikel haben wir L1 (GitHub Runner) geklärt: Nach git push braucht ihr ein auditierbares Fact (Definition: Runner-Artikel · Stack-Sprache). Viele Teams installieren auf demselben Cloud Mac Claude Code und nebenbei brew install ollama — und stellen fest: die Haupt-Kodierung läuft zu 100 % über die Claude API, der Ollama-Prozess dreht Leerlauf und blockiert 6–8 GB Unified Memory.

Das heißt nicht „Ollama ist nutzlos“, sondern: Es fehlt die Antwort auf die eigentliche Frage — warum Inference eine eigene Schicht sein muss, nicht ein Anhängsel von Claude Code. Dieser Text ist keine Ollama-Installations-Enzyklopädie und wiederholt weder den 16GB-vs.-24GB-Speicherbenchmark noch den M4-vs.-GPU-Cloud-Kostenvergleich. Er definiert nur Existenzgrund und Grenzen von L2 sowie die Beziehung zu L3 (Diff; Details: Claude Code Workstation).

Wenn der GitHub Runner die Frage beantwortet „wurde der Code wirklich verifiziert?“, beantwortet Ollama: „welche Token müssen auf dem eigenen Cloud Mac inferiert werden?“ Merksatz: Fact vs. Inference.

L2
Inference Service
optional
nicht vor Claude Code
0
Installations-Schritte

Cloud Mac AI Stack · L2 in einem Satz

Runner = Execution Engine; Ollama = Inference Service; Claude Code = Agent.

Ergebnisse: Fact, Inference, Diff. Entscheidend auf L2 ist nicht das Modell, sondern Inference als langfristig aufrufbarer Inference Service (optional).

L2 im Stack

L3 beantwortet „wie ändere ich das Repo?“ L1 „kann es gebaut, signiert und ausgeliefert werden?“ L2 „welche Inferenz-Token dürfen den eigenen macOS-Knoten nicht verlassen?“ Kein Ersatz für Claude — eine zweite Inferenz-Pipeline auf dem Cloud Mac.

L2-Ergebnis: Was ist Inference?

Im Cloud Mac AI Stack schichten wir nach Ergebnis, nicht nach Tool-Marke (Kette: Runner · Stack-Sprache):

Merksatz · fünf Ergebnisse (≠ Aufrufreihenfolge)

  Context  →  Inference  →  Diff  →  Fact  →  Workflow
  (MCP)      (Ollama u. a.)  (Claude Code)  (Runner)  (OpenHands)

Fünf-Ebenen-Diagramm: Komponenten L0–L5; Ergebniskette stellt Inference neben Context/Diff/Fact/Workflow — kein „Querschnitts-Patch“

Inference bedeutet hier: Modell-Forward in einem von euch kontrollierten macOS-Prozess — Prompt oder Embedding rein, Completion oder Vektor raus, ohne Drittanbieter-Inferenz-API (oder API nur auf L3-Hauptpfad, L2 für zwingend lokale Token). Ollama ist die häufigste L2-Implementierung, nicht die einzige; Core ML und MLX decken Teile ab — Ollama bietet für viele Teams das einheitlichere Modell- und Betriebsmodell als L2-Standard.

L2-Form: Inference Service — nicht gelegentlich ollama run

Nur „Inference“ zu sagen, klingt noch nach „noch ein lokales Modell-Tool“. Im Stack zählt die Form — jede Ebene hat eine langfristige Systemrolle:

Ebene Komponente Form Ergebnis
L1 GitHub Runner Execution Engine Fact
L2 Ollama (u. a.) Inference Service Inference
L3 Claude Code Agent Diff

Der Unterschied zwischen ollama run qwen3:8b und ollama serve plus Health Check plus Cron entspricht „Test per SSH“ vs. „Runner lauscht auf push“:

ollama run          →  einmalige Inferenz am Terminal (wie Probelauf)
Inference Service   →  Port 11434 dauerhaft, Modell pinbar, Runner / Skripte / Agent rufen wiederholt ab

Auf L2 zählt nicht das Modell, sondern Inferenz als langfristig aufrufbarer Service. Modelle wechseln; Schnittstelle, Aufrufer, Schichtplan und Observability bleiben im Stack verankert.

Warum Inference L2 bleibt — nicht Teil von Claude Code

„Ist die Claude API nicht auch Inferenz?“ — Ja. Der Stack trennt aber nach Ergebnis, nicht nach „gibt es ein Neuronales Netz?“

Claude Code erzeugt Diff — welche Dateien, welcher Patch im PR. Inference erzeugt Token — beliebiger Modell-Forward als Text oder Vektor. Diff ist nur ein Token-Anwendungsfall.

Dazu gehört Inference, das nicht in den Kodierungs-Agent-Hauptpfad gehört:

  • Log-Zusammenfassung, Klassifikation, Review, Routing
  • Embedding, RAG, Rerank
  • Agent-Gedächtnis, Wissensbasis-Pflege
  • Nacht-Batch, geplanter Tagesbericht

Die Relation:

Claude Code  ⊂  Anwendungsfälle von Inference

nicht:

Inference  ⊂  Claude Code

L2 ist eigenständig, weil auf einem Cloud Mac mehrere Inferenz-Pipelines parallel laufen: L3 per API für Diff, L2 lokal für zwingend private Token. Inference in Claude Code zu falten, erzeugt den Leerlauf-Ollama: „Claude installiert = Inferenzschicht fertig.“

Ollama vs. Claude Code: kein Entweder-oder

Suchanfragen wie „Ollama oder Claude Code“ stellen im Stack die falsche Frage — unterschiedliche Ergebnisse, kein Ersatz.

Dimension Claude Code (L3) Ollama (L2)
Ergebnis Diff Inference
Form Agent (Kodierung on demand) Inference Service (24/7 möglich)
Compute meist Claude API lokal (localhost:11434 u. a.)
Typische Jobs Kodierung, Repo-Änderung, Patches Zusammenfassung, Embedding, Klassifikation, Nacht-Batch, Compliance-Teiljobs
Arbeitsweise on demand: Agent an → Inferenz; weg → Hauptpfad pausiert dauerhaft: Prozess 24/7, Cron / Sidecar
Im Stack Hauptpfad (Code ändern) Teiljobs & private Pipeline (nicht vor L3 nötig)

Praxis: Kodierung → Claude Code; „welche Token dürfen nicht raus, was läuft zeitgesteuert?“ → Ollama. Speicher-Scheduling auf einem Host: L2-Q03 Fortsetzung; hier nur: kein Entweder-oder.

Modell-Spielzeug vs. private Inferenzschicht

Derselbe Befehl ollama run qwen3:8b — zwei Mindsets, zwei Architektur-Ergebnisse:

Dimension Modell ausprobieren L2 · Inference Service
Ziel Prompts testen, tok/s, Screenshots feste Last: Compliance-Summary, Log-Klassifikation, Embedding, Nacht-Batch
zu CI kein Bezug versetzt zu L1 (CI tags, Inferenz nachts), gemeinsames L0-Speicherbudget
zu L3 „lokal oder Claude“ parallel: Kodierung API, Teiljobs localhost:11434
Erfolg Modell antwortet SLA: Latenz, Modell-Pin, Alarm bei Ausfall, Token bleiben on-prem
Hardware Deckel zu → Stopp Cloud Mac 24/7: Service mit Runner / Agent beobachtbar

Kurz: Spielzeug fragt „läuft es?“; L2 fragt „was, wann, wer konsumiert den Output?“ Ohne Workload, der private Inference braucht, L2 weglassen — nicht „vollständigen Stack“ mit Leerlauf-Ollama kaufen.

L2 mit L1 / L3: Aufgabenteilung

Die drei Ebenen, die Teams vermischen:

Ebene Komponente Output Frage
L1 GitHub Runner Fact Baut, testet, archiviert dieser Commit?
L2 Ollama (u. a.) Inference (via Inference Service) Welche Inferenz muss lokal laufen und ist für Runner / Agent wiederholt aufrufbar?
L3 Claude Code Diff (Agent) Wie soll das Repo geändert werden? (meist Claude API)

L2 erzeugt weder Diff noch Fact. Kein grünes PR allein, kein Ersatz für xcodebuild. Typisch: Claude Code ändert → Runner verifiziert → Step oder Sidecar ruft Ollama für Log-Summary, Muster-Matching, private Embeddings — Output landet in Context (L4) oder Review, nicht als „Build OK“.

L2 im Fünf-Ebenen-Bild: Ebene ≠ Aufrufreihenfolge

Gemeinsames Diagramm: Runner · Fünf Ebenen. Ollama unter Claude Code = Inference trägt private Compute-Kapazität, nicht „erst ollama serve, dann Claude Code“.

Auszug · vollständiges Diagramm im Runner-Artikel

  Claude Code  L3 · Diff
       ↑ parallel, keine Abhängigkeit
  Ollama       L2 · Inference Service (optional)
       ↑
  GitHub Runner L1 · Fact
       ↑
  Cloud Mac    L0 · Infrastruktur

Claude API und Ollama koexistieren — API für Diff-Hauptpfad, Ollama für lokale Inference. Das ist nicht „lokales Modell ersetzt Claude“, sondern die Grenze zwischen Cloud Mac AI Stack und All-in-One-Chat-Produkten.

Jenseits Compliance: Dauer-Inferenz auf L2

L2 wird oft nur für Finanz / Medizin / Enterprise geschrieben — Compliance ist ein starkes Signal, aber viele Nutzer sind Einzelentwickler, AI-Gründer, kleine Teams ohne Compliance-Ticket und brauchen L2 trotzdem.

Der Unterschied ist die Arbeitsform:

Claude Code (L3) · on demand
  Agent an  → Inferenz läuft
  Agent aus → Hauptpfad-Inferenz endet

Ollama (L2) · 24/7 möglich
  Prozess dauerhaft → Cron / Sidecar jederzeit
  unabhängig vom Terminal

Das sind keine Agent-Chats, kein CI, kein tägliches Coding — aber echte Dauer-Inferenz-Dienste, z. B.:

  • stündliche Aufbereitung von Runner- / App-Logs
  • nächtlicher Embedding-Rebuild, Wissensbasis-Pflege
  • Tagesberichte, Anomalie-Klassifikation, Routing-Entwürfe
  • Context (L4) aktualisieren, während Claude Code offline ist

Notebook mit geschlossenem Deckel stoppt das — schwer als Infrastruktur zu behandeln. Mit L1 versetzt: tags Fact, nachts Inference — für kleine Teams oft realistischer als „noch eine GPU-Cloud“, wenn L2 als Service betrieben wird, nicht als Terminal-Spielzeug.

Lokal kann, Cloud Mac kann betreiben

„Mein Mac mini kann auch brew install ollama — warum Cloud Mac?“ — Stimmt: lokal = ausführen. Hier geht es um betreiben als Infrastruktur.

Dimension Lokaler Mac / Notebook Cloud Mac (L0)
Verfügbarkeit Deckel, Sleep, Reise → Stopp 24/7, fester Egress
zum Stack Ollama oft Einzelpunkt mit Runner, Claude Code beobachtbar, Schichtplan
L2-Form oft ollama run Inference Service: Health Check, Modell-Pin, Sidecar / Cron
Abhängige meist nur du CI, Agent, Cron, Team-Skripte

Ollama existiert nicht wegen Cloud Mac — Cloud Mac macht aus Ollama einen 24/7-Inference Service, den Runner und Agent gemeinsam nutzen. Sonst wirkt der Text wie „nur Ollama-Werbung“, nicht wie private Inferenz im Cloud Mac AI Stack.

L0-Grenzen: Cloud Mac vs. lokaler Mac AI Workstation. Keine Miet-Parameter hier — nur: L2 gehört auf einen „betreibbaren“ Knoten.

Welche Workloads an L2 hängen

Signale, Ollama als L2-Infrastruktur zu behandeln (nicht Demo):

  • Compliance / Air-Gap — Code und Logs dürfen auf Cloud Mac, Inferenz-Requests nicht in öffentliche APIs; L2 für entkoppelte Teiljobs (Klassifikation, Summary, PII-Erkennung).
  • Embedding / RerankCodeGraph oder RAG braucht gepinnte lokale Vektormodelle statt API-Embeddings mit unkontrolliertem Datenpfad.
  • hochfrequent, klein, batchfähig — z. B. nächtliche CI-Log-Klassifikation; 7B–14B quantisiert auf Apple Silicon oft ausreichend (Vergleich: fester Knoten vs. GPU-Stunde).
  • versetzt zu L3 — tags Claude Code + Runner voll; nachts Batch-Inferenz statt 24GB „alles gleichzeitig voll“.
  • Schnellpfad in Multi-Agent-Setups — große Änderungen Claude; Routing, Klassifikation, Entwürfe lokal 8B (ähnliche Aufteilung bei Desktop-Agenten, siehe OpenHuman).

Umgekehrt: nur iOS-Lieferung, Kodierung nur Claude API, keine geplanten lokalen Inferenz-Jobs → L2 nach L1 Runner — erst push → Fact, dann private Inference.

Lesereihenfolge: Runner → Ollama → Claude Code

Serienleser in Ergebnis-Reihenfolge:

  1. L1 · FactGitHub Runner Execution Engine: baut und testet nach push wirklich?
  2. L2 · Inference Service — dieser Text: welche Token auf Cloud Mac bleiben und als Service aufgerufen werden.
  3. L3 · DiffClaude Code Workstation: Repo-Änderung (meist API).

Basis: Cloud Mac vs. lokaler Mac. Context (L4) und CodeGraph schließen später an L2-Output an.

Typischer Irrtum: Ollama installiert, Stack nur API

  1. Auf Cloud Mac brew install ollama, zwei Modelle — „AI-Stack komplett“.
  2. Alltag: 100 % Claude Code + Anthropic API; Ollama eine Woche ohne Skript- oder Agent-Aufruf.
  3. Unified Memory durch untätige Modelle belegt; Claude Code und Runner kämpfen um Rest — Swap steigt (Zahlen: 16GB vs. 24GB).
  4. Frage: „Warum Cloud Mac?“ — L0 ist nur Hardware, L2-Workload fehlt.

Fix: nicht noch ein GUI, sondern 1–2 Pipelines, die L2 erzwingen (z. B. nur CI-Fehler-Logs an Ollama; nur Embeddings über nomic-embed-text), Modell-Pin, Health Check auf 11434. Parallel-Schichtplan in L2-Q03 · Memory Scheduling.

Wer L2 überspringen kann

L2 sinnvoll (Ollama auf Cloud Mac) L2 zuerst überspringen
Compliance: Inferenz bleibt on-prem / Air-Gap-Teiljobs Kodierung und Review nur Claude API
eigenes RAG / CodeGraph mit lokalen Embeddings kein Vektorindex, kein lokaler Batch
7B–14B für häufige Kleinstjobs, API-Kosten senken nur gelegentlich chatten / Modell testen
Speicher mit L1 versetzt (CI tags / Inferenz nachts) nur Claude Code, kein Runner, keine Pipeline
24/7 Logs, Embeddings, Tagesberichte (kleine Teams) kein Cron / Sidecar ruft lokales Modell ab

Mehrere Ollama-Nahe-Artikel — klare Rollen:

  • 16GB vs. 24GB — Speicher und Swap gemessen; „welche Maschine“, nicht „wo sitzt Ollama im Stack“.
  • M4 vs. GPU-Cloud — Rechnung und Skalierung; dieser Text preist nicht.
  • Core ML — Apple-nativer Inferenz-Pfad; parallel zu Ollama, anderer Runtime.
  • Claude Code Workstation — Kodierungserlebnis; hier L2 neben API-Kodierung.

Rollout: Fact, dann Inference

Wie Runner · Einführungsreihenfolge empfehlen wir:

  1. L0 — Cloud Mac mit dauerhaftem macOS.
  2. L1 — Runner, reproduzierbares push → grün/rot.
  3. L2 — Ollama nur für definierte private Inference-Pipelines (dieser Text).
  4. L3–L5 — Claude Code, MCP, OpenHands nach stabilem Fact + optional Inference.

L2 vor L1: lokale Summary läuft, xcodebuild scheitert weiter auf Linux — Inference ersetzt kein Fact.

L2-Serie

Dieser Text ist L2-Grundlage (Position und Grenzen). Folge:

Teil Thema Status
· dieser Text Ollama als private Inferenzschicht (Inference) Veröffentlicht
· Veröffentlicht Auf dem Mac mini AI-Workloads planen: Swap mit Ollama, Claude Code und GitHub Runner vermeiden Veröffentlicht
Modell-Pin, Health Checks, Ollama-Aufruf aus CI Geplant

Fünf-Ebenen-Gesamtübersicht: Cloud Mac AI Stack · Fünf Ebenen.

FAQ

Claude API ist auch Inferenz — warum eigene Inference-Schicht?
Claude Code liefert Diff; L2 liefert Token (Summary, Embedding, Batch). Claude Code ⊂ Inference-Anwendungen, nicht umgekehrt.

Ollama und Claude Code — Entweder-oder?
Nein. Kodierung L3 API; zeitgesteuerte / lokale Inferenz L2 — Vergleichstabelle.

Ollama vor Claude Code Pflicht?
Nein. L2 optional, parallel zu L3.

L2 ohne Compliance?
Bei 24/7-Inferenz (Logs, Embeddings, Tagesberichte) lohnt es sich auch für kleine Teams; nur Modell-Spielzeug → überspringen.

Mac mini kann Ollama — warum Cloud Mac?
Lokal ausführen; Cloud Mac betreiben als Inference Service — 24/7, gleicher Stack, Schichtplan. Siehe lokal vs. Cloud Mac.

Ollama und Runner — Reihenfolge?
Zuerst L1, dann L2. Diagramm = Verantwortung, nicht Boot-Reihenfolge.

Unterschied zu 16GB vs. 24GB?
Hier Stack-Position; Speicher: 16GB vs. 24GB; Kosten: M4 vs. GPU-Cloud.

L2-Serie · Fortsetzung

Auf dem Mac mini AI-Workloads planen: Swap mit Ollama, Claude Code und GitHub Runner vermeiden

L2-Q03 · Memory-Scheduling-Schicht: Scheduling-Lösungen für Swap und träge CI — inkl. 30-Sekunden-Runbook.

L2-Q03 · AI Workload Scheduling lesen
Private Inference Cloud Mac Preise