Skip to content
SDB
02Technology

The honest case for AI in the enterprise

Most enterprise AI programmes fail for the same reason enterprise search failed in 2008: nobody owned the data. Here is what actually has to be true before a model earns a place in production.

Subhendu Datta Bhowmik3 min read

I have now sat through roughly the same meeting in four different decades. A new capability arrives, it demos beautifully, and someone senior asks why we cannot have it by the end of the quarter. In 1999 it was the portal. In 2008 it was enterprise search. In 2015 it was the data lake. In 2026 it is agents.

The pattern is so consistent that it is almost useful. Each time, the technology worked. Each time, the programme struggled — not because the model or the index or the lake was wrong, but because the organisation had never resolved who owned the meaning of its own data.

What the demo hides

A retrieval-augmented chatbot built on a curated set of fifty documents is a genuinely impressive artefact. It is also a fundamentally different system from one built on the twelve million documents your business actually has, and the difference is not scale. It is entropy.

At fifty documents you know which version is current. At twelve million you have:

  • Four contradictory versions of the same policy, none marked as superseded
  • Documents whose access rules live in a system the retrieval layer cannot see
  • A decade of drafts indistinguishable from approved material
  • Domain language that means one thing in finance and something else in operations

None of these are AI problems. They are the same information governance problems that sank enterprise search, and a language model does not solve them — it amplifies them, because it will now state the wrong answer fluently and with apparent confidence.

The three preconditions

Before I am willing to put a model in front of a real user in a real business process, I want three things to be true.

One: the corpus has an owner with authority to delete. Not a steward who can comment, an owner who can remove. If nobody can retire the 2019 version of the pricing policy, your retrieval layer will keep finding it forever.

Two: authorisation is enforced at retrieval, not at generation. The most expensive mistake I see is filtering results after the model has already seen them. Permissions belong in the query, not in the prompt.

# Wrong: the model sees everything, then we hope the filter holds.
chunks = index.search(question, k=20)
answer = llm.generate(question, context=chunks)
return redact(answer, user.permissions)
 
# Right: the user's authority is part of the retrieval predicate.
chunks = index.search(
    question,
    k=20,
    filter=acl_filter(user.principal, user.groups),
)
answer = llm.generate(question, context=chunks)

The second version is barely more code. The difference is that the first one is a data breach waiting for an audit, and the second one is a system.

Three: there is a defined answer to "how do we know it got worse?" Every model-led feature drifts, because the corpus underneath it changes daily. If you cannot detect regression, you have not deployed a feature, you have deployed a liability with a friendly interface.

Where it genuinely earns its place

None of this is an argument against the technology. It is an argument about sequencing. The places where I have seen real, durable value share a shape:

CharacteristicWhy it matters
Bounded corpusGovernance is achievable, not aspirational
Human in the loopA wrong answer costs a correction, not a customer
Existing high volumeSmall percentage gains compound into real money
Verifiable outputThe user can tell good from bad without expertise

Contract review, first-line support triage, code migration, test generation, document classification — all four boxes ticked. These are not glamorous. They are also the ones still running two years later.

The technologies that survive contact with the enterprise are rarely the ones that impressed us most in the demo. They are the ones whose failure modes we understood before we shipped.

What I would tell my younger self

That the interesting question is never can the model do this. By the time you are asking, the answer is usually yes. The interesting question is whether your organisation is capable of maintaining the conditions under which the answer stays yes — and that has been the same question since 1999.

The frontier moved. The homework did not.

Filed under

  • Artificial intelligence
  • RAG
  • Data platform
  • Architecture

Keep reading

Technology5 min read

Visualize NodeMCU-plugged MPU6050 realtime movement on OLED

NodeMCU ESP8266 + MPU6050 gyro/accelerometer with SSD1306 OLED readout, optional DHT11, InvenSense teapot packets over serial, and a Processing 3D visualiser — motion on the bench and on the screen.

Read essay →
Technology5 min read

A complete home automation solution framework using Hassio

Raspberry Pi Hass.io as the hub, Mosquitto MQTT, NodeMCU driving an 8-channel relay bank, Home Assistant entities, an optional NodeMCU WebSocket UI, and a lighter IR/mobile alternative without the Pi.

Read essay →