Why AI is probabilistic
Definition
Probabilistic means the AI doesn’t “know” the answer. It picks the most likely next word based on patterns and provide a full answear.
Deterministic vs probabilistic
| Aspect | Traditional code | AI |
|---|---|---|
| Same input → same output? | Always | Not always |
| Failure mode | Crash / exception | Looks correct but is wrong |
| How you verify | Tests (pass/fail) | Human judgment + testing |
Example
Prompt: “Write a short joke about programmers”
User might get:
- Output:
"Why do programmers prefer dark mode? Because light attracts bugs."or - Output:
"How many programmers does it take to change a light bulb? None, that’s a hardware problem."or - Output: a completely different joke each time
Analogy
Code is like a strict recipe: same ingredients (input) always produce the same dish (output).
AI is like a recipe generator trained on millions of cookbooks: it doesn’t follow one fixed recipe. Instead, it predicts the most likely next step each time, so the same ingredients (input) can lead to slightly different dishes (output).
What to keep deterministic
| Layer | Why? |
|---|---|
| CI/CD pipeline | • AI can provide a summary of test failures but • Pipeline must pass or fail based on checks ( tests, linting, security scans) |
| Rollback logic | • AI can suggest rollback but • Triggers must be rule-based ( error_rate > 20%, latency > threshold) |
| Production deployments | • AI can provide risk analysis but • A human must give the final deployment approval |
| Security & compliance | • AI can detect issues but • Decisions must be explainable, reproducible, and auditable |
| Incident triage | • AI can cluster alerts, detect anomalies, and summarise incidents • Humans must make the final diagnosis and remediation decisions |
How to make AI more predictable?
1. Be specific and precise: clearly define the goal, expected length, tone, and output format
Bad: "Write something about CI/CD"
Good: "Write a 3-sentence explanation of CI/CD for junior developers
in a simple, non-technical tone."2. Use prompts examples: provide 2–3 examples of input and the desired output format
Bad: "Classify this text."
Good: "Classify this text using this example extracted features:
Input: Login is broken for some users
Output: Bug — High — Auth failure affecting users — check auth changes
Input: Add dark mode
Output: Feature — Low — UI theme toggle — add settings switch"3. Define negative constraints: explicitly state what to exclude
Bad: "Summarize this pull request."
Good: "Summarize this pull request in 3 bullet points.
Do not include introductory text, conclusions, or apologies.
Do not explain your reasoning, only output the summary."