モデル比較

Claude Fable 5.1 vs GLM 5.3 Flash

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

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

スペックと料金

anthropic logoClaude Fable 5.1z-ai logoGLM 5.3 Flash
提供元AnthropicZ.ai
入力(100万トークンあたり)¥1,787¥25.34
出力(100万トークンあたり)¥8,935¥84.48
想定コスト(入力1,000・出力500トークン × 1,000回)¥6,255¥68
コンテキスト長1,000,000 トークン1,310,720 トークン
リリース日2026/9/12026/8/26
入力モダリティtext, image, filetext, image, video
アリーナ 総合#3 · ELO 1,504#29 · ELO 1,474
アリーナ 日本語圏外圏外
アリーナ コーディング#34 · ELO 1,517#9 · ELO 1,534

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

どちらを選ぶべきか

  • 料金重視ならGLM 5.3 Flash。出力100万トークンあたり¥84.48で、Claude Fable 5.1より99%安くなります。
  • 総合の評価はアリーナ順位でClaude Fable 5.1が上です(3位。GLM 5.3 Flashは29位)。
  • コーディングの評価はアリーナ順位でGLM 5.3 Flashが上です(9位。Claude Fable 5.1は34位)。
  • 長い文書を扱うならGLM 5.3 Flash。コンテキスト長は1,310,720トークンで、Claude Fable 5.1の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 Fable 5.1

## 原因 エラーメッセージ `unsupported operand type(s) for *: 'str' and 'int'` は、`order["price"]` が **文字列(str)** として返ってきていることを示しています。`quantity` は int なので、`"1200" * 3` のような演算になり失敗しています。 `price` が文字列になる典型的な原因は次のいずれかです。 1. **DBのカラム型が `VARCHAR`/`TEXT` になっている**(本来は `DECIMAL` や `INTEGER` にすべき) 2. **DBドライバやラッパー(`db.query`)が値を文字列で返している**(例:SQLite で型宣言が曖昧、あるいは独自ラッパーが全部文字列化している) 3. データ投入時に文字列として `INSERT` された行が混在している ## 修正方法 ### 根本対策(推奨):DBスキーマを直す 金額を文字列で保存しているのが問題なら、カラム型を数値型に変更します。 ```sql -- MySQL / PostgreSQL の例 ALTER TABLE orders MODIFY price DECIMAL(10, 2) NOT NULL; -- MySQL ALTER TABLE orders ALTER COLUMN price TYPE DECIMAL(10, 2) USING price::DECIMAL; -- PostgreSQL ``` 金額計算には浮動小数点誤差を避けるため `DEC…
応答時間 21.8秒出力 1362 トークン

GLM 5.3 Flash

## 原因 エラーメッセージ `unsupported operand type(s) for *: 'str' and 'int'` の左側が `order["price"]` なので、**`price` が文字列(str)として取得されている**のが原因です。`quantity` は int なので、数値カラムは正常に取得できています。 考えられる原因は次のとおりです(可能性が高い順): 1. **DBの `price` カラムが VARCHAR / TEXT 型で定義されている**(最も可能性が高い) 2. 使用しているDBドライバやラッパーの設定により、文字列として返されている 3. JSONなど経由でデータを取得していて、priceだけ文字列化されている ### 確認方法 ```python orders = db.query("SELECT price, quantity FROM orders WHERE user_id = %s", user_id) print(type(orders[0]["price"])) # <class 'str'> が出れば確定 print(type(orders[0]["quantity"])) ``` MySQLなら `DESCRIBE orders;` で、PostgreSQLなら `\d orders` でカラム型を確認してください。 ## 修正方法 ### 根本対策: DBスキーマを修正する(推奨) 金額は数値型で持つべきです。既存データに変換できない値(空文字、カンマ付きなど)がないか先に確認してく…
応答時間 45.3秒出力 2329 トークン

コードレビュー

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

Claude Fable 5.1

以下、観点ごとに指摘と改善案をまとめます。 ## 1. 型安全性(最優先) `any[]` だと戻り値の構造がまったく保証されず、呼び出し側でも補完・型チェックが働きません。API のレスポンス型と返却する型を分けて定義しましょう。 ```ts interface ApiUser { id: string; first_name: string; last_name: string; email: string; status: "active" | "inactive" | "deleted"; } interface ApiUsersResponse { users: ApiUser[]; // total や has_more が返るならここに追加 } export interface User { id: string; name: string; email: string; } ``` ## 2. エラーハンドリングの欠如 - `response.ok` を確認していないため、404/500 でも `.json()` を試みてしまい、意図しない例外や `data.users` が `undefined` で `TypeError` になります。 - ネットワークエラー時の挙動が未定義です。 - API 側の不具合でずっと 100 件返し続けると無限ループになります(安全弁がない)。 ## 3. 可読性 - インデックス付き `for` + `data.users[i]` の繰り返しは冗長。`filter` /…
応答時間 42.1秒出力 2619 トークン

GLM 5.3 Flash

