ローカルで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の種類を実行時に自動で検出するため、手動でバックエンドを選ぶ必要がありません。
検出の優先順は以下の通りです。
- CUDA(NVIDIA GPU)
- Vulkan(クロスプラットフォーム)
- OpenCL(AMD/Intel GPU)
- MLX(Apple Siliconのみ)
- 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クライアントをそのまま使いたい、軽量な推論環境を素早く整えたいケースで有力な選択肢になります。