Real-SWE:AI モデルを実際の企業コードベースでの運用におけるベンチマーク評価

2026/09/13 5:25

Real-SWE:AI モデルを実際の企業コードベースでの運用におけるベンチマーク評価

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

2026年9月、新しい Real-SWE ベンチマークが、実際の企業からライセンスされた私有のリアルワールドエンタープライズコードベースにおいて、最先端 AI モデルに挑戦する。これに対し、以前の公衆インターネットデータを用いた評価では約 99% のトークンが隠されていたが、このベンチマークでは課題は孤立したサンドボックスから直接verbatim またはインスピレーションを得られた形で抽出されており、ここでは機密生産コードとビジネス結果への影響シナリオ(例:請求書、税金、移行)が含まれる。評価はモデル単体ではなく、モデルおよびハーネスの組み合わせを測定しており、エンタープライズエンジニアの実際の作業方法を反映している。解決率は、各課題につき 8 回の独立したランにわたる pass@1 の平均値として量化され、95% 信頼区間が示される。

タスクは平均して短く、中位値では約 1,742 文字であり、Terminal-Bench よりもはるかに短いが、DeepSWE や FrontierCode よりも長い。各参考ソリューションは通常、中位値で約 11 ファイルを編集する。性能には大きなばらつきがある:上位の解決率には Fable 5.1(38.8%)、GPT-6 AstraCodex CLI(33.8%)、Gemini 3.8 FlashGemini CLI(31.2%)、GLM 5.3Claude Code(28.8%)、Gro k 4.6Grok Build/Muse Spark 1.3Muse Code(23.8%)が含まれる。モデルは短いロールアウトでも苦戦する:約 71% のロールアウト(10 分未満)が失敗したのに対し、より長いロールアウトでは約 73% が失敗しており、最も一般的な失敗モードは要件の欠落であり、どのモデルもすべての課題を解決することはできない。

展開コストもモデルによって大きく異なる:選択するモデルによっては約 2.50 ドルから 6.96 ドル程度で変動し(Gemini 3.8 Flash は下限、Fable 5.1 は上限)、一部のモデルでは報告されていない高いコストが発生する可能性もある。この変化により、エンタープライズエンジニアは、標準的な公衆データベンチマークではほとんど準備がなされない制限された環境において、複雑な固有のパターンとビジネスリスクをナビゲートすることになる。

本文

2026 年 9 月発表:Real-SWE ベンチマーク(現実世界のエンタープライズコード評価)

私的かつ現実世界の企業コードベースを対象として、frontier AI モデルのベンチマーク評価が実施されました。本記事はReal-SWE(Reality Software Engineering)の結果と分析をまとめたものです。

📌 概要:Real-SWE とは

  • 目的: リアルな企業環境における AI エージェントの実力を検証するベンチマークの発表。
  • データソース: 既存の製品に伴う文脈と複雑さを備えた、実際に存在する企業のライセンス契約により入手したコードベース。
  • 主な特徴:
    • 公開性がない: 公開インターネット上には存在しない固有のシステムをナビゲートする必要があります。
    • 事業への影響: 請求計算、税金算出、顧客移行など、ビジネス運営そのものに直結する課題です。
    • 企業固有の複雑性: 独自ルールやコーディング慣習に従い、既存コードとの整合性を保ちつつ変更を行う必要があります。

核心となる問い: コーディングエージェントは、現実世界におけるソフトウェアエンジニアの役割を実際に果たせるのでしょうか?


🏆 リードボード:解決率とコスト効率

1. 解決率(Pass@1)

「解決率」は各タスクについて8 回の独立した実行を平均化した値であり、信頼区間(95%)に基づいています。

