0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claude Code + OpenRouter 無料モデルで AI コーディング支援コストを月 0 円にする 5 つの設定

0
Posted at

TL;DR

  • Claude Code は ANTHROPIC_BASE_URL を差し替えるだけで OpenRouter 経由のモデルを呼べる
  • OpenRouter には 2026 年現在 :free サフィックス付きの無料モデルが 20 本以上存在する
  • 適切なモデル選択とプロンプト設計で、有料プランに近いコーディング支援が 月額 $0 で実現可能
  • ただし無料枠にはレート制限・コンテキスト制限があるため「使い分け」戦略が肝心

背景

Claude Code は強力な AI コーディングエージェントだが、Anthropic 直通で使うとトークン消費が激しく、ヘビーユーズでは月 $50〜$200 になることも珍しくない。

一方、OpenRouter は複数 LLM を単一 API エンドポイントで束ねるプロキシサービスで、モデル名に :free を付けると無料枠で推論できるモデルを多数提供している。

この 2 つを組み合わせることで、コスト削減しながら開発を回す構成が作れる。


前提知識

OpenRouter :free モデルとは

OpenRouter のモデル識別子は <provider>/<model-name> または <provider>/<model-name>:free の形をとる。

モデル識別子 コンテキスト長 特徴
google/gemini-2.0-flash-exp:free 1M tokens 高速・長文対応
meta-llama/llama-3.3-70b-instruct:free 131k tokens コーディング能力高め
qwen/qwen3-235b-a22b:free 128k tokens 推論強化モデル
mistralai/mistral-7b-instruct:free 32k tokens 軽量・高速
deepseek/deepseek-r1:free 164k tokens 数学・ロジック強め

無料枠の制約:

  • RPM (requests per minute): 通常 10〜20 req/min
  • TPD (tokens per day): モデルにより 50k〜200k 程度
  • 優先度: 有料リクエストより低い (混雑時に遅延)

設定 1: ANTHROPIC_BASE_URL を OpenRouter に向ける

Claude Code は内部で Anthropic SDK を使っており、環境変数で Base URL を上書きできる。

export ANTHROPIC_BASE_URL="https://openrouter.ai/api/v1"
export ANTHROPIC_API_KEY="sk-or-v1-xxxxxxxxxxxxxxxxxxxxxxxxxx"  # OpenRouter APIキー

これだけで claude コマンドが OpenRouter を通るようになる。

⚠️ OpenRouter の APIキーは sk-or-v1- で始まる。Anthropic のキーと混在させないよう .bashrc / .zshrc でプロファイル別に管理すること。

.envrc で direnv 管理する例

# .envrc (プロジェクトルートに置く)
export ANTHROPIC_BASE_URL="https://openrouter.ai/api/v1"
export ANTHROPIC_API_KEY="${OPENROUTER_API_KEY}"  # 別途 direnv allow 済の親ディレクトリから継承

direnv allow しておけばプロジェクトディレクトリに入った瞬間に切り替わる。


設定 2: モデル指定を明示する (--model フラグ)

Claude Code はデフォルトで claude-opus-4-5 や最新の Sonnet を呼ぼうとするが、OpenRouter 経由ではOpenRouter のモデル識別子を明示する必要がある。

# Llama 3.3 70B で起動
claude --model meta-llama/llama-3.3-70b-instruct:free

# Gemini 2.0 Flash で起動
claude --model google/gemini-2.0-flash-exp:free

# Qwen3 235B (思考モデル) で起動
claude --model qwen/qwen3-235b-a22b:free

ANTHROPIC_MODEL 環境変数で固定することもできる:

export ANTHROPIC_MODEL="meta-llama/llama-3.3-70b-instruct:free"

設定 3: CLAUDE.md でコンテキスト節約プロンプトを仕込む

無料モデルはコンテキスト長の制限が相対的に厳しく、また長いプロンプトを送るほど TPD を消費する。プロジェクトルートの CLAUDE.md に最小限のコンテキストを書く運用が効果的。

# Project Context

- Language: TypeScript (strict)
- Framework: Next.js 15 App Router
- Test: Vitest + Testing Library
- Lint: ESLint flat config + Prettier

