Somewhere in the excitement, a lot of people started pointing AI at problems that never needed it. Converting TypeScript to JavaScript with a model. Cleaning temp files with an AI “skill.” These feel modern and are quietly a downgrade, because they swap a fast, reliable, deterministic process for a slow, probabilistic one, and attach a real risk in the trade.

Deterministic work belongs to deterministic tools

Some jobs have exactly one correct output and a tool that produces it instantly. Compiling TypeScript is one: a compiler converts thousands of files in under a second, correctly, every time. Ask a model to do it and, best case, it is smart enough to just call the compiler; worst case it opens each file and rewrites it token by token, slowly and with a chance of error. You have taken a solved, sub-second, guaranteed task and made it slower and less certain. That is not using AI well. That is using it to feel busy.

The risk is not hypothetical

Cleaning build caches is the same story, with teeth. Those directories live in known, stable locations; a five-line script removes them safely and you can read exactly what it will touch. Hand the job to an AI that runs commands at runtime and it can issue an arbitrary destructive command with full confidence. This is not a thought experiment: a widely shared incident had a frontier model, running with full access, delete almost all of a user’s files by mistake. A good model, an honest mistake, a wrecked machine. The lesson is not distrust one vendor; it is do not put a probabilistic agent in charge of destructive, deterministic actions when a script would do it safely.

The rule that keeps you out of trouble

Anything that can be done deterministically should be. Reserve AI for the genuinely non-deterministic work where its judgment actually earns its keep: understanding a messy request, reviewing code for the bug a linter cannot see, reading unstructured text. And even there, lean on deterministic guards first; a type checker, a linter, or a small custom validator catches whole classes of error more cheaply and more reliably than asking a model to be careful. AI is a superb tool for building things. It is a poor choice for jobs a compiler already nailed.

What this means for a business

When we design a system in our solutions, half the work is drawing this exact line: automate the deterministic plumbing with plain, verifiable code, and spend the model only where the task is truly ambiguous, with a human on anything that carries consequence. It is the same discipline behind treating automation debt seriously and behind wiring an AI stack so each piece does only what it should. Pointing a large model at a job a script already solved is not the future. It is an expensive way to add risk to something that used to just work.

Prompted by the video “Stop using AI for these things” (2026). Credit to the creator; the framing here is ours.