BaZi · Blog

AI Fortune-Telling Number Errors: Why Models Struggle with Arithmetic

Deep Oracle Practitioner Desk · 2026-09-19 · 5 min read

AI算命数字错误 refers to the kinds of numerical mistakes that language-model-based divination systems can produce when they generate Chinese-metaphysics readings. Because these systems do not perform arithmetic in a reliable structural way, numbers such as ages, years, and element counts may be internally inconsistent even when the surrounding prose looks fluent. The entry explains why this happens, which categories of numbers are most affected, and how to check them.

文字模型处理数字的方式

A language model generates text by producing tokens, and numbers are also produced as tokens rather than as results of a separate arithmetic process. The model is not carrying out calculation in the way a spreadsheet or a dedicated program would. It is predicting plausible next tokens in a sequence. This means that arithmetic is not a structural strength of the model. A number may be written correctly in one sentence and incorrectly in another because each occurrence is generated as part of the surrounding text, not as a stable value stored and reused. The model does not maintain a hidden ledger of variables. When a reading requires the same number in several places, there is no guarantee that the model will repeat it consistently.

四类会出错的数字

In a typical Chinese-metaphysics text, there are four main classes of numbers that may appear. The first is the birth year and the current age. The second is the starting and ending years of a ten-year luck cycle, or 大运. The third is the Gregorian year of a yearly influence, or 流年. The fourth is the count of each of the Five Elements, or 五行, across the pillars of a chart. These four classes do not fail in the same way. Birth-year and current-age errors often come from mixing age conventions. Luck-cycle year errors may come from off-by-one mistakes in ranges. Yearly-influence errors may come from failing to follow the sexagenary cycle correctly. Element-count errors may come from counting a character in one pillar but missing it in another. All four can be checked by the reader without relying on the model's explanation.

年龄与年份换算

The conversion between birth year and current age is affected by two different systems: the Western full-year age, or 周岁, and the traditional Chinese nominal age, or 虚岁. A language model often mixes these two systems within the same text. For example, it may state that a person born in 1988 is 36 years old in 2024 under one convention, then later refer to the same person as 37 under the other convention. The model does not always label which convention it is using. In some readings, the age may be correct under neither system because the model has simply produced a plausible number without checking the arithmetic. When reading a generated interpretation, the user should first decide which age convention the text is supposed to follow, then verify every occurrence of age against that convention.

流年干支的推算

The calculation of the yearly stem-branch, or 流年干支, follows a fixed sequence: the sexagenary cycle of sixty combinations. If the stem-branch of one year is known, the stem-branch of any adjacent year can be derived by moving one step through the cycle. This means the yearly stem-branch can be checked directly. The sequence is not open to interpretation. For example, if 2024 is 甲辰, then 2025 is 乙巳,2026 is 丙午, and so on, until the cycle repeats. A language model may produce a wrong 流年干支 because it treats the label as ordinary text rather than as a position in a fixed order. A reader can verify the stem-branch by counting forward or backward from a known anchor year. This check does not require any specialised training beyond knowing the order of the ten stems and twelve branches, or consulting a standard sixty-year table.

核对数字比核对文字容易

Checking numbers is easier than checking prose because a number has only two states: right or wrong. It has no space for paraphrase, nuance, or stylistic variation. If the text says a person is 41 and the calculation says 42, the number is wrong. If the text says an element appears three times and a manual count finds four, the number is wrong. Prose, by contrast, can be vague or defensible in multiple ways. A statement about personality or fortune may be worded so broadly that it is hard to classify as incorrect. A number does not have that flexibility. This is why a numerical check is a low-cost first step. The reader can scan for all dates, ages, year ranges, and element counts, verify each one against an independent source, and mark any mismatch before spending time on the written interpretation.

The engine on this site calculates the year, age, and Five-Element counts in a single pass. For the same input, the same result is produced each time. This means that the numerical fields are not randomly regenerated between runs. If a user submits the same birth data twice, the output values should be identical. This consistency is a useful baseline. When a number in a generated reading differs from what the user independently calculates, the discrepancy is likely to come from the text-generation layer rather than from the underlying calculation layer. The user can then treat that number as an error in the prose and proceed accordingly.

In a generated interpretation, the lowest-cost order of checking is to verify all numbers first, then read the text. Start with the birth year and current age. Then check the 大运 start and end years. Then check the 流年 Gregorian year and its stem-branch. Finally, count the Five Elements in the chart and compare them with the stated totals. Only after these checks are complete should the user read the descriptive paragraphs. This order prevents a single wrong number from colouring the reader's trust in the rest of the text. It also saves time, because a numerical error may be visible in seconds, while a prose error may require careful reading and domain knowledge to identify. Since numbers have no room for interpretation, they are the most efficient place to begin.

AI Fortune-Telling Number Errors: Why Models Struggle with Arithmetic