ネット上の Claude Code 解説の多くは「CLI を入れて diff を晒す」で終わります。実際のチームに入れるとすぐ分かるのは、トップクラス AI コーディングツールのコアアーキテクチャは、ターミナル内の Agent プロセス単体ではない——Cloud Mac AI Stack の中で、Diff、Fact、Context、Workflow がどう分担し、どう閉ループするか、ここが本丸です。
本稿は L6-Q02 支柱マップ(L6-Q02):Claude Code を入口に、Stack 全体アーキテクチャ、5 モジュールの導入順序、システム閉ループを一枚の地図にします。操作手順は L6-Q01 完全ハンドブック、権限の閾値は L3 決断入門——本稿は地図だけを扱います。
ひと言アーキテクチャ
Claude Code は Diff を、GitHub Runner は Fact を生む。 MCP は Context を拡張し、Ollama は任意の Inference、OpenHands は Workflow を編成する——すべて Cloud Mac(L0)の上で動く。
Claude Code 本体:10% の分解(残り 90% は Stack)
まず Claude Code単体を定義し、次にどの層に座るかを見ます。IDE プラグインではなく、ターミナルコーディング Agentです:
単一 Agent ループ(複数回イテレーション可) CLAUDE.md + リポジトリコンテキストを読む │ ▼ 計画(どのファイルを、どのコマンドを) │ ▼ 実行(Write / Edit / Bash / 任意 MCP Tool) │ ▼ 検証(指定の test / lint) │ └──► 産出 Diff(git で監査可能な変更)
- 境界 —
CLAUDE.mdと権限ポリシーが「何に触れるか」を決める;ハンドブック · プロジェクト境界を参照 - 拡張感覚 — MCP が GitHub Issue、CodeGraph、API を Context に接続;MCP トリプル接続 Hubを参照
- Cursor との役割分担 — エディタ内補完 vs 複数ファイル + shell Agent;vs Cursorを参照
ここまでが L3 だけ。組織が本当に信頼する「コアアーキテクチャ」は、下の Stack 全体図です。
Cloud Mac AI Stack 全体図(責務レイヤー)
以下は当サイトの統一 L0–L5 モデルです——どの専題記事を読んでも、ここに戻って照合できます。重要:これは責務レイヤーであり、ランタイムの呼び出し順ではありません。
Stack ≠ 呼び出し順
Claude Code は Ollama に依存しない。図で MCP が L3 より上にあるのは、Context がコーディングに供されるためであり、MCP が CLI より先に起動する必要があるという意味ではありません。デプロイ順序は § 導入順序を参照。
産出物:Inference · Diff · Fact · Context · Workflow
┌──────────────┐
│ OpenHands │ L5 · Workflow(要件全体は完了したか?)
└──────┬───────┘
│
┌──────▼───────┐
│ MCP │ L4 · Context(Agent は何が見えるか?)
└──────┬───────┘
│
┌──────▼───────┐
│ Claude Code │ L3 · Diff(今回の変更は何か?)← 本稿の入口
└──────┬───────┘
│
┌──────▼───────┐
│ Ollama │ L2 · Inference(任意 · ローカル私有算力)
└──────┬───────┘
│
┌──────▼───────┐
│ GitHub Runner│ L1 · Fact(組織は信頼できるか?)
└──────┬───────┘
│
┌──────▼───────┐
│ Cloud Mac │ L0 · インフラ(24/7 macOS ノード)
└──────────────┘
L0 が算力を、L1 が Fact を支え、その上に Diff・Context・Workflow が乗る。 Claude Code がどれほど強くても、L1 がなければ Diff は開発機上の独り遊びに留まる。
5 モジュール(+ 基盤)の責務と産出物
| 層 | モジュール | 産出物 | 答える問い | 深掘り |
|---|---|---|---|---|
| L0 | Cloud Mac | 基盤 | macOS / Apple Silicon はどこから? | 購入 vs レンタル |
| L1 | GitHub Runner | Fact | push 後、誰が xcodebuild / テストを回す? | 実行エンジン |
| L2 | Ollama | Inference | ローカル embedding / 小モデルが要る? | プライベート推論層 |
| L3 | Claude Code | Diff | 誰がコードを変え、shell を回し、テストをループする? | 完全ハンドブック |
| L4 | MCP | Context | Issue / グラフ / API を Agent にどう届ける? | トリプル接続 Hub |
| L5 | OpenHands | Workflow | 要件全体を無人で回せる? | Agent プラットフォーム |
Workflow(L5)と Fact(L1)の関係:OpenHands はタスク期間中、Context を繰り返し消費し、Diff を産出し、Fact で検証する——「Workflow が終わってから CI」ではない。詳細は OpenHands · 産出物の関係を参照。
推奨導入順序:先に Fact、次に Diff
話題の順番はだいたいこうです:まず Claude Code → 次に MCP → CI は後回し。私たちが推すのは次のデプロイ順序(構造図の層順とは別)です:
① Cloud Mac(L0 基盤)
│ 常時 macOS · SSH · 出口 IP
▼
② GitHub Runner(L1 · Fact)
│ push → 再現可能な緑/赤 · workspace 隔離
▼
③ Ollama(L2 · Inference、任意)
│ ローカル embedding / 小モデル · L1/L3 のメモリに注意
▼
④ Claude Code(L3 · Diff)
│ CLAUDE.md · 権限 · 初日試運用
▼
⑤ MCP(L4 · Context)
│ GitHub / CodeGraph / Fetch · 最小権限
▼
⑥ OpenHands(L5 · Workflow)
│ 多段 issue · agent loop · L3 と重ねる
▼
⑦ システム閉ループ
委任 → Diff → PR → Runner Fact → review → merge
- ① L0 — 24/7 macOS ノードがなければ、Runner と Agent がノート PC のメモリを奪い合う;選定は 購入 vs レンタル
- ② L1 — まず組織が信頼できる Fact を;隔離は 1 job 1 workspace
- ③ L2 — 任意;Claude Code・Runner と同じホストなら 並行スケジューリングを参照
- ④–⑥ — Fact が安定してから AI を重ねる;手順は L6-Q01
- ⑦ 閉ループ — 次節へ
システム閉ループ:Claude Code 委任から PR グリーンまで
「コアアーキテクチャ」の最後のピースは、データがどう戻るか——Agent は孤立したターミナルでは生きられません:
人が介在 · L3 開発者 ──委任──► Claude Code(+ MCP Context) │ │ Diff(commit) ▼ feature ブランチ / PR │ 機械検収 · L1 ▼ GitHub Runner(Fact) xcodebuild / test / lint │ ├── 赤 ──► Agent へフィードバック(Diff ↔ Fact) │ └── 緑 ──► 人手 review ──► merge 任意 · L5 OpenHands が夜間に issue キューを消化 ──► 同じ PR + Runner 閉ループ
閉ループが成立する 3 つの硬条件:Runner と Agent 環境の隔離、PR は必ず CI を通す、本番 secrets を Agent shell に入れない。本番チェックリストは L6-Q01 · 本番級を参照。
サイト内リンクハブ:層ごとにジャンプ
本稿は Stack 専題の地図ページです。今のボトルネックに合わせて入口を選んでください:
| 解決したいこと… | 読む先 |
|---|---|
| Cloud Mac を使うか / 借り方 | L0 購入 vs レンタル · M4/M5 選定 |
| CI キュー / Runner の価値 | L1 キューと TCO · L1 実行エンジン |
| Swap / Ollama と Agent の同居 | L2 並行スケジューリング |
| Claude Code 導入 / 本番ワークフロー | L6-Q01 ハンドブック · L3 権限決断 |
| MCP / CodeGraph の接続 | L4 Hub · MCP インストールチュートリアル |
| 無人の多段タスク | L5 OpenHands |
よくある質問
Claude Code のコアアーキテクチャとは? ターミナル Agent ループが Diff を産出;本番級には CLAUDE.md、MCP Context、独立 Runner の Fact が必要。
Claude Code の前に Ollama を入れる必要がある? 不要。L2 は任意;図は責務レイヤーであり、呼び出し順ではない。
本稿と L6-Q01 ハンドブックの違いは? Q01 は操作メインライン(インストール→CI);Q02 は Stack 全体地図(本稿)。
OpenHands は Claude Code を置き換えられる? いいえ。L5 が Workflow を編成し、L3 がペアで Diff を産出——重ねて使う。
ZavCloud
地図に沿って Stack を組む——まず 1 台の Cloud Mac から
L0 基盤 → L1 Runner → L3 Claude Code。ネイティブ macOS で、導入順に沿って閉ループ全体を試運用できます。
Cloud Mac プランを見る