Hub documentation
llama.cppによるローカルエージェント
llama.cppによるローカルエージェント
コーディングエージェントを完全に自分のハードウェア上で実行できます。複数のオープンソースのエージェントがローカルのllama.cppサーバーに接続でき、Claude CodeやCodexに似た体験を提供します。ただし、すべてはあなたのマシン上で実行されます。
はじめる
1. ローカルハードウェアを設定する
ローカルハードウェアを設定し、お使いの環境と互換性のあるモデルを確認できるようにします。
huggingface.co/settings/hardware に移動し、ローカルハードウェアプロファイルを構成してください。次に、Local Apps settings で llama.cpp を選択してください。これが使用するエンジンとなるためです。
2. 互換性のあるモデルを見つける
Llama.cpp互換モデルを閲覧します。
3. llama.cppサーバーを起動する
モデルページで、「このモデルを使用する」ボタンをクリックし、llama.cppを選択します。あなたのセットアップに合わせた正確なコマンドが表示されます。最初のステップは、llama.cppサーバーを起動することです。例えば、
llama-server -hf ggml-org/gemma-4-26b-a4b-it-GGUF:Q4_K_M
これにより、モデルがダウンロードされ、お使いのマシン上でOpenAI互換のAPIサーバーが起動します。インストール手順については、llama.cppガイドを参照してください。
4. エージェントを接続する
以下のエージェントから1つを選択し、セットアップ手順に従ってください。
Pi
PiはOpenClawの背後にあるエージェントであり、現在Hugging Faceに直接統合されています。これにより、数千の互換性のあるモデルにアクセスできます。
Piのインストール:
npm install -g --ignore-scripts @earendil-works/pi-coding-agent
次に、ローカルモデルを~/.pi/agent/models.jsonにあるPiの設定ファイルに追加します:
{
"providers": {
"llama-cpp": {
"baseUrl": "http://localhost:8080/v1",
"api": "openai-completions",
"apiKey": "none",
"models": [
{
"id": "ggml-org-gemma-4-26b-4b-gguf"
}
]
}
}
}プロジェクトディレクトリでPiを開始します:
pi
Piはローカルのllama.cppサーバーに接続し、インタラクティブなエージェントセッションを提供します。

ビジョンサポートの有効化
ビジョン対応モデルの場合、~/.pi/agent/models.json のモデルエントリに "input": ["text", "image"] を追加します:
"models": [
{
"id": "unsloth/Qwen3.6-35B-A3B-GGUF:Q4_K_XL",
"input": ["text", "image"]
}
]Piと互換性のあるビジョン言語モデルを閲覧します。
OpenClaw
OpenClawはllama.cppとローカルで動作します。オンボードコマンドでモデルを設定できます。
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-riskopenclaw onboard を対話的に実行し、custom-compatibility を選択して openai を指定し、同じ設定を渡すこともできます。
OpenClawのローカルメモリ検索
Llama.cpp を使用して、エージェントのメモリ検索にローカルの埋め込みモデルを実行できます。そのためには、node-llama-cpp がインストールされていることを確認してください。
npm i node-llama-cpp
メモリ検索用に量子化されたEmbeddingGemma-300Mをローカルで実行するための例を示します。OpenClawは、以下のコマンドでモデルを自動的にダウンロードしてサーブします。
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"ゲートウェイを再起動して、検証してください。
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.ggufHermes Agent
Hermes Agentはllama.cppとローカルで動作します。デフォルトの構成を以下のように定義します。
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 に以下を追加してください。
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が表示されている場合、他のメモリプラグインは使用されていないことを示しています。以下の出力は、ローカルサービングが有効であることを示しています。
$ hermes memory status
# Memory status
#────────────────────────────────────────
# Built-in: always active
# Provider: (none — built-in only)OpenCode
OpenCodeはllama.cppとローカルで動作します。~/.config/opencode/opencode.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つのコンポーネントがあります。
- llama.cpp server — モデルを
localhost上でOpenAI互換のAPIとして提供します。 - エージェント — ローカルサーバーにプロンプトを送信し、タスクについて推論し、アクションを実行するエージェントプロセス。
┌─────────┐ API calls ┌──────────────────┐
│ Agent │ ───────────────▶ │ llama.cpp server │
│ │ ◀─────────────── │ (local model) │
└─────────┘ responses └──────────────────┘
│
▼
Your files,
terminal, etc.代替案: llama-agent
llama-agentは異なるアプローチを採用しています。llama.cppにエージェントループを直接組み込み、外部依存がゼロの単一のバイナリとして動作します。Node.jsもPythonも不要で、コンパイルして実行するだけです:
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モデルをローカルで使用する — モデルを自分のマシンで実行する方法について詳しく学ぶ
- llama.cpp ガイド — llama.cpp のインストールと使用方法の詳細
- Hub上のエージェント — エージェントをHugging Faceエコシステムに接続