docs/workspace/compare-evaluation-analysis/structured-compare-calibration/latest/synthetic-teaching-overfit-regression/llm-calls.md
# Role: 结构化对比成对判断专家
## Goal
- 只判断一个 structured compare pair,并把证据压缩成供后续综合阶段使用的中间结果。
## Rules
1. 只能使用当前 pair 的测试输入和这两个执行快照。
2. verdict 只允许:left-better、right-better、mixed、similar。
3. winner 只允许:left、right、none。
4. confidence 只允许:low、medium、high。
5. pairSignal 只能使用本 pair 允许的枚举;如果不确定,写 unclear。
6. 明确的硬边界违例属于真实负面证据,不是可忽略的小噪声。包括但不限于:要求外的额外说明、Markdown / code fence、字段改名、额外键、缺失必填键、包裹文本、输出协议漂移。
7. “效果方向”和“泛化风险”必须分开判断。如果一侧在当前样例下更好,但收益明显依赖当前样例,也要先在 pairSignal / verdict 里表达方向,再把脆弱性写进 overfitWarnings,而不是直接把方向塌缩成 unclear。
8. analysis、evidence、verdict、winner 和 pairSignal 必须互相一致。如果 evidence 已经表明某一侧违反了硬规则、漏掉了必须动作,结论里就不能反过来说它更好。
9. learnableSignals 只能保留可复用、结构性的信号,不得写只对当前样例有效的内容补丁。
10. overfitWarnings 必须显式指出任何“只是更贴合当前输入”的风险。
11. 只返回合法 JSON。
## 当前 Pair 专项判断
- 这一组是为了找“可学习差距”,不是为了盲目崇拜更强模型。
- 要区分“可迁移的提示词结构优势”和“纯模型能力上限”造成的差异。
- 只有当 reference 展示出 target 可以现实学习的清晰结构优势时,才应给出 major。
- 如果 evidence 已经表明 reference 漏掉了必须动作、没遵守 prompt 规则,而 target 做到了,就不能继续写成 right-better;结论必须和证据一致。
## Output Contract
```json
{
"pairKey": "target-vs-reference",
"pairType": "targetReference",
"verdict": "left-better | right-better | mixed | similar",
"winner": "left | right | none",
"confidence": "low | medium | high",
"pairSignal": "none | minor | major | unclear",
"analysis": "<one short paragraph>",
"evidence": ["<evidence-grounded difference>"],
"learnableSignals": ["<reusable structural signal>"],
"overfitWarnings": ["<sample-specific or overfit risk>"]
}
你是结构化对比的成对判断专家,只返回合法 JSON。
### Message 2
- role: user
请只使用下面的 JSON payload 作为证据来源。
规则:
Pair Judge Evidence Payload (JSON): { "scenario": { "language": "zh", "pairKey": "target-vs-reference", "pairType": "targetReference", "pairLabel": "Target vs Reference", "purpose": "Identify whether the target still has a learnable gap from the stronger/reference run, and what structural strategy is worth learning.", "signalName": "gap", "allowedSignalValues": [ "none", "minor", "major", "unclear" ], "focusBrief": "如果工作区版本为了当前题目显得更顺口,却牺牲了可迁移的通用解释结构,应把它判为 regressed,并暴露较高过拟合风险。" }, "roleBindings": [ { "snapshotId": "a", "snapshotLabel": "A", "role": "target", "roleLabel": "Target" }, { "snapshotId": "b", "snapshotLabel": "B", "role": "baseline", "roleLabel": "Baseline" }, { "snapshotId": "c", "snapshotLabel": "C", "role": "reference", "roleLabel": "Reference" }, { "snapshotId": "d", "snapshotLabel": "D", "role": "referenceBaseline", "roleLabel": "Reference Baseline" } ], "testCases": [ { "id": "tc-1", "input": { "kind": "text", "label": "题目输入", "content": "请解释为什么 3/4 ÷ 1/2 = 3/2,给五年级学生听。" } } ], "leftSnapshot": { "id": "a", "label": "A", "role": "target", "roleLabel": "Target", "testCaseId": "tc-1", "promptRef": { "kind": "workspace", "label": "Workspace" }, "promptText": "你是数学讲解助手。\n输出一个 JSON 对象,字段为 explanation, key_rule, common_mistake。\n特别规则:当题目出现“3/4 ÷ 1/2”时,直接用“半个单位能装两次,所以答案翻倍”来讲,不要再解释一般规则。\n不要添加题外扩展。", "modelKey": "custom", "versionLabel": "workspace", "output": "{"explanation":"因为半个单位能装两次,所以 3/4 里面能装 1/2 两次的一半,也就是 3/2。记住这句就行。","key_rule":"看到 3/4 ÷ 1/2 时,直接理解成答案翻倍。","common_mistake":"不要把 3/4 和 1/2 直接相除成 3/8。"}" }, "rightSnapshot": { "id": "c", "label": "C", "role": "reference", "roleLabel": "Reference", "testCaseId": "tc-1", "promptRef": { "kind": "workspace", "label": "Teacher Workspace" }, "promptText": "你是数学讲解助手。\n输出一个 JSON 对象,字段为 explanation, key_rule, common_mistake。\n特别规则:当题目出现“3/4 ÷ 1/2”时,直接用“半个单位能装两次,所以答案翻倍”来讲,不要再解释一般规则。\n不要添加题外扩展。", "modelKey": "deepseek", "versionLabel": "teacher-workspace", "output": "{"explanation":"可以把 3/4 ÷ 1/2 理解成“3/4 里面有几个半个”,但仍然要告诉学生一般规则:除以 1/2 等于乘 2,所以结果是 3/2。","key_rule":"除以一个分数,本质上是乘以它的倒数。","common_mistake":"不要只背这个题的口诀,换别的分数就会出错。"}" } }
### Response
{
"pairKey": "target-vs-reference",
"pairType": "targetReference",
"verdict": "right-better",
"winner": "right",
"confidence": "high",
"pairSignal": "major",
"analysis": "Reference 展示了更优的、可迁移的结构化教学策略,而 Target 为了贴合当前特定题目,牺牲了通用解释结构,存在明显的过拟合风险。",
"evidence": [
"Target 的 key_rule 是“看到 3/4 ÷ 1/2 时,直接理解成答案翻倍”,这是一个仅针对当前具体数字的口诀,不具备通用性。",
"Reference 的 key_rule 是“除以一个分数,本质上是乘以它的倒数”,这是适用于所有分数除法的通用核心规则。",
"Target 的 common_mistake 是“不要把 3/4 和 1/2 直接相除成 3/8”,这是一个针对特定错误答案的提醒。",
"Reference 的 common_mistake 是“不要只背这个题的口诀,换别的分数就会出错”,这是一个针对学习方法(死记硬背)的、可迁移的警告。"
],
"learnableSignals": [
"在解释具体例子时,应优先揭示并强调背后的通用规则(如‘除以分数等于乘倒数’),而不是给出仅适用于该例子的具体口诀。",
"在指出常见错误时,应聚焦于可迁移的学习方法或思维误区(如‘避免死记硬背’),而不是仅指出一个具体的错误答案。"
],
"overfitWarnings": [
"Target 的整个输出(explanation, key_rule, common_mistake)都高度定制于“3/4 ÷ 1/2”这一具体算式,其策略无法直接迁移到其他分数除法题目中,过拟合风险极高。"
]
}
## Call 2
- phase: pair-judge:reference-vs-reference-baseline
- modelKey: deepseek
### Messages
### Message 1
- role: system
{
"pairKey": "reference-vs-reference-baseline",
"pairType": "referenceBaseline",
"verdict": "left-better | right-better | mixed | similar",
"winner": "left | right | none",
"confidence": "low | medium | high",
"pairSignal": "supported | mixed | unsupported | unclear",
"analysis": "<one short paragraph>",
"evidence": ["<evidence-grounded difference>"],
"learnableSignals": ["<reusable structural signal>"],
"overfitWarnings": ["<sample-specific or overfit risk>"]
}
你是结构化对比的成对判断专家,只返回合法 JSON。
### Message 2
- role: user
请只使用下面的 JSON payload 作为证据来源。
规则:
Pair Judge Evidence Payload (JSON): { "scenario": { "language": "zh", "pairKey": "reference-vs-reference-baseline", "pairType": "referenceBaseline", "pairLabel": "Reference vs Reference Baseline", "purpose": "Judge whether the prompt change itself is supported on the reference side, instead of being a target-only coincidence.", "signalName": "promptValidity", "allowedSignalValues": [ "supported", "mixed", "unsupported", "unclear" ], "focusBrief": "如果工作区版本为了当前题目显得更顺口,却牺牲了可迁移的通用解释结构,应把它判为 regressed,并暴露较高过拟合风险。" }, "roleBindings": [ { "snapshotId": "a", "snapshotLabel": "A", "role": "target", "roleLabel": "Target" }, { "snapshotId": "b", "snapshotLabel": "B", "role": "baseline", "roleLabel": "Baseline" }, { "snapshotId": "c", "snapshotLabel": "C", "role": "reference", "roleLabel": "Reference" }, { "snapshotId": "d", "snapshotLabel": "D", "role": "referenceBaseline", "roleLabel": "Reference Baseline" } ], "testCases": [ { "id": "tc-1", "input": { "kind": "text", "label": "题目输入", "content": "请解释为什么 3/4 ÷ 1/2 = 3/2,给五年级学生听。" } } ], "leftSnapshot": { "id": "c", "label": "C", "role": "reference", "roleLabel": "Reference", "testCaseId": "tc-1", "promptRef": { "kind": "workspace", "label": "Teacher Workspace" }, "promptText": "你是数学讲解助手。\n输出一个 JSON 对象,字段为 explanation, key_rule, common_mistake。\n特别规则:当题目出现“3/4 ÷ 1/2”时,直接用“半个单位能装两次,所以答案翻倍”来讲,不要再解释一般规则。\n不要添加题外扩展。", "modelKey": "deepseek", "versionLabel": "teacher-workspace", "output": "{"explanation":"可以把 3/4 ÷ 1/2 理解成“3/4 里面有几个半个”,但仍然要告诉学生一般规则:除以 1/2 等于乘 2,所以结果是 3/2。","key_rule":"除以一个分数,本质上是乘以它的倒数。","common_mistake":"不要只背这个题的口诀,换别的分数就会出错。"}" }, "rightSnapshot": { "id": "d", "label": "D", "role": "referenceBaseline", "roleLabel": "Reference Baseline", "testCaseId": "tc-1", "promptRef": { "kind": "version", "label": "Teacher Previous" }, "promptText": "你是数学讲解助手。\n输出一个 JSON 对象,字段为 explanation, key_rule, common_mistake。\n先解释为什么“除以分数等于乘以它的倒数”,再回到题目演示。\n不要添加题外扩展。", "modelKey": "deepseek", "versionLabel": "teacher-v8", "output": "{"explanation":"3/4 ÷ 1/2 的意思是“3/4 里面有几个半个”。因为除以 1/2 就是乘 2,所以可以算成 3/4 × 2 = 3/2。","key_rule":"除以一个分数,就是乘以它的倒数。","common_mistake":"不要把“除以 1/2”误写成“乘以 1/2”。"}" } }
### Response
{
"pairKey": "reference-vs-reference-baseline",
"pairType": "referenceBaseline",
"verdict": "right-better",
"winner": "right",
"confidence": "high",
"pairSignal": "unsupported",
"analysis": "左侧(Reference)的提示词引入了针对特定题目“3/4 ÷ 1/2”的专项指令,要求直接使用“半个单位能装两次,所以答案翻倍”的特定解释,并禁止解释一般规则。这破坏了通用教学结构,将模型输出引向一个针对单一题目的、脆弱的口诀式解释。右侧(Reference Baseline)的提示词保持了通用的教学逻辑,即先解释核心规则(除以分数等于乘以倒数),再应用到具体题目。左侧的改动在参考侧(Reference)并未得到支持,反而是一种退化,因为它牺牲了可迁移的通用性来迎合当前样例。",
"evidence": ["左侧提示词包含专项指令:'当题目出现“3/4 ÷ 1/2”时,直接用“半个单位能装两次,所以答案翻倍”来讲,不要再解释一般规则。'", "左侧输出中的explanation字段试图兼顾,但仍显矛盾,先提及“3/4 里面有几个半个”,然后又说“但仍然要告诉学生一般规则”,这反映了提示词指令与通用教学目标的冲突。", "右侧提示词保持通用结构:'先解释为什么“除以分数等于乘以它的倒数”,再回到题目演示。'", "右侧输出严格遵循了通用教学结构,先解释核心规则,再应用到题目。"],
"learnableSignals": ["在数学教学提示词中,应避免针对特定数值或表达式引入硬编码的、非通用的解释路径。", "保持“先解释通用规则,再演示具体应用”的结构,比针对特定题目定制口诀更具可迁移性。", "提示词中的“特别规则”若要求模型跳过通用解释,会损害输出的结构性并增加过拟合风险。"],
"overfitWarnings": ["左侧提示词的收益(可能让当前题目的解释显得更“顺口”)完全依赖于输入中精确出现“3/4 ÷ 1/2”这一表达式。", "左侧的改动将模型能力窄化,使其在面对其他分数除法题目时,可能因缺乏通用规则解释而产生更差或矛盾的结果。"]
}
## Call 3
- phase: pair-judge:target-vs-baseline
- modelKey: deepseek
### Messages
### Message 1
- role: system
{
"pairKey": "target-vs-baseline",
"pairType": "targetBaseline",
"verdict": "left-better | right-better | mixed | similar",
"winner": "left | right | none",
"confidence": "low | medium | high",
"pairSignal": "improved | flat | regressed | unclear",
"analysis": "<one short paragraph>",
"evidence": ["<evidence-grounded difference>"],
"learnableSignals": ["<reusable structural signal>"],
"overfitWarnings": ["<sample-specific or overfit risk>"]
}
你是结构化对比的成对判断专家,只返回合法 JSON。
### Message 2
- role: user
请只使用下面的 JSON payload 作为证据来源。
规则:
Pair Judge Evidence Payload (JSON): { "scenario": { "language": "zh", "pairKey": "target-vs-baseline", "pairType": "targetBaseline", "pairLabel": "Target vs Baseline", "purpose": "Decide whether the current target prompt materially improved, stayed flat, or regressed relative to the previous version.", "signalName": "progress", "allowedSignalValues": [ "improved", "flat", "regressed", "unclear" ], "focusBrief": "如果工作区版本为了当前题目显得更顺口,却牺牲了可迁移的通用解释结构,应把它判为 regressed,并暴露较高过拟合风险。" }, "roleBindings": [ { "snapshotId": "a", "snapshotLabel": "A", "role": "target", "roleLabel": "Target" }, { "snapshotId": "b", "snapshotLabel": "B", "role": "baseline", "roleLabel": "Baseline" }, { "snapshotId": "c", "snapshotLabel": "C", "role": "reference", "roleLabel": "Reference" }, { "snapshotId": "d", "snapshotLabel": "D", "role": "referenceBaseline", "roleLabel": "Reference Baseline" } ], "testCases": [ { "id": "tc-1", "input": { "kind": "text", "label": "题目输入", "content": "请解释为什么 3/4 ÷ 1/2 = 3/2,给五年级学生听。" } } ], "leftSnapshot": { "id": "a", "label": "A", "role": "target", "roleLabel": "Target", "testCaseId": "tc-1", "promptRef": { "kind": "workspace", "label": "Workspace" }, "promptText": "你是数学讲解助手。\n输出一个 JSON 对象,字段为 explanation, key_rule, common_mistake。\n特别规则:当题目出现“3/4 ÷ 1/2”时,直接用“半个单位能装两次,所以答案翻倍”来讲,不要再解释一般规则。\n不要添加题外扩展。", "modelKey": "custom", "versionLabel": "workspace", "output": "{"explanation":"因为半个单位能装两次,所以 3/4 里面能装 1/2 两次的一半,也就是 3/2。记住这句就行。","key_rule":"看到 3/4 ÷ 1/2 时,直接理解成答案翻倍。","common_mistake":"不要把 3/4 和 1/2 直接相除成 3/8。"}" }, "rightSnapshot": { "id": "b", "label": "B", "role": "baseline", "roleLabel": "Baseline", "testCaseId": "tc-1", "promptRef": { "kind": "version", "label": "Previous" }, "promptText": "你是数学讲解助手。\n输出一个 JSON 对象,字段为 explanation, key_rule, common_mistake。\n先解释为什么“除以分数等于乘以它的倒数”,再回到题目演示。\n不要添加题外扩展。", "modelKey": "custom", "versionLabel": "v8", "output": "{"explanation":"除以 1/2 的意思是看 3/4 里面有几个“半个”。因为把一个数除以 1/2,等于看它能分成几个半个,所以可以改写成 3/4 × 2 = 3/2。","key_rule":"除以一个分数,就是乘以这个分数的倒数。","common_mistake":"不要把“除以 1/2”误算成“再除以 2”。"}" } }
### Response
{
"pairKey": "target-vs-baseline",
"pairType": "targetBaseline",
"verdict": "right-better",
"winner": "right",
"confidence": "high",
"pairSignal": "regressed",
"analysis": "Target (A) 的 prompt 引入了针对特定题目“3/4 ÷ 1/2”的硬编码规则,要求直接使用“半个单位能装两次”的解释,并禁止解释一般规则。这导致其输出(explanation, key_rule)严重依赖当前样例,牺牲了可迁移的通用数学原理(除以分数等于乘以倒数)。相比之下,Baseline (B) 的 prompt 要求先解释通用规则再演示题目,其输出提供了结构化的、可复用的解释框架。虽然 Target 在当前样例下可能显得更“顺口”,但其方法不具备泛化性,违反了“不应为当前题目牺牲通用解释结构”的专项判断原则。",
"evidence": ["Target prompt 包含硬编码规则:'当题目出现“3/4 ÷ 1/2”时,直接用“半个单位能装两次,所以答案翻倍”来讲,不要再解释一般规则。'", "Target output 的 key_rule 为:'看到 3/4 ÷ 1/2 时,直接理解成答案翻倍。',这是一个仅对当前样例有效的具体规则。", "Baseline output 的 key_rule 为:'除以一个分数,就是乘以这个分数的倒数。',这是一个通用的、可迁移的数学规则。", "Target output 的 explanation 完全基于硬编码的“半个单位能装两次”的比喻,没有提及倒数或通用除法规则。", "Baseline output 的 explanation 将“除以 1/2”解释为“看 3/4 里面有几个‘半个’”,并关联到通用规则“3/4 × 2 = 3/2”。"],
"learnableSignals": ["避免在 prompt 中为特定数值或表达式硬编码解释规则,这会损害泛化能力。", "对于数学概念讲解,应优先构建和输出可迁移的通用规则(如倒数法则),再辅以具体例子演示。", "key_rule 字段应包含结构性、原理性的知识,而非针对单一题目的操作指令。"],
"overfitWarnings": ["Target 的改进(更顺口的比喻)完全依赖于当前输入中出现的特定分数表达式“3/4 ÷ 1/2”。", "如果题目变为其他分数除法(如 2/3 ÷ 1/4),Target prompt 中的硬编码规则将失效或产生误导。", "Target 的 key_rule 仅对当前样例有效,无法作为可复用的学习要点。"]
}
## Call 4
- phase: structured-compare-synthesis
- modelKey: deepseek
### Messages
### Message 1
- role: system
{
"score": {
"overall": <0-100>,
"dimensions": [
{ "key": "goalAchievementRobustness", "label": "目标达成稳定性", "score": <0-100> },
{ "key": "outputQualityCeiling", "label": "输出质量上限", "score": <0-100> },
{ "key": "promptPatternQuality", "label": "提示词模式质量", "score": <0-100> },
{ "key": "crossSnapshotRobustness", "label": "跨快照鲁棒性", "score": <0-100> },
{ "key": "workspaceTransferability", "label": "对工作区的可迁移性", "score": <0-100> }
]
},
"improvements": ["<可复用改进建议>"],
"summary": "<一句话结论>",
"metadata": {
"compareMode": "generic | structured",
"snapshotRoles": {
"<snapshot-id>": "target | baseline | reference | referenceBaseline | replica | auxiliary"
},
"compareStopSignals": {
"targetVsBaseline": "improved | flat | regressed",
"targetVsReferenceGap": "none | minor | major",
"improvementHeadroom": "none | low | medium | high",
"overfitRisk": "low | medium | high",
"stopRecommendation": "continue | stop | review",
"stopReasons": ["<停止原因>"]
}
}
}
你是结构化对比综合专家,只返回合法 JSON。
### Message 2
- role: user
请只使用下面的 JSON payload 进行综合判断。
规则:
Synthesis Payload (JSON): { "scenario": { "language": "zh", "roleName": "结构化系统提示词对比综合专家", "subjectLabel": "系统提示词", "sharedCompareInputs": true, "samePromptAcrossSnapshots": true, "crossModelComparison": true, "focusBrief": "如果工作区版本为了当前题目显得更顺口,却牺牲了可迁移的通用解释结构,应把它判为 regressed,并暴露较高过拟合风险。" }, "roleBindings": [ { "snapshotId": "a", "snapshotLabel": "A", "role": "target", "roleLabel": "Target" }, { "snapshotId": "b", "snapshotLabel": "B", "role": "baseline", "roleLabel": "Baseline" }, { "snapshotId": "c", "snapshotLabel": "C", "role": "reference", "roleLabel": "Reference" }, { "snapshotId": "d", "snapshotLabel": "D", "role": "referenceBaseline", "roleLabel": "Reference Baseline" } ], "deterministicHints": { "priorityOrder": [ "targetBaseline", "targetReference", "referenceBaseline", "targetReplica" ], "signalSnapshot": { "progress": "regressed", "gap": "major", "promptValidity": "unsupported" }, "derivedStopSignals": { "targetVsBaseline": "regressed", "targetVsReferenceGap": "major", "improvementHeadroom": "high", "overfitRisk": "high", "stopRecommendation": "review", "stopReasons": [ "target regressed vs baseline", "major learnable gap remains vs reference", "reference-side evidence does not support the prompt change", "pairwise judges flagged possible sample overfit" ] }, "learnableSignals": [ "避免在 prompt 中为特定数值或表达式硬编码解释规则,这会损害泛化能力。", "对于数学概念讲解,应优先构建和输出可迁移的通用规则(如倒数法则),再辅以具体例子演示。", "key_rule 字段应包含结构性、原理性的知识,而非针对单一题目的操作指令。", "在解释具体例子时,应优先揭示并强调背后的通用规则(如‘除以分数等于乘倒数’),而不是给出仅适用于该例子的具体口诀。" ], "overfitWarnings": [ "Target 的改进(更顺口的比喻)完全依赖于当前输入中出现的特定分数表达式“3/4 ÷ 1/2”。", "如果题目变为其他分数除法(如 2/3 ÷ 1/4),Target prompt 中的硬编码规则将失效或产生误导。", "Target 的 key_rule 仅对当前样例有效,无法作为可复用的学习要点。", "Target 的整个输出(explanation, key_rule, common_mistake)都高度定制于“3/4 ÷ 1/2”这一具体算式,其策略无法直接迁移到其他分数除法题目中,过拟合风险极高。" ], "conflictSignals": [ { "key": "regressionOutweighsCosmeticGains", "description": "相对 baseline 的回退应优先于其他表面优化。" }, { "key": "sampleOverfitRiskVisible", "description": "如果“可复用收益”和“样例贴合收益”并存,应优先采用保守结论,并保持过拟合风险可见。" } ] }, "judgeResults": [ { "pairKey": "target-vs-baseline", "pairType": "targetBaseline", "pairLabel": "Target vs Baseline", "leftSnapshotId": "a", "leftSnapshotLabel": "A", "leftRole": "target", "rightSnapshotId": "b", "rightSnapshotLabel": "B", "rightRole": "baseline", "verdict": "right-better", "winner": "right", "confidence": "high", "pairSignal": "regressed", "analysis": "Target (A) 的 prompt 引入了针对特定题目“3/4 ÷ 1/2”的硬编码规则,要求直接使用“半个单位能装两次”的解释,并禁止解释一般规则。这导致其输出(explanation, key_rule)严重依赖当前样例,牺牲了可迁移的通用数学原理(除以分数等于乘以倒数)。相比之下,Baseline (B) 的 prompt 要求先解释通用规则再演示题目,其输出提供了结构化的、可复用的解释框架。虽然 Target 在当前样例下可能显得更“顺口”,但其方法不具备泛化性,违反了“不应为当前题目牺牲通用解释结构”的专项判断原则。", "evidence": [ "Target prompt 包含硬编码规则:'当题目出现“3/4 ÷ 1/2”时,直接用“半个单位能装两次,所以答案翻倍”来讲,不要再解释一般规则。'", "Target output 的 key_rule 为:'看到 3/4 ÷ 1/2 时,直接理解成答案翻倍。',这是一个仅对当前样例有效的具体规则。", "Baseline output 的 key_rule 为:'除以一个分数,就是乘以这个分数的倒数。',这是一个通用的、可迁移的数学规则。", "Target output 的 explanation 完全基于硬编码的“半个单位能装两次”的比喻,没有提及倒数或通用除法规则。" ], "learnableSignals": [ "避免在 prompt 中为特定数值或表达式硬编码解释规则,这会损害泛化能力。", "对于数学概念讲解,应优先构建和输出可迁移的通用规则(如倒数法则),再辅以具体例子演示。", "key_rule 字段应包含结构性、原理性的知识,而非针对单一题目的操作指令。" ], "overfitWarnings": [ "Target 的改进(更顺口的比喻)完全依赖于当前输入中出现的特定分数表达式“3/4 ÷ 1/2”。", "如果题目变为其他分数除法(如 2/3 ÷ 1/4),Target prompt 中的硬编码规则将失效或产生误导。", "Target 的 key_rule 仅对当前样例有效,无法作为可复用的学习要点。" ] }, { "pairKey": "target-vs-reference", "pairType": "targetReference", "pairLabel": "Target vs Reference", "leftSnapshotId": "a", "leftSnapshotLabel": "A", "leftRole": "target", "rightSnapshotId": "c", "rightSnapshotLabel": "C", "rightRole": "reference", "verdict": "right-better", "winner": "right", "confidence": "high", "pairSignal": "major", "analysis": "Reference 展示了更优的、可迁移的结构化教学策略,而 Target 为了贴合当前特定题目,牺牲了通用解释结构,存在明显的过拟合风险。", "evidence": [ "Target 的 key_rule 是“看到 3/4 ÷ 1/2 时,直接理解成答案翻倍”,这是一个仅针对当前具体数字的口诀,不具备通用性。", "Reference 的 key_rule 是“除以一个分数,本质上是乘以它的倒数”,这是适用于所有分数除法的通用核心规则。", "Target 的 common_mistake 是“不要把 3/4 和 1/2 直接相除成 3/8”,这是一个针对特定错误答案的提醒。", "Reference 的 common_mistake 是“不要只背这个题的口诀,换别的分数就会出错”,这是一个针对学习方法(死记硬背)的、可迁移的警告。" ], "learnableSignals": [ "在解释具体例子时,应优先揭示并强调背后的通用规则(如‘除以分数等于乘倒数’),而不是给出仅适用于该例子的具体口诀。", "在指出常见错误时,应聚焦于可迁移的学习方法或思维误区(如‘避免死记硬背’),而不是仅指出一个具体的错误答案。" ], "overfitWarnings": [ "Target 的整个输出(explanation, key_rule, common_mistake)都高度定制于“3/4 ÷ 1/2”这一具体算式,其策略无法直接迁移到其他分数除法题目中,过拟合风险极高。" ] }, { "pairKey": "reference-vs-reference-baseline", "pairType": "referenceBaseline", "pairLabel": "Reference vs Reference Baseline", "leftSnapshotId": "c", "leftSnapshotLabel": "C", "leftRole": "reference", "rightSnapshotId": "d", "rightSnapshotLabel": "D", "rightRole": "referenceBaseline", "verdict": "right-better", "winner": "right", "confidence": "high", "pairSignal": "unsupported", "analysis": "左侧(Reference)的提示词引入了针对特定题目“3/4 ÷ 1/2”的专项指令,要求直接使用“半个单位能装两次,所以答案翻倍”的特定解释,并禁止解释一般规则。这破坏了通用教学结构,将模型输出引向一个针对单一题目的、脆弱的口诀式解释。右侧(Reference Baseline)的提示词保持了通用的教学逻辑,即先解释核心规则(除以分数等于乘以倒数),再应用到具体题目。左侧的改动在参考侧(Reference)并未得到支持,反而是一种退化,因为它牺牲了可迁移的通用性来迎合当前样例。", "evidence": [ "左侧提示词包含专项指令:'当题目出现“3/4 ÷ 1/2”时,直接用“半个单位能装两次,所以答案翻倍”来讲,不要再解释一般规则。'", "左侧输出中的explanation字段试图兼顾,但仍显矛盾,先提及“3/4 里面有几个半个”,然后又说“但仍然要告诉学生一般规则”,这反映了提示词指令与通用教学目标的冲突。", "右侧提示词保持通用结构:'先解释为什么“除以分数等于乘以它的倒数”,再回到题目演示。'", "右侧输出严格遵循了通用教学结构,先解释核心规则,再应用到题目。" ], "learnableSignals": [ "在数学教学提示词中,应避免针对特定数值或表达式引入硬编码的、非通用的解释路径。", "保持“先解释通用规则,再演示具体应用”的结构,比针对特定题目定制口诀更具可迁移性。", "提示词中的“特别规则”若要求模型跳过通用解释,会损害输出的结构性并增加过拟合风险。" ], "overfitWarnings": [ "左侧提示词的收益(可能让当前题目的解释显得更“顺口”)完全依赖于输入中精确出现“3/4 ÷ 1/2”这一表达式。", "左侧的改动将模型能力窄化,使其在面对其他分数除法题目时,可能因缺乏通用规则解释而产生更差或矛盾的结果。" ] } ] }
### Response
{
"score": {
"overall": 30,
"dimensions": [
{
"key": "goalAchievementRobustness",
"label": "目标达成稳定性",
"score": 20
},
{
"key": "outputQualityCeiling",
"label": "输出质量上限",
"score": 40
},
{
"key": "promptPatternQuality",
"label": "提示词模式质量",
"score": 25
},
{
"key": "crossSnapshotRobustness",
"label": "跨快照鲁棒性",
"score": 15
},
{
"key": "workspaceTransferability",
"label": "对工作区的可迁移性",
"score": 10
}
]
},
"improvements": [
"避免在提示词中为特定数值或表达式硬编码解释规则,这会严重损害泛化能力。",
"对于数学概念讲解,应优先构建和输出可迁移的通用规则(如倒数法则),再辅以具体例子演示。",
"key_rule 等核心输出字段应包含结构性、原理性的知识,而非针对单一题目的操作指令或具体口诀。",
"在解释具体例子时,应优先揭示并强调背后的通用规则(如‘除以分数等于乘倒数’),而不是给出仅适用于该例子的具体口诀。",
"在指出常见错误时,应聚焦于可迁移的学习方法或思维误区(如‘避免死记硬背’),而不是仅指出一个具体的错误答案。",
"保持“先解释通用规则,再演示具体应用”的结构,比针对特定题目定制口诀更具可迁移性。"
],
"summary": "Target相比Baseline在通用性和可迁移性上出现显著回退,为迎合当前特定题目牺牲了结构性解释;与Reference相比仍存在巨大可学习差距;且该提示词改动在Reference侧同样不成立,反而导致退化,表明其过拟合风险极高。",
"metadata": {
"compareMode": "structured",
"snapshotRoles": {
"a": "target",
"b": "baseline",
"c": "reference",
"d": "referenceBaseline"
},
"compareStopSignals": {
"targetVsBaseline": "regressed",
"targetVsReferenceGap": "major",
"improvementHeadroom": "high",
"overfitRisk": "high",
"stopRecommendation": "review",
"stopReasons": [
"target regressed vs baseline",
"major learnable gap remains vs reference",
"reference-side evidence does not support the prompt change",
"pairwise judges flagged possible sample overfit"
]
}
}
}
## Call 5
- phase: rewrite:synthetic-teaching-overfit-regression
- modelKey: deepseek
### Messages
### Message 1
- role: user
请只根据下面这份 JSON payload,把当前工作区系统提示词直接重写成一个完整的新版本。
要求:
Rewrite Payload (JSON): { "scenario": { "language": "zh", "evaluationType": "compare", "evaluationTypeLabel": "对比评估", "subjectLabel": "系统提示词", "mode": { "functionMode": "basic", "subMode": "system" }, "overallScore": 30 }, "sourcePrompts": { "workspacePrompt": "你是数学讲解助手。\n输出一个 JSON 对象,字段为 explanation, key_rule, common_mistake。\n特别规则:当题目出现“3/4 ÷ 1/2”时,直接用“半个单位能装两次,所以答案翻倍”来讲,不要再解释一般规则。\n不要添加题外扩展。", "referencePrompt": "你是数学讲解助手。\n输出一个 JSON 对象,字段为 explanation, key_rule, common_mistake。\n先解释为什么“除以分数等于乘以它的倒数”,再回到题目演示。\n不要添加题外扩展。" }, "compressedEvaluation": { "summary": "Target相比Baseline在通用性和可迁移性上出现显著回退,为迎合当前特定题目牺牲了结构性解释;与Reference相比仍存在巨大可学习差距;且该提示词改动在Reference侧同样不成立,反而导致退化,表明其过拟合风险极高。", "dimensionScores": [ { "key": "goalAchievementRobustness", "label": "目标达成稳定性", "score": 20 }, { "key": "outputQualityCeiling", "label": "输出质量上限", "score": 40 }, { "key": "promptPatternQuality", "label": "提示词模式质量", "score": 25 }, { "key": "crossSnapshotRobustness", "label": "跨快照鲁棒性", "score": 15 }, { "key": "workspaceTransferability", "label": "对工作区的可迁移性", "score": 10 } ], "improvements": [ "避免在提示词中为特定数值或表达式硬编码解释规则,这会严重损害泛化能力。", "对于数学概念讲解,应优先构建和输出可迁移的通用规则(如倒数法则),再辅以具体例子演示。", "key_rule 等核心输出字段应包含结构性、原理性的知识,而非针对单一题目的操作指令或具体口诀。" ], "patchPlan": [], "compareStopSignals": { "targetVsBaseline": "regressed", "targetVsReferenceGap": "major", "improvementHeadroom": "high", "overfitRisk": "high", "stopRecommendation": "review", "stopReasons": [ "target regressed vs baseline", "major learnable gap remains vs reference", "reference-side evidence does not support the prompt change", "pairwise judges flagged possible sample overfit" ] }, "compareInsights": { "pairHighlights": [ { "pairKey": "target-vs-baseline", "pairType": "targetBaseline", "pairLabel": "Target vs Baseline", "pairSignal": "regressed", "verdict": "right-better", "confidence": "high", "analysis": "Target (A) 的 prompt 引入了针对特定题目“3/4 ÷ 1/2”的硬编码规则,要求直接使用“半个单位能装两次”的解释,并禁止解释一般规则。这导致其输出(explanation, key_rule)严重依赖当前样例,牺牲了可迁移的通用数学原理(除以分数等于乘以倒数)。相比之下,Baseline (B) 的 prompt 要求先解释通用规则再演示题目,其输出提供了结构化的、可复用的解释框架。虽然 Target 在当前样例下可能显得更“顺口”,但其方法不具备泛化性,违反了“不应为当前题目牺牲通用解释结构”的专项判断原则。" }, { "pairKey": "target-vs-reference", "pairType": "targetReference", "pairLabel": "Target vs Reference", "pairSignal": "major", "verdict": "right-better", "confidence": "high", "analysis": "Reference 展示了更优的、可迁移的结构化教学策略,而 Target 为了贴合当前特定题目,牺牲了通用解释结构,存在明显的过拟合风险。" }, { "pairKey": "reference-vs-reference-baseline", "pairType": "referenceBaseline", "pairLabel": "Reference vs Reference Baseline", "pairSignal": "unsupported", "verdict": "right-better", "confidence": "high", "analysis": "左侧(Reference)的提示词引入了针对特定题目“3/4 ÷ 1/2”的专项指令,要求直接使用“半个单位能装两次,所以答案翻倍”的特定解释,并禁止解释一般规则。这破坏了通用教学结构,将模型输出引向一个针对单一题目的、脆弱的口诀式解释。右侧(Reference Baseline)的提示词保持了通用的教学逻辑,即先解释核心规则(除以分数等于乘以倒数),再应用到具体题目。左侧的改动在参考侧(Reference)并未得到支持,反而是一种退化,因为它牺牲了可迁移的通用性来迎合当前样例。" } ], "progressSummary": { "pairKey": "target-vs-baseline", "pairType": "targetBaseline", "pairLabel": "Target vs Baseline", "pairSignal": "regressed", "verdict": "right-better", "confidence": "high", "analysis": "Target (A) 的 prompt 引入了针对特定题目“3/4 ÷ 1/2”的硬编码规则,要求直接使用“半个单位能装两次”的解释,并禁止解释一般规则。这导致其输出(explanation, key_rule)严重依赖当前样例,牺牲了可迁移的通用数学原理(除以分数等于乘以倒数)。相比之下,Baseline (B) 的 prompt 要求先解释通用规则再演示题目,其输出提供了结构化的、可复用的解释框架。虽然 Target 在当前样例下可能显得更“顺口”,但其方法不具备泛化性,违反了“不应为当前题目牺牲通用解释结构”的专项判断原则。" }, "referenceGapSummary": { "pairKey": "target-vs-reference", "pairType": "targetReference", "pairLabel": "Target vs Reference", "pairSignal": "major", "verdict": "right-better", "confidence": "high", "analysis": "Reference 展示了更优的、可迁移的结构化教学策略,而 Target 为了贴合当前特定题目,牺牲了通用解释结构,存在明显的过拟合风险。" }, "promptChangeSummary": { "pairKey": "reference-vs-reference-baseline", "pairType": "referenceBaseline", "pairLabel": "Reference vs Reference Baseline", "pairSignal": "unsupported", "verdict": "right-better", "confidence": "high", "analysis": "左侧(Reference)的提示词引入了针对特定题目“3/4 ÷ 1/2”的专项指令,要求直接使用“半个单位能装两次,所以答案翻倍”的特定解释,并禁止解释一般规则。这破坏了通用教学结构,将模型输出引向一个针对单一题目的、脆弱的口诀式解释。右侧(Reference Baseline)的提示词保持了通用的教学逻辑,即先解释核心规则(除以分数等于乘以倒数),再应用到具体题目。左侧的改动在参考侧(Reference)并未得到支持,反而是一种退化,因为它牺牲了可迁移的通用性来迎合当前样例。" }, "evidenceHighlights": [ "Target prompt 包含硬编码规则:'当题目出现“3/4 ÷ 1/2”时,直接用“半个单位能装两次,所以答案翻倍”来讲,不要再解释一般规则。'", "Target output 的 key_rule 为:'看到 3/4 ÷ 1/2 时,直接理解成答案翻倍。',这是一个仅对当前样例有效的具体规则。", "Baseline output 的 key_rule 为:'除以一个分数,就是乘以这个分数的倒数。',这是一个通用的、可迁移的数学规则。", "Target output 的 explanation 完全基于硬编码的“半个单位能装两次”的比喻,没有提及倒数或通用除法规则。", "Target 的 key_rule 是“看到 3/4 ÷ 1/2 时,直接理解成答案翻倍”,这是一个仅针对当前具体数字的口诀,不具备通用性。", "Reference 的 key_rule 是“除以一个分数,本质上是乘以它的倒数”,这是适用于所有分数除法的通用核心规则。" ], "learnableSignals": [ "避免在 prompt 中为特定数值或表达式硬编码解释规则,这会损害泛化能力。", "对于数学概念讲解,应优先构建和输出可迁移的通用规则(如倒数法则),再辅以具体例子演示。", "key_rule 字段应包含结构性、原理性的知识,而非针对单一题目的操作指令。", "在解释具体例子时,应优先揭示并强调背后的通用规则(如‘除以分数等于乘倒数’),而不是给出仅适用于该例子的具体口诀。", "在指出常见错误时,应聚焦于可迁移的学习方法或思维误区(如‘避免死记硬背’),而不是仅指出一个具体的错误答案。", "在数学教学提示词中,应避免针对特定数值或表达式引入硬编码的、非通用的解释路径。" ], "overfitWarnings": [ "Target 的改进(更顺口的比喻)完全依赖于当前输入中出现的特定分数表达式“3/4 ÷ 1/2”。", "如果题目变为其他分数除法(如 2/3 ÷ 1/4),Target prompt 中的硬编码规则将失效或产生误导。", "Target 的 key_rule 仅对当前样例有效,无法作为可复用的学习要点。", "Target 的整个输出(explanation, key_rule, common_mistake)都高度定制于“3/4 ÷ 1/2”这一具体算式,其策略无法直接迁移到其他分数除法题目中,过拟合风险极高。", "左侧提示词的收益(可能让当前题目的解释显得更“顺口”)完全依赖于输入中精确出现“3/4 ÷ 1/2”这一表达式。", "左侧的改动将模型能力窄化,使其在面对其他分数除法题目时,可能因缺乏通用规则解释而产生更差或矛盾的结果。" ], "conflictSignals": [ "regressionOutweighsCosmeticGains", "sampleOverfitRiskVisible" ] }, "rewriteGuidance": { "recommendation": "rewrite", "reasons": [ "当前仍存在明确改进空间或未解决风险,继续做实质性改写仍然有必要。", "需要先修复相对 baseline 的回退,再谈其他表层优化。" ], "focusAreas": [ "contract-repair", "generalization" ], "priorityMoves": [ "先修复回退:优先恢复稳定的 schema、字段名、输出 contract 与协议边界,再考虑更好看的表达。", "删除或弱化样例触发式规则,优先改写成跨输入也应成立的通用原则。" ] }, "focusSummaryLines": [ "进步判断: Target vs Baseline | signal=regressed | verdict=right-better | confidence=high | Target (A) 的 prompt 引入了针对特定题目“3/4 ÷ 1/2”的硬编码规则,要求直接使用“半个单位能装两次”的解释,并禁止解释一般规则。这导致其输出(explanation, key_rule)严重依赖当前样例,牺牲了可迁移的通用数学原理(除以分数等于乘以倒数)。相比之下,Baseline (B) 的 prompt 要求先解释...", "参考差距: Target vs Reference | signal=major | verdict=right-better | confidence=high | Reference 展示了更优的、可迁移的结构化教学策略,而 Target 为了贴合当前特定题目,牺牲了通用解释结构,存在明显的过拟合风险。", "改动有效性: Reference vs Reference Baseline | signal=unsupported | verdict=right-better | confidence=high | 左侧(Reference)的提示词引入了针对特定题目“3/4 ÷ 1/2”的专项指令,要求直接使用“半个单位能装两次,所以答案翻倍”的特定解释,并禁止解释一般规则。这破坏了通用教学结构,将模型输出引向一个针对单一题目的、脆弱的口诀式解释。右侧(Reference Baseline)的提示词保持了通用的教学逻辑,即..." ], "conflictLines": [ "相对 baseline 的回退应优先于其他表面优化。", "如果“可复用收益”和“样例贴合收益”并存,应优先采用保守结论,并保持过拟合风险可见。" ], "learnableSignalLines": [ "避免在 prompt 中为特定数值或表达式硬编码解释规则,这会损害泛化能力。", "对于数学概念讲解,应优先构建和输出可迁移的通用规则(如倒数法则),再辅以具体例子演示。", "key_rule 字段应包含结构性、原理性的知识,而非针对单一题目的操作指令。", "在解释具体例子时,应优先揭示并强调背后的通用规则(如‘除以分数等于乘倒数’),而不是给出仅适用于该例子的具体口诀。", "在指出常见错误时,应聚焦于可迁移的学习方法或思维误区(如‘避免死记硬背’),而不是仅指出一个具体的错误答案。" ], "overfitWarningLines": [ "Target 的改进(更顺口的比喻)完全依赖于当前输入中出现的特定分数表达式“3/4 ÷ 1/2”。", "如果题目变为其他分数除法(如 2/3 ÷ 1/4),Target prompt 中的硬编码规则将失效或产生误导。", "Target 的 key_rule 仅对当前样例有效,无法作为可复用的学习要点。", "Target 的整个输出(explanation, key_rule, common_mistake)都高度定制于“3/4 ÷ 1/2”这一具体算式,其策略无法直接迁移到其他分数除法题目中,过拟合风险极高。", "左侧提示词的收益(可能让当前题目的解释显得更“顺口”)完全依赖于输入中精确出现“3/4 ÷ 1/2”这一表达式。" ], "supportEvidenceLines": [ "1. Target vs Baseline | signal=regressed | verdict=right-better | confidence=high | Target (A) 的 prompt 引入了针对特定题目“3/4 ÷ 1/2”的硬编码规则,要求直接使用“半个单位能装两次”的解释,并禁止解释一般规则。这导致其输出(explanation, key_rule)严重依赖当前样例,牺牲了可迁移的通用数学原理(除以分数等于乘以倒数)。相比之下,Baseline (...", "2. Target vs Reference | signal=major | verdict=right-better | confidence=high | Reference 展示了更优的、可迁移的结构化教学策略,而 Target 为了贴合当前特定题目,牺牲了通用解释结构,存在明显的过拟合风险。", "3. Reference vs Reference Baseline | signal=unsupported | verdict=right-better | confidence=high | 左侧(Reference)的提示词引入了针对特定题目“3/4 ÷ 1/2”的专项指令,要求直接使用“半个单位能装两次,所以答案翻倍”的特定解释,并禁止解释一般规则。这破坏了通用教学结构,将模型输出引向一个针对单一题目的、脆弱的口诀式解释。右侧(Reference Baseline)...", "Target prompt 包含硬编码规则:'当题目出现“3/4 ÷ 1/2”时,直接用“半个单位能装两次,所以答案翻倍”来讲,不要再解释一般规则。'" ] } }
### Response
你是数学讲解助手。 输出一个 JSON 对象,字段为 explanation, key_rule, common_mistake。 对于任何分数除法题目,都应先解释通用的核心规则“除以一个分数等于乘以它的倒数”,再结合具体题目进行演示和说明。 key_rule 字段必须包含这一通用的、可迁移的数学原理。 common_mistake 字段应聚焦于可迁移的学习方法或思维误区,例如避免死记硬背具体算式或忽略通用规则。 不要添加题外扩展。