モデル比較

Claude Opus 5 vs Kimi K3

料金・コンテキスト長・実際の回答で比較(2026年8月時点)

Claude Opus 5(Anthropic)とKimi K3(Moonshot)を、FastMetalのゲートウェイで実際に呼び出せる条件で比較します。どちらも同じOpenAI互換エンドポイントとAPIキーから利用でき、切り替えは model の文字列を変えるだけです。

スペックと料金

anthropic logoClaude Opus 5moonshotai logoKimi K3
提供元AnthropicMoonshot
入力(100万トークンあたり)¥893.5¥536.1
出力(100万トークンあたり)¥4,467.5¥2,680.5
想定コスト(入力1,000・出力500トークン × 1,000回)¥3,127¥1,876
コンテキスト長1,000,000 トークン1,048,576 トークン
リリース日2026/7/242026/7/16
入力モダリティtext, image, filetext, image
アリーナ 総合#5 · ELO 1,495#11 · ELO 1,486
アリーナ 日本語圏外圏外
アリーナ コーディング#7 · ELO 1,535#8 · ELO 1,530

料金はFastMetalの円建て単価(税別)。アリーナ順位は公開リーダーボードの最新取得時点の値です。

どちらを選ぶべきか

  • 料金重視ならKimi K3。出力100万トークンあたり¥2,680.5で、Claude Opus 5より40%安くなります。
  • 総合の評価はアリーナ順位でClaude Opus 5が上です(5位。Kimi K3は11位)。
  • コーディングの評価はアリーナ順位でClaude Opus 5が上です(7位。Kimi K3は8位)。
  • 長い文書を扱うならKimi K3。コンテキスト長は1,048,576トークンで、Claude Opus 5の1,000,000トークンより広くとれます。
  • 迷ったら両方を同じキーで試せます。model の文字列を変えるだけで切り替わり、料金はそれぞれの単価で従量課金されます。

同じプロンプトへの実際の回答

FastMetalのゲートウェイが返した回答をそのまま並べています。ベンチマークの数字ではなく、実際の出力です。

このエラーをデバッグして

以下のエラーがPythonアプリケーションで発生しています。原因を特定して修正してください。 Traceback (most recent call last): File "app.py", line 23, in get_user_orders total = sum(order["price"] * order["quantity"] for order in orders) TypeError: unsupport…

Claude Opus 5

# エラーの原因 `order["price"]` が **文字列型 (`str`)** で返ってきています。`order["quantity"]` は `int` なので、`str * int` の演算になり `TypeError` が発生しました。 Python では `"100" * 3` は `"100100100"` という文字列の繰り返しになり、`3 * "100"` も同様です。ただし今回は `str * int` の順で、かつエラーになっているので、内部的には `price` が `Decimal` ではなく `str` として渡り、`quantity` 側が `int` 以外(あるいは逆順)…という細かい話は置いておき、要点は **DB から取得した `price` が数値型になっていない** ことです。 ## なぜ文字列になるのか(典型的な原因) | 原因 | 説明 | |---|---| | カラム型が `VARCHAR`/`TEXT` | `price` が数値カラムとして定義されていない | | DB ドライバの型変換設定 | MySQL の `DECIMAL` を文字列で返すドライバがある(例: `mysqlclient` の一部設定、`PyMySQL` の `conv` 設定) | | SQLite の型の緩さ | SQLite は宣言型と実際の格納型が一致しないことがある | | ORM/ラッパー層の仕様 | 自前の `db.query` が全カラムを `str` で返している | まずは実際の型を確認してください。 ```pytho…
応答時間 34.2秒出力 2190 トークン

Kimi K3

## 原因 エラーメッセージが示す通り、`order["price"]` が **文字列(str)** になっているのが原因です。数値同士の演算を期待しているのに、DBから取得した `price` が文字列として返されているため、乗算に失敗しています。 よくある原因は以下のいずれかです: 1. **DBのカラム定義が文字列型** — `price` カラムが `DECIMAL`/`NUMERIC` ではなく `VARCHAR`/`TEXT` で定義されている 2. **DBドライバの仕様** — 一部のドライバや設定では、数値カラムでも文字列として返すことがある 3. **データ投入時の問題** — 数値カラムでも文字列として insert され、暗黙変換されている まず以下で型を確認すると原因を特定しやすいです: ```python print(type(order["price"]), order["price"]) ``` ## 修正方法 ### 応急処置(アプリケーション側で型変換) ```python from decimal import Decimal def get_user_orders(user_id): orders = db.query("SELECT price, quantity FROM orders WHERE user_id = %s", user_id) total = sum(Decimal(order["price"]) * int(order["quantity"]) for order in orde…
応答時間 47.1秒出力 2426 トークン

