モデル比較

Claude Opus 5 vs Fugu Ultra v2

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

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

スペックと料金

anthropic logoClaude Opus 5Fugu Ultra v2
提供元AnthropicSakana AI
入力(100万トークンあたり)¥840¥893.5
出力(100万トークンあたり)¥4,200¥5,361
想定コスト(入力1,000・出力500トークン × 1,000回)¥2,940¥3,574
コンテキスト長1,000,000 トークン1,000,000 トークン
リリース日2026/7/242026/9/11
入力モダリティtext, image, filetext, image, file
生成速度 (p50)784 トークン/秒 (n=27)22222 トークン/秒 (n=25)
アリーナ 総合#2 · ELO 1,509圏外
アリーナ 日本語#2 · ELO 1,532圏外
アリーナ コーディング#4 · ELO 1,548圏外

料金はFastMetalの単価(税別)です。

順位データ: LMArena leaderboard dataset(lmarena-ai/leaderboard-dataset、CC BY 4.0、2026-10-22時点)。カテゴリ名の対応付けとスコアの丸めはFastMetalによる。

どちらを選ぶべきか

  • 料金重視ならClaude Opus 5。出力100万トークンあたり¥4,200で、Fugu Ultra v2より22%安くなります。
  • 迷ったら両方を同じキーで試せます。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 Opus 5

# エラーの原因 `order["price"]` が **文字列型 (`str`)** で返ってきています。`order["quantity"]` は `int` なので、`str * int` の演算になり `TypeError` が発生しました。 Python では `"100" * 3` は `"100100100"` という文字列の繰り返しになり、`3 * "100"` も同様です。ただし今回は `str * int` の順で、かつエラーになっているので、内部的には `price` が `Decimal` ではなく `str` として渡り、`quantity` 側が `int` 以外(あるいは逆順)…という細かい話は置いておき、要点は **DB から取得した `price` が数値型になっていない** ことです。 ## なぜ文字列になるのか(典型的な原因) | 原因 | 説明 | |---|---| | カラム型が `VARCHAR`/`TEXT` | `price` が数値カラムとして定義されていない | | DB ドライバの型変換設定 | MySQL の `DECIMAL` を文字列で返すドライバがある(例: `mysqlclient` の一部設定、`PyMySQL` の `conv` 設定) | | SQLite の型の緩さ | SQLite は宣言型と実際の格納型が一致しないことがある | | ORM/ラッパー層の仕様 | 自前の `db.query` が全カラムを `str` で返している | まずは実際の型を確認してください。 ```pytho…
応答時間 34.2秒出力 2190 トークン

Fugu Ultra v2

## 原因 `order["price"]` が **数値ではなく文字列 (`str`)** で返ってきていることが原因です。 Python では `"1200" * 3` は掛け算ではなく「文字列を3回繰り返す」という意味になります。今回は `quantity` が `int` なので一見成立しそうですが、エラーメッセージが示す通り `str * int` の組み合わせで型が噛み合わず `TypeError` になっています。 文字列になる典型的な理由は次の通りです。 1. **カラム型が文字列** — `price` が `VARCHAR`/`TEXT` で定義されている(`"1,200"` や `"$12.00"` のような値が混ざっているケースも) 2. **DBドライバの型変換** — MySQL の `DECIMAL` を文字列で返す設定(`raw=True` など)、SQLite に文字列のまま INSERT されている 3. **アプリ層で文字列化** — フォーム/JSON の入力を変換せずにそのまま INSERT している まず実際の型を確認すると切り分けができます。 ```python rows = db.query("SELECT price, quantity FROM orders WHERE user_id = %s", user_id) for r in rows[:5]: print(repr(r["price"]), type(r["price"]), repr(r["quantity"]), type(r["quanti…
応答時間 97.1秒出力 6218 トークン

コードレビュー

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

Claude Opus 5

# コードレビュー ## 総評 ページネーションのロジック自体は正しく動作しますが、**型安全性の欠如**と**エラーハンドリングの不在**が最も重大な問題です。特に `any[]` の使用はTypeScriptを使う意義を大きく損なっています。以下、優先度順に指摘します。 --- ## 🔴 重大な問題 ### 1. `any` 型による型安全性の喪失 `Promise<any[]>` と `data.users[i]` の型が不明なため、コンパイラの検証が一切効きません。`data.users` が `undefined` の場合はランタイムエラーになりますが、コンパイル時には検出されません。 ```typescript // APIレスポンスの型を定義 interface ApiUser { id: string; first_name: string; last_name: string; email: string; status: "active" | "suspended" | "deleted"; } interface UsersResponse { users: ApiUser[]; } // 戻り値の型も明示 interface User { id: string; name: string; email: string; } ``` 外部入力を信頼できない場合は、zod などでランタイムバリデーションを併用するのが理想です。 ```typescript const UsersResponseSch…
応答時間 40.9秒出力 3042 トークン

Fugu Ultra v2

