モデル一覧に戻る
anthropic logo
anthropic/claude-sonnet-5

Claude Sonnet 5

Sonnet 5はAnthropicの最も高性能なSonnetクラスモデルであり、コーディング、エージェント、プロフェッショナルワークにおいて最先端のパフォーマンスを発揮します。適応的思考をサポートし、選択可能な推論努力レベル(低、中、高、最大など)に対応しています。

2026/6/30
1,000,000 トークン
#13 コード (総合)
入力: ¥357.4/M
出力: ¥1,787/M
仕様

モダリティ

入力
text
image
file
出力
text

サポートされているパラメータ

include_reasoning
max_completion_tokens
max_tokens
reasoning
reasoning_effort
response_format
stop
structured_outputs
tool_choice
tools
verbosity

最大出力トークン

128,000
コード例
curl https://api.fastmetal.ai/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model": "anthropic-claude-sonnet-5",
    "messages": [{"role": "user", "content": "Hello!"}]
  }'

Claude Sonnet 5の実際の回答

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…

# 原因 データベースから取得した `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 トークン
コードレビュー

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

# レビュー結果 ## 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 トークン
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…

# 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 トークン

他のモデルと並べて比較する →

Claude Sonnet 5を今すぐ試す

Claude Sonnet 5はFastMetalのAPIキー1つで利用できます。ブラウザですぐに試す、またはOpenAI SDKからそのまま呼び出せます。

リーダーボード
テキスト
🏆総合ELO: 1,460
#44
🇯🇵日本語ELO: 1,469
#14
🇨🇳中国語ELO: 1,496
#49
🇰🇷韓国語ELO: 1,413
#47
🇬🇧英語ELO: 1,470
#42
frenchELO: 1,491
#24
germanELO: 1,445
#49
spanishELO: 1,448
#54
russianELO: 1,459
#46
💻コーディングELO: 1,522
#19
🧮数学ELO: 1,469
#33
✍️創作ELO: 1,426
#60
📝指示遵守ELO: 1,460
#34
🌶️高難度ELO: 1,490
#32
💬マルチターンELO: 1,470
#47
ビジョン
🏆総合ELO: 1,271
#26
コード
🏆総合ELO: 1,543
#13