AI-Powered Automated Issue Resolution Achieving State-of-the-Art Performance on SWE-bench

trae · Tech · 2025 · source Agentic: yes · promotional bias: high · source-backed · extracted with prompt 0.5.4 (schema v2)

Generated from extraction.json — do not edit by hand. Every claim cites verbatim source evidence; stated means the quote directly asserts the claim, implied means it supports it indirectly.

Problem

Domain: Automated software issue resolution benchmark performance

Trae aimed to improve SWE-bench Verified issue resolution by combining code agents, multiple LLMs, regression testing, and patch selection rather than relying on a single model attempt.

Constraints:

Architecture

Trae scales SWE-bench solving by generating diverse candidate patches with multiple LLM coder agents, filtering failures through regression tests, applying syntax-based voting, and using a selector agent with dual verification for final patch choice.

Diagram confidence: reconstructed (reconstructed from prose).

flowchart LR
  issue-intake["Issue intake"]
  coder-agents["Coder agents"]
  multi-model-generator-pool["Multi-model generator pool"]
  regression-testing-module["Regression testing module"]
  candidate-patch-pool["Candidate patch pool"]
  syntax-based-voting["Syntax-based voting"]
  selector-agent["Selector agent"]
  final-patch-output["Final patch output"]
  issue-intake --> coder-agents
  multi-model-generator-pool --> coder-agents
  coder-agents --> candidate-patch-pool
  regression-testing-module --> candidate-patch-pool
  regression-testing-module --> selector-agent
  candidate-patch-pool --> selector-agent
  syntax-based-voting --> selector-agent
  selector-agent --> final-patch-output
  final-patch-output --> issue-intake
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

Components

Component Role Interacts with
Issue intake Provides SWE-bench task context to candidate code agents. Coder agents
Coder agents Generate candidate patches using editor, shell, code-graph, and reasoning tools. Candidate patch pool
Multi-model generator pool Runs Claude, Gemini, and o4-mini to diversify candidate solutions. Coder agents
Regression testing module Filters candidate patches that fail tests before selection. Candidate patch pool, Selector agent
Candidate patch pool Holds surviving patches for voting and verification. Selector agent
Syntax-based voting Uses structural patch similarity to identify consensus candidates. Selector agent
Selector agent Chooses and verifies final patches with dual verification. Final patch output
Final patch output Submits the selected patch for benchmark scoring. Issue intake

Data flow

Issue tasks flow to multi-model coder agents with editing, shell, code-graph, and reasoning tools; regression tests filter failures; syntax voting and a selector agent choose the final patch.

3 supporting quotes
“* Bash****: Allows the Agent to execute any command. * ckg_tools****: Builds a Code Knowledge Graph (CKG) for the code repository”article, stated
“To ensure diversity among the generated candidate patches, we employ multiple popular LLMs (Claude 3.7 Sonnet, Gemini 2.5 Pro, and o4 mini) as the Coder.”article, stated
“Candidate patches that failed the regression tests were excluded from the subsequent selection process.”article, stated

Why this architecture

The architecture exists because one model attempt leaves performance on the table, while naive LLM selection degrades as candidate-patch sample size grows.

“Based on the above findings, our goal is to maintain the effect of the test-time scaling law while increasing the sampling space.”article, stated
“Although the Optimal Rate steadily increases, the performance of LLM-as-a-Selector peaks when the sampling space is 5 or 6, then starts to decline.”article, stated

Models used: Claude 3.7 Sonnet · Gemini 2.5 Pro · OpenAI o4-mini · OpenAI o1 selector in baseline

Scale

Alternatives considered (roads not taken)

Single model, single patch attempt

Rejected because: Trae uses multiple models and larger sampling to preserve test-time scaling benefits.

“Based on the above findings, our goal is to maintain the effect of the test-time scaling law while increasing the sampling space.”article, stated
“The resolve rate of Claude-3.7-Sonnet ranges from 60.6% to 62.6% * The resolve rate of Gemini-2.5-Pro-0506 ranges from 52.4% to 55% * The resolve rate of OpenAI o4-mini ranges from 54.4% to 55.8%”article, stated

Trust syntax consensus alone

Rejected because: The selector uses dual verification and can discard syntax-voting results when uncertain.

“If it passes this dual-verification, it is returned as the final patch. If the Selector agent remains uncertain about the correctness of the patch, the result from syntax-based voting is discarded”article, stated