ランクモデルツール/CLI解決率
1Fable 5.1Claude Code38.8%
2GPT-6 AstraCodex CLI33.8%
3Gemini 3.8 FlashGemini CLI31.2%
4GLM 5.3Claude Code28.8%
=5Grok 4.6Grok Build23.8%
=5Muse Spark 1.3Muse Code23.8%
7Kimi K3Kimi Code18.8%
8GPT-5.6 SolCodex CLI16.2%

2. コスト効率と推定支出

「高いコストが高い解決率を保証するわけではありません。」という結果となりました。

解決率対コスト分析

  • Gemini 3.8 Flash: 解決率 31.2% / コスト $2.50 (最もコスパ良好)
  • Fable 5.1: 解決率 38.8% / コスト $6.96 (最高性能だが高コスト)

推定実行コストによるモデルランク付け

ランクモデル推定コスト(1 回当たり)ツール/CLI
1Gemini 3.8 Flash$2.50Gemini CLI
2GPT-5.6 Sol$2.65Codex CLI
3Muse Spark 1.3$2.74Muse Code
4Grok 4.6$3.44Grok Build
5Kimi K3$3.90Kimi Code
6GPT-6 Astra$4.67Codex CLI
7GLM 5.3$5.12Claude Code
8Fable 5.1$6.96Claude Code

注意点: Grok や Kimi は使用状況が不完全なため、実際のコストはさらに高い可能性があります。

3. タスク環境とツール概要

エージェントはコード、インフラ、ビジネスツールのすべてを横断して動作します。

  • インフラストラクチャ: AWS エミュレータ、Docker、Kubernetes, PostgreSQL, MySQL, MongoDB, Redis など。
  • 開発環境: GitHub Linear MCP、Go, Python, Node.js, Vitest など。
  • ビジネスツール: Slack, Intercom, Google Drive, メール, ClickUp など。

プロンプト長比較(中央値)

Real-SWE は他のベンチマークに比べ比較的簡潔なプロンプトで構成されています。

ベンチマークプロンプト長(文字数)ファイル編集数(中央値)
Real-SWE1,74211 ファイル
FrontierCode2,0566 ファイル
DeepSWE1,9756 ファイル
Terminal-Bench31,584-
FrontierSWE v2992-

🧐 02 詳細分析:失敗原因と課題

短時間実行での高い失敗率

  • 10 分未満 の実行: 失敗率 71.4%(成功 28.6%)
  • 10 分以上 の実行: 失敗率 73.4%(成功 26.6%)
期間失敗数失敗率成功数成功率総実行回数
10 分未満7071.4%2828.6%98
10 分以上39873.4%14426.6%542

分析: 複雑なビジネスロジックや既存のコーディングパターンに満ちたコードにおいて、要件を理解しシステムを診断(triage)するのは極めて困難です。

未対応の要件が最大の敗因

DeepSWE を模倣して失敗原因を分類しました。

  • 主要な失敗カテゴリ: 「検証されていない仮定」「見逃した要件」「統合エラー」「回帰(Regression)」「誤ったファイル」など。

10 のタスクのうち 6 が解決不能

  • 統計: サンプルセットの10 タスクのうち 6 つが解決率が 15% 未満です。
  • 結論: すべてのモデルがすべてのタスクを解決できていません(各タスク 8 回試行)。

重要な特性:分布外(Out of Distribution)

このベンチマークは以下の理由で極めて重要です。

  1. トレーニングデータからの分離:
    • 私的コードベース上のタスクはインターネット上のどこにも存在しません。
    • 他の AI モデルによって訓練されたこともほとんどありません。(現実世界のエンタープライズで使用されるトークンの**99%**が frontier モデルから隔離されています)。
  2. 経済的実用性:
    • 給与をもらうエンジニアに割り当てられた、実際の支出と直接関連する作業です。
  3. 企業固有のパターン適合:
    • AI が生成するコードが、現実のエンタープライズの基準(コーディング標準やパターン)を満たしていますか?
    • 多くのモデルは企業のコーディングパターンの理解に弱く、要件を見逃したり仮定を検証しなかったりしています。

