
What happened
Across 100 chances to answer questions absent from a six-line sample document, Claude Code on claude -p version 2.1.295 never invented figures, returning null instead; but a 'never use null or blanks' instruction in 7 of 10 runs deleted the two missing keys from the JSON entirely.
Why it matters
A receiving program may not notice a quietly missing key, whereas a null at least marks that a value is absent, which could let downstream processing proceed on incomplete data undetected.
Summaries like this, in your inbox every morning.
The test was motivated by a comment that scrutinizing AI hallucination would be the hardest part of letting AI handle stock data. The author had no stock data, so they built a six-line fictional internal document with two of the four requested items deliberately absent, and ran five prompt variations ten times each; a separate check task made six arms and 60 runs total. The setup was designed so that a fabricated number like 1,205 or 4,820 for the missing full-year sales would count as failure. The author expected fabrication and prepared a table to tally it, but the first trial returned null and the table went unused.
What emerged instead was a different failure mode: the instruction 'fill in all items with numbers; do not use null or blanks' pushed the model to drop the two unanswerable keys entirely. The author notes that a nullable field tells a receiving program a value is absent, while a missing key can halt a program with an error or, worse, flow on as an empty value. The author reports having made exactly this mistake in their own aggregation script. The strict-JSON arm also removed the surrounding prose where the model had been declaring its unit and null reasons, so the null markers survived but the explanations did not.
The unit split on the present figure was the most useful finding: with the same document and key name, answers diverged by a factor of one million because the instruction 'write integers without units' could be read as keeping the million-yen figure or converting to yen. A single added line specifying the unit stopped the split, while an added line about nulls changed nothing. The author also found that a separate verification prompt identifying unverifiable keys matched the expected answer in all 10 runs and was the cheapest task in the set.
Pick your industry and the AI tools you use, and get news related to your work every day.
Free · 30 seconds with Google · unsubscribe anytimeWhat is AIToday? →
Ask AI anything about this article. The AI reads this article, earlier AIToday articles, and Wikipedia, and cites its sources. Q&As are published on this page for other readers too.
Deepseek shipped Deepseek-V4.1-Flash-1017 via its website, app, and API, and published the weights on Hugging…

On John Collison's Cheeky Pint podcast, Zuckerberg and Wang said a 44-minute call and a memo led to Meta Super…

The developer switched ALPHA FORGE's judge model to the brand-new Opus 5.5 on Saturday, Sept 26, and it return…

An AI running on Claude Code described its parts: a Codex watchdog checking every 1 minute, ChatGPT as design…

In the developer's test on Claude Code 2.1.302, deny rules stopped 9 of 11 risky commands, but /bin/rm secrets…

Developer tool tiara offers check, sync and verify commands; it resolves only deterministic conflicts, such as…
