AI Is Not Magic

· 3 min read Đọc bài này bằng tiếng Việt

Every platform right now is pushing the same line: adopt AI or get left behind. Small teams replacing whole departments, solo founders shipping products over a weekend, job titles nobody had heard of six months ago suddenly labeled “the next big thing.” If you actually watch how people use these tools day to day, the picture is a lot messier. A small group has genuinely reshaped their workflow. Most are somewhere between underwhelmed and quietly giving up. What’s interesting is the gap between the marketing and the ground.

Everybody says “AI”, but nobody means the same thing

I was grabbing coffee with a founder a while back. He was pumped: “We’re integrating AI into our product, what do you think?”

I asked: “What kind of AI? LLM chat? Agentic? Automation?”

He paused, then laughed: “I mean… you know. AI.”

That’s where it starts. Most people collapse everything into one word. LLM? AI. Chatbot? AI. Automation tool? AI. Copilot? AI. But Claude Code, ChatGPT, Cursor, Copilot are wildly different tools. Using the wrong one is like picking up a screwdriver to hammer a nail. When you can’t tell what you’re holding, you either expect too much or get frustrated and bail. Neither ends well.

What it’s good at, what it sucks at

From what I’ve seen across teams and projects, AI coding tools genuinely help productivity, but only for certain kinds of work.

Things with clear templates and well-worn patterns: writing tests, generating boilerplate, refactoring known structures, docs. The speed difference is obvious. Work that used to eat half a day is often done in under ten minutes.

Holistic, multi-dimensional reasoning is a different story. System architecture, picking the tech stack for a specific problem, weighing performance against maintainability. A few technical constraints explain why.

LLM APIs are stateless. Each request, the model only sees the tokens in that request. Want it to remember the earlier chat? You resend the whole history every turn. Context is thin, so it guesses, and guesses go wrong.

Context windows are finite. Overflow the window and the model silently drops things, piecing reasoning together from whatever’s left. Research has consistently shown that longer contexts tend to degrade reasoning rather than help it.

And there’s information poisoning. Feed five different approaches to the same problem into the prompt and now the model has to reason through which one applies. More reasoning steps, more cumulative error.

You see the pattern everywhere. Someone types “build me an e-commerce site like Shopify” and waits. Ten minutes in, the AI is drifting, hallucinating. They get frustrated and write the whole thing off. But the AI never had a real sense of what they wanted. It was doing its best with a three-line prompt.

Builders and Architects

There’s a metaphor I keep coming back to: builders versus architects.

Builders do repetitive work with clear processes. Mix mortar, lay bricks, plaster walls. AI is great at this. Fast, clean, few careless mistakes.

Architects put together the master plan, balancing aesthetics, function, structure, cost. They define the frame the builders fill.

AI is a superhuman builder. The architect has to be you.

The part worth internalizing: AI works best when you’ve already thought the problem through. Sketch the architecture, hand it over, and it helps you build faster. Hand it an empty lot and say “build me a house”, you’ll get something, but it might be a chicken coop. The best prompts come after the thinking, not before.

Applied to software: if your job is mostly writing repetitive, pattern-based code, AI is a real competitive threat. It’s faster and cleaner. But if you’re a Solution Architect or Business Analyst — analyzing the big picture, understanding the problem, designing the solution — AI is a strong assistant, not a replacement.

How to use it well

Before opening the AI, sit with the problem for at least ten minutes. Sounds simple. On tired days the temptation to skip that step is real. A good prompt comes from knowing what you don’t know, not from being in a hurry.

Ask “why”, not just “how”. The AI suggests a solution, make it explain. Why this approach? What else did it consider? What’s the trade-off? If the explanation isn’t convincing, it doesn’t get merged.

Read every line of generated code. Plenty of people see “it runs” and move on, and that’s how bugs you don’t understand end up in production. If you don’t understand what the AI wrote, you’ll be back asking it again in the same loop.

And once a week, do a no-AI session. Editor and docs only. First time feels like withdrawal. After a few weeks the difference in debugging speed and clarity of thought is noticeable. Call it maintenance for your own reasoning.

Comments

  1. Loading comments…