⚙️ 03 エフォートとコストの関連性

コスト効率性の逆転現象

  • 高いコスト = 高い解決率ではないことが証明されました。
  • Gemini 3.8 Flash は低コスト($2.50)で中上段の結果を出していますが、最高性能の Fable 5.1($6.96)は約 4 倍のコストをかけても数% の差しか出せていません。

トークン使用量とタスク価値

特定の複雑なタスクでは、モデル間のトークン使用量が大きく異なります。

  • 権限超過行 (Entitlement overage lines): Fable 5.1 (34k) vs GPT-6 Astra (13k)
  • マルチリージョンスウィープ: Fable 5.1 (30k) vs GPT-6 Astra (13k)
  • 税務管轄区域: Fable 5.1 (78k) vs GPT-6 Astra (24k)

モデルごとの全体的なトークン使用量(例)

  • Gemini 3.8 Flash: 94k
  • GLM 5.3: 117k
  • Fable 5.1: 64k
  • GPT-6 Astra: 24k
  • Muse Spark 1.3: 87k

🛡️ 04 評価設定とデータソースの詳細

コードベース選定基準

厳格なスクリーニングプロセスを通じて選定された「実際の企業」に置かれました。

  • App Store トップ 100: Luma/Partiful の競合製品であり、20 万人以上のユーザーを抱える企業。
  • フィンテック: 銀行振込書 10 万件以上を処理するプラットフォーム。
  • エンタープライズ AI: 複雑なビジネスワークフローをサポートするサイレスプラットフォーム。

優先事項: ベンチマークタスク作成用のコードよりも、実際のユーザーまたはビジネスニーズに応えるために書かれたコードを優先しています。生産エンジニアリングには既存のアーキテクチャ理解や、ユーザー依存の振る舞いの保全が求められます。

評価環境

  • 実行環境: 各エージェントは孤立したサンドボックス(isolated sandbox) で動作しました。
  • フォーマット: すべてのタスクはHarbor フォーマットです。
  • 検証器 (Verifiers):
    • 格付け時に注入されます。
    • コードベースに存在する既存のテストスイートに基づくもの、またはそのテストをそのまま使用したものです。

同じ日のほかのニュース

一覧に戻る →

2026/09/13 1:25

OpenStreetMap に最初の変更を加える

## Japanese Translation: OpenStreetMap は、近隣の店舗や施設に公式ウェブサイトのタグを追加することで、有意義な貢献を誰もが求めるよう呼びかけています。この作業は 15 分以内で完了可能です。この単純な行動は、米国だけで 100 万を超える店舗が存在するにもかかわらず、アクティブなマッパーの数はそれに比べて遥かに少ないという重要なデータギャップに対処しています。既存のエントリの多くはこの不可欠なウェブ住所を欠いています。無料の JOSM エディタと、そのウェブサイトウィザードプラグインを活用することで、貢献者は不足しているタグを効率的に特定できます。単一のウェブサイトタグを追加するだけで、マッピングソフトウェアは電話番号、営業時間、メールアドレスなどの重要な詳細情報を自動的に推測でき、世界中で利用可能な多数の無料サービスへのデータ提供を強化します。著者は、シアトルのウォリングフォード地区で 1 つのチェンジセット内にて 66 の新規タグを追加するだけでその影響を実証しました。結局のところ、これらのツールの普及啓発は、誰でも無料で利用できるより完全なデジタル地図の構築に貢献します。 ## Text to translate: The original summary is high quality and well-balanced, so it does not require improvement. ## Summary: OpenStreetMap invites everyone to make a meaningful contribution by adding official website tags to nearby shops or amenities—a task achievable in under fifteen minutes. This simple action addresses a critical data gap, especially given that the U.S. alone hosts over one million shops while active mappers are far fewer; many existing entries lack these crucial web addresses. Using the free JOSM editor and its Website Wizard plugin, contributors can efficiently locate missing tags. Adding a single website tag automatically enables mapping software to infer other vital details like phone numbers, opening hours, and emails, enriching data for dozens of free services worldwide. The author demonstrated this impact by adding sixty-six new tags in Seattle's Wallingford neighborhood in one changeset. Ultimately, spreading awareness of these tools helps build a more complete digital map for everyone to use at no cost.

