TL;DR
- OpenRouter の
:freeモデルは本番ユースに耐えるクオリティに達しつつある - Claude Code のサブエージェントや補助タスクに
:freeモデルを組み込むことでコストを大幅削減できる - 2026年現在、コーディング補助・要約・翻訳・分類など用途別に最適モデルが異なる
- 本記事では無料モデル 5 つを用途別に比較し、実際の使い分けパターンを紹介する
背景:AI 駆動開発のコスト問題
Claude Code や ChatGPT を日常的な開発フローに組み込むと、月額コストが想定外に膨らむことがある。特に「ちょっとした整形」「コメントの翻訳」「テストケースの雛形生成」のような 小粒タスク にも claude-opus-4 クラスを使い続けると、費用対効果が崩れる。
そこで注目したいのが OpenRouter の無料枠 (:free suffix モデル) だ。2026年現在、Qwen・Llama・Mistral・Gemma 系の有力モデルが無料枠で利用でき、用途を絞れば十分な品質が出る。
OpenRouter :free モデルとは
OpenRouter は複数の LLM プロバイダへの統合ルーティング API で、モデル ID の末尾に :free を付けると無料ティアで利用できる。
qwen/qwen3-235b-a22b:free
meta-llama/llama-3.3-70b-instruct:free
mistralai/mistral-7b-instruct:free
google/gemma-3-27b-it:free
deepseek/deepseek-r1:free
無料ティアの主な制約 (2026年5月時点の公式ドキュメントより)
| 項目 | 制約 |
|---|---|
| Rate limit | 20 req/min (モデルによって異なる) |
| Context window | モデル固有の上限と同じ (削減なし) |
| 並列リクエスト | 有料プランより低め |
| SLA | ベストエフォート (遅延が出ることあり) |
ベストエフォートではあるが、非同期・バッチ処理ならば大半のユースケースに対応できる。
無料モデル 5 選:用途別比較
1. qwen/qwen3-235b-a22b:free — コーディング補助・長文整合
Alibaba Cloud の Qwen3 シリーズ最大モデル。235B パラメータだが MoE (Mixture of Experts) アーキテクチャにより実効的な推論コストは低い。
強み
- 日本語・中国語・英語のコード生成品質が高い
- 128K コンテキストで大きなファイルもそのまま渡せる
- Thinking モード (
/no_thinkフラグで無効化可) により複雑な設計タスクに対応
適した用途
- 複数ファイルにまたがるリファクタリング提案
- 複雑な SQL の最適化
- API 設計のレビューと改善案出し
Qiita 向けサンプル呼び出し (OpenAI 互換)
import openai
client = openai.OpenAI(
api_key="<YOUR_OPENROUTER_API_KEY>",
base_url="https://openrouter.ai/api/v1",
)
response = client.chat.completions.create(
model="qwen/qwen3-235b-a22b:free",
messages=[
{
"role": "user",
"content": "以下の Python 関数に型ヒントと docstring を追加してください:\n\ndef add(a, b):\n return a + b",
}
],
extra_headers={
"HTTP-Referer": "https://locallab.jp",
"X-Title": "Jimolab Dev",
},
)
print(response.choices[0].message.content)
注:
extra_headersのHTTP-RefererとX-Titleは OpenRouter のレート制限緩和に効果があると公式ドキュメントで推奨されている。
2. meta-llama/llama-3.3-70b-instruct:free — 汎用テキスト処理
Meta の Llama 3.3 70B は instruction-tuning の質が高く、構造化出力 (JSON mode) との相性が良い。
強み
- JSON モードが安定しており、パース失敗が少ない
- 英語の instruction-following が高精度
- Apache 2.0 ライセンスのベースモデルに由来し、ファインチューニング資産が豊富
適した用途
- ログメッセージの分類・タグ付け
- Markdown テーブルの整形・変換
- 英語コメントを日本語に翻訳してコードに埋め戻す
JSON mode サンプル
response = client.chat.completions.create(
model="meta-llama/llama-3.3-70b-instruct:free",
messages=[
{
"role": "user",
"content": (
"以下のエラーログを解析して JSON で返してください。\n"
"キー: level, message, suggested_fix\n\n"
"[ERROR] Connection timeout after 30s to db.example.com:5432"
),
}
],
response_format={"type": "json_object"},
)
import json
print(json.loads(response.choices[0].message.content))
出力例:
{
"level": "ERROR",
"message": "Connection timeout after 30s to db.example.com:5432",
"suggested_fix": "Check network connectivity and firewall rules to the database host on port 5432. Consider increasing the connection timeout or using a connection pool with retry logic."
}
3. google/gemma-3-27b-it:free — 軽量・高速な日本語タスク
Google の Gemma 3 27B は比較的小さいモデルだが、日本語テキストの理解精度が高く、レイテンシが低い。
強み
- 応答速度が速い (バッファが溜まりにくい)
- 日本語の読み書きが自然
- Gemma ライセンス (使用条件あり・商用可) で柔軟に利用できる
適した用途
- コミットメッセージの自動生成 (diff を渡す)
- PR タイトル・本文の日本語ドラフト生成
- テストコードのコメント日本語化
コミットメッセージ生成サンプル
#!/bin/bash
# commit-msg-gen.sh
# 使い方: git diff --cached | bash commit-msg-gen.sh
DIFF=$(cat)
curl -s https://openrouter.ai/api/v1/chat/completions \
-H "Authorization: Bearer $OPENROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d @- <<EOF
{
"model": "google/gemma-3-27b-it:free",
"messages": [
{
"role": "user",
"content": "以下の git diff から Conventional Commits 形式のコミットメッセージを 1 行で生成してください:\n\n${DIFF}"
}
]
}
EOF
4. deepseek/deepseek-r1:free — 推論・数値計算補助
DeepSeek R1 は数学・アルゴリズム推論に特化したモデル。思考連鎖 (chain-of-thought) を自動で展開するため、複雑なロジックの検証に向いている。
強み
- 複雑な条件分岐の論理チェックが得意
- BigO 記法の見積もりや計算量議論が正確
- MIT ライセンス (本記事執筆時点) — 商用利用可
適した用途
- ソートアルゴリズムの計算量レビュー
- DB クエリのインデックス選定の妥当性確認
- バグの根本原因分析 (RCA) の補助
注意: R1 は thinking トークンが多く、1 リクエストあたりのトークン消費が大きい。コスト効率目的で無料枠を使う場合は、プロンプトを必要最小限に絞ること。
5. mistralai/mistral-7b-instruct:free — バッチ処理・大量テキスト整形
Mistral 7B は小さいながらも instruction-following が安定している枯れたモデル。バッチ処理で数百件のテキストを一気に処理する用途に向く。
強み
- 7B なので推論が速く rate limit に引っかかりにくい
- Apache 2.0 ライセンス
- シンプルなプロンプトで安定した出力
適した用途
- CSV の列値を一括で標準化 (都道府県表記の統一など)
- HTML テンプレートへの変数差し込み文章生成
- 大量の英語ドキュメントの見出し日本語化
用途別モデル選定マトリクス
| 用途 | 推奨モデル | 理由 |
|---|---|---|
| 複雑なコード生成・設計レビュー | qwen3-235b | コンテキスト長・コーディング精度 |
| JSON 構造化出力・分類 | llama-3.3-70b | JSON mode の安定性 |
| 日本語コメント生成・PR ドラフト | gemma-3-27b | 日本語品質・低レイテンシ |
| ロジック検証・計算量分析 | deepseek-r1 | 推論特化 |
| 大量バッチ・シンプル整形 | mistral-7b | 速度・安定性 |
Claude Code との組み合わせパターン
Claude Code 自体はコアの設計・判断タスクに集中させ、補助的な処理を OpenRouter :free モデルにオフロードする構成が費用対効果が高い。
[Claude Code (sonnet)]
│ 設計・判断・PR レビュー
▼
[OpenRouter :free モデル]
├── コミットメッセージ生成 ← gemma-3-27b
├── 単体テスト雛形生成 ← qwen3-235b
├── 英語コメント和訳 ← llama-3.3-70b
└── ロジック検証 ← deepseek-r1
この分業はシンプルな Python スクリプトやシェルスクリプトで実装でき、特別なフレームワークは不要。OpenRouter が OpenAI 互換 API を提供しているため、base_url を差し替えるだけで既存コードに組み込める。
rate limit 対策: 指数バックオフの実装
無料枠では rate limit (HTTP 429) が発生しうる。シンプルな指数バックオフで大半のケースに対応できる。
import time
import random
import openai
from openai import RateLimitError
def call_with_backoff(client, model: str, messages: list, max_retries: int = 5):
"""指数バックオフ付きの OpenRouter 呼び出し"""
for attempt in range(max_retries):
try:
return client.chat.completions.create(
model=model,
messages=messages,
)
except RateLimitError:
if attempt == max_retries - 1:
raise
wait = (2 ** attempt) + random.uniform(0, 1)
print(f"Rate limited. Retrying in {wait:.1f}s... (attempt {attempt + 1})")
time.sleep(wait)
コスト比較 (参考)
OpenRouter の公開料金ページ (2026年5月時点) より。無料モデルと有料モデルの代表的な比較。
| モデル | input (per 1M tokens) | output (per 1M tokens) |
|---|---|---|
| qwen3-235b:free | $0 | $0 |
| llama-3.3-70b:free | $0 | $0 |
| claude-sonnet-4 (有料) | ~$3 | ~$15 |
| gpt-4o (有料) | ~$2.5 | ~$10 |
小粒タスクを :free モデルに逃がすだけで、月の LLM コストを 30〜60% 削減できる という試算はコミュニティで多数報告されている (具体数値はワークロードによって大きく異なる)。
注意点とトレードオフ
❶ 無料枠は「ベストエフォート」
SLA が保証されず、混雑時にレイテンシが跳ね上がることがある。リアルタイムな UI に組み込む場合は有料モデルのフォールバックを用意するべきだ。
❷ モデルの突然の非提供
無料枠のモデルは予告なく提供終了・有料化される場合がある。モデル ID をハードコードせず、設定ファイルで管理しておくと切り替えが容易になる。
# config.py
MODEL_CONFIG = {
"code_gen": "qwen/qwen3-235b-a22b:free",
"json_parse": "meta-llama/llama-3.3-70b-instruct:free",
"japanese": "google/gemma-3-27b-it:free",
"reasoning": "deepseek/deepseek-r1:free",
"batch": "mistralai/mistral-7b-instruct:free",
}
❸ プロンプトインジェクション対策
外部から受け取ったテキストをそのまま LLM に渡す場合は、インジェクション対策が必要。これは無料・有料モデル共通の注意点だが、無料モデルはガードレールが弱いケースがある。
まとめ
- OpenRouter
:freeモデルは 2026年現在、本番補助ユースに十分なクオリティに到達している - 用途を絞れば コーディング補助・JSON 整形・日本語生成・推論チェック のいずれも無料で賄える
- Claude Code などの高性能モデルは「判断が必要な core タスク」に集中させ、補助処理をオフロードするのがコスト最適戦略
- rate limit・ベストエフォート SLA・モデル廃止リスクに備えた設計を最初から組み込むこと
参考リンク
- OpenRouter 公式ドキュメント
- OpenRouter モデル一覧 (フィルタ: free)
- Qwen3 技術レポート (Alibaba Cloud)
- Llama 3 モデルカード (Meta)
- DeepSeek R1 論文 (arXiv:2501.12948)
- Gemma 3 技術仕様 (Google)
- Mistral 7B (Mistral AI)
✍️ 本記事の著者: 合同会社ジモラボ
ジモラボは、八王子を拠点に AI を活用した SaaS を多数開発しています。本記事の技術検証もそうした開発過程の副産物です。
- 🌐 公式サイト: https://locallab.jp
- 🔍 AI SEO 最適化 SaaS: lookupai.jp
- 📺 YouTube: @locallab_llc
- ✉️ お問い合わせ: info@locallab.jp
興味を持っていただけたら、ぜひ各 SNS のフォローもお願いします!