モデル比較

Fugu Ultra v2 vs gpt-oss-120b

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

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

スペックと料金

Fugu Ultra v2openai logogpt-oss-120b
提供元Sakana AIOpenAI
入力(100万トークンあたり)¥893.5¥16
出力(100万トークンあたり)¥5,361¥79
想定コスト(入力1,000・出力500トークン × 1,000回)¥3,574¥56
コンテキスト長1,000,000 トークン131,072 トークン
リリース日2026/9/112025/8/5
入力モダリティtext, image, filetext
生成速度 (p50)22222 トークン/秒 (n=25)321 トークン/秒 (n=26)
アリーナ 総合圏外#218 · ELO 1,352
アリーナ 日本語圏外#155 · ELO 1,325
アリーナ コーディング圏外#225 · ELO 1,389

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

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

どちらを選ぶべきか

  • 料金重視ならgpt-oss-120b。出力100万トークンあたり¥79で、Fugu Ultra v2より99%安くなります。
  • 長い文書を扱うならFugu Ultra v2。コンテキスト長は1,000,000トークンで、gpt-oss-120bの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…

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

gpt-oss-120b

**原因** `order["price"]` が **文字列** (`str`) で返ってきているため、数値 (`int`/`float`/`Decimal`) と掛け算しようとしたときに ``` TypeError: unsupported operand type(s) for *: 'str' and 'int' ``` が発生しています。 このケースは主に次のいずれかが原因です。 | 可能性 | 内容 | |--------|------| | ① DBドライバが数値列を文字列として取得している | たとえば `psycopg2` の `cursor_factory=RealDictCursor` でも `numeric` が文字列になることがあります。 | | ② テーブル定義が文字列型 (`VARCHAR`, `CHAR`) になっている | `price` カラムが文字列型で保存されている。 | | ③ `SELECT` 文でキャストせずにそのまま取得している | DB側で数値に変換していない。 | **修正方法**は 2 つの方向があります。 --- ## 1️⃣ Python 側で安全に数値へ変換する(最も手軽) ```python from decimal import Decimal, InvalidOperation def get_user_orders(user_id): # db.query の戻り値は dict のリスト(例: [{"price": "12.34", "quantity": "2"}, ..…
応答時間 7.1秒出力 1587 トークン

コードレビュー

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

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

gpt-oss-120b

## 📋 1. 現行コードの概要と主な課題 | 項目 | 現状 | 問題点・改善余地 | |------|------|-------------------| | **型安全** | `any[]`、`any` で型を放棄 | TypeScript のメリットが失われ、実装ミスがコンパイル時に検出できない | | **可読性** | 変数名が曖昧(`data`、`i`)・文字列結合で名前を組み立てている | 何をしているかが一読で分かりにくい | | **エラーハンドリング** | `fetch` の失敗や `response.ok === false` をチェックしていない | ネットワークエラーで例外がそのままスローされ、呼び出し側が把握しにくい | | **パフォーマンス** | ページ取得を **逐次** に行っている<br>(`while` ループ中で `await`) | ページ数が多いと総待ち時間が `N × latency` になる | | **ミューテーション** | `let` で再代入が多い | 不変性を保つ方がデバッグしやすい | | **ハードコーディング** | `limit=100` がコード中に埋め込まれている | API の変更に脆弱 | | **文字列結合** | `first_name + " " + last_name` | 可読性が低く、`undefined` が入った時に `"undefined"` が出力されるリスク | | **非同期キャンセル** | `AbortController` が未使用 | 長時間待機したままキャ…
応答時間 15.6秒出力 3532 トークン

ビジネスメール作成

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

Fugu Ultra v2

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

gpt-oss-120b

**件名:** 【重要】製品納期延期のご連絡と代替案のご提案 --- **田中 部長様** 平素は格別のご高配を賜り、誠にありがとうございます。 株式会社〇〇 営業部 〇〇でございます。 さて、◯月◯日に納品を予定しております「△△製品」につきまして、品質検査の結果、**軽微な不具合が確認された**ことが判明いたしました。 つきましては、製品の完全な品質を確保するため、**納期を1週間延期(新納期:◯月◯日)**させていただきたく、謹んでご連絡申し上げます。 ### 代替案のご提示 納期遅延に伴う貴社へのご不便を最小限に抑えるべく、**暫定版(不具合箇所を除いた機能のみ)**を先行して納品することも可能です。 ご希望の際は、暫定版の納品日程および内容をご指示いただければ、速やかに手配いたします。 ### お詫びの訪問について 本件に関し、改めて直接ご挨拶とお詫びを申し上げたく存じます。 ご都合のよろしい日時をご教示いただけますと幸いです。 (例:◯月◯日〜◯月◯日の午前10時〜午後4時の間) --- このたびは、弊社の不手際によりご迷惑をお掛けいたしますこと、深くお詫び申し上げます。 何卒ご理解賜りますようお願い申し上げるとともに、上記代替案・訪問日時につきご検討のほど、よろしくお願い申し上げます。 ご不明点やご要望がございましたら、遠慮なくご連絡ください。 --- **株式会社〇〇** 営業部 〇〇 〇〇 電話:03-1234-5678 メール:xxx@company.co.jp --- 敬具…
応答時間 3.5秒出力 760 トークン

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

よくある質問

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

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

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

Fugu Ultra v2の他の比較

gpt-oss-120bの他の比較