Why AI fortune-telling hallucinates
Ask ChatGPT, DeepSeek, or Claude to read a BaZi chart cold and you will usually get wrong stems and branches, invented "revealed" stems, and bad arithmetic. The model is autocompleting plausible fortune-telling prose, not reading a fixed chart. Guanming handles this differently: a deterministic engine computes every number, five masters debate yong shen with their own school's classics, and two quality gates check the output against engine data.
Category: AI BaZi · Anti-hallucination · Reading reliability | Available in: Simplified Chinese / Traditional Chinese / English
What goes wrong with a bare LLM
Paste a chart into a general chatbot and the same mistakes show up again and again.
- Invented stems. The model claims an element is revealed in the heavenly stems when the chart has no such stem. In one real case the stems were only rén, yǐ, dīng, and wù. The model still said three times that bǐng (rob wealth) was revealed. Bǐng was never there.
- Bad arithmetic. Five-Element energies and Ten-God strengths get added wrong. In another case Wealth-and-Officer energy was 122 + 107 = 229. The model reported "Wealth-Officer unified at 232."
- Strength read backwards. Call a weak day-master strong and the yong shen flips. The rest of the reading sits on a broken foundation.
Why? A large language model predicts text. It continues a passage that sounds like a correct reading. Stems, branches, hidden stems, Ten Gods, day-master strength, and Five-Element energies are deterministic. One wrong character and the whole chart is wrong. That is where hallucination shows up.
If you are comparing AI BaZi tools, the question is not who writes the prettiest prose. It is who stops the model from inventing the data.
The engine computes the chart. The AI never touches a number.
Every part of a Guanming chart comes from a deterministic engine: Four Pillars, stems and branches, hidden stems, Ten Gods, day-master strength, favorable element, Five-Element energies, luck cycles, shensha. Calculated, not generated.
- The charting endpoints (
/chart,/dynamics) are pure computation. They call the BaZi algorithm engine and make no AI calls. - True solar time uses the Meeus equation of time (var-Y method, roughly ±0.5 s), rounded to the minute. Luck-cycle start follows that corrected time. Rounding matters: in the start-of-luck calculation one real minute maps to about two luck-cycle hours. Truncate a sub-second residual and you can drift by up to two hours. Rounding to the nearest minute beats truncating.
- The engine computes the chart, persists it, then the facts go into the prompt. The AI's job is to explain a chart that already exists. It does not work backwards to generate one.
Anything with a single correct answer stays out of the model.
Five masters argue over yong shen
Selecting the favorable element (yong shen) is the hardest, most disputed step. Guanming does not let one model decide. It runs a multi-agent council of masters. Today this is fully implemented at the yong-shen stage.
- Independent positions. Five masters, each from a school (structural pattern, support-and-restraint, climatic balancing, timing-of-events, blind school), each make a separate model call for this chart.
- Looking up the classics. Each master is a tool-using agent that decides what to search and how often. It queries a vector store (pgvector + bge-m3) for its school's canon and rewrites queries when opponents push back. In production we see about 240 on-point citations per chart.
- Open debate. A neutral moderator reads the exchange, picks who speaks next, and pins down what they must answer. The masters disagree round by round.
- Convergent verdict. The moderator reads the full debate and issues a reconciled conclusion.
This is not one prompt pretending to be five schools. Every master utterance is its own LLM call, orchestrated in a workflow engine. About 57 independently retryable steps per chart.
Where we are honest: Multi-agent debate runs at the yong-shen stage only. Chart structure, Ten Gods, luck cycles, and other stages still come from a single master. More stages are planned for v2. Retrieval is vector cosine similarity, not re-ranking or fusion. The blind school is mostly oral tradition with no agreed canon, so its citations are weaker. We say so on the report.
Two quality gates check the output
Even a sharp debate can drift. Guanming runs two independent checks at the same time.
- Stream validation (StreamValidator). The output is checked as it streams. If a stem or branch contradicts the chart (year pillar rén-shēn written as bǐng-jiǎ), it gets corrected in real time.
- Grounding gate. Engine data is the source of truth. Every master statement is checked: wrong stems, branches, or numbers; facts that violate the chart; fake classical quotes. On one chart it caught five hallucinations ("bǐng rob-wealth revealed in the stems" three times, and "Wealth-Officer unified at 232" when the true total was 229). It also marks deliberate stylistic conventions so they are not reported as bugs.
- Adversarial agent. Separate from grounding, it tries to break the moderator's conclusion. It looks for extrapolation beyond what the engine data supports.
Where we are honest: Quality control flags hallucinations today. It does not auto-rewrite them yet (v2). StreamValidator catches wrong stems, branches, and numbers. The adversarial agent catches logical overreach. We do not claim zero hallucination. We claim we catch mistakes by design and leave an auditable flag.
Bare ChatGPT / DeepSeek vs Guanming
| Dimension | Asking ChatGPT / DeepSeek directly | Guanming |
|---|---|---|
| Chart data | The LLM computes it and gets stems and numbers wrong | A deterministic engine computes it; the AI never touches it |
| True solar time | Mostly uncorrected or rough | Meeus equation of time (~±0.5 s), rounded to the minute, luck-cycle start from true solar time |
| Selecting yong shen | A single model rules in one shot | Five masters argue, a moderator routes, then a convergent verdict |
| Citing the classics | From memory, often inventing the source | Retrieval over each school's canon (pgvector), ~240 citations per chart |
| Hallucination defense | None | Stream validation + grounding gate + adversarial agent (5 caught on one chart) |
| Auditability | None | Every step leaves an inspectable flag |
FAQ
Q: Is AI BaZi actually accurate? A: Only if the AI reads data instead of inventing a story. Ask ChatGPT or DeepSeek cold and it will miscompute stems, invent revealed stems, and add numbers wrong because it is autocompleting text. Guanming gives deterministic data to an algorithm engine, lets the AI narrate, then runs a multi-school debate and two quality gates on top.
Q: Can I trust the chart ChatGPT computes for me directly? A: Be careful with the charting step. Large models often miscompute stems, branches, hidden stems, Ten Gods, and day-master strength. These are deterministic: one wrong character, whole chart wrong. Compute the chart with a deterministic engine and let the AI interpret it.
Q: Is the "council of masters" really several AIs debating, or is it a gimmick? A: It is genuinely multi-agent. Five masters each make independent model calls, each consults its school's classics, and a moderator routes round-by-round clashes. About 57 independently retryable steps per chart in a workflow engine. Fully implemented at the yong-shen stage today.
Q: Will you claim "zero hallucination"? A: No. We intercept mistakes by design: deterministic data never goes to the AI, multiple schools cross-check via the classics, and two gates catch errors one by one with an auditable flag. Five were caught on a single chart. Promising flawless output would be dishonest.
Q: Are the classical citations real? A: Yes. Each master searches a vector store (pgvector + bge-m3) for its school's public-domain classics instead of reciting from memory. About 240 on-point citations per chart. Blind-school citations are weaker because that tradition is mostly oral. We label that on the report.
Guanming keeps AI fortune-telling grounded with a deterministic engine, retrieval over each school's classics, and a grounding gate. Bare ChatGPT or DeepSeek cannot do that. Free charting includes true-solar-time correction and readings that cite their sources.