T1 · Beginner · 7 minStable · Last reviewed: 2026-08-19Early draft

AI Systems vs. Traditional Software — the Mindset Shift

In one line · Traditional software is deterministic; an AI system is probabilistic and needs ongoing evaluation instead of fixed tests.

Glossary:Probabilistic
Why it matters

Enter with a 'works or doesn't' mindset and you'll struggle. AI systems work 'by degree' — your job is to measure and improve that degree.

Ordinary code is a calculator: same input, same output. An AI system is a smart employee: usually good, never guaranteed 100%.

A sum function always returns the same result. A summarizer may summarize the same text two acceptable ways.

How it works

The practical difference is threefold: (1) Testing — instead of a unit test that passes or fails, you build an evaluation: a set of real examples you score a success rate against (e.g., 'classification correct in 94% of cases'). (2) Debugging — instead of tracing the faulty line, you improve the prompt, data, or model and re-measure. (3) Maintenance — ordinary code stays fixed until you change it; an AI system's performance can shift when the model updates or user inputs drift, so measurement must keep running.

Practice

🧪 Try it: write a unit test for a sum function (a simple assert), then try writing a 'test' for a summarizer the same way — you'll find it impossible. Instead: collect 5 texts, define acceptance criteria for each (mentions point X, under N words), and compute a success rate. That's the test-vs-evaluation difference, hands-on.

Common mistakes

Common mistakes: (1) asserting on exact output text — it breaks on the first innocent rephrasing; (2) judging the system by one example instead of a success rate over a sample; (3) assuming what worked last month still works — without ongoing measurement, degradation happens silently.

When to use it

Use the 'measure by degree' mindset for any model-powered part: design an evaluation from day one, and gate every prompt or model change on it.

When NOT to use it

Don't extend this mindset to the ordinary code around the model: your API layer, database, and parsing still get normal pass/fail unit tests. The probabilistic mindset is for the model part only.

LET'S BUILD ITDone reading — now build it yourself.Contrast a fixed test with an evaluation