Recently, the industry has grown comfortable calling any automated interaction with code agentic. If a system can read source files, generate summaries, and run without human intervention, it is labelled intelligent—sometimes even autonomous.
This framing is not just inaccurate. It is technically wrong.
At system scale, understanding code is not a language problem - It is a truth problem.
No amount of prompting, context expansion, or narrative coherence can compensate for the absence of a deterministic definition of reality. Without an explicit, machine-verifiable model of structure and behaviour, there is nothing for an “agent” to reason over, nothing it can be accountable to, and nothing that can be trusted when change occurs.
This technical companion paper makes a deliberately unfashionable argument: before intelligence, there must be determinism.
Its formed as a Q&A technical paper and is designed to challenge current thinking.
Tables and columns describe interfaces, not behaviour.
They tell you:
They do not capture:
At system scale, behaviour — not structure — defines impact.
A change in how a value is derived is almost always more significant than a change in where it is stored.
Any approach that stops at tables and columns is blind to:
This is not a tooling limitation.
It is a modelling failure.
Single‑file understanding is not the challenge.
System‑level understanding requires the ability to:
This is where most LLM‑based approaches quietly fail.
Because cross‑code resolution is not a language problem. It is a structural resolution problem.
The answer is not “more context” or “better prompting”.
The answer is a graph.
Graphs are not a visual convenience. They are the only representation that makes dependency explicit and traversable.
A deterministic lineage graph provides:
This enables operations that narrative output fundamentally cannot:
A graph can be fully walked. A language model cannot know whether it has seen everything.
That distinction matters.
An LLM placed on top of code — even with tooling and automation — remains a probabilistic language model.
It:
It does not:
Wrapping this output in workflows does not change its nature.
Automation is not agency.
An agent, by definition, is authorised to act.
Authorisation requires:
A probabilistic model cannot supply those properties.
This is why an LLM alone is, at best, an assistant — not an agent.
From a systems perspective, agentic does not mean:
Agentic means:
This requires a substrate that is:
Without that substrate, there is nothing for an agent to be responsible to.
Determinism is not a philosophical stance.
It is an engineering contract.
A deterministic system explicitly states:
This makes outputs machine‑trustworthy, not just human‑readable.
It allows systems to answer questions like:
No probabilistic system can offer those guarantees.
Safe, scalable systems separate responsibilities cleanly:
When this boundary is respected:
When it is not:
This pattern repeats across every large estate.
When organisations talk about “AI‑driven code understanding”, they are usually referring to one of three models — even if they don’t name them explicitly.
Understanding why two of these fail is essential to understanding why determinism and graphs are not optional.
This is the traditional approach:
This model has two defining characteristics:
The key limitation is not effort — it is non‑determinism.
Human understanding cannot be replayed, diffed, or mechanically validated.
At scale, this becomes operationally and economically unsustainable.
This is the increasingly popular alternative:
This model feels radically faster — and superficially more modern.
But technically, it has a hard ceiling.
LLMs are probabilistic language models. They:
This is especially important for SAS‑based systems.
No LLM will ever reliably:
These are not tuning problems. They are model‑class limitations.
Automating this output does not make it agentic. It only makes probabilistic interpretation faster.
The confusion arises because:
But autonomy is not agency.
An agent must be able to:
A probabilistic model operating directly on code cannot satisfy those conditions.
It can describe.
It cannot guarantee.
The third model takes a fundamentally different approach:
This model is harder.
It requires:
But it has properties the other two never can:
This is why the difference is not “seconds vs days”.
It is: determinism vs interpretation
It is tempting to reduce this to performance:
But speed is not the real differentiator.
The real difference is what happens after the result is produced.
Only deterministic, graph‑based outputs can be:
Everything else is a one‑off explanation.
A predictable pattern is emerging in many AI programmes:
This creates a dangerous illusion: the agent appears reliable because humans are silently compensating for its gaps.
The cost is not only labour. The cost is trust:
An LLM-on-code system is still a probabilistic text generator, not an authority on system structure. The fact that it runs in an automated pipeline does not change the model class.
A useful definition of “agentic” has two non-negotiables:
This is explicitly captured in Agentic AI Customer Message 2026, which defines agentic systems as combining autonomy with human oversight and governance by design, and balancing LLMs with deterministic guardrails.
So if an “agent” is producing outcomes that require silent human correction, what you have is not agency—it is human decisioning with AI-assisted drafting.
The most damaging failures in code understanding do not arrive as errors. They arrive as omissions:
Those omissions often remain hidden until change is introduced—exactly the moment organisations are trying to accelerate: refactoring, transpilation, upgrades, integration, and audit readiness.
This is why the controlled approach described in D1 - From Deterministic Lineage Graphs to Controlled AI Responses makes a blunt point: controlling an LLM is not primarily prompt engineering; it requires a finite answer space, deterministic ordering, template-bound output, and a hard stop on inference—because the lineage itself must remain stable and provable.
The key insight from D1 - From Deterministic Lineage Graphs to Controlled AI Responses is worth stating directly:
“The lineage never changes. Only the narration can.”
If the lineage appears to “change” between runs, the system is not discovering new truth—it is drifting.
Once an organisation embeds deterministic, canonical truth as a graph, two things happen:
That’s the progression described in A0 - Lineage to Infrastructure - Building Truth Before Intelligence: determinism enables infrastructure; infrastructure enables governance at scale; only then does intelligence become safe.
If your ‘agent’ needs humans to quietly correct it, what you’ve built isn’t autonomy—it’s a hidden manual process with an AI front-end.
By naming and dissecting the hidden human patch layer, you’re not just criticising LLMs—you’re protecting AI from reputational damage. You’re drawing a clean distinction:
Agentic systems require authority.
Authority requires:
That boundary is not language. It is structure.
Until deterministic graphs exist, there is nothing for an agent to act within.
Calling LLM‑driven automation “agentic” before that foundation exists is not ambitious.
It is premature.
This is not an argument against LLMs.
It is an argument against misplacing them.
LLMs are excellent at:
They are not capable of:
Agentic systems begin after determinism — not instead of it.
The hard path was never fashionable. But it is the only one that has ever scaled.
Next - The Minimum Deterministic Substrate What Must Be True Before AI Is Allowed to Act - Link
Dive into keynotes, announcements and breakthroughs on demand.
Explore Now →The rapid growth of AI technologies is driving an AI skills gap and demand for AI talent. Ready to grow your AI literacy? SAS offers free ways to get started for beginners, business leaders, and analytics professionals of all skill levels. Your future self will thank you.