モデル比較

Gemini 3.1 Pro Preview vs Kimi K2.6

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

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

スペックと料金

google logoGemini 3.1 Pro Previewmoonshotai logoKimi K2.6
提供元GoogleMoonshot
入力(100万トークンあたり)¥357.4¥159.6
出力(100万トークンあたり)¥2,144.4¥672
想定コスト(入力1,000・出力500トークン × 1,000回)¥1,430¥496
コンテキスト長1,048,576 トークン262,144 トークン
リリース日2026/2/192026/4/20
入力モダリティaudio, file, image, text, videotext, image
生成速度 (p50)
アリーナ 総合#15 · ELO 1,487#52 · ELO 1,460
アリーナ 日本語#9 · ELO 1,494#36 · ELO 1,443
アリーナ コーディング#28 · ELO 1,520#39 · ELO 1,514

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

どちらを選ぶべきか

  • 料金重視ならKimi K2.6。出力100万トークンあたり¥672で、Gemini 3.1 Pro Previewより69%安くなります。
  • 総合の評価はアリーナ順位でGemini 3.1 Pro Previewが上です(15位。Kimi K2.6は52位)。
  • 日本語の評価はアリーナ順位でGemini 3.1 Pro Previewが上です(9位。Kimi K2.6は36位)。
  • コーディングの評価はアリーナ順位でGemini 3.1 Pro Previewが上です(28位。Kimi K2.6は39位)。
  • 長い文書を扱うならGemini 3.1 Pro Preview。コンテキスト長は1,048,576トークンで、Kimi K2.6の262,144トークンより広くとれます。
  • 迷ったら両方を同じキーで試せます。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…

Gemini 3.1 Pro Preview

このエラーの**原因**と**修正方法**について解説します。 ### 1. 原因:取得したデータが「文字列(str)」になっている エラーメッセージの `TypeError: unsupported operand type(s) for *: 'str' and 'int'` は、**「文字列(`str`)と数値(`int`)で掛け算などの算術演算を行おうとした」**ということを意味しています。 データベース(MySQLやSQLiteなど)からデータを取得した際、`price`(価格)や `quantity`(数量)のカラムが数値型ではなく、**文字列としてPythonに渡されている**ことが根本的な原因です。 ※Pythonでは文字列と整数の掛け算(例: `"100" * 2`)を行うと `"100100"` という文字列の繰り返しになり、その後 `sum()` で合算しようとした際に型エラーを引き起こします。 ### 2. 修正方法:数値型(int や float)に変換する 計算を行う前に、取得したデータを正しい数値型に変換(キャスト)してあげる必要があります。 - `price`(価格)は小数が含まれる可能性があるため `float` - `quantity`(数量)は整数のため `int` #### 修正例 1(最もシンプルな修正) ```python def get_user_orders(user_id): orders = db.query("SELECT price, quantity FROM orders WHERE user_id…
応答時間 31.5秒出力 3663 トークン

Kimi K2.6

このエラーの原因は、**データベースから取得した `price`(または `quantity`)の値が文字列(`str`)型のまま計算に使われている**ことです。 `TypeError: unsupported operand type(s) for *: 'str' and 'int'` というエラーは、`"100"` のような文字列と `2` のような整数を `*` で乗算しようとした際に発生します。 ## 原因 多くのデータベースドライバでは、クエリ結果を辞書形式で返す際、数値カラム(`DECIMAL`, `INT` など)の値が自動的にPythonの数値型に変換されず、**文字列として返される**ことがあります。 そのため `order["price"]` が `"1500.00"` のような文字列になっており、`order["quantity"]`(整数)との乗算で型エラーが発生しています。 ## 修正方法 計算時に明示的に数値型に変換してください。 ```python def get_user_orders(user_id): orders = db.query("SELECT price, quantity FROM orders WHERE user_id = %s", user_id) # priceをfloat(またはDecimal)に、quantityをintに変換 total = sum( float(order["price"]) * int(order["quantity"])…
応答時間 30.4秒出力 1132 トークン

コードレビュー

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

Gemini 3.1 Pro Preview

ご提示いただいたTypeScript関数は、ページネーションされたAPIからデータを取得し、フィルタリングと整形を行うという基本的な要件を満たしていますが、**型安全性の欠如、エラーハンドリングの漏れ、モダンなJavaScript/TypeScriptの記法を活用しきれていない点**など、いくつかの改善の余地があります。 「ベストプラクティス」「可読性」「パフォーマンス」の3つの観点からレビューと改善案を提案します。 --- ### 1. ベストプラクティス(TypeScript・堅牢性)の改善 * **`any` の排除:** 戻り値や変数に `any[]` が使われており、TypeScriptの最大のメリットである型安全性が失われています。APIからのレスポンス型と、整形後のユーザー型を `interface` または `type` で定義するべきです。 * **エラーハンドリングの追加:** ネットワークエラーや、サーバーからのエラーレスポンス(500や404など)が発生した場合、現在のコードではアプリケーションがクラッシュするか、予期せぬ動作をします。`try...catch` と `response.ok` のチェックが必要です。 * **マジックナンバーの排除:** `100` という制限値がURLと判定条件の2箇所にハードコードされています。定数として切り出すことで、仕様変更時のバグを防ぎます。 ### 2. 可読性の改善 * **モダンな配列操作メソッドの利用:** 伝統的な `for` ループと `dat…
応答時間 23.0秒出力 2782 トークン

Kimi K2.6

