← 一覧に戻る

Claude Code × ローカルLLM 自律エージェント構築ガイド

整理日: 2026-03-16

#プログラミング #ClaudeCode #MCP #リファレンス

調査日: 2026-03-15 関連: [[Claude Agent SDK]] / [[Claude Code - Hooks Subagents Skills]] / [[Claude Code MCP サーバー管理]] / [[MCPサーバーおすすめまとめ]]


概要

Claude Code(CLI)とローカルLLM(Ollama)を組み合わせて、OpenClawのような自律エージェントを安全に構築する方法の調査結果。対象環境はNZXT PC(i7-10700, 64GB RAM, RTX A4000 16GB VRAM)。


構造図

flowchart TD
    A["1-2. サブエージェント"]
    A --> B["活用例(破壊的操作のブロック):"]
    B --> C["Firecracker MicroVM"]
    C --> D["応答する"]
    D --> E["`Stop`: セッション終了時"]
    E --> F["OpenClaw(https://github.com/.."]
    style F fill:#c05746,color:#fff,stroke:none

1. Claude Code自体のエージェント機能

1-1. Claude Agent SDK(旧 Claude Code SDK)

Claude Agent SDK は2025年5月に「Claude Code SDK」として発表され、2025年9月に改名された。Python / TypeScript 両方に対応し、Claude Code と同じツール・エージェントループ・コンテキスト管理をプログラマブルに利用できる。

主な機能:

  • 自律的なファイル読み書き、コマンド実行、Web検索、コード編集
  • サブエージェントによるタスク委譲
  • バックグラウンドタスクで長時間実行プロセスを維持
  • headlessモード(-p フラグ)でCI/CDパイプラインに統合可能

使い方(headlessモード):

# 非対話的にタスクを実行
claude -p "このプロジェクトのテストを全て実行して、失敗したテストを修正して"

| 評価項目 | 評価 | |---------|------| | 実現難易度 | 低 | | 安全性 | 高 | | コスト | 有料(Claude API課金) |

1-2. サブエージェント

YAML frontmatter付きMarkdownファイルでカスタムエージェントを定義。ツール制限、MCP統合、Hooks対応。

設定例(.claude/agents/code-reviewer.md):

---
name: code-reviewer
description: コードレビュー専門。コード変更後に自動で呼び出す。
tools: Read, Grep, Glob, Bash
disallowedTools: Write, Edit
model: sonnet
permissionMode: plan
---

あなたはシニアコードレビュアーです。
git diff を実行して最近の変更を確認し、
品質・セキュリティ・ベストプラクティスの観点でレビューしてください。

重要なフィールド:

  • tools / disallowedTools: ツールのホワイトリスト/ブラックリスト
  • model: sonnet, opus, haiku, inherit またはフルモデルID
  • permissionMode: default, acceptEdits, dontAsk, bypassPermissions, plan
  • mcpServers: サブエージェント専用のMCPサーバー定義
  • hooks: ライフサイクルフック(PreToolUse, PostToolUse等)
  • memory: user, project, local(永続メモリ)
  • isolation: worktree(git worktreeで隔離実行)
  • background: trueでバックグラウンド実行

| 評価項目 | 評価 | |---------|------| | 実現難易度 | 低 | | 安全性 | 高(ツール制限・Hooks) | | コスト | 有料(Claude API課金) |

1-3. Agent Teams(実験的機能)

複数のClaude Codeセッションがチームとして並列動作し、相互通信できる。

  • リードエージェントがタスクを分配・調整
  • チームメイトが独立して作業し、発見を共有
  • サブエージェントと違い、エージェント同士が直接メッセージを送れる

有効化:

{ "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" }

| 評価項目 | 評価 | |---------|------| | 実現難易度 | 中(実験的機能) | | 安全性 | 高 | | コスト | 有料(複数セッション分の課金増) |

1-4. Hooks(ライフサイクル自動化)

シェルコマンドをClaude Codeのイベントに紐づけて自動実行。

主なイベント:

  • PreToolUse / PostToolUse: ツール実行の前後
  • SubagentStart / SubagentStop: サブエージェントの開始・終了
  • Stop: セッション終了時

活用例(破壊的操作のブロック):

{
  "hooks": {
    "PreToolUse": [{
      "matcher": "Bash",
      "hooks": [{
        "type": "command",
        "command": "./scripts/validate-safe-command.sh"
      }]
    }]
  }
}

| 評価項目 | 評価 | |---------|------| | 実現難易度 | 低 | | 安全性 | 非常に高(決定論的制御) | | コスト | 無料(Claude Code標準機能) |

1-5. Claude Flow(Ruflo)