コードレビュー

以下のTypeScript関数をレビューして、可読性・パフォーマンス・ベストプラクティスの観点から改善点を提案してください。 async function fetchAllUsers(page: number = 1): Promise<any[]> { let allUsers: any[] = []; let hasMore = true; let currentPage = page; while (hasMo…

Claude Opus 5

# コードレビュー ## 総評 ページネーションのロジック自体は正しく動作しますが、**型安全性の欠如**と**エラーハンドリングの不在**が最も重大な問題です。特に `any[]` の使用はTypeScriptを使う意義を大きく損なっています。以下、優先度順に指摘します。 --- ## 🔴 重大な問題 ### 1. `any` 型による型安全性の喪失 `Promise<any[]>` と `data.users[i]` の型が不明なため、コンパイラの検証が一切効きません。`data.users` が `undefined` の場合はランタイムエラーになりますが、コンパイル時には検出されません。 ```typescript // APIレスポンスの型を定義 interface ApiUser { id: string; first_name: string; last_name: string; email: string; status: "active" | "suspended" | "deleted"; } interface UsersResponse { users: ApiUser[]; } // 戻り値の型も明示 interface User { id: string; name: string; email: string; } ``` 外部入力を信頼できない場合は、zod などでランタイムバリデーションを併用するのが理想です。 ```typescript const UsersResponseSch…
応答時間 40.9秒出力 3042 トークン

Kimi K3

# コードレビュー: `fetchAllUsers` 全体的に動作はしますが、型安全性・エラーハンドリング・堅牢性に改善余地があります。指摘事項を整理します。 ## 主な問題点 ### 1. 型安全性の欠如(ベストプラクティス) - 戻り値が `Promise<any[]>` で、型の恩恵が得られていない - `response.json()` の結果が暗黙の `any` になり、プロパティの typo などを検出できない ### 2. エラーハンドリングがない(ベストプラクティス) - `response.ok` のチェックがなく、404 や 500 でも `json()` を呼んでしまう - ネットワークエラーや JSON パースエラーが考慮されていない - `data.users` が `undefined` の場合、`data.users.length` でランタイムエラーになる ### 3. 無限ループのリスク(堅牢性) - API のバグなどで常に 100 件返ってくる場合、ループが終わらない - 最大ページ数などの安全弁がない ### 4. 可読性 - インデックスベースの `for` ループで `data.users[i]` が繰り返され、冗長 - マジックナンバー `100` が URL と終了条件の2箇所に分散(変更時に片方だけ直し忘れるリスク) - `let user` は再代入されないので `const` にすべき - 文字列連結はテンプレートリテラルの方が現代的 ### 5. パフォーマンス・設計 - `deleted` ユーザーのフィル…
応答時間 23.1秒出力 3134 トークン

ビジネスメール作成

取引先の田中部長に、納品予定の製品に不具合が見つかり、納期を1週間延期する必要がある旨を伝えるビジネスメールを作成してください。 条件: - 原因は品質検査で軽微な不具合が発見されたため - 代替案として暫定版を先に納品することも可能 - 改めてお詫びの訪問をしたい - 日本のビジネスマナーに沿った丁寧な文面にすること

Claude Opus 5

以下のような文面が考えられます。 --- **件名:【お詫び】○○製品 納期延期のお願いとご相談(株式会社△△・山田)** 株式会社□□□□ 製造部 部長 田中 様 平素は格別のご高配を賜り、厚く御礼申し上げます。 株式会社△△の山田でございます。 このたびは、貴社にご迷惑をおかけする件でのご連絡となり、誠に申し訳ございません。 ○月○日に納品を予定しておりました「○○(製品名・型番)」につきまして、出荷前の最終品質検査において軽微な不具合が確認されました。 つきましては、原因の究明と対策および再検査を実施のうえ、確実な品質を担保したうえでお届けしたく、誠に恐縮ながら納期を1週間延期させていただきたく、お願い申し上げます。  ■当初の納品予定日:○月○日(○)  ■変更後の納品予定日:○月○日(○) なお、貴社の生産スケジュールへの影響を最小限にとどめるべく、以下の対応もご用意いたしました。  ■代替案:暫定版(○○の機能を限定した仕様)を当初の納期どおり先行納品   → 正式版は○月○日(○)に差し替えにてお届けいたします 暫定版にてご対応が可能でございましたら、至急手配いたします。ご都合のよい方をご指示いただけますと幸いです。 本件につきましては、弊社の品質管理体制に起因するものであり、貴社の業務に多大なるご迷惑をおかけすることとなり、心よりお詫び申し上げます。 また、事の経緯と再発防止策につきまして、改めて直接ご説明とお詫びに伺いたく存じます。誠に恐縮ではございますが、来週中でご都合のよい日時を2〜3ほどお知らせいただけますでしょうか。弊社担当者一…
応答時間 28.8秒出力 1244 トークン

Kimi K3

# 納期延期のお詫びメール --- **件名:【お詫び】○○製品 納期延期のご連絡** --- 株式会社○○ ○○部 田中 部長 いつも大変お世話になっております。 株式会社△△の○○でございます。 このたびは、○月○日に納品を予定しておりました「○○(製品名)」につきまして、納期の延期をお願いしなければならない事態となり、深くお詫び申し上げます。 経緯をご説明いたしますと、出荷前の品質検査におきまして、製品の一部に軽微な不具合が発見されました。貴社に安心してご使用いただける製品をお届けするため、修正作業を行う必要があると判断いたした次第です。 つきましては、誠に勝手ながら、納期を下記のとおり変更させていただきたく存じます。 **【変更前】○月○日(○曜日)** **【変更後】○月○日(○曜日)※1週間延期** なお、暫定版とはなりますが、現行の製品を当初の予定どおり先行して納品させていただくことも可能でございます。ご希望がございましたら、遠慮なくお申し付けくださいませ。 また、本件につきましては、改めて直接お詫びに伺いたく存じます。田中様のご都合のよろしい日時をご教示いただけますと幸いです。 貴社には多大なご迷惑をおかけいたしますことを、重ねて深くお詫び申し上げます。今後このようなことがないよう、品質管理体制の一層の強化に努めてまいる所存です。 何卒ご理解賜りますよう、よろしくお願い申し上げます。 --- ━━━━━━━━━━━━━━━━━━━━ 株式会社△△ ○○部 ○○ ○○(氏名) TEL:XXX-XXXX-XXXX Email:xxxx@…
応答時間 17.9秒出力 1916 トークン

他のプロンプトでも比較する →

よくある質問

Claude Opus 5とKimi K3、料金はどちらが安いですか?
出力100万トークンあたりClaude Opus 5は¥4,467.5、Kimi K3は¥2,680.5で、Kimi K3の方が安くなります(FastMetalの円建て単価・税別)。
Claude Opus 5とKimi K3のコンテキスト長の違いは?
Claude Opus 5は1,000,000トークン、Kimi K3は1,048,576トークンです。
Claude Opus 5とKimi K3、評価が高いのはどちらですか?
公開アリーナの順位ではClaude Opus 5が上です(Claude Opus 5 5位、Kimi K3 11位)。順位はリーダーボードの更新で変わります。
Claude Opus 5とKimi K3を同じAPIキーで使えますか?
はい。FastMetalのOpenAI互換エンドポイントで、model に "anthropic-claude-opus-5" または "kimi-k3" を指定するだけで切り替えられます。料金はそれぞれの単価で、同じ前払い残高から従量課金されます。

どちらも同じAPIキーで試せます

アカウントを作成してクレジットをチャージすれば、Claude Opus 5とKimi K3をブラウザのチャットとAPIの両方から呼び出せます。月額料金はありません。

Claude Opus 5の他の比較

Kimi K3の他の比較