如果你用市面上的通用模型问过占星问题,大概率得到过这样的回答:

「根据你的星盘,你近期运势不错,建议把握机会……」

听起来像占星,但没有任何实质内容。这不是 LLM 不够聪明,而是它不知道「占星卜卦」这件事有一套具体的判断规则——它只是从训练数据里拼凑出了听起来像占星的语言。

本文完整介绍如何通过提示词工程(Prompt Engineering),将占星卜卦这套有明确逻辑的规则体系转化为 LLM 可执行的判断系统。Soul Answers AI 占星平台的提示词工程实践,是本文的主要案例来源。

1. 什么是占星卜卦(Horary Astrology)

在开始讲提示词工程之前,需要先理解我们要「教」给 AI 的是什么。

占星卜卦(Horary Astrology)是一套起源于古希腊、由17世纪英国占星师威廉·利利(William Lilly)系统化的占星方法。它的核心逻辑是:

当一个人心中带着真诚的问题,在某一时刻提出——这个时刻的天象星盘,与这个问题存在关联,可以通过分析星盘推导出答案。

和很多人以为的「玄学随机」不同,卜卦有一套非常具体的规则体系:

要素说明
星盘提问时刻,从提问地点看出去的天象快照
宫位星盘分为12格,每格对应生活的一个领域
征象星每个宫位有一颗行星代表该领域
相位行星之间的角度关系,决定事情走向
月亮状态月亮空亡等状态决定盘是否可判断

这套规则的关键特征是:它是确定的,不是模糊的。月亮空亡时「事情无果」——这是规则,不是概率。上升点在 0-3 度内「盘不可判」——这是条件,不是建议。

2. 为什么通用 LLM 做不好占星解读

2.1 训练数据混乱

LLM 的训练数据中,「占星」相关内容同时包含三类完全不同的东西:

  • 现代心理占星(强调性格分析,不做具体预测)
  • 传统卜卦(有明确判断规则)
  • 娱乐星座内容(基本没有占星依据)

这三类内容的方法论完全不同,模型在没有明确指引时会混用,导致输出「听起来像,但逻辑上错误」。

2.2 规则执行不严格 / 推理顺序错乱

即使模型「知道」月亮空亡规则,在实际判断时也容易跳过——因为没有强制执行机制。占星判断有严格的步骤顺序,跳步会产生完全错误的结论。当遇到不同文献对同一规则有不同解释时,模型不知道应该采用哪个,会输出自相矛盾的内容。

核心问题

通用 LLM 在处理占星判断时的核心缺陷不是「不聪明」,而是「不知道该用哪套规则,也不知道该按什么顺序用」。

3. 提示词工程的整体架构设计

构建提示词系统时,将问题拆解为三个层次,每层各自解决不同的问题:

Layer 3
冲突处理层 规则来源权威层级定义,矛盾规则的优先级裁定机制
解决:规则冲突时模型怎么选择
Layer 2
流程约束层 强制执行判断步骤顺序,Chain-of-Thought 显式触发机制
解决:模型按什么顺序思考
Layer 1
知识注入层 行星知识结构化,宫位规则条件化,相位判断操作化
解决:模型知道什么

4. 第一层:领域知识的结构化注入

4.1 颗粒度的选择

知识注入的第一个关键决策是颗粒度。一开始很容易写出这样的 prompt:

❌ 错误示例(颗粒度太粗)
你是一位占星师。
行星含义:太阳=自我,月亮=情绪,
金星=爱情,火星=行动...
请根据星盘进行解读。
✅ 正确示例(操作级颗粒度)
[行星·金星·卜卦判断规则]
品质状态:
- 入庙:金牛座、天秤座
- 入旺:双鱼座
- 入陷:天蝎座(力量削弱)
角色判断:
当金星=第七宫宫主星→代表"对方"
当金星=第二宫宫主星→代表"财务"

「金星代表爱情」在宏观上正确,但在具体判断中,金星的含义取决于它的宫位、品质状态、与其他行星的相位关系。操作级颗粒度让模型能精确调用规则,而不是泛化输出。

