如果你用市面上的通用模型问过占星问题,大概率得到过这样的回答:
「根据你的星盘,你近期运势不错,建议把握机会……」
听起来像占星,但没有任何实质内容。这不是 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. 提示词工程的整体架构设计
构建提示词系统时,将问题拆解为三个层次,每层各自解决不同的问题:
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)