BaZi · Blog

Grok BaZi: How a Language Model Generates Four Pillars and Analysis

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

Grok算八字 is a term used when a user asks the conversational model Grok to produce a four-pillar Chinese-metaphysics chart from a birth date and time. This page does not rank Grok against other models. It gives a set of checking actions for comparing what a chat model writes against a repeatable calculation. The point is not whether Grok sounds confident, but whether its output can be verified character by character.

这一页不评比模型,只给一套核对动作

Grok, like the other conversational models mentioned on this page, is a general-purpose language model. It generates text token by token. It does not come with a built-in almanac lookup table. The four pillars in its answer are written out as generated text, not retrieved from a calendar database. That distinction matters for verification: a written sequence can be fluent and still wrong in one or more characters.

The checking procedure therefore assumes that the reader already has a confirmed answer in hand. The model is not being asked to prove its method. It is being asked to reproduce a chart that the reader can compare against a known result.

先拿一个你已经知道答案的生日

The precondition for checking is a fixed answer. Choose a birth date whose four pillars you have already verified. Then ask the model to lay out the chart once. Only then can you judge what it wrote correctly.

Without a known answer, the model’s output may look coherent while containing errors that are not obvious. A wrong day pillar, for example, may still appear in the correct two-character format. The only way to catch that is to compare it with a result obtained from a table or a program.

把四柱逐字比对的顺序

The comparison proceeds pillar by pillar, in order: year pillar, month pillar, day pillar, hour pillar. Each pillar has two characters, for a total of eight characters. First check whether the characters match literally. Then check whether the five-phase labels attached to each stem and branch agree with that stem-branch pair.

The literal match comes first. If the written characters differ, the five-phase labels are already unreliable because they may have been generated from a wrong pair. If the characters match, the five-phase labels should be checked separately, since a model can write the right pair and the wrong element label.

对不上的时候先看哪一柱

When the model’s output does not match the known answer, begin with the year pillar. The year pillar is bounded by the beginning of spring, not by January 1 and not by lunar New Year. A person born before the beginning of spring belongs to the previous year’s stem-branch pair.

This is a common point of divergence. A model may treat the calendar year as the boundary, or may treat the lunar New Year as the boundary. Either choice produces a wrong year pillar for dates in that interval between January 1 and the beginning of spring.

Among the four pillars, the day pillar is the one most likely to expose a problem. The day pillar is derived from the continuous sixty-day sexagenary sequence. There is no mnemonic formula that can be improvised. It must be looked up in a table or converted by a program.

The hour pillar also needs attention, but its boundary is simpler than the day pillar. The hour branch follows the two-hour double-hour system. The hour stem depends on the day stem. If the day pillar is wrong, the hour stem may also be wrong even if the hour branch is correct.

聊天模型能做和不能做的那条线

A conversational model can write the format of a four-pillar chart. It can produce plausible ordering, plausible labels, and plausible explanations. It can also describe the rules in general terms. What it cannot do reliably is perform the underlying calendar conversion from a birth date to the sexagenary sequence without an external lookup.

This site’s engine converts the day pillar by Julian day number. It takes the Julian day number of the given Gregorian date, subtracts the Julian day number of a fixed reference day, and takes the remainder modulo sixty. The same input produces the same result each time.

The site engine’s inputs are six items only: Gregorian year, month, day, clock hour, minute, and sex. There is no longitude field. Therefore it does not perform true solar time correction. The hour pillar on the page is calculated from the clock time at the birthplace.

When the model answer and the engine answer disagree, the correct handling is to treat the repeatable calculation as the one to check against. Do not ask the model to explain again. An explanation will vary with the conversation, while the calculation will not.

That is the line between what a chat model can do and what it cannot do in this context. The model can produce a chart-shaped answer. It can vary its wording, its tone, and its stated confidence. It cannot make a wrong day pillar become right by explaining it. The day pillar is a deterministic function of the date. If the characters do not match the table or the program, the answer is wrong, regardless of how it is worded.

The checking actions on this page are therefore limited to comparison. The year pillar is checked against the beginning of spring. The month pillar is checked against the solar terms. The day pillar is checked against the sexagenary day sequence via Julian day number. The hour pillar is checked against the double-hour branch and the day stem.

The order of comparison is fixed: year, month, day, hour. If the year pillar is wrong, the month pillar may still be right, but the error should be noted before proceeding. If the day pillar is wrong, the hour stem derived from it may also be wrong. Each error should be recorded separately.

This page does not say whether Grok is better or worse than other models. It gives no score. It gives no benchmark. It gives only a set of checking actions. The reader supplies the known answer. The model supplies an answer to be checked. The engine supplies a repeatable result. The comparison is the method.

For a birth date whose four pillars have already been verified, the procedure is simple: ask the model once, place the answer next to the verified chart, and compare the eight characters one by one. The first divergence tells you where the model failed. The pattern of divergences tells you whether the failure is in the year boundary, the day conversion, or the hour stem. No further conversation is needed to establish that.

The page’s stance is that a model’s explanation is not evidence. A model may say it used a formula, or that it checked a table, or that the result is standard. Those statements are also generated text. They do not change the characters already written. The only thing that can confirm or refute the characters is a repeatable source, such as the Julian day number conversion used by the engine.

The engine’s fixed reference day is not named in the source material, and no classical title is added here beyond what is stated. The point is the method: subtract a fixed Julian day number and take the remainder modulo sixty. That yields the day pillar. The same input gives the same result every time. That is what makes it checkable.

The page closes the loop by stating the boundary of the engine’s own calculation. It uses clock time, not true solar time. It has no longitude input. That means the hour pillar on the page is a clock-time hour pillar. A reader comparing it with a true solar time chart should account for that difference. The difference is not a model error; it is a defined input limitation.

In sum, the page is a checking guide, not a model review. Grok is treated as a general language model. The four pillars are treated as written output. The known answer is the standard. The engine is the repeatable reference. The comparison is the only action that matters.

Grok BaZi: How a Language Model Generates Four Pillars and Analysis