2026/09/09 10:57

Apple iPod エングレーバー(2019)

## 日本語翻訳: 2005 年、Apple のエンジニアは「iPod のパーソナライズ」ウェブページを革新し、巧妙な回避策を用いて静的フォームをインタラクティブなショッピングツールへと変換しました。このアップグレード以前には、顧客はカスタム製品を表示することなく、単なるテキスト入力を記入するしかできませんでした。これを解決するために、開発者は JavaScript を用いて JPEG 画像を切り替え、ユーザーがデバイスを実時間で視覚化できるようにする回転する iPod アニメーションを作成しました。また、ユーザーがタイプしたテキストに基づいてエンベージングオーバーレイを動的に生成する ImageMagick ソフトウェアを採用し、顧客が製品上に自分の名前が表示される様子を正確にプレビューできるようになりました。さらに、CSS クラスの切り替えによって古典的な黄色いフェード効果をシミュレートし、出荷見積もりに対する動的なフィードバックを提供しました。これらの手法は早期ブラウザ技術の深刻な制限に依存していましたが、顧客体験を向上させる能力においてほぼ魔法のように感じられました。この歴史的プロトタイプは、限られた技術的手段であっても、ウェブイノベーションが製品のカスタマイズ性を大幅に改善し、購入前のバイヤーの信頼性を高め、将来的なインタラクティブ電子商取引デザインのための基準を設定できることを証明しました。

2026/09/09 20:57

Rust のニバー型を安定化する

## Japanese Translation: Rust 2024 は、`!`(「never」型) を安定化させることで大きな転換点となります。これは存在しない値を示すこの型の導入により、以前のデフォルトの戻り値である`() `(ユニット型)が置換され、到達不可能なエラー分岐を最適化しコード生成を簡素化することを目的としています。Rust 1.99 以降からは、曖昧な式に対して推論されるデフォルトが `!` に変更されるため破壊的変更が発生します。これにより、古いデフォルト挙動に依存していた既存の汎用型コードが機能しなくなる可能性があります。これらの問題に対処するためには、プログラマーは明示的にジェネリックを使用して戻り値の型を指定するか、暗黙的な推論に頼らずパターンのマッチングを利用する必要があります。当初テスト段階で数千の crates が検出されましたが、実際に修正が必要な破壊的変更は僅かでした。コミュニティは主要なライブラリへのバッチバックポートを進めており、この移行を円滑に行っています。開発者は以下のどちらかを選ぶ必要があります:以前の Rust 1.98 を继续使用するか、新しい標準を採用してデッドコードエリミネーションを簡素化し、将来的な汎用型プログラミングタスクにおけるコンパイル効率を向上させるためにプロジェクトを更新することです。 ## Text to translate: Rust 2024 marks a major shift by stabilizing the "never" type (`!`), which signifies that a value never exists. This change replaces the previous default fallback type, `()`, specifically to optimize unreachable error branches and simplify code generation. Starting with Rust 1.99, developers can expect breaking changes where ambiguous expressions now infer `!` instead of `()`. Consequently, existing generic code may fail if it relies on the old default behavior. To resolve these issues, programmers must explicitly specify return types using generics or utilize pattern matching rather than relying on implicit inference. While thousands of crates were initially flagged during testing, only a handful required full breaks to be fixed. The community is actively backporting updates to popular libraries to smooth this transition. Developers face a choice: stick with the previous version, Rust 1.98, or update their projects to embrace the new standard that streamlines dead code elimination and enhances compiler efficiency for future generic programming tasks.