← Back

Automated software engineering

Last updated: February 5, 2026

The most useful question is no longer whether models can generate code. It is whether an agent can close the full engineering loop under real constraints: ambiguous tasks, messy repositories, failing tests, and review standards.

In practice, the main capability boundary is reliability across iterations. Many systems can produce a correct first patch on simple issues; far fewer recover cleanly when the first patch fails and the debugging path becomes stateful.

Measurement

SWE-bench remains the default reference because it uses real GitHub issues with executable verification. That makes it materially better than static coding tests for estimating production usefulness.

Treat leaderboard movement as directional, not absolute. Prompt scaffolding, retrieval, test execution policy, and patch filtering all change outcomes enough that headline percentages alone can mislead.

What Changes Operationally

As the edit-test-fix loop gets cheaper, engineering leverage shifts toward issue framing, architecture constraints, and review quality. Teams with clear specs and strict evaluation harnesses benefit most.

Code review becomes more central, not less. The highest-leverage reviewer catches subtle regressions, weak tests, and security mistakes that look superficially correct.

  • Use agents for bounded tickets with test coverage first.
  • Require failing-test reproduction before accepting a patch.
  • Track defect escape rate, not just output volume.

Sources