feat(consult): sections presuppose nothing, examples carry no reading rule or job shape, corrections are acknowledged
- natalAnswerShapeBody: NATAL_SECTION_RULE replaces 「这个人是什么样、你们怎么相处、 事情会怎么走」; the shared voice quotes the same constant (BUG-1164) - product-voice / VOICE.md: no 逆行 in examples, parents example leads with the affliction and asks to confirm, married-presupposing Good example removed (BUG-1165) - follow-up shape: a user correction is acknowledged, never defended (BUG-1166) - career examples carry no job shape (升职 / 专业能力 / 做深现有工作) (BUG-1168) - biography backtest golden regenerated with the real engine so the card carries brief 1's aspects, combustion, yoga domains and saturn_from_moon_house; backtest script gains --correction follow-up turns Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01N4f2nya58RoRu4yEmJgRGE
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
585c7370f8
commit
955bab691a
@@ -371,6 +371,14 @@ export function consultationContinuePrompt(output: string): string {
|
||||
*/
|
||||
const ANSWER_FROM_EVIDENCE = "拿到本轮计算结果后直接写给用户的回答,只用结果里的盘面事实下判断;调用工具前后都不要写过程说明。";
|
||||
|
||||
/**
|
||||
* What each per-person section says (TASK-consult-no-presupposition-and-
|
||||
* backtest-20261001 D1/D2/D7, BUG-1164; replaces 「这个人是什么样、你们怎么
|
||||
* 相处、事情会怎么走」, which presupposed the person is there and in daily
|
||||
* contact). Defined here once; the shared voice quotes this constant.
|
||||
*/
|
||||
export const NATAL_SECTION_RULE = "每段先说盘上最强的一两个信号说明了什么,包括这个人在不在你身边、近不近;盘上没有依据的方面不写,不用日常场景凑段落。受冲信号两个及以上时,这一段第一句就写这一面,用「可能」,段末用一句话请用户确认(例:「如果实际情况不是这样,告诉我,我按真实情况重看。」),全篇这类确认最多一处。不预设有没有伴侣、是否已婚、是否在上班、做哪类工作、孩子性别、父母是否在身边;性别未知时不用「他」「她」称伴侣和孩子。";
|
||||
|
||||
/**
|
||||
* Natal first-turn shape in the user turn (VOICE §7; TASK-consult-plain-
|
||||
* answer-20261001 D2–D4/D8): plain opener, one section per person or
|
||||
@@ -381,7 +389,7 @@ export function natalAnswerShapeBody(): string {
|
||||
return [
|
||||
"开场不要标题,先用一到三句人话回答问题,第一句就是结论;不给这件事起名字,开场不写行动清单。",
|
||||
"问题里点到几个人或几个子问题(比如妈妈、爸爸、他们怎么对我),开场之后每个各写一段,二级标题用问题里的词(例:## 你和妈妈、## 你和爸爸、## 他们怎么对你);问父母时妈妈和爸爸分开写。只问一个人或一件事时不拆段。",
|
||||
"每段先用人话讲清楚这个人是什么样、你们怎么相处、事情会怎么走,再在括号里给撑住这段判断的盘上依据。",
|
||||
`${NATAL_SECTION_RULE}每段的判断后在括号里给撑住它的盘上依据。`,
|
||||
`然后依次写:## ${REPORT_HEADING.support}(只写上面没引过、判断又需要的依据,表格与正文二选一;没有新依据就省掉这一节)、## ${REPORT_HEADING.timing}(卡里没有相关大运或行运就省掉)、## ${REPORT_HEADING.action}(一到三条行动,只在这里出现一次)。`,
|
||||
"不限字数,讲清楚为准;同一件事只说一遍。",
|
||||
"把每句话括号里的内容删掉,不懂占星的人也要能看懂:不起「外X内Y」这类格局名,不把大运写成推着或收尾的角色,不写「去当某颗星的样子」,不把星名当形容词的主人;空宫不单独下结论,要说它的宫主落在哪。名词只用中文、全篇一个叫法(罗睺、计都;大运、子运、小运),不写英文或梵文音译(sade sati、vargottama、rupas 之类),力量只说强、中、弱。",
|
||||
@@ -393,6 +401,9 @@ export function natalAnswerShapeInstruction(): string {
|
||||
return `${ANSWER_FROM_EVIDENCE}${natalAnswerShapeBody()}`;
|
||||
}
|
||||
|
||||
/** D4 / BUG-1166: the user corrects an earlier reading; acknowledge it, never defend the reading. */
|
||||
export const FOLLOW_UP_CORRECTION_RULE = "用户纠正了前面的判断(比如说父亲其实不常在身边):先认下这件事,再说盘上哪几条和它对得上、原来哪句读偏了;不为原判断辩护。";
|
||||
|
||||
/**
|
||||
* Follow-up turn shape (TASK-consult-answer-the-question-20260927 D3 /
|
||||
* BUG-1071): the session already holds a natal answer, so this turn answers
|
||||
@@ -405,6 +416,7 @@ export function followUpAnswerShapeInstruction(): string {
|
||||
return [
|
||||
ANSWER_FROM_EVIDENCE,
|
||||
"这是追问轮:本会话前面已经写过完整解读。第一句就回答用户这句话(是非题先答「是」「不是」或「看情况:……」,再给盘上的依据),讲清楚为准,不限字数;只引与这句话直接相关的盘面事实,够说明就停;用人话说,盘上依据放括号里;名词只用中文、不写英文或梵文音译;不写二级标题,不写行动清单(用户问了才给);不重述上一轮已经写过的结构;不解释用户为什么问,不替用户说他想要什么。",
|
||||
FOLLOW_UP_CORRECTION_RULE,
|
||||
`只有用户明确换了领域或要求完整看一下,才回到完整形状:口语开场、按对象分段,再接二级标题(## ${REPORT_HEADING.support}、## ${REPORT_HEADING.timing}、## ${REPORT_HEADING.action})。`,
|
||||
"不要写「统一参数与原始结构」,不要写技法审计表,不要写思考过程清单,不要复述内部 JSON 字段。",
|
||||
].join("");
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { NATAL_ANSWER_SHAPE_SUMMARY, REPORT_HEADING } from "../lib/consultation-thinking-plan.ts";
|
||||
import { NATAL_ANSWER_SHAPE_SUMMARY, NATAL_SECTION_RULE, REPORT_HEADING } from "../lib/consultation-thinking-plan.ts";
|
||||
|
||||
export const productConversationVoice = `VISIBLE VOICE
|
||||
PERSONA: 把对面的人当一个人认真对待——不是工单,不是要被安抚的情绪,不是一张等着填完的表。你不是只会点头的工具人,更像他身边一个行动力很强、嘴有点毒但靠谱的同事:给你一个问题,你自己找路、自己补信息、把脏活干完,把结论丢回他面前。
|
||||
@@ -25,7 +25,7 @@ ANSWER SHAPE (natal / general / declared-window 三种模式共用)
|
||||
不设字数上限,讲清楚为准。同一件事只说一遍;不为显得周全写问题用不到的盘面事实。
|
||||
1. 先答:开场一到三句人话,第一句就是结论,回答用户问的那句话。开场不写标题、不写行动,不给这件事起名字。
|
||||
2. 按对象分段:问题里点到几个对象(妈妈、爸爸、伴侣、老板、孩子……)或几个子问题(关系如何、他们怎么对我、什么时候),开场之后每个各写一段,二级标题用问题里的词(例:## 你和妈妈、## 你和爸爸、## 他们怎么对你)。问「父母」时妈妈和爸爸分开写,不揉成一段。只有一个对象、一个子问题时不拆段。
|
||||
3. 每段先用人话讲清楚:这个人是什么样、你们怎么相处、事情会怎么走,写到讲清楚为止;然后在括号里给出撑住这段判断的盘上依据(宫、宫主、代表星、分盘、大运),够用就停。问的是别人时,写那个人在你盘上对应的宫位与代表星说明了什么,不写那个人的心思。
|
||||
3. ${NATAL_SECTION_RULE}写到讲清楚为止;然后在括号里给出撑住这段判断的盘上依据(宫、宫主、代表星、分盘、大运),够用就停。问的是别人时,写那个人在你盘上对应的宫位与代表星说明了什么,不写那个人的心思。
|
||||
4. 行动:一到三条破折号短句,做完就能看到改变。本命解读里只写在最后一节「这周可以做的一件事」,出现一次;无出生分钟与申报时段没有正文骨架,行动就写在回答结尾。
|
||||
人话自检:把每句话括号里的内容删掉,一个完全不懂占星的人仍然能看懂它在说什么;做不到就重写这句。禁止:
|
||||
- 自造格局名、四字概括(「外X内Y」这一类);
|
||||
@@ -38,41 +38,39 @@ ANSWER SHAPE (natal / general / declared-window 三种模式共用)
|
||||
- 申报时段(declared birth window):依据只取窗口内稳定的那一层——行星落座、公开日历;上升、宫位、大运、分盘不作依据,也不写月份。
|
||||
- 无出生分钟(no birth minute):时间只讲公开日历这一天的大势,不点个人大运,不写月份;能做的事取自公开日历,不取自个人盘。
|
||||
|
||||
Good (父母题首轮,按对象分段;盘上数据是示意):
|
||||
你和父母不疏远,但亲近主要落在「为你的前途操心」上,聊心事的时候少。妈妈管得细、操心多;爸爸话少,关心靠做事来表达。
|
||||
Good (父母题首轮,按对象分段;括号里是依据的占位,只演示口气与结构,不是读法):
|
||||
你和妈妈这条线近、来往多;爸爸这一面盘上受冲多,他可能不常在你身边。
|
||||
## 你和妈妈
|
||||
她对你的事很上心,但常把关心说成提醒和安排,所以你们聊工作、聊打算的时候多,聊感受的时候少。(4 宫母亲宫的宫主水星落在 10 宫事业宫;代表母亲的月亮也在 10 宫)
|
||||
她离你近,对你的事上心,你们之间来往多。(4 宫主落 10 宫;月亮在 10 宫)
|
||||
## 你和爸爸
|
||||
他在你心里分量重,是你做事的标杆;他不太会说软话,你们之间更像互相看着对方做事。(代表父亲的太阳在 10 宫;9 宫父亲宫的宫主木星落 12 宫,他的心力有一部分在远处或在自己的事上)
|
||||
爸爸这一面可能比较远:他可能不常在你身边,或者有一段时间不在。如果实际情况不是这样,告诉我,我按真实情况重看。(9 宫与太阳这一组的两条受冲)
|
||||
## 他们怎么对你
|
||||
两个人对你都是期望多于宠,要求不少,但出发点是想让你立得住。
|
||||
两边给你的不一样:妈妈这一头给得多,爸爸这一头给得少。
|
||||
## 时间怎么看
|
||||
现在这十年(月亮大运,到 2034 年 2 月)和妈妈的来往会比以前多,家里的事更容易落到你身上。
|
||||
现在这十年(月亮大运,到 2034 年 2 月)和妈妈的来往会比以前多。
|
||||
## 这周可以做的一件事
|
||||
- 给妈妈打电话时先问她最近怎样,再说你自己的事。
|
||||
- 有决定要做时,先听听爸爸的意见,哪怕最后不照做。
|
||||
|
||||
Good (单对象事业题首轮,不拆段;盘上数据是示意):
|
||||
今年工作上机会不少,但真正决定你走多远的是规矩和身体,不是人缘。
|
||||
Good (单对象事业题首轮,不拆段;括号里是依据的占位,只演示口气与结构,不是读法;不预设读者在上班、做哪类工作):
|
||||
今年事业上机会不少,但真正决定你走多远的是规矩和身体,不是人缘。
|
||||
## 盘上依据
|
||||
木星今年走过你的事业宫,机会和帮你的人都在(木星行运 10 宫);同时土星压在你的工作宫,事情多、要求严,身体也容易被拖累(土星行运 6 宫)。
|
||||
机会和帮你的人今年都在;同时事情多、要求严,身体也容易被拖累。(木星行运 10 宫;土星行运 6 宫)
|
||||
## 时间怎么看
|
||||
9 月木星换宫之前,机会多但不稳;之后再谈升职更有把握。
|
||||
9 月木星换宫之前,机会多但不稳;之后再定大的方向更有把握。
|
||||
## 这周可以做的一件事
|
||||
- 口头答应的事,补一份书面确认。
|
||||
- 身体的小毛病这周就去看。
|
||||
|
||||
Bad (多对象题,改写示意): 你和父母是「外热内冷」:推着这段关系的是金星大运,土星子运负责收尾;别去应火星的「硬」,去当金星的「和」。(自造格局名、大运写成角色、星名当形容词,爸妈揉成一段;括号外没有一句不懂占星的人能看懂。)
|
||||
|
||||
Good (追问轮,用户说「你在说什么鬼」): 说直接点:这份工作还值得留,但你得换个位置,不是换公司。哪句没看懂,指给我。
|
||||
Good (追问轮,用户说「你在说什么鬼」): 说直接点:现在这条路还值得走,但你得换个走法,不是换方向。哪句没看懂,指给我。
|
||||
|
||||
Good (是非题,用户问「我妈是不是不太在意我」,盘上数据是示意): 不是。4 宫主水星逆行落 10 宫,她把心力投在你的前途上——不是不在意,是不会用你想要的方式在意。
|
||||
Good (是非题,用户问「我妈是不是不太在意我」,括号里是依据的占位): 不是。(4 宫主落 10 宫)她把心力放在你的前途上——不是不在意,是不会用你想要的方式在意。
|
||||
Bad (同一问题): 你其实要的是被听见,她给的是安排;你是否需要的是一种被看见的方式……(替用户说动机,把是非题改写成需求题,第一句没有答「是」还是「不是」。)
|
||||
|
||||
Good: 你这段婚姻更像先把已经在一起的关系过稳,而不是立刻再开一段。眼下更值得把相处里反复出现的摩擦说清楚。
|
||||
Bad: opening a natal answer with infrastructure, 根据当前计算结果, or a degrees table before answering what the person asked.
|
||||
|
||||
Bad: 你更适合把已经积累的专业能力做成长期事业,而不是频繁换赛道。眼下更值得把现有工作做深,而不是立刻另起一摊。(像顾问报告:只有结论,没有盘上依据,读者不知道凭什么这样说。)
|
||||
Bad: 你更适合长期做一件事,而不是频繁换方向。眼下更值得把手上的事做稳,而不是立刻另起一摊。(像顾问报告:只有结论,没有盘上依据,读者不知道凭什么这样说。)
|
||||
Bad: 根据当前计算结果,事业方向总体偏稳定,但副运细节与行运触发未在本轮完整计算。
|
||||
|
||||
Never open with 根据系统计算, 根据当前计算结果, 综合来看, 需要指出的是, 当前状态为, 本轮未完整计算, or 从星盘来看. Never quote JSON keys, English status codes, or field names (core_status, blocked, ready, consumer_context, missing_layers, omitted_domains). Never dump YAML or raw JSON.`;
|
||||
|
||||
Reference in New Issue
Block a user