DeepSWE:長期的なソフトウェア工学のための新ベンチマーク
DeepSWE は、汚染フリーで実世界に近い複雑さを備えた新しいコーディングベンチマークであり、既存の SWE-bench Pro の限界を克服して AI エージェントの実力をより正確に評価する指標となる。
キーポイント
汚染フリーなタスク設計
既存のコミットや PR から改変されたものではなく、ゼロから作成されたタスクを採用することで、モデルの学習データへの汚染(Contamination)を完全に排除している。
実世界に近い複雑性
プロンプト長は SWE-bench Pro の半分以下だが、解決に必要なコード量は 5.5 倍、出力トークン数は約 2 倍と、より現実的なエンジニアリングタスクを想定している。
信頼性の高い検証機構
実装の詳細ではなくソフトウェアの振る舞いをテストする手書きの検証器(Verifier)を採用し、既存ベンチマークで見られた誤判定(偽陽性 8%、偽陰性 24%)を解消した。
モデル性能の明確な分離
公的なベンチマークでは近接していたモデルが、DeepSWE では開発者が日常で感じるギャップに相当する広い順序立った差として現れることが確認されている。
影響分析・編集コメントを表示
影響分析
このベンチマークは、AI コーディングエージェントの能力評価において「汚染」や「検証の不正確さ」という構造的欠陥を解消し、業界が真に実用化可能なレベルにあるモデルを見極めるための新たな基準となる。特に、短い指示で複雑なタスクを完遂できるかという点は、開発現場での AI 活用におけるボトルネック解決の成否を測る重要な指標となり得る。
編集コメント
AI エージェントの能力評価において、単なる正解率だけでなく「学習データ汚染の有無」や「検証器の信頼性」というメタ的な視点が不可欠であることを示唆する重要な記事です。
オリジナルの長期間にわたるエンジニアリングタスクにおける最先端コーディングエージェントの評価
Wenqi Huang, Charley Lee, Leonard Tng, Serena Ge
DeepSWE は、現在の公開ベンチマークに対して 4 つの主要な進展をもたらす、長期にわたるソフトウェア工学のベンチマークです。
- コンタミネーションフリー:タスクは既存のコミットやプルリクエストから適応されたものではなく、ゼロから作成されているため、モデルが事前学習中に解決策を見たことはありません。
- 高い多様性:タスクは 5 つの言語にわたる 91 のリポジトリという広範なプールをカバーしています。
- 現実世界の複雑さ:プロンプトの長さは SWE-bench Pro の半分ですが、解決には 5.5 倍のコード量と約 2 倍の出力トークンが必要です。
- 信頼性の高い検証:検証器は実装の詳細ではなくソフトウェアの動作を検証するために手書きで作成されています。
既存のベンチマークはいくつかの軸において不足しています。最先端のエージェント向けコーディングベンチである SWE-bench Pro では、解決に必要なコード量が平均してわずか 120 ラインであり、私たちの監査 では、その検証器がエージェントの出力を誤って評価する割合が偽陽性で 8%、偽陰性で 24% に達していることが判明しました。また、最先端の研究機関の間でも ベンチマークのコンタミネーション に対する懸念が高まっています。
これに対し、DeepSWE は最先端のコーディングエージェントをより鋭く比較することができます。公開ベンチマークでは互いに近くに見えるモデルも、ここでは開発者が日常的なエージェントワークフローで目にする差異と一致する広範で順序立てられたギャップとして明確に分離されます。
Leaderboard
すべてのモデルは mini-swe-agent を使用して実行されています。他の評価ハッチ(harness)との比較については、Why mini-swe-agent を参照してください。
Explore
GitHub でベンチマークを表示するか、上記の数値の背後にあるすべてのロールアウトを閲覧したり、ご自身のエージェントでベンチマークを実行したりできます。
GitHub →ロールアウトの閲覧 →DeepSWE の実行 →
Overview
1. 長期にわたる作業、現実的で簡潔なプロンプト
DeepSWE のプロンプトは、開発者がエージェントに指示を与える際のスタイルに合わせて設計されています。具体的には、振る舞い中心であり、短く、大規模なインターフェース定義ブロックを含まず、過度に冗長で指示的でもないものです。変更を実装する場所と方法を発見する必要があり、評価される能力の相当部分は、単に過剰に指定されたエンジニアリングタスクを実行することではなく、エンドツーエンドの探索に関わるものです。
GitHub のイシューやプルリクエストから収集された公開ベンチマークには、再現手順、追加のコンテキスト、コードスニペット、特定のシンボルやシグネチャを前提としたテストなど、より多くの詳細が含まれていることがよくあります。一方、DeepSWE は観測可能な振る舞いをスコアリングするため、基盤となるタスクが大幅に長い場合でも、プロンプトは短く自然なまま保つことができます。
2. 広範なリポジトリカバレッジ
DeepSWE には、TypeScript、Go、Python、JavaScript、Rust の 5 つの言語にまたがる 91 のアクティブなオープンソースリポジトリにわたる 113 のタスクが含まれています。この規模でのサンプリングは、コーディングエージェントの実世界における有用性のより強力な代理指標となります:異なる構造レベル、ドキュメント、メンテナンス状況を持つ多様なコードベース全体で、有益かつ適切にスコープされた変更を加えられるかどうか。
既存の公開ベンチマークははるかに集中しています。SWE-Bench Pro Public は 11 のリポジトリをカバーし、SWE-Bench Verified は 12 をカバーしていますが、多くのタスクが著名で頻繁にメンテナンスされているプロジェクトから抽出されています。これは、実務において開発者がコーディングエージェントに持ち込むプロジェクトの範囲と比較すると、より狭い設定です。
言語分布
- typescript35(31%)
- go34(30%)
- python34(30%)
- javascript5(4%)
- rust5(4%)
ライブラリから大規模フレームワークまで、5 つの言語にわたる
91 のリポジトリ。ドットの大きさはタスク数、色は主要言語を表します。
- 1k10k100k1001k10kGitHub starsFiles in default branchTypeScript · 27Go · 28Python · 27JavaScript · 4Rust · 5
3. Novel tasks test problem-solving, not recall
すべての DeepSWE タスクはオリジナルです。参照となる解決策は、既存のプルリクエストやコミット、公開パッチからコピーまたは改変したものではなく、ゼロから書き下ろされています。一部のタスクは未解決の GitHub イシューに動機付けられていますが、その修正自体は新しいものです。また、DeepSWE のタスクは決してアップストリームリポジトリへマージされることはなく、公開された GitHub 記録には残らないため、オープンソースから収集された将来の事前学習コーパスに含まれる可能性も極めて低いです。これにより、DeepSWE はエージェントが既存の修正を思い出し、検索し、再発見するのではなく、新しいソフトウェアエンジニアリングの問題を解決できるかどうかをよりクリーンにテストするためのベンチマークとなります。
既存のコミットから出典されたベンチマークには、対応する実装、テスト、議論がすでにオンライン上に存在するため、本質的な汚染リスク(コンタミネーションリスク)を伴います。私たちの SWE-Bench Pro 監査では、このリスクが仮説上のものではないことが確認され、解決策の漏洩と偽陽性が監査されたロールアウトのおよそ 8% に影響を与えていることが判明しました。
4. Verifiers reward correctness across many valid implementations
ベンチマークの質は、その検証器(verifier)の質に依存します。SWE ベンチマークにおいて、検証器はタスクの振る舞いの仕様を近似するべきです。つまり、提出されたコードが要求された変更を実装しているかどうかを判断しつつ、特定のの実装戦略には依拠しない(agnostic である)必要があります。DeepSWE の検証器は、この目的を意識してタスクの説明から意図的に書き下ろされており、要求された振る舞いを実装するあらゆる解決策を受け入れます。
これは、検証器がマージされたプルリクエストのテストスイートから継承されるという、一般的なベンチマーク構築パターンとは異なります。これらのテストは有用なシグナルを提供しますが、任意の将来の提出物に対する完全な採点者として設計されているわけではありません。そのため、有効な解決策を見逃したり、テストには合格するがタスクの要件を完全に満たしていない提出物を通過させたりする可能性があります。
これを定量化するために、DeepSWE と SWE-Bench Pro からランダムに 30 のタスクを選び出し、10 の最先端エージェント構成に対してそれぞれ 3 つのロールアウトを実行しました。その後、LLM が各トジェクト(軌跡)をタスク定義、参照解決策、検証器の出力とともに分析し、パッチが実際に要求された振る舞いを実装しているかどうかについて独立した判断を下しました。
このアナライザーの判断は、以下の 2 つの方向で検証器と食い違う可能性があります:
- 偽陽性(False positives): 検証器は合格としたが、AI ジャッジはパッチが実際に要求された振る舞いを実装していないと結論づけるケース。
- 偽陰性(False negatives): 検証器は不合格としたが、AI ジャッジはパッチがプロンプトに対する妥当な解決策であると結論づけるケース。
アナライザーは SWE-Bench Pro の検証器に対して 32% の試行で食い違いを示し、DeepSWE の検証器に対しては 1.4% で食い違いました。言い換えれば、同じ軌跡を注意深く読み解く人間にとって、SWE-Bench Pro の合格/不合格の判断のおよそ 3 分の 1 が誤っているように見えます。これほど広い誤差範囲では、リーダーボード上の最先端モデル間のわずかな差異を高い信頼性で受け入れることは困難です。
SWE-Bench Pro で生じた食い違いが具体的にどのようなものかについては、以下の定性的分析(qualitative analysis)で詳しく解説します こちら。
Methodology
リポジトリの選定
リポジトリは公開されており、積極的にメンテナンスが行われ、GitHub で少なくとも 500 のスターを獲得し、寛容なオープンソースライセンスの下でリリースされている必要があります。これらの基準は意図的に広く設定されています。私たちは、すでに公的なベンチマークを支配しているフラッグシップフレームワークに限らず、経済的価値のあるエンジニアリング作業全体にわたってエージェントのパフォーマンスを測定したいと考えています。積極的なメンテナンスと 500 スターという下限を組み合わせることで、そのリポジトリには実際に依存するユーザーがいる可能性が高いことを示唆しています。
私たちは 5 つの言語に焦点を当てています:TypeScript、JavaScript、Python、Go、および Rust です。各タスクは不変のコミットハッシュに固定されるため、実行結果は再現可能です。中央値のリポジトリは単一のタスクを提供するため、特定のリポジトリがリーダーボードを支配することはありません。
タスク構築
すべてのタスクには 3 つのアートファクトが含まれます:エージェントが読むプロンプト、結果を採点する実行可能な検証器(verifier)、およびレビュー時に使用される参照ソリューションです。検証器は、要求された動作を実行する新しいファイルでリポジトリ自体のテストインフラストラクチャを拡張します。テストは、プライベートなヘルパー関数や内部状態ではなく、パブリック API と観測可能な出力を通じてアサート(assert)されます。これにより、同じタスクは、内部ヘルパー関数の書き換え、新しいモジュールの追加、既存クラスの拡張など、どのような方法で解決しても構いません。検証器は、観測可能な動作が確認できれば、それらのいずれも受け入れます。スコアは、エージェントがタスクを解決したかどうかを反映するものであり、著者の構造と一致したかどうかではありません。
信頼性のある採点を保つために、さらに 2 つのチェックが行われます。著者作成中、各検証者は 3 回実行され、実行結果が異なる検証者は「フラキー(不安定)」としてフラグ付けられ、著者に修正のために返されます。これにより、検証者のノイズがスコアのモデルばらつきとして現れるのを防ぎます。また、すべての試行において、検証者は回帰チェックも実行します。これは、リポジトリに既存するテストの選択と、著者が追加した新しい回帰テストの組み合わせです。要求された機能を実装している一方で、無関係な動作を壊すパッチはタスク失敗となります。つまり、高いスコアを獲得するには、エージェントがコードベースの他の部分も正常に動作させる必要があります。
品質保証
LLM を活用した分析と独立した人間のレビューの両方が完了した後でなければ、タスクは採用されません。
採択前に、レビュアーはプロンプト、検証者、参照ソリューション、診断エージェントの実行結果を検査します。参照ソリューションはタスク作成時に著者によって作成されますが、採点時には決して使用されません。これにより、レビュアーには、プロンプトと検証者(他の正しい形状も受け入れることが期待される)と比較するための、1 つの既知の正解実装が存在することになります。
レビュアーは各タスクを以下の 4 つの次元で評価します:
- プロンプト検証器の双対性。検証器は、プロンプトが要求する振る舞いを正確にテストすべきであり、それ以上でも以下でもない。過度に多くのことをテストする検証器は偽陰生(エージェントが明示されたタスクを解決しても、明示されていないタスクで失敗する)を生み出し、逆に不足している検証器は偽陽生(部分的な解決策が完全なものとして報酬される)を生む。どちらの場合も、ベンチマークは主張する内容を正確に、あるいは完全に測定できていない。
- 受容の幅広さ。検証器は、参照実装だけでなく、要求された振る舞いのあらゆる合理的な実装を受け入れるべきである。実際のエンジニアリングタスクには正解が複数存在し、異なるモジュール境界、ヘルパー関数の名前、制御フローであっても、同じ観測可能な振る舞いを生み出すことができる。一つの形状しか受け付けない検証器は、エージェントが著者の構造を推測できるかどうかを測定しているだけであり、タスクを解決できるかどうかを測定しているわけではない。
- 現実性。現実性は二つの軸を持つ。プロンプトの現実性:プロンプトは具体的なToDoリストではなく、実際の開発者がエージェントにメッセージを送るような自然な開発者特有の口調で書かれていること。タスクの現実性:タスク自体が、メンテナーが貢献として実際に受け入れる可能性のあるものであること。不十分な指定のプロンプトでは、エージェントはコードを書く前に関連する表面領域を発見し、設計上のトレードオフを考慮する必要があり、これはエージェントに実際に行われるはずのエンジニアリング作業を模倣している。
- 環境の清浄さ。レビュアーは、失敗したロールアウトとタスク自体の両方を、環境エラー、依存関係の問題、不安定なテスト、その他のインフラストラクチャ上の問題について検査する。これらはモデルの能力を測定するものではないため、レビュアーは修正のためにフラグを立てる。エージェントが失敗した場合、その原因はタスク完了への苦闘によるものであり、環境上の問題によるべきではない。
複数の最先端エージェント構成が、レビューの一環として各タスクに挑戦する。通過したロールアウトが真陽性であることを確認し、失敗したロールアウトがモデルの能力を反映しており、環境やハッチングの問題によるものではないことを確認する。ほぼ正解に近い失敗ロールアウトは特に有用であり、検証器がエッジケースでどのように振る舞うかを表面化させ、それによって検証器の改良に役立つ。
基準を満たさないタスクは、ベンチマークに入る前に修正のために戻されます。
評価ハネス
すべての実行では、SWE-bench の著者たちが構築した mini-swe-agent というハネスが使用されます。リーダーボードがモデルの能力ではなく、その周囲の足場(スキャフォールディング)を反映しないように、あらゆるモデルに対してこのハネスを固定して保持しています。
実際には、開発者は Codex CLI、Claude Code、Cursor、Gemini CLI といったネイティブ製品を通じてこれらのモデルにアクセスします。各製品は、モデルがトレーニングされた際のエディティングプリミティブ(GPT では apply_patch、Claude では str_replace_based_edit_tool)と、特定のモデル向けに調整されたシステムプロンプトを備えています。これらを含めてしまうと、リーダーボードはモデルの能力だけでなく、足場に関する選択も反映することになってしまいます。mini-swe-agent は設計上モデル非依存(モデル・アグノスティック)であり、すべてのモデルが同じ bash ツールと共有プロンプトを使用し、ベンダー固有のエディティングプリミティブやモデル固有の指示は一切含まれません。
小規模なパイロット実験として、標準化されたハネスが比較を著しく歪めていないかを確認するため、各モデルを mini-swe-agent とそれぞれのネイティブハネスの両方で実行しました。
各モデルは、mini-swe-agent およびそれぞれのネイティブハネスの下で、同じ 10 の SWE-Bench Pro タスクに対して実行されました。
このスライスにおいて、mini-swe-agent は同等のトークンコストでネイティブハーンすべての性能に匹敵するか、あるいは上回っています。その差の一部は能力の違いというよりもプロンプト調整によるものかもしれません:そのシステムプロンプトは明確に ワークフローを推奨 しており(ファイルの検索、再現、編集、再実行、エッジケースの確認)、これは SWE-bench タスクが評価される方法とほぼ一対一で対応しています。私たちはこれを、mini-swe-agent を使用することが特定のモデルファミリーに実質的な不利益をもたらしていないという証拠として解釈します。
結果
フロンティアエージェント間のより明確な分離
以下のチャートは、各モデルの DeepSWE パス率と、そのモデルが公的に報告している SWE-Bench Pro スコアを比較しています。
DeepSWE は、多くのモデルが狭いスコア帯に集まる SWE-Bench Pro に比べて、フロンティアコーディングエージェント間のより明確な分離を生み出します。このより広い分布は、開発者が実際に経験する状況により近いものです:公的なベンチマークでは近しい同僚のように見えるエージェントでも、日常のエンジニアリング作業においては明らかに異なる結果をもたらすことがあります。
コスト、トークン、および実時間効率
パス率だけでは、エージェントがそこに到達するために費やしたコストは隠れてしまいます。同じ精度でも、2 分で数千トークンを生成するエージェントから得られる場合もあれば、30 分間実行して 10 万トークンを生成するエージェントから得られる場合もあります。私たちは、パス率 alongside に 3 つのコストに直結する指標(試行ごとの中央値出力トークン数、中央値実時間、および試行あたりの中央値ドルコスト)を追跡し、それぞれを精度に対してプロットします。
スコア対試行ごとの出力トークン数
0%20%40%60%80%30k90k149k↗ トークン効率的
試行ごとの中央値出力トークン数
Score<circle cx="91.77667778051398" cy="285.29439
原文を表示
Measuring frontier coding agents on original, long-horizon engineering tasks
Wenqi Huang, Charley Lee, Leonard Tng, Serena Ge
DeepSWE is a long-horizon software engineering benchmark that delivers four major advances over today's public benchmarks:
- Contamination free: Tasks are written from scratch, not adapted from existing commits or PRs, so no model has seen the solution during pretraining.
- High diversity: Tasks span a broad pool of 91 repositories across 5 languages.
- Real-world complexity: Prompts are half the length of SWE-bench Pro's, yet solutions require 5.5x more code and ~2x more output tokens.
- Reliable verification: Verifiers are hand-written to test software behavior rather than implementation details.
Existing benchmarks fall short on several of these axes. SWE-bench Pro, the leading agentic coding benchmark, has tasks averaging just 120 lines of code to solve, and our audit found its verifier misgrades agent outputs at rates of 8% false positives and 24% false negatives. Frontier labs are also raising growing concerns about benchmark contamination.
By contrast, DeepSWE produces a sharper comparison of frontier coding agents. Models that appear close together on public benchmarks separate into wide, ordered gaps that match the differences developers see in day-to-day agent workflows.
Leaderboard
All models are run with mini-swe-agent; see Why mini-swe-agent for a comparison against other harnesses.
Explore
View the benchmark on GitHub, browse every rollout behind the numbers above, or run your own agent against the benchmark.
GitHub →Browse trajectories →Run DeepSWE →
Overview
1. Long-horizon work, realistic and short prompts
DeepSWE prompts are aligned with the way developers talk to their agents: behavior-focused, short, and free of large interface-definition blocks, rather than overly verbose and prescriptive. Agents must discover where and how to implement the change, so a substantial share of the capabilities being evaluated involve end-to-end exploration instead of just the execution of an overspecified engineering task.
Public benchmarks sourced from GitHub issues and pull requests often carry more detail: reproduction steps, additional context, code snippets, and tests that assume specific symbols or signatures. DeepSWE instead scores observable behavior, which lets prompts stay short and natural even when the underlying tasks are substantially longer.
2. Broad repository coverage
DeepSWE contains 113 tasks spanning 91 active open-source repositories across 5 languages: TypeScript, Go, Python, JavaScript, and Rust. Sampling at this scale makes DeepSWE a much stronger proxy for the real-world utilities of coding agents: whether they can make useful, well-scoped changes across varied codebases with different levels of structure, documentation, and maintenance.
Existing public benchmarks are much more concentrated. SWE-Bench Pro Public spans 11 repositories, and SWE-Bench Verified spans 12, with many tasks drawn from prominent, heavily maintained projects. That is a narrower setting than the range of projects developers bring to coding agents in practice.
Language distribution
- typescript35(31%)
- go34(30%)
- python34(30%)
- javascript5(4%)
- rust5(4%)
Libraries to large frameworks, across five languages
91 repositories. Dot size is task count; color is primary language.
- 1k10k100k1001k10kGitHub starsFiles in default branchTypeScript · 27Go · 28Python · 27JavaScript · 4Rust · 5
3. Novel tasks test problem-solving, not recall
Every DeepSWE task is original: the reference solution is written from scratch rather than copied or adapted from an existing pull request, commit, or public patch. Some tasks are motivated by unresolved GitHub issues, but the fix itself is new. DeepSWE tasks are also never merged back into the upstream repositories, so they do not enter the public GitHub record and are unlikely to appear in future pre-training corpora scraped from open source.This makes DeepSWE a cleaner test of whether an agent can solve a novel software engineering problem, rather than recall, retrieve, or rediscover a public fix.Benchmarks sourced from existing commits have an inherent contamination risk because its corresponding implementation, tests, and discussion are already online. Our SWE-Bench Pro audit found that this risk is not hypothetical, with solution leakage and false positives affecting roughly 8% of audited rollouts.
4. Verifiers reward correctness across many valid implementations
A benchmark is only as good as its verifier. In SWE benchmarks, the verifier should approximate the task’s behavioral specification: it should determine whether the submitted code implements the requested change, while remaining agnostic to the particular implementation strategy. DeepSWE’s verifiers are purpose-written from the task description with this goal in mind, and will accept any solution that implements the requested behavior.This differs from a common benchmark construction pattern in which the verifier is inherited from a merged pull request's test suite. These tests provide useful signal, but they are not necessarily designed as complete graders for arbitrary future submissions. They can therefore miss valid solutions, or pass submissions that satisfy the tests without fully satisfying the task.To quantify this, we drew 30 tasks at random from DeepSWE and SWE-Bench Pro and ran 3 rollouts across 10 frontier agent configurations. An LLM then analyzed each trajectory along with the task definition, reference solution and verifier output and then issued an independent verdict on whether the patch actually implemented the requested behavior. The analyzer's verdict could disagree with the verifier in two directions:False positives: the verifier passed but the AI judge concludes the patch does not actually implement the requested behavior.
- False negatives: the verifier failed but the AI judge concludes the patch is a reasonable solution to the prompt.
The analyzer disagreed with the SWE-Bench Pro verifier on 32% of trials and with the DeepSWE verifier on 1.4%. Put differently: nearly a third of SWE-Bench Pro's pass/fail decisions appear incorrect to a careful reader of the same trajectory. An error bar that wide makes small differences between frontier models on leaderboards difficult to accept with high confidence. We unpack what the SWE-Bench Pro disagreements actually look like in the qualitative analysis below.
Methodology
Repository selection
Repositories must be public, actively maintained, hold at least 500 GitHub stars, and be released under a permissive open-source license. These criteria are deliberately broad. We want to measure agent performance across all economically valuable engineering work, not just the flagship frameworks that already dominate public benchmarks. Active maintenance and a 500-star floor together suggest a repository likely has real users depending on it.
We focus on five languages: TypeScript, JavaScript, Python, Go, and Rust. Each task pins to an immutable commit hash so runs are reproducible. The median repository contributes a single task, so no repo dominates the leaderboard.
Task construction
Every task ships three artifacts: the prompt the agent reads, an executable verifier that grades the result, and a reference solution used during review. The verifier extends the repository's own test infrastructure with new files exercising the requested behavior. Tests assert through public APIs and observable outputs, not through private helpers or internal states, so the same task can be solved by rewriting an internal helper, adding a new module, or extending an existing class; the verifier accepts any of them as long as the observable behavior shows up. The score then reflects whether the agent solved the task, not whether it matched the author's structure.
Two further checks keep grading reliable. Every verifier runs three times during authoring; verifiers whose outcome varies across runs are flagged as flaky and returned to the author for revision, so verifier noise doesn't show up as model variance in the score. On every trial the verifier also runs regression checks: a selection of the repository's existing tests plus any new regression tests the author has added. A patch that implements the requested feature but breaks unrelated behavior fails the task, so a high score requires the agent to leave the rest of the codebase working.
Quality Assurance
A task is included only after both LLM-assisted analysis and independent human review.
Reviewers inspect the prompt, verifier, reference solution, and diagnostic agent rollouts before acceptance. The reference solution is authored alongside the task but never used at grading time. This gives reviewers one known-correct implementation to compare against the prompt and verifier, which is expected to accept other correct shapes as well.
Reviewers evaluate each task along four dimensions:
- Prompt-verifier bijection. The verifier should test exactly the behavior the prompt asks for, no more, no less. A verifier that tests more produces false negatives (an agent solves the stated task but fails an unstated one); a verifier that tests less produces false positives (partial solutions are rewarded as if they were complete). Either way, the benchmark does not accurately and/or fully measure what it claims to measure.
- Acceptance breadth. The verifier should accept any reasonable implementation of the requested behavior, not just the reference. Real engineering tasks admit many correct answers: different module boundaries, helper names, and control flow can all yield the same observable behavior. A verifier that accepts only one shape measures whether the agent can guess the author's structure, not whether it can solve the task.
- Realism. Realism has two axes. Prompt realism: the prompt reads in a natural developer register, the way someone would actually message an agent, rather than a concrete todo list. Task realism: the task itself is one a maintainer might plausibly accept as a contribution. An underspecified prompt forces the agent to discover the relevant surface and weigh design tradeoffs before writing code, mirroring the kind of engineering work an agent would actually be asked to do.
- Environment Cleanliness. Reviewers inspect both the failing rollouts and the task itself for environment errors, dependency issues, flaky tests, and other infrastructure problems. These do not measure model capability, so reviewers flag them for revision. When an agent fails, the failure should come from struggling to complete the task, not environmental issues.
Multiple frontier agent configurations attempt each task as part of review. We confirm that passing rollouts are true positives, and that failing rollouts reflect model capability rather than environment or harness issues. Near-correct failing rollouts are especially useful: they surface how the verifier behaves on edge cases, which helps us refine it.
Tasks that fall below the bar return for revision before they enter the benchmark.
Evaluation harness
Every run uses mini-swe-agent, the harness the SWE-bench authors built. We hold it fixed across every model so the leaderboard reflects model capability, not the scaffolding around it.
In practice, developers reach these models through native products like Codex CLI, Claude Code, Cursor, and Gemini CLI. Each ships with editing primitives the model was trained on (apply_patch on GPT, str_replace_based_edit_tool on Claude) and a system prompt tuned for that specific model. Including any of that would mean the leaderboard reflects scaffolding choices as much as model capability. mini-swe-agent is model-agnostic by design: every model gets the same bash tool and the same shared prompt, with no per-vendor editing primitives or model-specific instructions.
As a small pilot, we ran each model under both mini-swe-agent and its own native harness to check that the standardized harness isn't significantly skewing the comparison.
Each model run on the same 10 SWE-Bench Pro tasks under mini-swe-agent and its own native harness.
On this slice mini-swe-agent matches or beats every native harness at comparable token cost. Some of that gap is likely prompt-tuning rather than capability: its system prompt explicitly recommends a workflow (find files, reproduce, edit, re-run, check edge cases) that maps almost one-to-one onto how a SWE-bench task is graded. We read this as evidence that using mini-swe-agent isn't meaningfully disadvantaging any one model family.
Results
Wider separation between frontier agents
The chart below compares each model's DeepSWE pass rate against its publicly reported SWE-Bench Pro score.
DeepSWE creates clearer separation between frontier coding agents than SWE-Bench Pro, where many models cluster in a narrow score band. That wider distribution maps more closerly to what developers experience in practice: agents that look like close peers on public benchmarks can deliver noticeably different results in day-to-day engineering work.
Cost, tokens, and wall-clock efficiency
Pass rate alone hides what an agent spends to get there. The same accuracy can come from an agent that emits a few thousand tokens in two minutes, or one that runs for half an hour and emits a hundred thousand. We track three cost-shaped measures alongside pass rate (median output tokens, median wall-clock duration, and median dollar cost per trial) and plot each against accuracy below.
Score vs. output tokens per trial
0%20%40%60%80%30k90k149k↗ Token EfficientMedian output tokens per trialScore<circle cx="91.77667778051398" cy="285.29439
関連記事
Agent Judge:生産環境向けエージェントの長期コンテキスト評価を解決(10 分読了)
TLDR AI が紹介する「Agent Judge」は、検索・検証・適応に焦点を当て、従来の LLM 判定器が苦手とする長期コンテキストや状態保持アクションの評価精度と一貫性を向上させる手法です。
[AI ニュース] 創業者とフォワード・デプロイエンジニア
Latent Space は、Anthropic の大規模ニュースを踏まえ、世界有数の AI フォワード・デプロイエンジニアを対象に、OpenAI や Anthropic が推進する同様の枠組みに倣った新トラックの募集を開始した。
Amazon SageMaker AI LLM推論における包括的な観測可能性:GPU利用率からLLM品質まで
AWSは、大規模言語モデル(LLM)をAmazon SageMaker AI Inferenceでスケール展開する際、従来のソフトウェアとは異なる不確実な出力に対応するため、GPU利用率やLLMの品質変化を追跡する包括的な観測可能性の重要性について解説した。