# 问天知识与规则说明

## 1. 目的与边界

问天采用“确定性计算、精确知识检索、LLM综合解释、结果一致性校验”的单向链路。LLM不参与起卦、纳甲、排世应、历法和五运六气计算，也不能用模型记忆补造输入中不存在的传统结构。

观势、观气和观心分别使用独立知识范围：

- 观势是市场数据生成卦象后的《周易》象义解释，不声称属于传统摇卦。
- 观气是传统五运六气关系的当日个人观察，不声称五行或气候导致股价变化。
- 观心是三枚铜钱六次起卦后的纳甲六爻解释，问题必须在起卦前确定。

## 2. 来源等级

| 等级 | 来源 | 用途 |
|---|---|---|
| A | 《周易》经文、彖传、象传 | 卦辞、爻辞、上下卦、大象与变卦 |
| A | 《黄帝内经·素问》运气七篇 | 中运、司天在泉、主客气及运气关系 |
| B | 《京氏易传》 | 京房八宫和纳甲体系脉络 |
| B | 《火珠林》 | 纳甲筮法、六亲和日月关系脉络 |
| B | 《增删卜易》 | 用神、世应、动变与日月旺衰规则参考 |
| C | 现代历法程序与公开校验样本 | 节气、干支、旬空及边界交叉验证 |

原典属于公共领域。现代解释材料只能帮助核对和白话转译，不复制现代作者的成段释文，也不能覆盖原典。知识清单位于`data/heaven_knowledge.json`，每次模型调用保存知识版本和本次命中的记录。

## 3. 检索方式

第一版不使用向量数据库。知识条件可以由程序精确确定，因此按字段键值检索：

- 观势：本卦、实际动爻位置、之卦、动爻数量。
- 观气：中运太过/不及、司天、在泉、主气、客气、客主关系、日辰。
- 观心：本卦、实际动爻、之卦、卦宫、世应、六亲、问题预设及日月动变。

精确检索避免把字面相似但适用条件不同的传统规则送给模型。

## 4. 观势规则

本卦说明当下结构，实际动爻说明变化关节，之卦说明所趋结构。无动爻以整体和上下卦为主；一爻动以该爻为变化核心；多爻动保留全部实际动爻，先找共同方向和冲突，不采用固定口诀删除部分动爻。

输出必须给出明确但非绝对的倾向，可使用偏进、偏守、先难后易、由盛转收、转机有限、内外相违或结论有条件等表达。禁止用固定的谨慎等待套话代替解读，也禁止将卦义直接宣告为股价、价格或日期预测。

市场数据只在确定性引擎中用于生成卦象。进入LLM的观势上下文只保留数据日期、本卦、实际动爻和之卦，不包含股票名称、股票代码、行业、板块及原始行情证据。模型不得猜测观察标的，也不得补入政策、行业环境、基本面或资金面叙事。

## 5. 观气规则

页面权重只用于结构化概览，不进入LLM上下文。解运顺序固定为：

1. 中运与司天在泉构成年纲。
2. 当前客气加临主气形成当时关系。
3. 日辰只说明当天如何触发，不重复计权。
4. 行业影响只使用本次已出现五行的传统行业取象，不读取行业实时行情。
5. 个人合参只使用日主、十神和当日派生关系。

相生不直接判吉，相克不直接判凶；客主同气也必须区分相得与偏盛。行业取象只允许说明象征性的关注、节奏或约束，不得预测涨跌或形成投资推荐；行业实时行情、简化强弱、喜用神和权重生成的情绪结论均不得作为解运证据。

个人合参中，`natal_day_master`才表示用户本命日主；`today_relative_to_natal_day_master.pillars`是当日历法，不是用户出生四柱；`stem_relations`只保存程序已经计算出的当日年、月、日三柱天干关系标签。模型只能解释这些标签，不得自行重算十神、扩展五行生克或使用藏干，也不得据当日日柱推断用户命局中的十神偏重、身强身弱或喜用神。日辰摘要中的日干运势、地支五行和六气对应必须保持为三项并列事实，不能把整个日柱归成单一五行，也不能把六气对应改写成地支自身属性。结果校验会拒绝输入中不存在的干支、藏干和上述错误归并。

## 6. 观心确定性排盘

### 6.1 采用体系