オープンソースのマルチエージェントオーケストレーションフレームワーク。GitHub 19K+ stars。

  • Queen/Worker モデルで60+エージェントのスウォーム制御
  • CRDT ベースの共有メモリ
  • タスクスケジューラ(優先度キュー・依存関係追跡)
  • RAG統合

| 評価項目 | 評価 | |---------|------| | 実現難易度 | 中〜高 | | 安全性 | 中 | | コスト | 有料(Claude API課金) |


2. ローカルLLMエージェントフレームワーク(RTX A4000 16GB対応)

2-1. フレームワーク比較表

| フレームワーク | 特徴 | ローカルLLM対応 | 難易度 | 安全性 | コスト | |-------------|------|---------------|--------|--------|--------| | OpenHands | Docker内自律コーディング(旧OpenDevin) | ○(ただし大型モデル推奨) | 低〜中 | 高(Docker sandbox) | 混合 | | CrewAI | ロールベースチーム、最速セットアップ | ○ | 低 | 中 | 混合 | | LangGraph | グラフベースワークフロー、ステートフル | ○ | 中〜高 | 中 | 混合 | | AutoGen | 非同期通信、アダプティブルーティング | ○ | 中 | 中 | 混合 | | smolagents | HuggingFace製、軽量、コードアクション | ○(Ollama直接統合) | 低〜中 | 中 | 無料 | | Aider | git統合AIペアプログラミング | ○ | 低 | 中 | 混合 | | Eigent | デスクトップ自動化、マルチエージェント | ○(Ollama対応) | 低 | 中〜高 | 無料 | | n8n | ビジュアルワークフロー + AI、400+連携 | ○(Ollama統合) | 低 | 中 | 無料 | | OpenClaw | 自律パーソナルエージェント(210K+ stars) | ○(モデル非依存) | 低 | 低〜中 | 混合 |

2-2. RTX A4000 16GBで動くモデル

| モデル | 量子化 | VRAM使用量 | 速度(tokens/s) | エージェント適性 | |--------|--------|-----------|---------------|---------------| | Qwen 3.5 9B | Q4_K_M | ~6.6GB | 50+ | ★★★ 推奨(軽量高性能) | | Qwen3 14B | Q4_K_M | ~10.7GB | 40+ | ★★★★ 最も実用的 | | DeepSeek-R1-Distill-14B | Q4_K_M | ~11GB | 40+ | ★★★ 推論特化 | | Llama 4 Scout 17B | Q4 | ~12GB | 35+ | ★★★ 新しめ | | Llama 3 8B | Q4_K_M | ~6GB | 50+ | ★★ 軽量 | | Mistral 7B | Q4_K_M | ~6GB | 64+ | ★★ 高速 | | Phi-4 14B | Q4_K_M | ~11GB | 40+ | ★★★ 汎用 | | Qwen 3.5 35B-A3B (MoE) | Q4_K_M | ~12GB | 高速 | ★★★★★ 最強候補(3Bアクティブ) |

推奨: エージェント用途には Qwen 3.5 35B-A3B(MoEで実質3Bアクティブ、256Kコンテキスト、ツールコール対応)が最強。次点で Qwen3 14B


3. Claude Code + ローカルLLMのハイブリッド構成

3-1. アーキテクチャ概要

┌─────────────────────────────────────────┐
│  Claude Code(オーケストレーター)         │
│  ・高度な判断・計画・複雑な推論           │
│  ・サブエージェント管理                   │
│  ・MCP経由でローカルLLM呼び出し          │
├─────────────────────────────────────────┤
│                  MCP                     │
├──────────────────┬──────────────────────┤
│  Claude API      │  Ollama (ローカル)    │
│  (高性能)       │  (無料・低レイテンシ)│
│  ・複雑な推論     │  ・単純な変換処理     │
│  ・コードレビュー  │  ・テンプレート生成   │
│  ・アーキテクチャ  │  ・データ抽出        │
│    設計           │  ・繰り返しタスク     │
└──────────────────┴──────────────────────┘

3-2. 具体的な連携方法

方法1: MCPサーバー経由 OllamaをMCPサーバーとしてラップし、Claude Codeのサブエージェントから呼び出す。

---
name: local-worker
description: ローカルLLMで処理する軽量タスク用ワーカー
mcpServers:
  - ollama-mcp:
      type: stdio
      command: npx
      args: ["-y", "ollama-mcp-server"]
tools: Read, Grep, Glob
model: inherit
---

軽量な処理タスクを担当。ローカルLLMのollama-mcp経由でテキスト処理を行う。

方法2: Claude Agent SDK + Ollama API PythonでClaude Agent SDKとOllama APIを組み合わせたカスタムオーケストレーターを構築。

方法3: n8n ワークフロー経由 n8nでClaude APIとOllamaノードを接続し、タスクの種類に応じてルーティング。

