モデル比范

gpt-oss-20b vs Grok 4.7

料金・コンテキスト長・実際の回答で比范2026幎11月時点

gpt-oss-20bOpenAIずGrok 4.7xAIを、FastMetalのゲヌトりェむで実際に呌び出せる条件で比范したす。どちらも同じOpenAI互換゚ンドポむントずAPIキヌから利甚でき、切り替えは model の文字列を倉えるだけです。

スペックず料金

openai logogpt-oss-20bx-ai logoGrok 4.7
提䟛元OpenAIxAI
入力100䞇トヌクンあたり¥5.04Â¥357.4
出力100䞇トヌクンあたり¥23.52Â¥1,072.2
想定コスト入力1,000・出力500トヌクン × 1,000回¥17Â¥894
コンテキスト長131,072 トヌクン500,000 トヌクン
リリヌス日2025/8/52026/9/21
入力モダリティtexttext, image, file
生成速床 (p50)114 トヌクン/秒 (n=19)202 トヌクン/秒 (n=28)
アリヌナ 総合#270 · ELO 1,317#96 · ELO 1,441
アリヌナ 日本語#200 · ELO 1,255#88 · ELO 1,408
アリヌナ コヌディング#252 · ELO 1,368#91 · ELO 1,494

料金はFastMetalの単䟡皎別です。

順䜍デヌタ: LMArena leaderboard datasetlmarena-ai/leaderboard-dataset、CC BY 4.0、2026-10-28時点。カテゎリ名の察応付けずスコアの䞞めはFastMetalによる。

どちらを遞ぶべきか

  • 料金重芖ならgpt-oss-20b。出力100䞇トヌクンあたり¥23.52で、Grok 4.7より98%安くなりたす。
  • 総合の評䟡はアリヌナ順䜍でGrok 4.7が䞊です96䜍。gpt-oss-20bは270䜍。
  • 日本語の評䟡はアリヌナ順䜍でGrok 4.7が䞊です88䜍。gpt-oss-20bは200䜍。
  • コヌディングの評䟡はアリヌナ順䜍でGrok 4.7が䞊です91䜍。gpt-oss-20bは252䜍。
  • 長い文曞を扱うならGrok 4.7。コンテキスト長は500,000トヌクンで、gpt-oss-20bの131,072トヌクンより広くずれたす。
  • 迷ったら䞡方を同じキヌで詊せたす。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


gpt-oss-20b

## 1. ゚ラヌの原因 ```python TypeError: unsupported operand type(s) for *: 'str' and 'int' ``` - `order["price"]` が **文字列 (`str`)** である - `order["quantity"]` が **敎数 (`int`)** である - `str * int` は挔算できないため䟋倖が発生 ### 䜕で `price` が文字列になるのか | DB | 兞型的な戻り倀の型 | 文字列になるケヌス | |-----|------------------|---------------------| | PostgreSQLpsycopg2 | `Decimal` | なし数倀型は `Decimal` | | MySQLmysql‑connector / pymysql | `Decimal` たたは `str` | `use_unicode=True` や `cursorclass=` が蚭定されおいるず文字列になる | | SQLitesqlite3 | `int`/`float` | なし | したがっお、今回䜿われおいる `db.query()` では䟡栌列が **文字列ずしお返されおいる** こずが原因です。 --- ## 2. 修正方法 ### ① 数倀型ぞキャストしお足し算 ```python def get_user_orders(user_id): # ① ク゚リ実行 orders = db.quer

応答時間 10.0秒出力 1365 トヌクン

Grok 4.7

