All posts

An AI that gives a different answer each time is not an answer

Reproducibility is not a nice property of the analyzer. It is the reason anyone believes it.

Ask most AI tools the same question twice and you get two answers. That is tolerable in a chat window and fatal in an approval workflow, because the whole point of a gate is that the thing being approved does not change while you look at it.

Consistency by caching, not by trusting the model

Analysis runs at temperature zero, which helps and is not sufficient — the same prompt can still drift across a provider's model updates. So the result is cached against a hash of the inputs: the issue text, the code snapshot it was analysed on, and the model that produced it. Ask again and you get the stored analysis rather than a fresh call.

Change the code and the snapshot changes, so the hash changes, so it re-analyses. The cache expires on the thing that should invalidate it, rather than on a timer.

What that buys

A developer and their manager looking at the same issue see the same diagnosis. An auditor asking why a change was approved six months ago gets the analysis that was actually in front of the approver. A retry after a network failure does not quietly produce a different fix.

It also costs less, which is a pleasant side effect rather than the reason.

Why the agent is kept away from it

We have an agentic assistant for gathering issue detail. It is deliberately walled off from the analyzer, and it stays that way. An agent loops, calls tools, and reaches different conclusions on different runs — which is exactly what makes it useful for a conversation and exactly what would destroy the guarantee above. Two different jobs, two different tools, one wall between them.


Corporate AI 365 works like a forward deployed engineer on every project — it learns your codebase, diagnoses what your staff report, and carries the fix through your approval gates to release.

Try it on your own code More posts