ゲートウェイを使うのが理にかなっている、とあなたはもう判断しました — 複数のプロバイダーを、ひとつの OpenAI 互換エンドポイントで、ひとつの請求書にまとめる。ここからが難しい問いです。 どれを選ぶか。再ラップされ、トークンを水増しし、容量が一夜で消えるから定価の 80% 引きで売っている不安定なリセラーに、たどり着かずに済ませるには。 本当に重要な 5 つの観点で、当社なら使うチェックリストを以下にまとめました — そして主張を鵜呑みにする代わりに検証する、1 分のスクリプトも。
1. 本物かどうか — 本当に本物のモデルか?
モデル名は最も偽装しやすい項目です。リセラーは claude-sonnet-4-6 の裏側で、より小さいモデルや、ファインチューン版、あるいは固定テンプレートに 包んだだけのあなたのプロンプトを返すことができます。ダウングレードでは 偽装できない能力を確かめてください。完全なコンテキストウィンドウ、 ネイティブなツール呼び出し、ビジョン。 モデルの真正性に関する記事 に検証用のプローブがあります。
- そのモデルは公称どおりの完全なコンテキストを保持できるか(150K+ での needle-in-haystack)?
- ネイティブなツールとビジョンは動くか、それともテキストで偽装されているだけか?
- そのモデルはファーストパーティの出所(Bedrock、Vertex)までたどれるか、それとも説明のつかないものか?
2. 課金の正直さ — メーターは真実を語っているか?
あなたはトークン単位で支払い、ゲートウェイがその数を報告します。そこに水増しを すること — 隠れた注入システムプロンプトや、でっち上げられた usage オブジェクト — は、5〜25 倍の過剰請求を最も静かに行う手口です。20 行で検証 できます( トークン水増しの記事)。
- 報告されるトークン数が、実際のテキスト量に小さな固定オーバーヘッドを足したものと一致するか?
- 失敗した 4xx/5xx の呼び出しは無料か、それともエラーにも課金されるか?
- プロンプトキャッシュは尊重されているか — 本物のキャッシュヒットが割引レートで請求されるか?
3. 信頼性 — 負荷がかかっても落ちないか?
ゲートウェイはホップをひとつ増やします。それに見合うには、上流より不安定に なるのではなく、上流より信頼できなければなりません。フェイルファストな挙動 (90 秒のハングではなく、リトライできるエラー)と、劣化したバックエンドから 逃がすルーティングを探してください。
- 公開ステータスページと公表された SLA の数値はあるか?
- プロバイダーをまたぐフェイルオーバーがあるか、それとも 1 回の呼び出しにつき上流はひとつだけか?
- あなたのリトライが機能するように素早く明示的に失敗するか、それとも黙ってハングするか?
4. カバレッジ — 実際にやる仕事を 1 つの鍵でこなせるか?
- チャット、画像、動画を同じ鍵で扱えるか、それともテキストだけか?
- そのすべてにわたって OpenAI 互換か — ストリーミング、ツール、ビジョン、JSON モード?
- 重要な場面でのネイティブルート(例: Anthropic の
/v1/messages)はそのまま保たれているか?
5. 価格と規約 — 安いのには理由があるのか、それとも適正価格か?
罠が仕掛けられているのは価格です。公式定価をわずかに下回る割引は、 ボリュームインフラ上のマージンです。定価の 80% 引きのゲートウェイは、 いずれ消えるグレーマーケットの容量を転売しています — その節約はどこかから 来ているのであり、たいていは真正性か安定性が代償になっています。
- 曖昧な一律割引ではなく、公式レートに対するモデルごとの価格(監査可能)になっているか?
- 従量課金(ペイアズユーゴー)か、それともサブスクリプションと失効するクレジットに縛られているか?
- 残高は失効するか? 最低利用額はあるか?
1 分でできるデューデリジェンス
マーケティングページの言葉も — 当社の言葉も — 鵜呑みにしないでください。 チェックを実行しましょう。
# gateway_due_diligence.py
# 本番で信頼する前に、OpenAI 互換ゲートウェイならどれにでも実行できる。
# チェックは 5 つ、コストは 1 セント未満、所要時間は約 1 分。
import tiktoken
from openai import OpenAI
client = OpenAI(api_key="sk-...", base_url="https://api.brievio.com/v1")
# 1. 正直な課金 — 報告された prompt_tokens と、ローカルのトークナイザーで数えた値を比較。
msgs = [{"role": "user", "content": "Reply with the single word: ok."}]
r = client.chat.completions.create(model="claude-sonnet-4-6", messages=msgs, max_tokens=5)
local = len(tiktoken.get_encoding("cl100k_base").encode(msgs[0]["content"]))
print("token ratio (want ~1.0-1.6x):", round(r.usage.prompt_tokens / local, 1))
# 2. 本物のモデル — テキストに JSON を詰め込んだものではなく、本物の構造化された tool_call。
r = client.chat.completions.create(
model="claude-sonnet-4-6",
messages=[{"role": "user", "content": "weather in Tokyo? use the tool"}],
tools=[{"type": "function", "function": {"name": "get_weather",
"parameters": {"type": "object", "properties": {"city": {"type": "string"}}}}}],
)
print("returns real tool_calls:", r.choices[0].message.tool_calls is not None)
# 3. 失敗した呼び出しは無料 — わざと不正なリクエストを送り、その後 usage ページを確認。
# 4xx/5xx は課金されないはず。
# 4. コンテキスト — モデルが公称するウィンドウで needle-in-haystack を試す
# (スニペットは「あなたの Claude は本当に Claude か」の記事を参照)。
# 5. 規約 — 公開ステータスページと公表された SLA が存在し、料金は曖昧な
# 「全品 80% 引き」ではなく、公式レートに対するモデルごとの価格になっている。Brievio は自らのチェックリストでどこに位置するか
自分自身の採点表についても正直に言いましょう。Brievio は 本物のファーストパーティモデルを tier-1 クラウドチャネル経由で ルーティングし、完全なコンテキストとネイティブ機能をそのまま保ちます。 本当のトークン数で課金し、失敗した呼び出しには一切課金しません。 各モデルを公式定価より約 15% 安く(画像と動画はさらに深く)、 従量課金で、残高は失効しません。当社が勝てないところはこうです。 直接利用は、初日からのモデル アクセスと正規の契約主体(provider-of-record)の点で依然として当社に勝ります。 そして OpenRouter は、はるかに広い オープンソースのロングテールをカバーします。詳しくは 比較と料金を ご覧ください。そのうえで、候補に挙げたどのゲートウェイに対しても、 上のスクリプトを実行してみてください。
チェックリストの意義は、それを書いたベンダー自身を含め、誰に対しても 同じように適用できる点にあります。当社にも適用してください。