The Rise of Inexplicable AI Failures in Software
As LLM tools like Jev accelerate development, engineers risk normalizing 'stupid thing sucks' over root cause analysis.
Overview
A growing chorus of software engineers and analysts is warning that the rapid adoption of AI development tools is normalizing a new kind of software failure: the inexplicable one. Unlike traditional bugs, which typically stem from broken contracts, syntax errors, or logic flaws, these AI-induced failures offer no clear root cause. Instead, they present as capricious errors that defy standard debugging practices.
The core concern is not merely that AI will introduce more bugs, but that the industry is losing its capacity to investigate them. When systems fail due to opaque probabilistic models rather than deterministic code, the traditional path from error to accountability is severed. Developers are increasingly accepting "the model made a mistake" as a final explanation, leading to a culture where software instability is met with resignation rather than resolution.
The Allure of Opaque Speed
Central to this trend is the emergence of tools like Jev, an AI model developed by TypeSafe AI that returns typed values alongside probability estimates. The product’s value proposition is straightforward: it is fast, cheap, and allows for rapid integration without the heavy lifting typically required in software engineering. Proponents argue it enables teams to ship features quickly, particularly those needing to validate "AI-powered" capabilities before weekly deadlines.
For many users, however, the actual experience is roughly just "stupid thing sucks." Software already feels capricious; more failures just change the rate of frustration.
However, critics point out a fundamental flaw in this approach. To properly utilize a probabilistic model, one must build rigorous evaluation pipelines and establish ground truth. Yet, the very existence of such a pipeline often means a team is already most of the way toward fine-tuning their own solution or adopting more conventional engineering practices. Instead of building these safeguards, many organizations are bypassing them entirely, handing opaque questions to the model and accepting opaque responses.
This shortcut creates a dangerous feedback loop. When downstream logic breaks because the AI hallucinated a type or returned an incorrect value, the failure is often dismissed as an inherent risk of using AI. Error budgets, failure mode analysis, and comprehensive test sets are deferred indefinitely. The user becomes the tester, discovering the failure rate only after the product has shipped.
The Myth of Confidence Scores
Defenders of these tools frequently cite confidence scores as the solution to unpredictability. The argument suggests that if a model returns a low-confidence result, the system can simply reject it or flag it for human review. In practice, however, this rarely happens with any meaningful rigor.
For confidence scores to be useful, two conditions must be met: the scores must be well-calibrated, and there must be a clear model for the cost of uncertainty. Most AI tooling advertisements highlight benchmark accuracy but remain silent on calibration. Furthermore, the documentation for many of these tools provides arbitrary thresholds—such as 0.9 for high-risk actions—while acknowledging that the correct values depend entirely on the specific use case.
In reality, developers often adopt a cargo-cult approach to these metrics. A response with 73% confidence might be accepted simply because it cleared a vague bar, or it might be cited as the excuse for why an API call failed later. The result is not safer software, but a system where failures are masked by statistical jargon rather than addressed. Engineers are not learning to manage uncertainty; they are learning to shrug at it.
The Loss of Accountability
Traditional software failures, while frustrating, are inherently accountable. If a button breaks or an HTTP endpoint returns a 500 error, there is an expectation that someone understands why. There may be a broken contract, a missing dependency, or a handler that was not expected to throw. While debugging can be difficult, the causality is traceable. Someone owns the failure.
AI-driven development erodes this ownership. When a system fails because of an unexplainable probabilistic output, there is no "someone" to hold responsible in the traditional sense. The failure is not a bug to be fixed but a feature of the underlying randomness. This leads to a normalization of inexplicability, where "sometimes things just suck" becomes the accepted endpoint of investigation.
This shift has profound implications for software quality. It encourages the shipping of systems where neither the user nor the builder is interested in understanding the underlying causes of failure. The tragedy, analysts argue, is that LLM-accelerated development could actually help solve these issues. Automated QA workflows and robust eval pipelines are often skipped due to a lack of engineering time, not a lack of technical feasibility.
My fear is not that more things will fail when things are accelerated by LLM-driven development. They will. They have. Such is part of the price of building things in a novel manner. My fear is that "sometimes it just sucks" is going to be more and more the accepted endpoint of investigations.
By prioritizing speed over scrutiny, the industry risks building a landscape where software instability is no longer seen as a problem to be solved, but as an unavoidable aspect of modern technology. The door may be blocked by a body or a billion dollars in gold, but instead of removing the obstruction, developers are simply labeling the door as "stupid" and moving on.
Sources
- 1
The Rise of Inexplicable AI Failures in Software
https://www.ihatethefuture.com/2026/09/the-normalization-of-inexplicable.html