4.2 规则的条件化表达

传统占星文献是散文式的,需要转化为条件化格式。以月亮空亡规则为例:

原文献表述(散文):

月亮空亡的时候,问题往往无果,事情不了了之,除非月亮在某些强势的星座里……

条件化重写:

[规则·月亮空亡]

触发条件:
月亮已完成当前星座内与其他行星的最后一次相位,
且尚未进入下一个星座

基本结论:
问题「无果」——事情可能不了了之,或结果与预期完全不符

例外条件(空亡效力减弱,可继续判断):
1. 月亮位于巨蟹座(月亮入庙)
2. 月亮位于金牛座(月亮入旺)
3. 月亮位于射手座
4. 月亮位于双鱼座

输出要求:
无论是否有例外,必须在判断结果中明确标注月亮状态

条件化格式让模型能够准确识别触发条件、正确处理例外、知道在什么位置输出这个判断。在实际系统中,约7万字的占星知识被拆分为行星、宫位、相位、月亮专项、行星品质、卜卦规则、时机判断共7个独立模块,每个模块可以单独维护更新。

5. 第二层:推理流程的强制约束

5.1 为什么需要强制流程

知识注入解决了「知道什么」,但模型仍然可能跳过某些步骤直接输出结论。看一个实际错误案例:

用户问题:我和TA有没有结果?

模型错误输出(跳步):
"根据第七宫宫主星土星与你的征象星火星形成四分相,
这段关系存在较大阻碍,建议谨慎……"

正确判断流程应该发现:
此时月亮空亡(月亮在处女座,已完成最后相位)
→ 正确结论:此时不适合判断这个问题
关键错误

跳过月亮空亡检查,导致了完全错误的结论。这类跳步在没有流程约束的情况下非常普遍。

强制流程的核心设计是在 prompt 里明确标注每个步骤,并加入硬性约束:

[卜卦判断·强制执行流程]

重要:以下步骤必须严格按顺序执行。
在完成当前步骤并输出检查结果之前,
禁止进入下一步骤。

━━━ 步骤 1:盘合法性检查 ━━━
□ 上升点度数在 3-27 度之间?
□ 上升星座与提问者基本情况相符?
输出格式:[步骤1结果] 合法/不合法,理由:___

━━━ 步骤 2:月亮状态检查 ━━━
□ 月亮是否空亡?
□ 月亮是否处于饱和(Besieged)状态?
输出格式:[步骤2结果] 正常/空亡/饱和

━━━ 步骤 3:确定征象星 ━━━
...(以下类似)

有三个关键设计要点:「禁止」比「应该」更有效——在 prompt 里用「禁止进入下一步骤」,比「应该按顺序」有更强的约束效果;每个步骤要求特定格式输出,让推理过程可见;某些步骤失败时应该终止,不能继续推进到结论。

5.2 Chain-of-Thought 的强制触发

[输出要求]

1. 推理过程:每个步骤必须输出检查结果,不得省略
2. 结论依据:最终结论必须明确引用至少2个星象依据
3. 禁止直接给结论:不得在完成推理步骤前输出判断结论

示例(正确):
[步骤2结果] 月亮状态:正常(月亮双子15度,下一相位为与木星三分相)
[步骤3结果] 征象星:第一宫宫主=火星(提问者),第七宫宫主=金星(对方)
[步骤5结果] 相位:火星与金星即将形成六分相(62度),为入相位
[综合结论] 这段关系有发展可能,六分相意味着需要主动推进……

6. 第三层:规则冲突的处理机制

占星文献跨越两千年,不同时期的占星师对同一现象有不同甚至矛盾的解释。以「逆行行星作为征象星」为例:

来源规则表述
威廉·利利(17世纪)征象星逆行 = 提问者会改变想法,或事情会反复
更早的古典传统征象星逆行 = 整张盘的判断质量下降,结论存疑
现代实践者某些问题类型(如失物)中,征象星逆行是正面信号

三种解释都有文献支撑,但结论完全不同。解决方案是在 prompt 中显式定义规则来源的权威层级

