0
0

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 駆動開発:無料モデル 5 選と使い分け方 2026年版

0
Posted at

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・モデル廃止リスクに備えた設計を最初から組み込むこと

参考リンク


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

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

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

0
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?