BaZi · Blog
Repeated Chart Casting Should Yield Identical Results
Deep Oracle Practitioner Desk · 2026-09-19 · 6 min read
The term 排盘两次结果应当一样 states a basic requirement for any usable bazi calculation tool: when the same birth data are submitted twice, the calculated chart should be identical. This is not a matter of interpretive schools or stylistic preference. It is a property of deterministic calculation. A chart is derived from the Gregorian year, month, day, and clock time by applying fixed conversion rules. If the rules are fixed and the input does not change, the output cannot legitimately change.
同一份资料连提交两次
A bazi chart is not a generated guess. It is produced by converting a civil date and time into the sexagenary cycle, then deriving the hidden stems, ten gods, nayin, and void branches from the four pillars. Each of these items follows from the previous layer through fixed lookup or fixed formula. The four pillars themselves follow from calendar boundaries such as the solar terms and the hour divisions. Because every step is mechanical, the same input must lead to the same result every time.
For this reason, submitting the same birth profile twice is a meaningful test. If the year, month, day, and hour are identical, the two outputs should show the same four pillars, the same hidden stems in each pillar, the same ten-god labels, the same nayin for each pillar, and the same void branches. There is no reasonable variation in these items. A difference of even one character in the calculated layer means that the tool is not performing the calculation in a stable way.
The test is deliberately narrow. It does not ask whether the interpretation is well written or whether the reading is insightful. It asks only whether the computational layer is reproducible. This distinction matters because a system may produce fluent prose while still failing the most basic requirement for a chart engine.
计算项与解读文字在这项测试里的表现不同
Language models do not produce the same wording on every run. The same question asked twice can receive two answers that differ in sentence order, word choice, emphasis, or length. That is expected behaviour for generated text, and it is not by itself a defect. When a model writes interpretive prose about a chart, variation between runs is normal and does not indicate an error in the chart itself.
The calculated items are different in kind. The four pillars, hidden stems, ten gods, nayin, and void branches are not prose. They are structured outputs derived from fixed rules. They do not have stylistic latitude. A tool may legitimately vary the wording of a reading while still calculating the same chart both times. But if the chart itself changes between two identical submissions, the variation is not interpretive; it is a failure of the calculation layer.
This is why the test separates the two layers. When comparing two outputs, the user should not compare the paragraphs of advice. Those may differ for unremarkable reasons. The user should compare only the eight characters and the annotations attached to them. If those match exactly, the calculation layer is reproducible. If they differ, the tool is generating the chart rather than calculating it.
两次四柱不同说明了什么
If two runs with the same birth data produce different four pillars, the most direct conclusion is that the tool is not computing the chart from the input in a fixed way. It may be producing the chart through a generative process, perhaps as part of a language model response, or it may be combining calculation with generation in a way that allows contamination between the two layers.
In that situation, the output should not be used as a baseline for further verification. If the chart itself is unstable, then any downstream reading based on that chart inherits the instability. The ten gods, the element balances, the interactions between stems and branches, and the conclusions drawn from them all rest on the four pillars. A reading built on an unstable chart is not a reading of a chart; it is a reading of whatever the system happened to display that time.
This does not mean that the tool has no value. It may still produce useful general discussion or educational content. But it should not be treated as a chart engine. The distinction between calculation and generation is fundamental in this field. A chart engine is expected to behave like a converter: one input, one output. A generator behaves differently: one input, many possible outputs. The test exists to reveal which of the two the user is dealing with.
把测试做成可记录的形式
The test is simple enough to perform by hand, but it should be done in a way that can be reviewed later. The procedure is to submit the same birth data twice, copy the output from each run, and place the two sets of calculated items side by side. The eight characters should be written in their four pairs: year, month, day, and hour. Beneath each pair, the hidden stems, ten-god labels, nayin, and void branches should be recorded in the same order for both runs.
Only the calculated items are compared. The interpretive text is set aside for this test. If the two sets of calculated items match character for character, the calculation layer is reproducible. If they differ in any single item, the result is recorded as a failure of reproducibility.
The value of writing the comparison down is that it prevents memory from smoothing over small differences. A user who glances at two charts may miss a one-character difference in a hidden stem or a void branch. A written side-by-side record makes the comparison explicit. It also creates a record that can be shown to others or kept for later reference when a tool is updated or replaced.
通过这项测试之后还剩什么没测
Passing the reproducibility test is necessary but not sufficient. It shows only that the tool produces the same output for the same input. It does not show that the rules used to produce that output are correct. Reproducibility and correctness are different properties. A tool can be perfectly stable and still apply the wrong month boundary, the wrong hour conversion, or the wrong stem-branch assignment.
The next stage of verification concerns the rules themselves. A user who wants to check correctness needs to select inputs that test specific boundaries. Two examples are relevant here. One is the boundary of the solar terms, especially 立春, which defines the start of the bazi year. A birth just before and just after the exact moment of 立春 should show different year pillars if the tool is applying the rule correctly. The other is the treatment of the hour at 23:00. Different systems handle the late hour and the day boundary in different ways, and a tool should be consistent with a stated convention.
These checks cannot be done with a single birth time. They require deliberately chosen inputs that sit on either side of a boundary. Only then can the user see which convention the tool is applying and whether it applies that convention consistently. The reproducibility test is the first filter. The correctness test is the second. A tool that fails the first should not be trusted as a chart engine, but a tool that passes the first still needs to pass the second before its output can be used as a basis for further study.