TL;DR
- Claude Code は
ANTHROPIC_API_KEY以外に OpenRouter 経由で任意モデルを呼べる -
:freeサフィックスモデルを指定すれば API 費用ゼロでコーディングアシスタントが動く - カスタム
CLAUDE.md/ モデル切り替え / サブエージェント分業 を組み合わせると実用レベルに達する
背景
Claude Code は Anthropic が提供する CLI ベースのコーディングエージェントです。デフォルトでは claude-sonnet-4 等の有料モデルを利用し、トークン消費に応じて課金されます。
しかし、環境変数 OPENROUTER_API_KEY を設定し、モデル名に OpenRouter の識別子を与えると、OpenRouter のルーティング機能経由で任意の LLM を呼び出せます。OpenRouter が提供する :free サフィックスモデルは無料枠が存在し、個人開発・学習・OSS コントリビューションの入口として最適です。
本記事では以下を解説します。
- 環境セットアップ (Claude Code + OpenRouter)
-
:freeモデルの選定基準と 2026 年時点での代表的なモデル -
CLAUDE.mdを活用したコスト制御 - 実践 5 テクニック
- 無料枠の限界と有料切り替えの判断基準
1. 環境セットアップ
前提
- Node.js 18 以上 (Claude Code は npm パッケージとして提供)
- OpenRouter のアカウント (無料登録 → API Key 発行)
# Claude Code のインストール
npm install -g @anthropic-ai/claude-code
# バージョン確認
claude --version
OpenRouter API Key の設定
# ~/.bashrc or ~/.zshrc に追記
export OPENROUTER_API_KEY="sk-or-v1-xxxx" # OpenRouter のダッシュボードで発行
⚠️
.envをリポジトリにコミットしないこと。.gitignoreへの追記を忘れずに。
モデル指定でClaudeCodeを起動
# OpenRouter 経由で Qwen3 :free を利用する例
claude --model openrouter/qwen/qwen3-235b-a22b:free
# または環境変数で固定
export CLAUDE_MODEL="openrouter/qwen/qwen3-235b-a22b:free"
claude
2. :free モデルの選定基準
OpenRouter の :free モデルは 「プロバイダーが無料枠として提供しているモデルのミラー」 であり、以下の特徴があります。
| 特徴 | 説明 |
|---|---|
| レートリミット | 通常は 20 RPM / 200 RPD 程度 (モデルによって異なる) |
| コンテキスト窓 | 本家と同等かやや短い場合がある |
| 可用性 | プロバイダーの負荷次第で遅延増大 |
| 料金 | $0 (ただし OpenRouter 自体の account credit が $0 でも利用可) |
2026 年時点の代表的な :free モデル (コーディング用途)
openrouter/qwen/qwen3-235b-a22b:free # 推論強化・コード生成得意
openrouter/qwen/qwen3-30b-a3b:free # 軽量・高速・日本語対応
openrouter/google/gemini-2.0-flash-exp:free # Google製・マルチモーダル
openrouter/meta-llama/llama-3.3-70b-instruct:free # 汎用・英語コード強め
openrouter/microsoft/phi-4:free # Microsoft製・推論タスク
openrouter/mistralai/mistral-7b-instruct:free # 軽量・高速・欧文コード
選定のコツ: コーディング用途なら
qwen3-235bかllama-3.3-70bが品質・速度バランスに優れています。日本語コメントや変数名が混在するプロジェクトにはqwen3-30bが安定しています。
3. CLAUDE.md でコスト制御する
Claude Code はプロジェクトルートの CLAUDE.md を自動で読み込み、エージェントへの「チームルール」として機能させます。無料モデルを利用するプロジェクトでは、トークン効率を高めるルールをここに書くことが重要です。
# CLAUDE.md (プロジェクト共通ルール)
## コスト方針
- 本プロジェクトはコスト最小化モードで運用する
- 1 タスクあたりのコンテキスト長を 8,000 トークン以内に抑える
- ファイル全体の読み込みより差分・要点のみを渡すこと
## コーディング規約
- 新規ファイルは TypeScript 厳格モード (strict: true)
- コメントは日本語で統一
- エラーハンドリングは Result 型パターンを使用
## 禁止事項
- node_modules / .next / dist ディレクトリは絶対に参照しない
- 1 回の回答で生成するコードは 200 行以内
CLAUDE.md の階層化
repo/
├── CLAUDE.md # リポジトリ全体ルール (上記)
├── src/
│ └── CLAUDE.md # src 配下専用ルール (例: React コンポーネント規約)
└── scripts/
└── CLAUDE.md # スクリプト専用ルール (例: Bash スタイル)
階層が深い方が優先されるため、ディレクトリごとにモデルの挙動を細かく制御できます。
4. 実践 5 テクニック
Technique 1: /model コマンドでセッション中にモデルを切り替える
Claude Code のインタラクティブセッションでは、タスクの複雑さに応じてモデルを動的に変えられます。
> /model openrouter/qwen/qwen3-235b-a22b:free
モデルを変更しました: openrouter/qwen/qwen3-235b-a22b:free
> このクラスのリファクタリング方針を考えて
(重い思考タスク → 大きいモデルを使用)
> /model openrouter/qwen/qwen3-30b-a3b:free
> 上記の方針に沿ってコードを書いて
(コード生成は軽いモデルで高速に)
使い分けの原則:
- 設計・アーキテクチャ議論 → 大モデル (235B)
- 繰り返しのコード生成・フォーマット修正 → 小モデル (30B)
Technique 2: --print フラグで出力をパイプ処理
Claude Code は --print フラグを付けると対話せずに 1 回だけ出力して終了します。シェルスクリプトや Makefile と組み合わせて自動化できます。
# 変更差分にコードレビューを実行
git diff HEAD~1 | claude --print \
--model openrouter/qwen/qwen3-235b-a22b:free \
"以下の差分をレビューしてください。バグ・セキュリティリスク・可読性の観点で指摘を日本語で出力してください:"
# TypeScript の型エラーをまとめて修正依頼
tsc --noEmit 2>&1 | claude --print \
--model openrouter/qwen/qwen3-30b-a3b:free \
"上記の型エラーを全て修正するパッチ (unified diff 形式) を出力してください:"
Technique 3: サブエージェント分業パターン
大きなタスクを小さなサブタスクに分割し、それぞれを独立した Claude Code プロセスで処理すると、1 タスクあたりのトークン消費が激減します。
#!/bin/bash
# refactor.sh: 大規模リファクタリングを分業実行
TARGET_FILES=$(find src -name "*.ts" | head -20)
for file in $TARGET_FILES; do
echo "=== Processing: $file ==="
cat "$file" | claude --print \
--model openrouter/qwen/qwen3-30b-a3b:free \
"このファイルの関数を ESM named export に変換してください。変換後のコードのみ出力してください (説明不要):" \
> "${file}.tmp" && mv "${file}.tmp" "$file"
sleep 3 # レートリミット回避
done
注意: 上記は概念実証のスクリプト例です。本番適用前に必ず diff を確認してください。
Technique 4: コンテキスト圧縮で長時間セッションを維持
Claude Code のセッションが長くなるとコンテキスト長が増大し、無料モデルの上限に達する場合があります。/clear と /compact を活用します。
> /compact
(過去の会話を要約してコンテキストを圧縮)
> /clear
(完全リセット。新しいタスクに入る前に使用)
運用例:
- 1 機能の実装 = 1 セッション
- 機能完了後に
/clearしてから次タスクへ - 途中で詰まったら
/compact→ コンテキスト再整理
Technique 5: .claude/settings.json で恒久的なデフォルト設定
毎回 --model を指定するのは面倒です。プロジェクトルートに設定ファイルを置くことでデフォルト化できます。
// .claude/settings.json
{
"model": "openrouter/qwen/qwen3-235b-a22b:free",
"permissions": {
"allow": [
"Bash(git diff:*)",
"Bash(git log:*)",
"Bash(cat:*)",
"Bash(find:*)",
"Read(*)",
"Write(src/**)"
],
"deny": [
"Bash(rm -rf:*)",
"Bash(curl:*)",
"Bash(wget:*)"
]
}
}
permissions.deny に危険なコマンドを列挙することで、エージェントが予期しないシステム操作を行うリスクを低減できます。
5. 無料枠の限界と有料切り替えの判断基準
:free モデルには現実的な制約があります。
| シナリオ |
:free で対応可 |
有料への切り替え推奨 |
|---|---|---|
| 個人 OSS プロジェクト | ✅ | — |
| 数十ファイルのリファクタリング | ✅ (分割処理で) | — |
| 大規模コードベースの一括解析 | ⚠️ (速度遅延あり) | ✅ |
| CI/CD パイプラインへの組み込み | ❌ (RPD 制限) | ✅ |
| チーム開発・複数人同時利用 | ❌ (レートリミット競合) | ✅ |
| リアルタイム補完 (IDE 統合) | ❌ (レイテンシ大) | ✅ |
切り替え時のコスト感
OpenRouter の料金は openrouter.ai/models で確認できます。コーディング用途なら以下が費用対効果に優れます (2026 年時点の参考値):
-
anthropic/claude-sonnet-4: 高品質・中コスト -
qwen/qwen3-235b-a22b(有料): :free と同モデルでレートリミット解除
まとめ
| ポイント | 内容 |
|---|---|
| セットアップ |
OPENROUTER_API_KEY を設定 → --model openrouter/xxx:free で即利用可能 |
| モデル選定 | コーディングは qwen3-235b:free / 高速処理は qwen3-30b:free
|
| コスト制御 |
CLAUDE.md にトークン節約ルールを明記 |
| 自動化 |
--print + シェルスクリプトで CI/CD 的ワークフローを構築 |
| セッション管理 |
/compact /clear を意識的に使い、コンテキスト爆発を防ぐ |
| 本番移行 | RPD 制限・レイテンシが問題になったら有料プランへ段階移行 |
個人開発・OSS コントリビューション・技術学習のフェーズでは :free モデルで十分に実用になります。まずはコスト0円で Claude Code の体験を始めてみてください。
参考リンク
- Claude Code 公式ドキュメント
- OpenRouter モデル一覧
- Qwen3 技術レポート (Qwen Blog)
- Claude Code GitHub (npm)
- OpenRouter ドキュメント — Model Routing
✍️ 本記事の著者: 合同会社ジモラボ
ジモラボは、八王子を拠点に AI を活用した SaaS を多数開発しています。本記事の技術検証もそうした開発過程の副産物です。
- 🌐 公式サイト: https://locallab.jp
- 🔍 AI SEO 最適化 SaaS: lookupai.jp
- 📺 YouTube: @locallab_llc
- ✉️ お問い合わせ: info@locallab.jp
興味を持っていただけたら、ぜひ各 SNS のフォローもお願いします!