以下、可読性・パフォーマンス・ベストプラクティスの観点から改善点をまとめ、最終的な推奨コードを提示します。 --- ## 🔴 主要な問題点 ### 1. 型安全性の欠如 `any[]` が多く使用されており、コンパイル時の型チェックが機能しません。API レスポンスの構造や返却値が不明瞭です。 ### 2. エラーハンドリングの欠如 - `fetch` 失敗時(ネットワークエラー) - HTTP エラーレスポンス(4xx/5xx)時の `response.ok` チェック - `data.users` が `undefined` や配列でない場合 いずれも考慮されていません。 ### 3. メモリ・パフォーマンス上の懸念 - すべてのユーザーを `allUsers` に蓄積し、関数終了時までメモリに保持します。数万件のデータがある場合に顕著な負荷となります。 - `for` ループ内での個別 `push` は、配列の再割り当て(resize)が頻発しやすく、大規模データではやや非効率です。 ### 4. 可読性の問題 - `data.users[i]` を都度記述しており冗長です。 - ページネーション終了条件とループ制御が分散しており、意図が読み取りにくいです。 ### 5. 堅牢性の問題 - **無限ループのリスク**:API が何らかの理由で常に 100 件を返し続けると、永遠にループします。 - **キャンセル機構の欠如**:コンポーネントの Unmount 時などにリクエストを中止する手段がありません。 --- ## ✅ 改善版コード ###…
応答時間 102.2秒出力 3552 トークン

SQLクエリの最適化

以下のSQLクエリは500万行のテーブルに対して実行すると30秒以上かかります。最適化してください。 SELECT p.product_name, c.category_name, COUNT(o.order_id) as order_count, SUM(o.amount) as total_sales, AVG(r.rating) as avg_rating FROM products p LEFT JOIN…

Gemini 3.1 Pro Preview

500万行規模のテーブルで30秒以上かかる場合、**「インデックスの不足」**だけでなく、SQLの構造そのものによる**「行数の爆発(直積/Fan-out)」**と**「誤ったJOINの解釈」**が大きな原因となっています。 特に元のクエリは、パフォーマンスが悪いだけでなく、**集計結果(売上やレビューの平均)が間違った数値になるバグ**を抱えています。 以下に最適化したクエリと、その改善点(インデックス追加含む)を解説します。 --- ### 1. 最適化したSQLクエリ 集計処理をサブクエリ(CTE)に分割し、結合前に行数を圧縮するアプローチに変更します。 ```sql WITH target_orders AS ( -- ① 必要な注文データだけを先に絞り込む SELECT order_id FROM orders WHERE status = '完了' AND created_at >= '2024-04-01' ), product_sales AS ( -- ② 商品ごとの売上・注文数を集計する SELECT od.product_id, COUNT(DISTINCT od.order_id) AS order_count, -- ※もしamountがorder_detailsにあるなら SUM(od.amount) とするべきです SUM(o.amount) AS total_sales FROM order_details od INNER JOIN orders o ON o.…
応答時間 33.1秒出力 4040 トークン

Kimi K2.6

このクエリのボトルネックは主に以下の3点です。 1. **Cartesian Explosion(ファンアウト)**: `order_details` と `reviews` が両方とも `products` に対して1対多の関係です。これらを同時にLEFT JOINすると、ある商品に100件の注文明細と50件のレビューがあれば、集約前に100×50=5,000行の中間行が発生します。500万行のテーブルでこれが起きると、GROUP BYが数十億行のデカルト積を処理することになり、極端に遅くなります。 2. **インデックス不足**: `order_details.product_id`、`reviews.product_id`、`products.is_active`、`orders` の検索条件に対するインデックスが存在しません。 3. **WHERE句での外部テーブル絞り込み**: `o.created_at >= '2024-04-01'` がWHERE句にあるため、LEFT JOINの意味が実質失われ、かつ集約**前**にフィルタできず最適化を妨げています。 --- ### 最適化方針 **根本対策は「子テーブルを先に集約してからJOINする」ことです。** これにより、中間結果の爆発を防ぎ、GROUP BYも不要になります。 #### 改善後のクエリ ```sql WITH order_stats AS ( -- ① ordersを先に絞り、order_detailsとJOINしてproduct_id単位で集約 SELECT od.…
応答時間 108.9秒出力 4727 トークン

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

よくある質問

Gemini 3.1 Pro PreviewとKimi K2.6、料金はどちらが安いですか?
出力100万トークンあたりGemini 3.1 Pro Previewは¥2,144.4、Kimi K2.6は¥672で、Kimi K2.6の方が安くなります(FastMetalの円建て単価・税別)。
Gemini 3.1 Pro PreviewとKimi K2.6のコンテキスト長の違いは?
Gemini 3.1 Pro Previewは1,048,576トークン、Kimi K2.6は262,144トークンです。
Gemini 3.1 Pro PreviewとKimi K2.6、評価が高いのはどちらですか?
公開アリーナの順位ではGemini 3.1 Pro Previewが上です(Gemini 3.1 Pro Preview 9位、Kimi K2.6 36位)。順位はリーダーボードの更新で変わります。
Gemini 3.1 Pro PreviewとKimi K2.6を同じAPIキーで使えますか?
はい。FastMetalのOpenAI互換エンドポイントで、model に "gemini-3.1-pro-preview" または "kimi-k2.6" を指定するだけで切り替えられます。料金はそれぞれの単価で、同じ前払い残高から従量課金されます。

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

アカウントを作成してクレジットを追加すれば、Gemini 3.1 Pro PreviewとKimi K2.6をブラウザのチャットとAPIの両方から呼び出せます。月額料金はありません。

Gemini 3.1 Pro Previewの他の比較

Kimi K2.6の他の比較