# llama.cppによるローカルエージェント

コーディングエージェントを完全に自分のハードウェア上で実行できます。複数のオープンソースのエージェントがローカルの[llama.cpp](https://github.com/ggerganov/llama.cpp)サーバーに接続でき、Claude CodeやCodexに似た体験を提供します。ただし、すべてはあなたのマシン上で実行されます。

## はじめる

### 1. ローカルハードウェアを設定する

ローカルハードウェアを設定し、お使いの環境と互換性のあるモデルを確認できるようにします。

[huggingface.co/settings/hardware](https://huggingface.co/settings/hardware) に移動して、ローカルハードウェアプロファイルを構成してください。次に、[Local Apps settings](https://huggingface.co/settings/local-apps) で `llama.cpp` を選択してください。これが使用するエンジンとなるためです。

### 2. 互換性のあるモデルを見つける

[Llama.cpp互換モデル](https://huggingface.co/models?apps=llama.cpp&sort=trending)を閲覧します。

### 3. llama.cppサーバーを起動する

モデルページで、**「このモデルを使用する」**ボタンをクリックし、`llama.cpp`を選択します。あなたのセットアップに合わせた正確なコマンドが表示されます。最初のステップは、llama.cppサーバーを起動することです。例えば、

```bash
llama-server -hf ggml-org/gemma-4-26b-a4b-it-GGUF:Q4_K_M
```

これにより、モデルがダウンロードされ、お使いのマシン上でOpenAI互換のAPIサーバーが起動します。インストール手順については、[llama.cppガイド](./gguf-llamacpp)を参照してください。

### 4. エージェントを接続する

以下のエージェントから1つを選択し、セットアップ手順に従ってください。

## Pi

[Pi](https://pi.dev)は[OpenClaw](https://github.com/openclaw)の背後にあるエージェントであり、現在Hugging Faceに直接統合されています。これにより、数千の互換性のあるモデルにアクセスできます。

Piのインストール:

```bash
npm install -g --ignore-scripts @earendil-works/pi-coding-agent
```

次に、ローカルモデルを`~/.pi/agent/models.json`にあるPiの設定ファイルに追加します:

```json
{
  "providers": {
    "llama-cpp": {
      "baseUrl": "http://localhost:8080/v1",
      "api": "openai-completions",
      "apiKey": "none",
      "models": [
        {
          "id": "ggml-org-gemma-4-26b-4b-gguf"
        }
      ]
    }
  }
}
```

プロジェクトディレクトリでPiを開始します:

```bash
pi
```

Piはローカルのllama.cppサーバーに接続し、インタラクティブなエージェントセッションを提供します。

![Demo](https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/hub/pi-llama-cpp-demo.gif)

### ビジョンサポートの有効化

ビジョン対応モデルの場合、`~/.pi/agent/models.json` のモデルエントリに `"input": ["text", "image"]` を追加します:

```json
"models": [
  {
    "id": "unsloth/Qwen3.6-35B-A3B-GGUF:Q4_K_XL",
    "input": ["text", "image"]
  }
]
```

Piと互換性のある[ビジョン言語モデル](https://huggingface.co/models?pipeline_tag=image-text-to-text&apps=pi)を閲覧します。

## OpenClaw

[OpenClaw](https://github.com/openclaw)はllama.cppとローカルで動作します。オンボードコマンドでモデルを設定できます。

```bash
openclaw onboard --non-interactive \
  --auth-choice custom-api-key \
  --custom-base-url "http://127.0.0.1:8080/v1" \
  --custom-model-id "ggml-org-gemma-4-26b-a4b-gguf" \
  --custom-api-key "llama.cpp" \
  --secret-input-mode plaintext \
  --custom-compatibility openai \
  --accept-risk
```

`openclaw onboard` を対話的に実行し、`custom-compatibility` を選択して `openai` を指定し、同じ設定を渡すこともできます。

### OpenClawのローカルメモリ検索

Llama.cpp を使用して、エージェントのメモリ検索にローカルの埋め込みモデルを実行できます。そのためには、node-llama-cpp がインストールされていることを確認してください。

```bash
npm i node-llama-cpp 
```

メモリ検索用に[量子化されたEmbeddingGemma-300M](https://huggingface.co/ggml-org/embeddinggemma-300M-GGUF?show_file_info=embeddinggemma-300M-Q8_0.gguf)をローカルで実行するための例を示します。OpenClawは、以下のコマンドでモデルを自動的にダウンロードしてサーブします。

```bash
openclaw config set agents.defaults.memorySearch.provider local
openclaw config set agents.defaults.memorySearch.local.modelPath "hf:ggml-org/embeddinggemma-300m-qat-q8_0-GGUF/embeddinggemma-300m-qat-Q8_0.gguf"
```

ゲートウェイを再起動して、検証してください。

```bash
openclaw gateway restart
openclaw memory status
# Memory Search (main)
# Provider: local (requested: local)
# Model: hf:ggml-org/embeddinggemma-300m-qat-q8_0-GGUF/embeddinggemma-300m-qat-Q8_0.gguf
```

## Hermes Agent

[Hermes Agent](https://hermes-agent.nousresearch.com/)はllama.cppとローカルで動作します。デフォルトの構成を以下のように定義します。

```yaml
model:
  provider: custom
  default: ggml-org/gemma-4-26B-A4B-it-GGUF:Q4_K_M
  base_url: http://127.0.0.1:8080/v1
  api_key: llama.cpp

custom_providers:
  - name: Local (127.0.0.1:8080)
    base_url: http://127.0.0.1:8080/v1
    api_key: llama.cpp
    model: ggml-org/gemma-4-26B-A4B-it-GGUF:Q4_K_M
```

### Hermes Agent によるローカルメモリ検索

Hermes Agent はエンドポイント経由でセマンティック検索モデルを利用します。llama.cpp やお好みの推論エンジンで、希望する埋め込みモデルをポート 8080 のエンドポイントで起動したら、`~/.hermes/config.yaml` に以下を追加してください。

```bash
auxiliary:
  session_search:
    base_url: "http://127.0.0.1:8080/v1"
    api_key: "no-key-required"
    model: "local-llama" # your model alias
    timeout: 90
    max_concurrency: 1
```

これが動作していることを確認してください。`none - built-in only`が表示されている場合、他のメモリプラグインは使用されていないことを示しています。以下の出力は、ローカルサービングが有効であることを示しています。

```bash
$ hermes memory status
# Memory status
#────────────────────────────────────────
#  Built-in:  always active
#  Provider:  (none — built-in only)
```

## OpenCode

[OpenCode](https://opencode.ai)はllama.cppとローカルで動作します。`~/.config/opencode/opencode.json`を定義してください:

```json
{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "llama.cpp": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "llama-server (local)",
      "options": {
        "baseURL": "http://127.0.0.1:8080/v1"
      },
      "models": {
        "gemma-4-26b-4b-it": {
          "name": "Gemma 4 (local)",
          "limit": {
            "context": 128000,
            "output": 8192
          }
        }
      }
    }
  }
}
```

## 仕組み

セットアップには、ローカルで実行される2つのコンポーネントがあります。

1. **llama.cpp server** — モデルを`localhost`上でOpenAI互換のAPIとして提供します。
2. **エージェント** — ローカルサーバーにプロンプトを送信し、タスクについて推論し、アクションを実行するエージェントプロセス。

```
┌─────────┐     API calls     ┌──────────────────┐
│  Agent  │ ───────────────▶  │  llama.cpp server │
│         │ ◀───────────────  │  (local model)    │
└─────────┘    responses      └──────────────────┘
     │
     ▼
  Your files,
  terminal, etc.
```

## 代替案: llama-agent

[llama-agent](https://github.com/gary149/llama-agent)は異なるアプローチを採用しています。[llama.cpp](https://github.com/ggerganov/llama.cpp)にエージェントループを直接組み込み、外部依存がゼロの単一のバイナリとして動作します。Node.jsもPythonも不要で、コンパイルして実行するだけです：

```bash
git clone https://github.com/gary149/llama-agent.git
cd llama-agent

# Build
cmake -B build
cmake --build build --target llama-agent

# Run (downloads the model automatically)
./build/bin/llama-agent -hf ggml-org/gemma-4-26b-a4b-it-GGUF:Q4_K_M
```

ツール呼び出しは HTTP 経由ではなくプロセス内で実行されるため、モデルとエージェントの間にネットワークオーバーヘッドが発生しません。また、サブエージェント、MCP サーバー、および HTTP API サーバーモードにも対応しています。

## 次のステップ

- [AIモデルをローカルで使用する](./local-apps) — モデルを自分のマシンで実行する方法について詳しく学ぶ
- [llama.cpp ガイド](./gguf-llamacpp) — llama.cpp のインストールと使用方法の詳細
- [Hub上のエージェント](./agents-overview) — エージェントをHugging Faceエコシステムに接続

