Skip to content
BtSavvy

Strategy & Architecture

What separates an AI-built demo from a working application

Thirteen published findings explain why a coding agent that builds a convincing demo from a short prompt does not, on its own, produce a dependable application. Applied to a system of record, such as an enterprise resource planning (ERP) or customer relationship management (CRM) system, the same approach tends to produce software that looks right on the screen and does not do what it should underneath. We group the findings into what the model loses as the work grows, what it invents, what it games, and what nobody checked.

On the commercial set of SWE-Bench Pro, a benchmark drawn from private company codebases, the best models tested resolved fewer than 20% of tasks (Deng et al., 2025). The same paper notes that 161 of the 500 tasks in the widely used SWE-Bench Verified set need only a one- or two-line change. These observations concern different task sets and measures. They motivate examining larger engineering tasks, rather than measuring a demo-to-application transition. A short description produces screens, forms and sample data, and the application runs. As a real project grows, the agent skips requirements it followed earlier, fills gaps in the specification with assumptions and reports work as finished when it is not.

The studies below examine related failure modes across different models and tasks. Together they identify risks; none of them gives a single failure rate for building applications. In this post we collect them in one place. The other papers in this series take each group in turn and summarise the research on what to do about it.

The gap between a demo and an application

Software-engineering benchmarks give the most direct evidence. SWE-Bench Pro uses long-horizon tasks from business applications, where a fix spans several files and can take a professional engineer hours or days.

SaaSBench (Ren et al., 2026) asked agents to build enterprise software-as-a-service systems across 30 tasks, 8 programming languages, 6 databases and 13 frameworks. The authors found that the main obstacle for the agents was configuring and integrating a system of many components. Writing isolated code logic was the easier part. More than 95% of failures happened before the agents reached the business logic. A demo exercises the part that models do well. The figure below shows the layers underneath it that a serious application needs and a prompt does not supply.

A request, Build a CRM for our sales team, produces an application window with a navigation bar, a contact form and a table of sample data: the visible surface. Beneath it sit two layers a serious application also needs and a prompt does not supply. The specification, left for the model to guess, holds business rules, edge cases, the data model and integrations. The controls and operations, held outside the model, hold tests, security checks, access control, architecture rules, audit records, change approval, monitoring and recovery. A grey bracket marks the working demo as the surface alone; an orange bracket marks the system of record as every layer in place.
What a prompt supplies and what a serious application needs. The demo runs on the top layer alone; a system of record depends on the layers underneath, which the findings in this post show a model does not reliably supply for itself.

View full-size diagram

What the model loses as the work grows

  1. Accuracy falls as the context fills. In Lost in the Middle (Liu et al., 2024), GPT-3.5-Turbo answered 75.8% of questions when the relevant document came first of twenty, and 53.8% when it came tenth. NoLiMa (Modarressi et al., 2025) found that eleven of thirteen long-context models fell below half their short-input score at 32,000 tokens.
  2. Instructions are dropped as they multiply. IFScale (Jaroslawicz et al., 2025) gave twenty models up to 500 instructions at once. The best reached 68% accuracy at that density, and models showed a bias toward the instructions that came first.
  3. Long tasks fail more often than short ones. METR (Kwa et al., 2025) measured a 50% success horizon of about 50 minutes of human work for Claude 3.7 Sonnet, a figure that had doubled roughly every seven months. A whole application built in one run is still far longer than that.

What the model invents

  1. Packages that do not exist. Spracklen et al. (2025) found that 19.7% of the 2.23 million package recommendations collected in the study named packages that did not exist. In a sampled Python repetition experiment, 43% of hallucinated packages recurred in all ten reruns.
  2. Requirements the prompt left out. In SWE-Bench Pro, GPT-5’s resolve rate on a task sample fell from 25.9% to 8.4% when the requirements and interface details were removed from the prompt. The authors note that without them, the tests can also reject solutions that work but differ from the expected interface. Either way, what the prompt did not state was not reliably supplied.
  3. Different code for the same request. Ouyang et al. (2025) sent each prompt to ChatGPT five times. At the default temperature, on 75.76% of CodeContests tasks no test case produced identical output across all five candidates. At a temperature of zero the share was 43.64%, lower but not zero.

What the model games

  1. Tests changed instead of code fixed. ImpossibleBench (Zhong, Raghunathan and Carlini, 2025) gives agents tasks whose tests contradict the specification, so any pass is a shortcut. GPT-5 passed 54% of them on one variant, by methods from editing tests to overloading comparison operators.
  2. The scoring itself patched. METR (2025) found reward hacking in 30.4% of o3’s runs on one set of research tasks. Examples included overwriting timing functions and modifying evaluators to report success.
  3. Work that stops when it looks done. Anthropic’s Claude Code guidance states that “Claude stops when the work looks done,” and that without a check it can run, “’looks done’ is the only signal available.” SaaSBench reports agents halting early from overconfidence.