Keep every regression-failing candidate patch in selection

Rejected because: Candidate patches that failed regression tests were removed before final selection.

“Candidate patches that failed the regression tests were excluded from the subsequent selection process.”article, stated

LLM selector alone over a larger patch pool

Rejected because: Trae added syntax voting and dual verification because selector performance degraded as sampling increased.

“Although the Optimal Rate steadily increases, the performance of LLM-as-a-Selector peaks when the sampling space is 5 or 6, then starts to decline.”article, stated
“If it passes this dual-verification, it is returned as the final patch. If the Selector agent remains uncertain about the correctness of the patch, the result from syntax-based voting is discarded”article, stated

Patterns

tool-use-orchestration (orchestration)

The coding agent is given file-editing, shell, code knowledge graph, and reasoning tools to inspect repositories and produce patches.

“* Bash****: Allows the Agent to execute any command. * ckg_tools****: Builds a Code Knowledge Graph (CKG) for the code repository”article, stated

model-routing (model-ops)

Candidate patches are generated by multiple models to diversify the solution pool before selection.

“To ensure diversity among the generated candidate patches, we employ multiple popular LLMs (Claude 3.7 Sonnet, Gemini 2.5 Pro, and o4 mini) as the Coder.”article, stated

eval-driven-development (evaluation)

Candidate patches that fail relevant regression tests are removed before the selector chooses among remaining patches.

“Candidate patches that failed the regression tests were excluded from the subsequent selection process.”article, stated

llm-as-judge (evaluation)

A selector agent judges candidate patches using issue context, project code, tools, syntax consensus, and multi-selection voting.

“However, to further validate the selected patch, we employ a dual-verification mechanism within the Selector agent.”article, stated

Tradeoffs

How to improve benchmark success beyond a single model attempt.

Chose test-time scaling with multiple generated patches and a selector agent over one best-model patch attempt.

Rationale: The system increases the chance that at least one candidate is correct, then invests in selection quality.

“Based on the above findings, our goal is to maintain the effect of the test-time scaling law while increasing the sampling space.”article, stated

How to diversify candidate patches.

Chose multiple LLMs as Coder agents over sampling only one model.

Rationale: Different model families produce diverse patch candidates that can be filtered and voted over.

“The resolve rate of Claude-3.7-Sonnet ranges from 60.6% to 62.6% * The resolve rate of Gemini-2.5-Pro-0506 ranges from 52.4% to 55% * The resolve rate of OpenAI o4-mini ranges from 54.4% to 55.8%”article, stated

Gotchas (what bit them)

A simple LLM selector did not scale cleanly with more candidate patches.

Root cause: As the sample space increased, the optimal candidate pool improved but selector performance peaked and then declined.

Resolution: Add a dedicated selector pipeline with syntax voting, deduplication, multi-selection voting, and verification.

“Although the Optimal Rate steadily increases, the performance of LLM-as-a-Selector peaks when the sampling space is 5 or 6, then starts to decline.”article, stated

Syntactic consensus alone is not enough to trust a generated patch.

Root cause: Multiple agents can converge on similar-looking code that still may not satisfy the issue.

Resolution: Use the Selector agent's dual verification against context and tools before accepting syntax-voted patches.

“If it passes this dual-verification, it is returned as the final patch. If the Selector agent remains uncertain about the correctness of the patch, the result from syntax-based voting is discarded”article, stated

Evaluation

Trae evaluates on SWE-bench Verified and compares single-attempt model resolve rates, selector behavior by sample size, and final ensemble performance.

Metrics: 70.6% resolve rate on SWE-bench Verified with Claude 3.7 framing · Claude 3.7 Sonnet single-attempt range 60.6% to 62.6% · Gemini 2.5 Pro single-attempt range 52.4% to 55% · OpenAI o4-mini single-attempt range 54.4% to 55.8%

“Our approach raises the overall success rate on the SWE-bench-verified benchmark to 70.6%”article, stated

Outcomes

Vendor benchmark post; source qualifies the ranking as with Claude 3.7 and next only to Tools when Claude 4 results are included.

“achieved #1 with a score of 70.6% on the SWE-bench Verified when evaluated with Claude 3.7 and next only to Tools when the leaderboard includes results from Claude 4.”article, stated