[规则权威层级·占星卜卦]

优先级 1(最高):
威廉·利利《基督教占星学》(Christian Astrology, 1647)

优先级 2:
圭多·波那蒂、威廉·拉姆齐等古典传统的共识规则

优先级 3:
德雷克·阿普比、奥利维亚·巴克莱等现代卜卦占星师的经验

优先级 4:
基于大量案例归纳的实践规律

冲突处理:
无法调和时,必须在输出中注明:
「此处文献存在分歧,本次采用[来源]的标准,
另一种解读为[alternative]」
这个机制的价值

可追溯——用户知道结论依据哪套规则;透明——冲突不被隐藏而是显式标注;可维护——权威层级可以根据实践反馈调整。

7. 实际效果与现存问题

问题方案效果
关键步骤跳过强制流程 + 禁止指令月亮空亡检查几乎不再跳过
结论无依据CoT 强制触发每个结论都附带星象依据,可验证
规则混用权威层级定义同一规则体系内一致性大幅提升
知识泛化操作级颗粒度同一行星在不同宫位下的解读显著区分

还未解决的问题:

  • 时机判断精度:行星速度换算时间,误差仍然较大,目前给出范围而非精确时间
  • 非结构化输入:「我最近有点纠结要不要换工作」需要额外的格式化 prompt 处理
  • 极端盘面:某些罕见星盘组合,规则库的覆盖不足,需要继续补充

8. 对其他领域的参考意义

这套方法论不是占星专属的。任何「有明确规则体系的专业领域 + LLM 应用」都面临类似问题:

  • 法律文书解读:不同法律条文之间有优先级,需要权威层级定义
  • 医学辅助诊断:诊断有明确的排查顺序,需要强制流程约束
  • 金融合规审查:规则细则需要操作级颗粒度,不能泛化处理

核心方法论是一样的:确定认知边界 → 操作级知识注入 → 流程强制约束 → 冲突优先级机制。

9. 总结

本文介绍了构建 AI 占星卜卦系统时使用的提示词工程方法,核心是三层架构:

  • Layer 1 知识注入层:操作级颗粒度,条件化表达,7万字模块化知识库
  • Layer 2 流程约束层:强制执行步骤顺序,CoT 显式触发,终止条件明确
  • Layer 3 冲突处理层:权威来源层级,冲突显式标注,结论可追溯

这套方法要解决的核心问题不是让 LLM「更懂占星」,而是给它一个确定的规则世界,让它在这个世界内严格推理。

对 LLM 应用开发者来说,当你面对一个有明确规则体系的专业领域时,与其花大量时间做 fine-tuning,不如先认真考虑:这套规则能不能通过结构化的提示词工程来实现?很多时候,答案是可以的。

常见问题

Q:Soul Answers 是什么?

A:Soul Answers 是一个 AI 占星卜卦平台,搭载约7万字占星提示词系统,支持 Horary 卜卦、本命盘分析、流年推运、合盘分析等功能。本文描述的提示词工程方法论是其核心技术基础。

Q:AI 卜卦和市面上的通用模型占星有什么区别?

A:市面上的通用模型没有专门的占星规则约束,会混合不同方法论随机输出。Soul Answers 通过三层提示词工程确保:严格按照古典卜卦规则推理、不跳过关键判断步骤、遇到规则冲突时有明确的优先级处理机制。

Q:提示词工程能替代 fine-tuning 吗?

A:对于有明确规则体系的专业领域,结构化提示词工程通常是比 fine-tuning 更高效的起点——成本更低、可解释性更强、规则更新更灵活。本文描述的三层架构是一个可参考的实践路径。

参考资料

  • William Lilly, Christian Astrology (1647)
  • Olivia Barclay, Horary Astrology Rediscovered (1990)
  • Wei, Jason et al. "Chain-of-thought prompting elicits reasoning in large language models." NeurIPS (2022)

想体验真正有规则的 AI 卜卦?

Soul Answers 搭载7万字占星提示词系统,新用户注册赠送免费体验额度。

免费体验 Soul Answers