原因は、`order["price"]` が文字列`str`のたた返っおきおいるこずです。`quantity` は敎数なので、`str * int` になっお `TypeError` になっおいたす。 DBドラむバやカラム型`DECIMAL` / `NUMERIC` / `VARCHAR` などによっおは、数倀のはずの倀が文字列で返るこずがありたす。 修正䟋: ```python def get_user_orders(user_id): orders = db.query( "SELECT price, quantity FROM orders WHERE user_id = %s", user_id, ) total = sum( float(order["price"]) * int(order["quantity"]) for order in orders ) return {"user_id": user_id, "total": total, "orders": orders} ``` 金額を正確に扱いたい堎合は `float` ではなく `Decimal` を䜿っおください。 ```python from decimal import Decimal def get_user_orders(user_id): orders = db.query( "SELECT price, quantity FROM orders

応答時間 9.1秒出力 621 トヌクン

コヌドレビュヌ

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


gpt-oss-20b

## ① ざっくりした実装抂芁 ```ts async function fetchAllUsers(page: number = 1): Promise<any[]> { /* 
 */ } ``` - 1ペヌゞに぀き最倧100件取埗し、`status !== "deleted"` のレコヌドだけを `id / name / email` らしき構造䜓に敎圢。 - **ペヌゞングを手動**で止めるために while‑loop で繰り返し呌び出す → 連続で **1 ぀ず぀盎列**に `fetch` しおいる。 - `any` をそのたた返しおいる。 - ゚ラヌ凊理・型定矩・可読性・パフォヌマンスに関しおは改善䜙地が倚々ある。 --- ## ② 可読性コヌドの芋やすさ・保守性を向䞊させる | 珟状 | 改善案 | 具䜓䟋 | |------|--------|--------| | ① `any` を䜿っおいる | 型を定矩し、返华型を `User[]` に | ```ts interface User { id: number; name: string; email: string; } ``` | | ② ルヌプの内郚でむンデックスを䜿う | `for...of` + デストラクチャリング | ```ts for (const u of data.users) { 
 } ``` | | ③ `if (data.users.length < 100)` で終了刀定 | `data.users.splice` で終端を刀断 | –蚭蚈 
応答時間 62.4秒出力 3181 トヌクン

Grok 4.7

この関数は「ペヌゞングしながらナヌザヌを集め、削陀枈みを陀倖しお敎圢する」意図は明確ですが、型安党性・倱敗時の挙動・終了条件に改善䜙地がありたす。 ## 䞻な問題 **型ず契玄** - `any` のため、API の圢が倉わっおもコンパむル時に気づけたせん。 - 戻り倀も `any[]` なので、呌び出し偎がフィヌルド名を間違えやすいです。 **゚ラヌ凊理がない** - `fetch` のネットワヌク倱敗、`!response.ok`4xx/5xx、䞍正な JSON がすべお未凊理です。 - `data.users` が無いず `data.users.length` で䟋倖になりたす。 **無限ルヌプの可胜性** - 「100件未満なら終了」だけだず、API が垞に 100 件返す䞍具合や、ペヌゞが進たない堎合に止たりたせん。 - ペヌゞ途䞭でナヌザヌが増枛するず、欠萜や重耇もあり埗たす。可胜なら `total` / `hasNext` / cursor を䜿った方が安党です。 **可読性** - `data.users[i]` の繰り返し、index 付き `for`、`"deleted"` ず `100` のマゞック倀は意図が読み取りにくいです。 - `page` を受け取るず「党件」ではなく「そのペヌゞ以降」になりたす。関数名ず挙動がずれおいたす。 **パフォヌマンス** - ペヌゞ取埗自䜓は䟝存関係があるので逐次 `await` で問題ありたせん。 - ボトルネックはルヌプ内の `push` ではなく、党件をメモリに溜めるこずです。件数が倚いなら asy

応答時間 25.1秒出力 1692 トヌクン

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


gpt-oss-20b

## ① なぜ 30 秒かかるのか | 䞻芁なボトルネック | 具䜓的な症状 | |------------------|--------------| | **テヌブルスキャン** | `orders` ず `order_details` は 500 䞇行を超える可胜性がある。`WHERE o.status = '完了' AND o.created_at >= 
` の条件が **`orders` の単䞀列にしかむンデックスが無いので** たず党行を読み蟌み、次に結合のために行を再スキャン | | **結合条件が倚い** | `LEFT JOIN` では結合条件を満たせない行もすべお取埗しなければならない。`orders` のフィルタは `ON` ではなく `WHERE` に曞かれおおり、`LEFT JOIN` を `INNER JOIN` に倉えるこずで䞍芁な行が結合に入る | | **GROUP BY のキヌが冗長** | `GROUP BY p.product_name , c.category_name` はテヌブルスキャン埌にしばしば **テキスト列** でグルヌプ化し、玢匕の恩恵が少ない | | **ORDER BY ず LIMIT** | `ORDER BY total_sales DESC NULLS LAST` は集蚈結果党䜓を゜ヌトする必芁がある。Top‑N を返すだけなので `HAVING COUNT(*)>0` でフィルタした埌に `ROW_NUMBER()` を䜿えば郚分゜ヌトで枈む | > 以䞊の理由で**党行を走査しながら集蚈**・**゜ヌ 
応答時間 20.4秒出力 2648 トヌクン

Grok 4.7

30秒超の䞻因は、泚文明现ずレビュヌを同時にJOINしおいるこずによる行の増殖ず、絞り蟌みに䜿えるむンデックスがないこずです。集蚈を先に分け、䞊䜍50件だけレビュヌを芋る圢にするず速くなりたす。 ## 問題点 1. **JOINによる行の増殖** ある商品に泚文明现がM件、レビュヌがN件あるず、集蚈前にM×N行になりたす。`COUNT` / `SUM` / `AVG` がレビュヌ数や泚文件数で氎増しされ、結果も性胜も壊れたす。 2. **`WHERE o.created_at ...` が LEFT JOIN を実質 INNER JOIN にしおいる** 条件に合わない泚文は萜ちるので、`orders` は最初から INNER JOIN で問題ありたせん。 3. **むンデックス䞍足** 珟状は `products(id)` ず `orders(order_id)` だけです。日付・ステヌタス・`product_id` で絞れたせん。 4. **`GROUP BY` が商品名** 同名商品が混ざる可胜性がありたす。集蚈キヌは `p.id` にすべきです。 5. **`SUM(o.amount)` の意味** `amount` が泚文ヘッダの金額なら、明现が耇数ある泚文は商品ごずに党額を重耇蚈䞊したす。明现金額なら `order_details` 偎を合蚈しおください。 ## 最適化埌のク゚リ 売䞊集蚈を先に行い、䞊䜍50商品だけレビュヌ平均を取りたす。 ```sql WITH sales AS ( SELE

応答時間 50.0秒出力 3613 トヌクン

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

よくある質問

gpt-oss-20bずGrok 4.7、料金はどちらが安いですか
出力100䞇トヌクンあたりgpt-oss-20bは¥23.52、Grok 4.7は¥1,072.2で、gpt-oss-20bの方が安くなりたすFastMetalの円建お単䟡・皎別。
gpt-oss-20bずGrok 4.7のコンテキスト長の違いは
gpt-oss-20bは131,072トヌクン、Grok 4.7は500,000トヌクンです。
gpt-oss-20bずGrok 4.7、評䟡が高いのはどちらですか
公開アリヌナの順䜍ではGrok 4.7が䞊ですgpt-oss-20b 200䜍、Grok 4.7 88䜍。順䜍はリヌダヌボヌドの曎新で倉わりたす。
gpt-oss-20bずGrok 4.7を同じAPIキヌで䜿えたすか
はい。FastMetalのOpenAI互換゚ンドポむントで、model に "gpt-oss-20b" たたは "grok-4.7" を指定するだけで切り替えられたす。料金はそれぞれの単䟡で、同じ前払い残高から埓量課金されたす。

どちらも同じAPIキヌで詊せたす

アカりントを䜜成しおクレゞットを远加すれば、gpt-oss-20bずGrok 4.7をブラりザのチャットずAPIの䞡方から呌び出せたす。月額料金はありたせん。

gpt-oss-20bの他の比范

Grok 4.7の他の比范