Everything is Plumbing in the world of AI
Here's a take that will not get me invited to a single AI panel: most of what we call "AI work" is plumbing. Glorious, unsexy, soul-crushing plumbing.
I know. You came here for transformers and emergent behavior. Instead, I want to talk about pipes.
The demo lies to you
Every AI demo looks like magic. A prompt goes in, a miracle comes out, an investor signs a term sheet. What the demo doesn't show is the six weeks someone spent figuring out why the customer table has "Bengaluru," "Bangalore," and "BLR" for the same city, or why the PDF parser thinks every GST invoice is written in Klingon.
The model isn't the hard part anymore. The model is a faucet. Beautiful, expensive, occasionally a little hallucinatory, but it's just a faucet. What determines whether anything useful comes out of it is everything behind the wall: the pipes, the pressure, the water itself, and whether some intern accidentally connected the sewage line to the kitchen sink.
Data is water. Treat it like it.
If you've ever taken a shower in a building with bad water pressure, you understand the entire field of LLM application engineering.
Too little pressure and nothing useful happens. You stand there shivering, waving your head under a sad trickle, wondering if this is what spirituality feels like. Same thing happens when you ask a model to make a decision and feed it three bullet points of context. It gives you a confident, generic, useless answer. It's not the model's fault. You gave it a trickle.
Too much pressure and the pipe bursts. In a building, that's a flood and an angry landlord. In an LLM, that's a hallucination, the model, drowning in irrelevant tokens, makes something up to escape the noise. "I dumped the entire Confluence into the prompt and it still got the answer wrong" is the technical equivalent of "I cranked the shower to max and now the bathroom is on the ceiling."
Good plumbing and good AI, is about right-sized flow. The right data, at the right volume, through a pipe the right width.
The pipe has a diameter, and it's smaller than you think🥲
Context windows are pipe diameter. Yes, the brochure says a million tokens. The brochure also said your apartment had "abundant natural light." Both are technically true and emotionally misleading.
You can shove a million tokens through, sure. But the model's attention pools at the entry and exit of the pipe and gets sluggish in the middle. The water comes out warm and confused. So you do what every good plumber does: you don't widen the pipe, you stop sending it junk. Retrieval, chunking, ranking, summarization - that's all just pipe-sizing.
Leakage is the silent killer
In real plumbing, the leak you can see is fine. It's the one buried inside the wall, the slow seepage that quietly chews through the plaster for two years until one monsoon morning a patch of paint puffs up like a blister and the ceiling starts crying brown tears — that ends your weekend.
Same with data pipelines. The loud failure - the 500 error, the schema mismatch, the parser that crashes on emojis - is the easy one. The dangerous leak is the row that silently gets dropped because a join key was null. The PII that ends up in a logging table because someone's "for now" became "for production." The vector that got embedded from a doc the user revoked access to three months ago.
Nobody notices until the wall is soaked. Then everyone notices at once, usually in a Slack channel you got added to at 11 p.m.
Water quality, or: garbage in, confidently wrong out
You can build the most beautiful plumbing in the world and pump pond water through it. The model will obediently drink the pond water and tell your customer, with great composure, that their refund was processed in 1847.
People keep trying to solve this with bigger models. It does not work. A bigger model on dirty data is just a more articulate liar. The fix isn't intelligence - it's filtration. Dedup, canonicalize, validate, deprecate, and for the love of god, delete the spreadsheet named final_v3_USE_THIS_ONE.xlsx.
The plumber nobody photographs
Here's the unfair part. When the AI product works, the model gets the headline. When it breaks, the data engineer gets the page.
There is no LinkedIn influencer posting "I spent three weeks reconciling two CRMs and now retrieval precision is up 11 points." But that person, the unglamorous one mapping cust_id to customer_uuid to account_ref in a 400-line dbt model is the reason your chatbot doesn't gaslight paying customers with a straight face.
The future doesn't belong to whoever has the best model. Everyone has the same models. It belongs to whoever has the cleanest pipes.
So go hire a plumber. And maybe buy them a coffee.