ai-ledger

Same Prompt, Two Sessions: The Results

Same model, same prompt, two fresh sessions (setup). Both scripts ran without errors and looked reasonable. Both even agreed on “within 30 days” (29 days flagged, 31 not). Then we ran them against the article’s seeded sample data:

Edge case Approved answer Session A Session B
“INV-1043” vs. “inv 1043”, 10 days apart Flagged Not flagged Not flagged
Same invoice, 29 days apart Flagged Flagged Flagged
Same invoice, 31 days apart Not flagged Not flagged Not flagged
Blank invoice number (two payments) Sent to a person Flagged as a duplicate of each other Not in the output (never reported)
Blank vendor name Sent to a person Not in the output (never reported) Not in the output (never reported)
“ABC Corp” vs. “ABC Corporation” Not flagged (missed by design) Not flagged Not flagged
Pairs flagged 2 2 1

Reproduce it with python compare.py.

What differed, and why it matters

The takeaway

Variation at build time is manageable. You test a version against a known answer, fix what it gets wrong, approve it, and freeze it. That is what the article’s own script went through.

Variation at run time is the problem. If every month is a fresh session, every month is a new interpretation of the rules. Some months it invents a duplicate; some months it quietly skips payments. And you would have to re-review the logic every time.

AI helped build it. AI does not have to run it.