| 評価項目 | 評価 | |---------|------| | 実現難易度 | 中〜高 | | 安全性 | 中〜高(MCP経由で制御可能) | | コスト | 混合(Claude API + ローカルLLM無料) |


4. 安全性の考慮

4-1. サンドボックス技術の比較

| 技術 | 隔離レベル | 起動時間 | 適用場面 | |------|----------|---------|---------| | Docker | プロセス(カーネル共有) | ミリ秒 | 信頼できるコードのみ | | Docker Sandbox (Desktop 4.58+) | 専用Dockerデーモン | 秒単位 | AIエージェント実行 | | gVisor | システムコール遮断 | ミリ秒 | 計算集約タスク | | Firecracker MicroVM | ハードウェア(専用カーネル) | ~125ms | 本番の信頼不能コード | | Kata Containers | ハードウェア(K8s統合) | ~200ms | K8s環境 | | OpenSandbox (Alibaba, 2026/3) | 環境非依存 | 可変 | Docker/K8s両対応 |

4-2. Claude Code内蔵の安全機構

  1. ツール制限: サブエージェントにtools/disallowedToolsで最小権限を付与
  2. permissionMode: plan(読み取り専用)、dontAsk(未許可操作を自動拒否)
  3. PreToolUse Hooks: 実行前にシェルスクリプトでバリデーション(exit code 2 でブロック)
  4. isolation: worktree: git worktreeで隔離されたリポジトリコピーで作業
  5. maxTurns: エージェントの最大ターン数を制限

4-3. 安全な自律エージェント構築の原則

  1. 多層防御: ガードレール(プロンプトレベル)+ サンドボックス(実行レベル)
  2. 最小権限: 各エージェントに必要最小限のツールのみ許可
  3. 段階的な自律性: まずplanモードで動かし、慣れたら権限を広げる
  4. ログと監査: Hooksですべての操作をログ記録
  5. ネットワーク制限: Docker --network=none でネット遮断
  6. ファイルシステム制限: 特定ディレクトリのみマウント

4-4. OpenClawの教訓

OpenClaw(210K+ GitHub stars)は2026年1月にCVE-2026-25253(WebSocket乗っ取りによるRCE)が発見された。自律エージェントを運用する際は:

  • WebSocket接続の認証を厳格に
  • スキルリポジトリの悪意あるコードに注意
  • エージェントの権限範囲を常に監査

5. 2026年3月時点のトレンド

最もホットなアプローチ

| ランク | プロジェクト | GitHub Stars | 特徴 | |-------|-------------|-------------|------| | 1 | OpenClaw | 210K+ | 自律パーソナルエージェント。最速で成長したOSSの一つ | | 2 | Claude Code Agent Teams | - (公式) | Anthropic公式のマルチエージェント(実験的) | | 3 | Claude Flow (Ruflo) | 19K+ | Claude中心のスウォームオーケストレーション | | 4 | OpenHands | 成長中 | Docker内自律コーディング | | 5 | n8n | 成長中 | セルフホスト自動化 + AI | | 6 | Docker Sandbox | - (公式) | AIエージェント安全実行の標準化 | | 7 | OpenSandbox | 新登場 | Alibaba発のサンドボックス標準 |

キートレンド

  • AI が「応答する」から「行動する」へ - ほぼ全てのリポジトリが自律エージェント行動を組み込む
  • セルフホスト・ローカル実行への強い需要 - プライバシー・コスト両面
  • グラフベースオーケストレーション - LangGraph が先駆け、他も追随
  • MoEモデルの台頭 - Qwen 3.5 35B-A3B のように少VRAMで高性能

推奨ロードマップ(kodachan向け)

Step 1: 今すぐ始める(難易度: 低)

Claude Code サブエージェント + Hooks

  • .claude/agents/ にプロジェクト専用エージェントを定義
  • Hooksで安全ガードレールを設定
  • headlessモードで定型タスクを自動化

Step 2: 短期(難易度: 低)

n8n + Ollama セルフホスト自動化

  • Self-hosted AI Starter Kit(Docker Compose一発)で構築
  • Qwen 3.5 9B または Qwen3 14B をOllamaで起動
  • 日常の非コーディング自動化をローカルLLMで処理

Step 3: 中期(難易度: 中)

OpenHands でDockerサンドボックス開発

  • Docker内で自律コーディングタスクを安全に実行
  • Claude API keyで高品質な出力
  • ローカルLLMも試せる(ただし性能は落ちる)

Step 4: 中〜長期(難易度: 中〜高)

Claude Code + MCPローカルLLMハイブリッド

  • MCP経由でOllamaのモデルをワーカーとして統合
  • 高度な判断はClaude、反復タスクはローカルLLM
  • コスト最適化と性能のバランス

参考リンク