## Coding rules
- Return early pattern
- No default export (named only)
- Error handling: Result<T, E> pattern preferred

やってはいけないこと:

  • ディレクトリツリーをまるごと貼り込む
  • 長い仕様書をそのまま埋め込む → TPD を一気に溶かす

設定 4: タスク種別でモデルを使い分ける

無料モデルは一様ではなく、得意不得意がある。以下は実運用上の使い分け目安:

タスク 推奨モデル 理由
コードの新規生成・リファクタ llama-3.3-70b-instruct:free instruction following が素直
バグ調査・ログ解析 deepseek/deepseek-r1:free 推論ステップが丁寧
長いファイルの要約・説明 google/gemini-2.0-flash-exp:free 1M コンテキストが強み
数学/アルゴリズム問題 qwen/qwen3-235b-a22b:free MoE で数学強化
ボイラープレート生成 mistral-7b-instruct:free 高速・軽量

シェルスクリプトでショートカットを作ると切り替えが楽:

# ~/.zshrc
alias cc-llama='ANTHROPIC_MODEL="meta-llama/llama-3.3-70b-instruct:free" claude'
alias cc-gemini='ANTHROPIC_MODEL="google/gemini-2.0-flash-exp:free" claude'
alias cc-deepseek='ANTHROPIC_MODEL="deepseek/deepseek-r1:free" claude'

設定 5: レート制限に当たったときのフォールバック設定

無料枠は混雑時に 429 Too Many Requests が返る。Claude Code はデフォルトでリトライするが、待機時間が長くなる場合は有料モデルへの自動フォールバックを OpenRouter の機能で設定できる。

OpenRouter のリクエストヘッダーに X-OR-Fallback を渡す方法は現時点では SDK 経由だと難しいが、OpenRouter の Route 機能 (Web UI) でフォールバックチェーンを組める:

  1. openrouter.ai → Routes → New Route
  2. Primary: meta-llama/llama-3.3-70b-instruct:free
  3. Fallback 1: meta-llama/llama-3.3-70b-instruct (有料)
  4. 作成されたルート URL を ANTHROPIC_BASE_URL に設定

これで「まず無料で試みて、失敗したら有料に切り替える」という構成になる。有料フォールバックを使いたくない場合は Fallback を設定せず、単純に 429 時に数分待つ運用でも十分実用的。


実運用でのコスト実績 (筆者調べ)

以下は個人開発プロジェクト (TypeScript SaaS, 約 30k LoC) での 1 ヶ月の実績値:

期間 使用モデル 主な用途 費用
〜2025 年初 Claude Sonnet (直通) コード生成全般 $47
2025 年 Q2〜 llama-3.3-70b:free + Gemini:free コード生成 + 長文サマリ $0
2025 年 Q3〜 上記 + deepseek-r1:free (調査用) 上記 + バグ解析 $0

ただし注意点:

  • 無料モデルはレスポンスが有料より 2〜5 倍遅い場面がある
  • 複雑なマルチファイル編集は有料モデルの精度には届かないケースも
  • 「$0 でいい感じ」という感覚は個人開発レベルの話。チーム開発・業務用途は有料プランが安定

まとめ

設定 やること 効果
① Base URL 変更 ANTHROPIC_BASE_URL を OpenRouter に OpenRouter の全モデルが使える
② モデル明示 --model or ANTHROPIC_MODEL 環境変数 無料枠モデルを確実に指定
③ CLAUDE.md 最適化 最小限のコンテキストに絞る TPD 節約・速度向上
④ タスク別使い分け エイリアスでモデルをすぐ切り替え 品質と速度のバランス
⑤ フォールバック設定 OpenRouter Routes で構成 レート制限時の安定性確保

コスト最適化と開発速度の両立は、モデルの特性を理解した上での「使い分け」が核心。まず ① と ② だけ試してみて、実際の使い勝手を確認してから残りの設定を積み上げていくのがおすすめ。


参考リンク


✍️ 本記事の著者: 合同会社ジモラボ

ジモラボは、八王子を拠点に AI を活用した SaaS を多数開発しています。本記事の技術検証もそうした開発過程の副産物です。

興味を持っていただけたら、ぜひ各 SNS のフォローもお願いします!

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?