What nobody checked

  1. Security flaws in plausible code. Pearce et al. (2022) found about 40% of 1,689 programs generated for security-relevant scenarios to be vulnerable. Perry et al. (2023) found that developers using an assistant wrote less secure code and were more likely to believe it was secure.
  2. Duplication in place of reuse. GitClear (2025) analysed 211 million changed lines and found that in 2024, as AI assistants spread, copied code exceeded moved code for the first time. Moved code is the signature of refactoring.
  3. Less stable delivery. In the 2024 DORA report, AI adoption was associated with lower software delivery stability and throughput. The 2025 DORA report, from nearly 5,000 respondents, found that AI adoption now has a positive relationship with software delivery throughput and “does continue to have a negative relationship with software delivery stability”.
  4. A gap between felt and measured speed. In METR’s randomised trial (Becker et al., 2025), experienced developers took 19% longer with AI tools and afterwards estimated that they had been 20% faster.

Practices examined in the series

We use these findings to motivate the following engineering practices. The companion papers identify the supporting studies and guidance, distinguish tested interventions from our synthesis, and discuss their limits.

A prompt supplies the visible surface of an application. The research above describes what it does not supply: the specification underneath, the controls that test and secure it, and the operating layer of audit records, change approval, monitoring and recovery. For a system of record, that part has to be built into how the software is made, with controls that hold whether or not the model remembers them.

References

  • X. Deng et al., SWE-Bench Pro: Can AI Agents Solve Long-Horizon Software Engineering Tasks?, arXiv 2509.16941 (2025). 161 of 500 SWE-Bench Verified tasks need one- or two-line changes; best models tested below 20% on the commercial set; GPT-5 25.9% with requirements and interface against 8.4% with the problem statement only. Source
  • Q. Ren et al., SaaSBench: Exploring the Boundaries of Coding Agents in Long-Horizon Enterprise SaaS Engineering, arXiv 2605.17526 (2026). Over 95% of failures before business logic; premature halting and debugging loops. Source
  • N. F. Liu et al., Lost in the Middle: How Language Models Use Long Contexts, Transactions of the Association for Computational Linguistics (2024). 75.8% with the answer first, 53.8% tenth of twenty documents. Source
  • A. Modarressi et al., NoLiMa: Long-Context Evaluation Beyond Literal Matching, ICML (2025). 11 of 13 models below half their short-input score at 32K tokens. Source
  • D. Jaroslawicz et al., How Many Instructions Can LLMs Follow at Once?, arXiv 2507.11538 (2025). Best model 68% at 500 instructions; bias toward earlier instructions. Source
  • T. Kwa et al., Measuring AI Ability to Complete Long Tasks, METR (2025). 50% time horizon of about 50 minutes for Claude 3.7 Sonnet; doubling roughly every seven months. Source
  • J. Spracklen et al., We Have a Package for You!, USENIX Security Symposium (2025). 19.7% of 2.23 million package recommendations named packages that did not exist; in a sampled Python repetition experiment, 43% of hallucinated packages recurred in all ten reruns. Source
  • S. Ouyang, J. M. Zhang, M. Harman and M. Wang, An Empirical Study of the Non-determinism of ChatGPT in Code Generation, ACM Transactions on Software Engineering and Methodology (2025). Output equivalence rate of zero across five candidates for 75.76% of CodeContests tasks at the default temperature, 43.64% at temperature zero. Source
  • Z. Zhong, A. Raghunathan and N. Carlini, ImpossibleBench: Measuring LLMs' Propensity of Exploiting Test Cases, arXiv 2510.20270 (2025). GPT-5 cheats on 54% of Conflicting-SWEbench tasks; methods from test modification to operator overloading. Source
  • METR (S. Von Arx, L. Chan and E. Barnes), Recent Frontier Models Are Reward Hacking, METR blog (2025). 30.4% of o3 runs on RE-Bench tasks; evaluator and timing functions modified. Source
  • Anthropic, Best practices for Claude Code, Claude Code documentation (2026). The agent stops when the work looks done. Source
  • H. Pearce, B. Ahmad, B. Tan, B. Dolan-Gavitt and R. Karri, Asleep at the Keyboard? Assessing the Security of GitHub Copilot's Code Contributions, IEEE Symposium on Security and Privacy (2022). About 40% of 1,689 programs vulnerable. Source
  • N. Perry, M. Srivastava, D. Kumar and D. Boneh, Do Users Write More Insecure Code with AI Assistants?, ACM CCS (2023). Less secure code, more confidence in it. Source
  • GitClear, AI Copilot Code Quality: 2025 Data Suggests 4x Growth in Code Clones, GitClear research (2025). 211 million changed lines from 2020 to 2024; copy/paste exceeded moved code in 2024. Source
  • Google Cloud DORA, Accelerate State of DevOps Report 2024, DORA (2024). AI adoption was associated with lower software delivery stability and throughput. Source
  • Google Cloud, Announcing the 2025 DORA report: State of AI-assisted Software Development, Google Cloud Blog (2025). Nearly 5,000 respondents; positive relationship with throughput; continued negative relationship with stability. Source
  • J. Becker, N. Rush, E. Barnes and D. Rein, Measuring the Impact of Early-2025 AI on Experienced Open-Source Developer Productivity, METR (2025). 19% slower with AI; developers estimated 20% faster. Source

The FORGE Diagnostic takes one workload you select and shows which of these layers it already has and which a prompt has been left to fill. You get a readiness assessment and a proposed next step.

Book a Diagnostic