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 円に抑える 3 つの設定

0
Posted at

TL;DR

  • Claude Code の --model フラグと環境変数を使えば OpenRouter の :free モデルに全てのリクエストをルーティングできる
  • Qwen/Qwen3-235B-A22B:free など複数モデルを用途別に使い分けることでクオリティとコストを両立できる
  • コンテキスト節約設定と .claude/settings.json のチューニングで API コールを最小化できる

背景

Claude Code は強力な AI コーディングエージェントだが、デフォルトのまま使い続けると Anthropic の API コストが積み上がる。特にリファクタリング・ドキュメント生成・テスト自動生成のような「繰り返し処理」を自動化すると、1 日に数百回のリクエストが発生することも珍しくない。

OpenRouter は複数の LLM プロバイダーへの統合ゲートウェイであり、:free サフィックスの付いたモデルは無料枠で利用できる。Claude Code は OpenAI 互換の API を受け付けるため、OpenRouter エンドポイントを差し込むだけで低コスト化が実現できる。


前提

  • Claude Code (Anthropic 公式 CLI) がインストール済み
  • OpenRouter アカウント取得済み・API キー発行済み
  • Node.js 18+ または Bun 環境

設定 1: OpenRouter エンドポイントへのルーティング

Claude Code は環境変数 ANTHROPIC_BASE_URL でベース URL を上書きできる。OpenRouter は Anthropic 互換エンドポイントを提供しているため、以下の設定で差し替えが完了する。

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

次に、使用するモデルを指定する。Claude Code の --model フラグまたは設定ファイルで指定できる。

# 1 回限りの実行
claude --model "qwen/qwen3-235B-A22B:free" "このファイルのバグを修正して"

# デフォルトモデルを変更する場合 (.bashrc / .zshrc に追記)
export CLAUDE_MODEL="qwen/qwen3-235B-A22B:free"

注意: OpenRouter の :free モデルはレート制限があり、混雑時にはレイテンシが高くなることがある。商用プロダクトのリリース判断など品質要求が高い場面は有料モデルを使うことを推奨する。


設定 2: 用途別モデル切り替え戦略

2026 年時点で OpenRouter で利用できる主な :free モデルと、適した用途は以下の通り。

モデル コンテキスト長 適した用途
qwen/qwen3-235B-A22B:free 32K token 複雑なリファクタリング・設計相談
qwen/qwen3-30b-a3b:free 32K token ルーティン実装・テスト生成
mistralai/devstral-small:free 32K token コーディング特化・差分レビュー
meta-llama/llama-4-scout:free 512K token 大規模ファイルの読み込み・要約
google/gemini-2.0-flash-exp:free 1M token 巨大コードベースの一括解析

シェルスクリプトでタスクに応じてモデルを自動選択するラッパーを作ると管理が楽になる。

#!/usr/bin/env bash
# claude-router.sh: タスク種別でモデルを振り分ける

TASK_TYPE="${1:-general}"
PROMPT="${2}"

case "$TASK_TYPE" in
  "refactor")
    MODEL="qwen/qwen3-235B-A22B:free"
    ;;
  "test")
    MODEL="qwen/qwen3-30b-a3b:free"
    ;;
  "review")
    MODEL="mistralai/devstral-small:free"
    ;;
  "large-file")
    MODEL="meta-llama/llama-4-scout:free"
    ;;
  *)
    MODEL="qwen/qwen3-30b-a3b:free"
    ;;
esac

ANTHROPIC_BASE_URL="https://openrouter.ai/api/v1" \
  claude --model "$MODEL" "$PROMPT"

使い方:

chmod +x claude-router.sh
./claude-router.sh refactor "src/auth.ts を async/await に書き換えて"
./claude-router.sh test "UserService のユニットテストを Vitest で生成して"

設定 3: .claude/settings.json でコンテキストを節約する

Claude Code はデフォルトで多くのファイルを自動的にコンテキストに取り込む。:free モデルはレート制限が厳しいため、不要なトークン送信を抑制することがコスト削減に直結する。

.claude/settings.json をプロジェクトルートに配置する:

{
  "model": "qwen/qwen3-235B-A22B:free",
  "contextWindow": {
    "maxFiles": 10,
    "excludePatterns": [
      "node_modules/**",
      "dist/**",
      "build/**",
      ".next/**",
      "coverage/**",
      "*.lock",
      "*.log"
    ]
  },
  "autoCompact": true,
  "compactThreshold": 0.7
}

各設定の意味:

  • maxFiles: 一度にコンテキストへ取り込む最大ファイル数を制限する。大規模モノレポでは特に有効
  • excludePatterns: ビルド成果物・依存関係ディレクトリを除外し、無駄なトークンを消費しない
  • autoCompact: コンテキストが compactThreshold(ここでは 70%)を超えたら自動圧縮する
  • compactThreshold: 0.7 は「コンテキストウィンドウの 70% が埋まったら圧縮開始」を意味する

実際の使用コスト比較

以下は 1 日 50 回程度のコーディングタスク(リファクタ・テスト生成・ドキュメント)を実行した場合の月次コスト試算。

構成 月次コスト目安
Claude Code + claude-3-5-sonnet (デフォルト) $30〜$80
Claude Code + OpenRouter :free モデル主体 $0〜$3 (超過分のみ)
Claude Code + OpenRouter 有料モデル (claude-3.5-sonnet 経由) デフォルト比 10〜30% 割引になるケースあり

:free モデルのレート制限は「1 分あたり数十リクエスト」程度が多く、人間のコーディング速度であれば実用上ほとんど問題にならない。並列エージェントによる大量バッチ処理には不向きなので注意。


よくあるトラブルと対処

401 Unauthorized エラー

ANTHROPIC_API_KEY に OpenRouter のキーが正しくセットされているか確認する。sk-or-v1- から始まるキーを使用すること。

echo $ANTHROPIC_API_KEY  # 確認

モデルが見つからない (model not found)

OpenRouter のモデル一覧は頻繁に変わる。最新のモデル名は https://openrouter.ai/models で確認すること。:free フィルターで絞り込むと利用可能モデルだけが表示される。

レイテンシが高い

:free モデルはリソース割り当てが低いため、レイテンシが 10〜30 秒になることがある。バックグラウンドタスク(テスト生成・ドキュメント更新など)に使い、インタラクティブな作業には有料モデルを使う使い分けが現実的。

コンテキストが途中で切れる

maxFiles を下げるか、作業対象ファイルを明示的に指定して余分なファイルをコンテキストから外す。

claude --model "qwen/qwen3-235B-A22B:free" \
  --context src/auth.ts src/auth.test.ts \
  "テストカバレッジを 80% 以上にして"

まとめ

やること 効果
ANTHROPIC_BASE_URL を OpenRouter に差し替え 課金先を変更・無料枠を活用
用途別モデル切り替えスクリプト クオリティとコストのバランス最適化
.claude/settings.json でコンテキスト制限 トークン消費を削減・レート制限を回避

Claude Code はデフォルト設定のまま使うと課金が積み上がりやすい。OpenRouter の :free モデルを主力にしてルーティン作業を任せ、重要な判断だけ高品質モデルに切り替えるというハイブリッド戦略が最もコストパフォーマンスが高い。


参考リンク


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

ジモラボは、八王子を拠点に 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?