- 京房纳甲通行表。
- 八宫次序：本宫、一世、二世、三世、四世、五世、游魂、归魂。
- 世爻位置依次为六、一、二、三、四、五、四、三；应爻与世爻相隔三位。
- 六亲以卦宫五行为“我”，按生我、同我、我生、我克、克我计算父母、兄弟、子孙、妻财、官鬼。
- 六神按日干从初爻起排，顺序为青龙、朱雀、勾陈、螣蛇、白虎、玄武。
- 晚子时仍按民用当日排日柱；这是项目明确选择的日期边界，不与其他流派静默混用。

### 6.2 已确定计算

每次保存起卦时刻、时区、月柱、日柱、时柱、旬空、卦宫、世应、六亲、六神、月建日辰关系、动爻变爻、回头生克、进退、伏神飞神及关键爻之间的合冲刑害。

伏神只在本卦六亲缺失时，从所属卦宫的纯卦同一爻位取出；当前显爻作为飞神。六神只作辅助象义。旬空、月破、日冲、六合、六冲、相刑或六害均不能脱离所问、世应、用神和动变单独宣布结果。

六亲表示卦宫与爻五行之间的关系类别，不与现实人物或资金来源一一对应。股票交易问题中，妻财不得直接等同现金或融资，子孙不得直接等同资金提供方，兄弟不得直接等同合作方。除非用户问题明确写出融资、借贷或合作背景，模型不得自行补造这些场景。

问题没有明确说明用户已经持仓、买卖或管理仓位时，模型不得擅自使用持仓、仓位、建仓、入场、持有、买入、卖出、止损或止盈等词描述用户现状。此时只能解释参与条件、风险边界和决策倾向。问题没有明确涉及融资、借贷、合作或资源安排时，不得制造外围资金、外围资源、资金进入、资源进入，或虚构资金/资源的来源、提供、注入、安排与路径。

旬空只说明相关条件在起卦时可能未落实、难发挥或有名无实，不能单凭旬空判成败，也不得用填实、出空、旬空或干支日推算“未来几日”或具体日期应验。解卦中的可验证动作必须是用户当下能够核对的交易条件或自身判断。

解卦结果只输出普通文本和简短标题。不得输出Markdown表格，避免竖线表格作为原始字符出现在页面中。

### 6.3 问题预设

- 交易：检索世应、妻财及与交易相关的实际动变。
- 心境：检索世爻、动爻、官鬼所示压力与子孙所示舒解，不翻译为价格预测。
- 无题：不强选事项用神，只解释卦象、世爻、动爻和变化方向。
- 自定义：依据用户明确写出的股票交易问题检索；含义不清时退回一般卦义，不猜测事项。

## 7. 解读版本与缓存

观势、观气、观心分别使用独立提示词版本。当前版本为`heaven-trend-v4`、`heaven-fortune-v9`和`heaven-heart-v5`；保存的解读同时记录提示词版本和知识版本。新结果使用独立短标题和正文段落，历史旧答案由前端识别常见标题后以同样结构展示。

模型首稿必须经过本地结果校验。若首稿引用被排除的数据、补入不存在的干支/现实场景、遗漏必答项或输出禁止结论，系统会将具体违规原因反馈给同一模型重写一次；只有校验通过的结果才能展示和保存。重写属于同一次业务调用，不重复计算用户额度；同一模型重写仍失败时才进入统一备用模型策略。

观气仍遵守“同一账号同一天成功解运一次”的产品规则，但只复用与当前观气提示词版本一致的缓存。旧版本结果在新版本成功生成后才被替换；如果新模型调用失败，旧结果不先行删除，避免因升级丢失已经保存的历史内容。观势和观心每次独立保存，不使用观气的每日去重缓存。

## 8. 争议处理

传统体系存在流派差异。当前版本只实现输入明确、可重复计算的通行规则。尚未达成一致或高度依赖师承的规则不得包装成确定性事实；若以后新增，必须记录来源、采用理由、冲突组、版本和回归样本。

## 9. 验收原则

- 相同输入得到相同排盘。
- 模型上下文不包含被明确排除的数据。
- 每次解读可追溯到知识版本与命中规则。
- 模型不得修改卦象、纳甲、干支或五运六气结果。
- 回答必须有针对性和依据，不能退化为固定劝诫。
- 观心专业术语必须附白话解释。
- 未明确持仓的问题不得被改写成持仓管理，未明确融资/资源背景的问题不得生成资金或资源路径。
- 解读不得输出Markdown表格。
- 历史记录和个人资料严格按账号隔离。
