The Problem Isn't the LLM: How Architecture Disguises Itself as Model Quality

The story of a failed LLM rollout in customer services shows a classic mistake: hunting for the problem in the model when it sits in the system architecture. Everything worked in the demo, but errors appeared in production with real data. The team discussed replacing the model with a more powerful one. The logs told a different story: the LLM should not have been answering at all, because routing sent the user down the wrong branch. The costliest errors lived in routing, the API, handoff and the knowledge base. The model simply voiced the system's problems in polished prose.

AI-processed from Habr AI; edited by Hamidun News
The Problem Isn't the LLM: How Architecture Disguises Itself as Model Quality
Source: Habr AI. Collage: Hamidun News.
Listen to article
Article Fact Sheet & Key Figures
ParameterDetails
Primary sourceHabr AI ↗
Editor-in-Chief
Key metric #1The problem was in routing, not in generation quality
Key metric #2The API returns partial, so the system should send the user to support
Key metric #3But the LLM received the partial as a complete answer and wrote a convincing but wrong generation

Experience deploying LLMs in customer services has exposed a dangerous pattern: when an LLM gives a wrong answer, it is often not the LLM's fault.

Demo vs. reality

In the pilot demo, the system worked flawlessly: the model answered with ease, the business saw progress, and the team compared different LLMs and tweaked prompts. Then real users, real data and real constraints arrived. Answers became confident, but sometimes wrong.

The model wasn't to blame

The team planned to switch to a more powerful LLM. But a log review showed that in some dialogues the model should not have answered at all. Routing sent the user to the answer branch even though the API returned a partial response, a case that calls for handoff to a human.

  • The problem was in routing, not in generation quality
  • The API returns partial, so the system should send the user to support
  • But the LLM received the partial as a complete answer and wrote a convincing but wrong generation
  • The model eloquently voiced the architecture's errors

Where the real errors lived

The costliest bugs were not in the LLM. They were in:

  • Routing, which sends users down the wrong branches
  • API integrations, which do not distinguish partial from full responses
  • Handoff logic, i.e. when to pass the user to a human
  • The knowledge base, with outdated or incomplete information
  • The compliance layer, i.e. conformity with regulations
  • Metrics, i.e. what counts as an error in the first place

The turning point

The shift came when the question changed. Instead of "Why did the LLM answer incorrectly?", the team asked: "Why did the system put the model in a situation where a correct answer could not exist?"

The conclusion is bitter: a strong LLM does not compensate for a weak architecture. Without proper routing, an owner for the knowledge base and clear handoff logic, comparing models often becomes an expensive distraction. Time is better spent on the system than on prompts.

Key Questions Answered

What are the key details on Demo vs. reality?

In the pilot demo, the system worked flawlessly: the model answered with ease, the business saw progress, and the team compared different LLMs and tweaked prompts. Then real users, real data and real constraints arrived. Answers became confident, but sometimes wrong.

What are the key details on The model wasn't to blame?

The team planned to switch to a more powerful LLM. But a log review showed that in some dialogues the model should not have answered at all. Routing sent the user to the answer branch even though the API returned a partial response, a case that calls for handoff to a human. The problem was in routing, not in generation quality The API returns partial, so the system should send the user to support But the LLM received the partial as a complete answer and wrote a convincing but wrong generation The model eloquently voiced the architecture's errors

Where the real errors lived?

The costliest bugs were not in the LLM. They were in: Routing, which sends users down the wrong branches API integrations, which do not distinguish partial from full responses Handoff logic, i.e. when to pass the user to a human The knowledge base, with outdated or incomplete information The compliance layer, i.e. conformity with regulations Metrics, i.e. what counts as an error in the first place

ZK
Zhemal Khamidun — CPO at Alpina Digital, product manager of AlpinaGPT. Building AI products since 2019. Hamidun News is a pet project that grew into a production aggregator with 6,000+ readers.
✦ Unified AI Workspace · Nomad

Test Frontier LLMs & Autonomous Agents in One Workspace

Run Claude Opus 5.5, GPT-6, Gemini 3.1, and DeepSeek side-by-side in Nomad AI (nomadnet.ai) — unified model routing, deep research, and multimodal workflows under one subscription.

Try Nomad AI →Launch Nomad Agent
What do you think?
Loading comments…