ローカルでLLMを動かすツールとして長らく定番だったOllamaに、Rust製の小型代替が登場しています。その名は「Shimmy」。4.8MBのシングルバイナリが、起動時間・メモリ消費・API互換性の3点でOllamaを上回っています。

この記事でわかること:

  • ShimmyとOllamaの具体的な違い
  • ゼロ設定でモデルを自動検出する仕組み
  • インストールから起動まで30秒で完了する手順
  • VSCode・Cursor・Continue.devとの連携方法

OllamaをShimmyが超えた3つの数値

https://github.com/Michael-A-Kuykendall/shimmy

Ollamaはローカルモデル実行のデファクトスタンダードですが、680MBのバイナリサイズ、5〜10秒の起動時間、200MB以上のメモリ使用量がネックになることがあります。

ShimmyはこれらをRustで再実装することで大幅に削減しています。

ツール バイナリサイズ 起動時間 メモリ使用量 OpenAI API互換
Shimmy 4.8MB <100ms 50MB 100%
Ollama 680MB 5〜10秒 200MB以上 部分的
llama.cpp 89MB 1〜2秒 100MB llama-server経由

OpenAI APIの互換性についても差があります。ShimmyはOpenAI APIを100%カバーしており、PythonやNode.jsの既存クライアントはエンドポイントURLを差し替えるだけで動作します。Ollamaは部分的な対応にとどまっているため、一部のツールでは追加の設定が必要になります。

設定ゼロ、モデルは自動検出

Shimmyの大きな特徴は、設定ファイルが不要な点です。起動時に以下のパスを自動でスキャンします。

  • Hugging Faceキャッシュ(~/.cache/huggingface/hub/
  • Ollamaのモデルフォルダ(~/.ollama/models/
  • カレントディレクトリ下のmodels/
  • 環境変数SHIMMY_BASE_GGUFで指定したパス

Ollamaをすでに使っている場合、既存モデルをそのままShimmyから使えます。

30秒で動かすインストール手順

プラットフォームに合ったバイナリを1本ダウンロードして実行するだけです。コンパイルも依存パッケージのインストールも不要です。

# Linux x86_64
curl -L https://github.com/Michael-A-Kuykendall/shimmy/releases/latest/download/shimmy-linux-x86_64 -o shimmy
chmod +x shimmy

# macOS Apple Silicon
curl -L https://github.com/Michael-A-Kuykendall/shimmy/releases/latest/download/shimmy-macos-arm64 -o shimmy
chmod +x shimmy

# サーバーを起動(ポートは自動割り当て)
./shimmy serve

起動後は./shimmy listでモデルの一覧を確認できます。モデルがなければhuggingface-cliでダウンロードします。

huggingface-cli download bartowski/Llama-3.2-1B-Instruct-GGUF --local-dir ./models/

GPUの自動検出

v1.9.0以降、1プラットフォームにつきバイナリが1本に統一されました。GPUの種類を実行時に自動で検出するため、手動でバックエンドを選ぶ必要がありません。

検出の優先順は以下の通りです。

  1. CUDA(NVIDIA GPU)
  2. Vulkan(クロスプラットフォーム)
  3. OpenCL(AMD/Intel GPU)
  4. MLX(Apple Siliconのみ)
  5. CPU(GPUが検出されない場合のフォールバック)

特定のバックエンドを強制したい場合は--gpu-backend cudaのようなフラグで上書きできます。利用できないバックエンドを指定した場合はエラーメッセージを表示した上で次の候補に自動フォールバックするため、クラッシュしません。

開発ツールとの連携

ShimmyのAPIエンドポイントはhttp://localhost:11435/v1です。各ツールの設定を1行変えるだけで接続できます。

VSCode Copilot

{
  "github.copilot.advanced": {
    "serverUrl": "http://localhost:11435"
  }
}

Continue.dev

{
  "models": [{
    "title": "Local Shimmy",
    "provider": "openai",
    "model": "your-model-name",
    "apiBase": "http://localhost:11435/v1"
  }]
}

CursorはOpenAI互換設定としてhttp://localhost:11435/v1を指定するだけで動作します。VS Code向けの公式拡張機能もMarketplaceに公開されており、エディタからモデルを切り替えられます。

VRAMが足りなくても70Bモデルを動かすMOEオフロード

--cpu-moeフラグを使うと、MOE(Mixture of Experts)アーキテクチャのモデルでGPUとCPUをハイブリッドで使えます。VRAMが不足している環境でも70B以上の大型モデルを動かせます。

cargo install shimmy --features moe
./shimmy serve --cpu-moe --n-cpu-moe 8

--n-cpu-moeでCPU側に割り当てるレイヤー数を指定します。GPUで高速処理できる部分とCPUで処理する部分をShimmyが自動的に最適化します。

入手先とライセンス

ライセンスはMITで、永続的に無償提供することが明言されています。バイナリのダウンロード、cargo install、またはVS Code拡張から利用できます。

GitHubスターは4,600以上(2026年4月時点)を記録しており、Hacker Newsのフロントページに2度掲載された実績があります(参考)。

Ollamaとの最大の差は「バイナリサイズと起動速度」と「OpenAI APIの完全互換」です。既存のOpenAIクライアントをそのまま使いたい、軽量な推論環境を素早く整えたいケースで有力な選択肢になります。