モデル比范

Claude Sonnet 5 vs Grok 4.7

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

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

スペックず料金

anthropic logoClaude Sonnet 5x-ai logoGrok 4.7
提䟛元AnthropicxAI
入力100䞇トヌクンあたり¥357.4Â¥276.2
出力100䞇トヌクンあたり¥1,787Â¥828.6
想定コスト入力1,000・出力500トヌクン × 1,000回¥1,251Â¥691
コンテキスト長1,000,000 トヌクン500,000 トヌクン
リリヌス日2026/6/302026/9/21
入力モダリティtext, image, filetext, image, file
生成速床 (p50)——
アリヌナ 総合#51 · ELO 1,461圏倖
アリヌナ 日本語#30 · ELO 1,448圏倖
アリヌナ コヌディング#27 · ELO 1,520圏倖

料金はFastMetalの円建お単䟡皎別。アリヌナ順䜍は公開リヌダヌボヌドの最新取埗時点の倀です。

どちらを遞ぶべきか

  • 料金重芖ならGrok 4.7。出力100䞇トヌクンあたり¥828.6で、Claude Sonnet 5より54%安くなりたす。
  • 長い文曞を扱うならClaude Sonnet 5。コンテキスト長は1,000,000トヌクンで、Grok 4.7の500,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 Sonnet 5

# 原因 デヌタベヌスから取埗した `price` カラムの倀が **文字列str型** ずしお返されおおり、`quantity`int型ずの乗算で゚ラヌが発生しおいたす。 䞻な原因ずしお考えられるケヌス 1. DBのカラム定矩が `VARCHAR` や `TEXT` になっおいる本来は `DECIMAL`/`NUMERIC`/`INT` であるべき 2. DBドラむバの蚭定や仕様䞊、数倀型でも文字列ずしお返される堎合がある䟋: 䞀郚のドラむバで `DECIMAL` 型が str 倉換される 3. アプリ偎でSQLの結果をそのたた䜿っおいお、型倉換をしおいない # 修正方法 ## 方法1: アプリケヌション偎で明瀺的に型倉換する最も安党 ```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} ``` ※ 金額蚈算で誀差を避けたい堎合は `Decimal` を䜿うほうが望たしいです。 ```python from decimal import Deci

応答時間 11.7秒出力 912 トヌクン

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


Claude Sonnet 5

# レビュヌ結果 ## 1. 型安党性の欠劂ベストプラクティス `any[]` を䜿っおいるため、コンパむル時の型チェックが効きたせん。APIレスポンスずナヌザヌの型を明瀺的に定矩すべきです。 ```typescript interface ApiUser { id: string; first_name: string; last_name: string; email: string; status: string; } interface ApiResponse { users: ApiUser[]; } interface User { id: string; name: string; email: string; } ``` ## 2. ゚ラヌハンドリングが無いベストプラクティス - `fetch` が倱敗した堎合や `response.ok` が `false` の堎合の凊理がありたせん。 - `response.json()` のパヌス倱敗も想定されおいたせん。 ```typescript if (!response.ok) { throw new Error(`Failed to fetch users: ${response.status}`); } ``` ## 3. 手続き的なルヌプ凊理可読性 `for` + むンデックスアクセスの代わりに `filter` + `map` を䜿うず意図が明確になりたす。 ```typescript const activeUsers = data.us

応答時間 29.9秒出力 2326 トヌクン

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


Claude Sonnet 5

# SQLク゚リの問題点ず最適化 ## 🔎 重倧な問題バグ + パフォヌマンス䞡方に圱響 ### 1. Fan-outファンアりト問題 ← 最重芁 `order_details/orders` ず `reviews` を**同時に**JOINしおいるため、行が掛け算的に増加したす。 䟋商品Aに泚文3件、レビュヌ5件がある堎合 → JOIN埌は **3 × 5 = 15行** になり、`COUNT(order_id)` や `SUM(amount)` が実際の倀の5倍になっおしたいたす集蚈結果が壊れおいる。 これが最倧のコストず䞍正確性の原因です。 ### 2. LEFT JOINをWHERE句で無効化しおいる ```sql LEFT JOIN orders o ON ... WHERE ... AND o.created_at >= '2024-04-01' ``` LEFT JOINしおいるのに、WHEREで`o`の列に条件をかけるず、`o`がNULLの行泚文がない商品が陀倖され、**実質INNER JOINず同じ**になりたす。「泚文がない商品も衚瀺したい」ずいう意図なら、条件はON句に曞くべきです。 ### 3. むンデックス䞍足によるフルスキャン - `products.is_active` → フィルタでフルスキャン - `products.category_id` → JOINでフルスキャン - `order_details.product_id / order_id` → JOINでフルスキャン - `orders.status /

応答時間 34.0秒出力 3005 トヌクン

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 トヌクン

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

よくある質問

Claude Sonnet 5ずGrok 4.7、料金はどちらが安いですか
出力100䞇トヌクンあたりClaude Sonnet 5は¥1,787、Grok 4.7は¥828.6で、Grok 4.7の方が安くなりたすFastMetalの円建お単䟡・皎別。
Claude Sonnet 5ずGrok 4.7のコンテキスト長の違いは
Claude Sonnet 5は1,000,000トヌクン、Grok 4.7は500,000トヌクンです。
Claude Sonnet 5ずGrok 4.7を同じAPIキヌで䜿えたすか
はい。FastMetalのOpenAI互換゚ンドポむントで、model に "anthropic-claude-sonnet-5" たたは "grok-4.7" を指定するだけで切り替えられたす。料金はそれぞれの単䟡で、同じ前払い残高から埓量課金されたす。

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

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

Claude Sonnet 5の他の比范

Grok 4.7の他の比范