# コードレビュー: `fetchAllUsers` ロジックの意図は明確で、`async/await` による素直な実装になっています。特に **終了判定にフィルタ後ではなく API が返した生の `data.users.length` を使っている点は正しい**(フィルタ後の件数で判定すると、削除済みユーザーが多いページで早期終了するバグになります)。また `push` をループで回しているため、`push(...array)` によるスタックオーバーフローも回避できています。 一方で、**型安全性・HTTP エラー処理・ページネーションの堅牢性**に重要な改善余地があります。以下、重要度順にまとめます。 --- ## 指摘事項サマリ | # | 重要度 | 分類 | 内容 | |---|---|---|---| | 1 | 🔴 高 | バグ | `response.ok` を確認していない(4xx/5xx を正常系として処理) | | 2 | 🔴 高 | バグ | 無限ループのリスク(終了条件が API の挙動に全依存) | | 3 | 🔴 高 | 型安全 | `any[]` が呼び出し側全体に伝播 | | 4 | 🟠 中 | 堅牢性 | レスポンス形状のランタイム検証がない | | 5 | 🟠 中 | 堅牢性 | キャンセル(`AbortSignal`)非対応 | | 6 | 🟠 中 | 保守性 | マジックナンバー `100` の重複定義 | | 7 | 🟠 中 | 保守性 | マジック文字列 `"deleted"` | | 8 | 🟠 中…
応答時間 240.2秒出力 17159 トークン

ビジネスメール作成

取引先の田中部長に、納品予定の製品に不具合が見つかり、納期を1週間延期する必要がある旨を伝えるビジネスメールを作成してください。 条件: - 原因は品質検査で軽微な不具合が発見されたため - 代替案として暫定版を先に納品することも可能 - 改めてお詫びの訪問をしたい - 日本のビジネスマナーに沿った丁寧な文面にすること

Claude Opus 5

以下のような文面が考えられます。 --- **件名:【お詫び】○○製品 納期延期のお願いとご相談(株式会社△△・山田)** 株式会社□□□□ 製造部 部長 田中 様 平素は格別のご高配を賜り、厚く御礼申し上げます。 株式会社△△の山田でございます。 このたびは、貴社にご迷惑をおかけする件でのご連絡となり、誠に申し訳ございません。 ○月○日に納品を予定しておりました「○○(製品名・型番)」につきまして、出荷前の最終品質検査において軽微な不具合が確認されました。 つきましては、原因の究明と対策および再検査を実施のうえ、確実な品質を担保したうえでお届けしたく、誠に恐縮ながら納期を1週間延期させていただきたく、お願い申し上げます。  ■当初の納品予定日:○月○日(○)  ■変更後の納品予定日:○月○日(○) なお、貴社の生産スケジュールへの影響を最小限にとどめるべく、以下の対応もご用意いたしました。  ■代替案:暫定版(○○の機能を限定した仕様)を当初の納期どおり先行納品   → 正式版は○月○日(○)に差し替えにてお届けいたします 暫定版にてご対応が可能でございましたら、至急手配いたします。ご都合のよい方をご指示いただけますと幸いです。 本件につきましては、弊社の品質管理体制に起因するものであり、貴社の業務に多大なるご迷惑をおかけすることとなり、心よりお詫び申し上げます。 また、事の経緯と再発防止策につきまして、改めて直接ご説明とお詫びに伺いたく存じます。誠に恐縮ではございますが、来週中でご都合のよい日時を2〜3ほどお知らせいただけますでしょうか。弊社担当者一…
応答時間 28.8秒出力 1244 トークン

Fugu Ultra v2

以下が最終版です。Agent 1 の構成の丁寧さを活かしつつ、Agent 2 が指摘した「事実として確認されていない安全性への言及」は削除し、あわせて敬称・件名・お願い形の表現を整えました。 --- ## メール文面(完成版) **件名:【お詫び】「【製品名】」納品日変更のお願い(株式会社【自社名】・【氏名】)** 株式会社【取引先名】 【部署名】 部長 田中 様 いつも大変お世話になっております。 株式会社【自社名】【部署名】の【氏名】でございます。 このたびは、【○月○日】に納品を予定しておりました「【製品名】」につきまして、 誠に申し上げにくいご連絡となり、まずは深くお詫び申し上げます。 出荷前の最終品質検査におきまして、製品の一部に軽微な不具合が確認されました。 現在、原因の特定と是正処置を進めておりますが、万全の品質でお納めするためには 是正後の再検査を含め、当初の予定より一週間程度のお時間を頂戴する必要がございます。 誠に勝手なお願いではございますが、納品日を下記のとおり変更させていただきたく、 何卒ご容赦賜りますようお願い申し上げます。  ■ 当初の納品予定日:【○月○日(○)】  ■ 変更後の納品予定日:【○月○日(○)】  ■ 変更理由:品質検査で確認された不具合の是正および再検査のため なお、貴社の業務スケジュールへの影響を最小限に抑えるため、ご希望がございましたら、 現時点で動作確認の完了している**暫定版を当初の予定日までに先行して納品**することも可能でございます。 暫定版の仕様およびご利用上の制約につきましては、あらためて詳しくご…
応答時間 113.6秒出力 6144 トークン

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

よくある質問

Claude Opus 5とFugu Ultra v2、料金はどちらが安いですか?
出力100万トークンあたりClaude Opus 5は¥4,200、Fugu Ultra v2は¥5,361で、Claude Opus 5の方が安くなります(FastMetalの円建て単価・税別)。
Claude Opus 5とFugu Ultra v2のコンテキスト長の違いは?
Claude Opus 5は1,000,000トークン、Fugu Ultra v2は1,000,000トークンです。
Claude Opus 5とFugu Ultra v2を同じAPIキーで使えますか?
はい。FastMetalのOpenAI互換エンドポイントで、model に "anthropic-claude-opus-5" または "fugu-ultra-v2" を指定するだけで切り替えられます。料金はそれぞれの単価で、同じ前払い残高から従量課金されます。

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

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

Claude Opus 5の他の比較

Fugu Ultra v2の他の比較