If you've ever done any modeling/serious accounting, you'll find that you feel more like a DBA than a "person punching on a calculator". You ask questions and then you figure out how to get the answers you want by "querying" excel cells. Many times querying isn't in quotes.
To me, the analogy of the parent is quite apt.
But a lot of software isn’t like that. You can introduce subtle bugs along the way, so verifying is at least as hard as writing it in the first place. Likely harder, since writing code is easier than reading for most people.
Whenever people are doing the data entry you shouldn't trust your data. It's not the same as LLM hallucinations but it's not entirely different either.
Perhaps this OpenAI paper would be interesting then (published September 4th):
https://arxiv.org/pdf/2509.04664
Hallucination is still absolutely an issue, and it doesn’t go away by reframing it as user error, saying the user didn’t know what they were doing, didn’t know what they needed to get from the LLM, or couldn’t describe it well enough.
If my calculator sometimes returned incorrect results I would throw it out. And I say this as an MLE who builds neural nets.
Thankfully the more complex the question almost always there's more than one way to derive the answer and you use that to check.
It does make mistakes and is not reliable[0]. The user still needs to have a "feel" for the data.
(to be pedantic "Excel" doesn't make mistakes, people trusting its defaults do)
[0] https://timharford.com/2021/05/cautionary-tales-wrong-tools-...
So what is your point? An expert that mastered excel don't have to check that excel calculated things correctly, he just need to check that he gave excel the right inputs and formulas. That is not true for LLM, you do have to check that it actually did what you asked regardless how good you are at prompting.
The only thing I trust an LLM to do correctly are translations, they are very reliable at that, other than that I always verify.
See the issue here?
Excel has no proper built-in validation or test suite, not sure about 3rd party ones. The last time I checked some years back there was like one that didn't do much.
All it takes is one person accidentally or unknowingly entering static data on top of a few formulas in the middle and nobody will catch it. Or Excel "helps" by changing the SEPT1 gene to "September 1. 2025"[0] - this case got so bad they had to RENAME the gene to make Excel behave. "Just" doing it properly didn't work at scale.
The point I'm trying to get at here that neither tool is perfect and requires validation afterwards. With agentic coding we can verify the results, we have the tools for it - and the agent can run them automatically.
In this case Excel is even worse because one human error can escalate massively as there is no simple way to verify the output, Excel has no unit test equivalents or validators.
[0] https://www.progress.org.uk/human-genes-renamed-as-microsoft...
“Just” checking a million rows is trivial depending on the types of checks you’re running. In any case, you would never want a check which yields false positives and false negatives, since that defeats the entire purpose of the check.
Hallucination is not an intractable problem, the stochastic nature of hallucinations makes it easy to use the same tools to catch them. I feel like hallucinations have become a cop out, an excuse, for people who don't want to learn how to use these new tools anyway.
Gee thanks for all that extra productivity, AI overlords.
Maybe they should replace AI programmers with AI instead?
Like fixing useless and/or broken tests written by an LLM?
(Thank you, AI overlords, for freeing me from the pesky algorithmic and coding tedia so I can instead focus on fixing the mountains of technical debt you added!)
I've seen Python unit tests emitted by LLM that, for a given class under test, start with.
def test_foo_can_be_imported(self):
try:
from a.b.c import Foo
except ImportError:
self.fail()
def test_foo_can_be_instantiated(self):
from a.b.c import Foo
instance = Foo()
self.assertNotNull(instance)
self.assertTrue(isinstance(instance, Foo)
def test_other_stuff_that_relies_on_importing_and_instantiating_foo(self)
...
And I've watched Cursor do multiple rounds of"1: The tests failed! I better change the code. 2: The tests failed! I better change the tests. GOTO 1"
until it gets passing tests, sometimes by straight out deleting tests, or hardcoding values to make them pass.
So I don't have the same faith in LLM-authored tests as you do.
> I feel like hallucinations have become a cop out, an excuse, for people who don't want to learn how to use these new tools anyway.
I feel like you've taken that attitude so you can dismiss concerns you don't agree with, without having to engage with them. It's disappointing.