はじめに
ローカル LLM でコーディング支援、ちょっと前から気になってたんですが、ようやく WSL Ubuntu 環境に aider と Ollama を入れてみました。GPU なしの CPU 推論オンリーという、お世辞にも強い構成ではないマシンですが、それでも動くもんは動く、ということで手順を残しておきます。
本テーマは 3 回にわけて紹介予定です。
試しにコードの自動生成までしました。過度な期待をされると困るので先に言っておくと商用ベースのアウトプットには全然追いついてせん。 アウトプットの品質はモデルの能力に依存してしまうからです。ローカルで色々できるようになってはいますが、商用モデルとの差はかなりおおきいので、その前提に立った上でどうぞ。
- インストール編(今回)
- aider のオプション編
- 実践編
対象者
- ローカル LLM でコーディング支援を試してみたい人
- WSL Ubuntu 環境で aider + Ollama を動かしたい人
- GPU なし(CPU 推論のみ)の環境で使えるか知りたい人
環境
- WSL2 Ubuntu
- GPU なし(CPU 推論のみ)
- Python 3.12 系、pip は入っている想定
全体の流れ
- Step 1: git のインストール
- Step 2: Ollama のインストール
- Step 3: モデルの取得
- Step 4: aider のインストール
- Step 5: aider と Ollama を接続する
- Step 6: 動作確認
aider とは
aider はターミナルで動く AI ペアプログラミングツールです。Claude Code や GitHub Copilot のターミナル版みたいなイメージです。
| できること | 説明 |
|---|---|
| コード直接編集 | 自然言語で指示するとコードを編集し、自動で git commit してくれる |
| 複数ファイル対応 | リポジトリ内の複数ファイルをコンテキストに入れて整合性を保った修正ができる |
| 対話的な開発 | バグ修正、リファクタリング、新機能追加、テストコード生成を対話で依頼できる |
| ローカル LLM 対応 | OpenAI や Anthropic の API だけでなく、Ollama にも接続できる |
ローカル LLM と組み合わせられるのが最大のポイントです。API 利用料を気にせず、オフラインでもコーディング支援が使えます。
もう一つ重要なのが git 連携が前提 になっている点です。aider はコードを編集すると自動で git commit してくれるので、変更履歴がそのまま残ります。git が入っていないと自動コミットが効かないため、事前にインストールが必要です。
手順
Step 1: git のインストール
aider は git 連携が前提のツールなので、先に git が入っているか確認します。
git --version
入っていない、もしくはバージョンが古い場合はインストールします。
sudo apt update
sudo apt install -y git
aider を使う対象のリポジトリで、まだ git 管理していない場合は初期化もしておきます。
cd ~/your-project
git init
ユーザー名とメールアドレスを設定していない場合はこちらも忘れずに。
git config --global user.name "your-name"
git config --global user.email "your-email@example.com"
gitについてもっと知りたい方をこちらをどうぞ
はじめてのGit入門
Step 2: Ollama のインストール
なぜ WSL 側にインストールするのか
Ollama は Windows 側にも WSL 側にも入れられますが、WSL 側一本で統一するのがおすすめです。
- aider などの開発ツールと同じ Linux 環境内で localhost 通信が完結する
- Windows⇔WSL 間のポート転送やファイアウォール設定を気にしなくていい
- CPU 推論なので Windows ネイティブの GPU 最適化メリットも特にない
インストール
公式のインストールスクリプトを実行します。
curl -fsSL https://ollama.com/install.sh | sh
ここで以下のエラーが出る場合があります。
ERROR: This version requires zstd for extraction. Please install zstd and try again:
- Debian/Ubuntu: sudo apt-get install zstd
zstd が無いと展開できないので、先にインストールしてから再実行します。
sudo apt update
sudo apt-get install -y zstd
curl -fsSL https://ollama.com/install.sh | sh
動作確認
インストール時に systemd サービスとして自動起動しているはずなので確認します。
systemctl status ollama
動いていなければ手動起動します。
ollama serve
補足: WSL 環境によっては
systemd自体が無効になっている場合があります。systemctlコマンドがエラーになったら手動起動一択です。バックグラウンド実行にしておくと楽です。
nohup ollama serve > ~/ollama.log 2>&1 &
Step 3: モデルの取得
自分のメモリを確認する
モデルのサイズはメモリ搭載量で決まります。まず自分の環境のメモリを確認しましょう。
free -h
Mem の total 列が搭載メモリです。
メモリ別の選べるモデルサイズ
Ollama のモデルはデフォルトで 4bit 量子化(Q4_K_M)されています。以下はその前提での目安です。
| 搭載メモリ | 選べる最大サイズ | 備考 |
|---|---|---|
| 8GB | 7B まで | OS やアプリでメモリを使うので余裕は少ない |
| 16GB | 14B まで | 7B なら快適、14B もギリギリ動く |
| 32GB | 32B まで | 14B が快適、32B も実用的 |
| 64GB 以上 | 70B まで | 32B が快適 |
補足: GPU 搭載マシンの場合は VRAM のサイズで判断します。GPU の方が推論速度は圧倒的に速いです。
コーディング向けモデルの候補
Ollama で使えるコーディング向けモデルの主な選択肢です。
| モデル | サイズ展開 | 特徴 |
|---|---|---|
qwen2.5-coder |
3B / 7B / 14B / 32B | コーディング特化。軽量サイズも充実 |
deepseek-coder-v2 |
16B / 236B | コード生成品質が高い。16B は 16GB メモリ向け |
codellama |
7B / 13B / 34B | Meta 製。安定しているが世代はやや古い |
今回は 8GB メモリの環境なので、サイズ展開が豊富で 7B がある qwen2.5-coder:7b を選びました。
インストールと動作確認
ollama pull qwen2.5-coder:7b
参考サイト:
- モデルの一覧: https://ollama.com/library
- ローカル LLM のコーディングベンチマーク: https://huggingface.co/spaces/bigcode/bigcodebench-leaderboard (Openness を「Open」にフィルターすると、ローカルで動かせるモデルだけに絞れます。aider のような使い方では
Instruct列が参考になります)
| 列名 | 意味 |
|---|---|
| Complete | 詳細なドキュメントを与えてコードを補完させるタスクのスコア |
| Instruct | 自然言語の指示だけでコードを生成させるタスクのスコア。aider での使い方に近い |
| Average | Complete と Instruct の平均 |
| #Act Params (B) | モデルのパラメータ数(Billion 単位)。7B、14B、32B など |
動作確認:
ollama run qwen2.5-coder:7b "日本の首都はどこですか?"
CPU のみでも応答は返ってきます。爆速ではないですが、動くだけでも十分。
取得済みモデルの確認:
ollama list
Step 4: aider のインストール
pip install aider-chat で一発、と思いきや今は pipx 経由の二段構えインストールが推奨されています。
まず pipx 自体が入っていなければ先にインストールします。
sudo apt update
sudo apt install -y pipx
pipx ensurepath
source ~/.bashrc
pipx が使えるようになったら、aider のインストーラーを入れて実行します。
pipx install aider-install
aider-install
注意: 最初の
pipx install aider-installは「aider をインストールするためのインストーラー」を入れるだけです。この時点でaider --versionを叩いても見つかりません。aider-installコマンドを実行して初めて本体が入ります。
確認:
aider --version
バージョンが表示されれば OK です(手元では aider 0.86.2 でした)。
aider コマンドが見つからない場合は、PATH に ~/.local/bin が入っているか確認してください。
echo $PATH
入っていなければ以下を実行してシェルを開き直します。
pipx ensurepath
source ~/.bashrc
Step 5: aider と Ollama を接続する
Ollama がデフォルト(localhost:11434)で動いていれば、起動コマンドでモデルを指定するだけで接続できます。
aider --model ollama_chat/qwen2.5-coder:7b --edit-format whole --no-auto-commits
各オプションの意味は次回のオプション編で詳しく紹介しますが、ローカル LLM ではこの組み合わせが安定します。
Step 6: 動作確認
実際に aider にコードを書かせてみます。適当な作業ディレクトリを作って試すのが安全です。
mkdir ~/aider-test && cd ~/aider-test
git init
aider --model ollama_chat/qwen2.5-coder:7b --edit-format whole --no-auto-commits
aider が起動してチャットプロンプトが出たら、自然言語で指示します。
Create hello.py that prints "Hello, World!" when run.
しばらく待つと、Ollama 側で推論が走って hello.py が生成されます。CPU 推論なので待ち時間はそこそこありますが、気長に。生成が終わると自動で git commit もされます。
git log --oneline
実行して確認:
python3 hello.py
Hello, World!
これが出れば、Ollama → aider → ファイル生成 → git commit までの一連の流れが通っています。
まとめ
| 項目 | 内容 |
|---|---|
| 環境 | WSL2 Ubuntu / GPU なし(CPU 推論のみ) |
| Ollama インストール |
curl -fsSL https://ollama.com/install.sh | sh(zstd が必要な場合あり) |
| aider インストール |
pipx install aider-install → aider-install の二段構え |
| 接続 | aider --model ollama_chat/qwen2.5-coder:7b --edit-format whole --no-auto-commits |
| 推奨モデル | まずは 7B から。CPU 推論で重いモデルは速度面で厳しい |
GPU なしでも Ollama と aider は WSL Ubuntu 上で問題なく動きます。爆速ではないですが、ネットワーク不要・無料でローカルにコーディング支援環境が手に入るのはありがたい話です。
次回は aider のオプション編として、便利なコマンドや設定を紹介します。
補足: llama.cpp との連携
本記事では Ollama 経由でモデルを動かしていますが、llama.cpp のサーバーモードから直接 aider に接続することもできます。Ollama は内部で llama.cpp を使っているので、推論エンジンとしては同じです。
# 1. llama.cpp サーバーを起動
llama-server -m model.gguf --port 8080
# 2. aider から接続
aider --model openai/qwen2.5-coder:7b --openai-api-base http://localhost:8080/v1 --openai-api-key dummy
llama.cpp を直接使うメリットは、量子化オプションやコンテキスト長などを細かく制御できる点です。ただし Ollama の方がモデルの管理(ダウンロード・切り替え)が楽なので、こだわりがなければ Ollama 経由で十分です。
関連記事
ローカル LLM でvibecoding環境(aider + Ollama)を立ち上げてみよう<=本記事
ローカル LLM でvibecoding環境(aider + Ollama)を立ち上げてみよう(オプション編)