# コードレビュー 全体的な構造は分かりやすいですが、**型安全性・エラーハンドリング・可読性**に改善の余地がかなりあります。重要度順に挙げます。 --- ## 1. 重大な問題(ベストプラクティス) ### `any[]` による型情報の喪失 戻り値が `any[]` だと、呼び出し側でタイプミスやプロパティ変更がコンパイル時に検出できません。インターフェースを定義すべきです。 ### HTTPエラーの未チェック `fetch` は 404 や 500 でも例外を投げません。`response.ok` を確認しないと、エラーレスポンスの JSON をパースしようとして謎のエラーになります。 ### `data.users` の防御チェックなし APIの仕様変更やエラー時に `data.users` が `undefined` だと、`.length` で即座にクラッシュします。 ### 無限ループのリスク API 側のバグで常に100件返る場合、ループが終わりません。最大ページ数やタイムアウト(AbortSignal)の考慮があると安全です。 --- ## 2. 可読性 | 現状 | 改善案 | |---|---| | `data.users[i].xxx` の繰り返し | `for...of` でオブジェクトを直接受け取る | | `first_name + " " + last_name` | テンプレートリテラル `` `${a} ${b}` `` | | `currentPage = currentPage + 1` | `currentPage…
応答時間 85.2秒出力 3638 トークン

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 Fable 5.1

## 問題点の整理 このクエリは「遅い」だけでなく**結果も正しくない**可能性が高いです。まずそこから整理します。 ### 1. 【最重要】JOIN のファンアウトで集計値が壊れている `order_details` と `reviews` を同じ商品に対して同時に JOIN しているため、行数が「注文明細数 × レビュー数」に膨張します。 - 注文10件・レビュー5件の商品 → 50行になり、`COUNT`/`SUM` は **5倍**に、`AVG(rating)` は注文数で重み付けされた値になる - パフォーマンス悪化の主因でもあり(中間結果が数億行になり得る)、正しさの面でも致命的です ### 2. LEFT JOIN が実質 INNER JOIN になっている `WHERE o.created_at >= '2024-04-01'` があるため、注文のない商品は NULL 判定で落ちます。`LEFT JOIN` にする意味がなく、オプティマイザの選択肢を狭めるだけです。`NULLS LAST` も意味を持ちません。 ### 3. インデックス不足 - `order_details(product_id)` / `order_details(order_id)` がない → 500万行の全件スキャン+Hash Join - `orders(status, created_at)` がない → 絞り込みに使えない - `reviews(product_id)` がない ### 4. GROUP BY が文字列カラム `product_name`, `cate…
応答時間 48.9秒出力 3436 トークン

GLM 5.3 Flash

# ボトルネックの分析 ## 1. 最重要:ファンアウトで集計値が壊れている(性能以前のバグ) `order_details`(注文経由)と `reviews` を**同レベルで** products に LEFT JOIN すると、両者の組み合わせで行が直積的に増殖します。 例:商品Aに注文明細10件・レビュー3件 → 結合後30行 - `SUM(o.amount)` → 注文1件あたりレビュー数(3倍)に水増し - `AVG(r.rating)` → 注文数で重み付けが変わり不正確 - `COUNT(o.order_id)` → 明細行数を数えている **インデックスを追加して速くしても、数値は誤ったまま**なので、まず構造を変える必要があります。 ## 2. WHERE 句が LEFT JOIN を無効化している `o.created_at >= '2024-04-01'` が WHERE 句にあるため、NULL 行が除去され、LEFT JOIN が実質 INNER JOIN になります。「売上0の商品も表示したい」意図ならバグです。 ## 3. インデックス不足 `order_details(product_id)`、`reviews(product_id)` などの結合キーにインデックスがないため、5M行のテーブルに毎回シーケンシャルスキャン+ハッシュ結合が発生します。 --- # 修正版クエリ(先に集計してから結合) ```sql WITH sales AS ( SELECT od.product_id, COUNT(DI…
応答時間 116.2秒出力 5554 トークン

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

よくある質問

Claude Fable 5.1とGLM 5.3 Flash、料金はどちらが安いですか?
出力100万トークンあたりClaude Fable 5.1は¥8,935、GLM 5.3 Flashは¥84.48で、GLM 5.3 Flashの方が安くなります(FastMetalの円建て単価・税別)。
Claude Fable 5.1とGLM 5.3 Flashのコンテキスト長の違いは?
Claude Fable 5.1は1,000,000トークン、GLM 5.3 Flashは1,310,720トークンです。
Claude Fable 5.1とGLM 5.3 Flash、評価が高いのはどちらですか?
公開アリーナの順位ではClaude Fable 5.1が上です(Claude Fable 5.1 3位、GLM 5.3 Flash 29位)。順位はリーダーボードの更新で変わります。
Claude Fable 5.1とGLM 5.3 Flashを同じAPIキーで使えますか?
はい。FastMetalのOpenAI互換エンドポイントで、model に "anthropic-claude-fable-5-1" または "glm-5.3-flash" を指定するだけで切り替えられます。料金はそれぞれの単価で、同じ前払い残高から従量課金されます。

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

アカウントを作成してクレジットを追加すれば、Claude Fable 5.1とGLM 5.3 FlashをブラウザのチャットとAPIの両方から呼び出せます。月額料金はありません。

Claude Fable 5.1の他の比較

GLM 5.3 Flashの他の比較